Atoms: Mobile Connection
Atom definitions for MobileConnectionStateChanged and
MobileRadioTechnologyChanged
Also cleans up batterystats.
Bug: b/72320589
Test: verified logs appear in adb logcat -b stats
Change-Id: I9feb258cf6dd4a8c8bf1cffc9566b5d0a851a9fa
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index 7bc5d5b..b16e7d7 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -23,6 +23,7 @@
import android.server.ServerProtoEnums;
import android.service.batterystats.BatteryStatsServiceDumpProto;
import android.telephony.SignalStrength;
+import android.telephony.TelephonyManager;
import android.text.format.DateFormat;
import android.util.ArrayMap;
import android.util.LongSparseArray;
@@ -2270,27 +2271,8 @@
*/
public abstract int getMobileRadioActiveUnknownCount(int which);
- public static final int DATA_CONNECTION_NONE = SystemProto.DataConnection.NONE; // 0
- public static final int DATA_CONNECTION_GPRS = SystemProto.DataConnection.GPRS; // 1
- public static final int DATA_CONNECTION_EDGE = SystemProto.DataConnection.EDGE; // 2
- public static final int DATA_CONNECTION_UMTS = SystemProto.DataConnection.UMTS; // 3
- public static final int DATA_CONNECTION_CDMA = SystemProto.DataConnection.CDMA; // 4
- public static final int DATA_CONNECTION_EVDO_0 = SystemProto.DataConnection.EVDO_0; // 5
- public static final int DATA_CONNECTION_EVDO_A = SystemProto.DataConnection.EVDO_A; // 6
- public static final int DATA_CONNECTION_1xRTT = SystemProto.DataConnection.ONE_X_RTT; // 7
- public static final int DATA_CONNECTION_HSDPA = SystemProto.DataConnection.HSDPA; // 8
- public static final int DATA_CONNECTION_HSUPA = SystemProto.DataConnection.HSUPA; // 9
- public static final int DATA_CONNECTION_HSPA = SystemProto.DataConnection.HSPA; // 10
- public static final int DATA_CONNECTION_IDEN = SystemProto.DataConnection.IDEN; // 11
- public static final int DATA_CONNECTION_EVDO_B = SystemProto.DataConnection.EVDO_B; // 12
- public static final int DATA_CONNECTION_LTE = SystemProto.DataConnection.LTE; // 13
- public static final int DATA_CONNECTION_EHRPD = SystemProto.DataConnection.EHRPD; // 14
- public static final int DATA_CONNECTION_HSPAP = SystemProto.DataConnection.HSPAP; // 15
- public static final int DATA_CONNECTION_GSM = SystemProto.DataConnection.GSM; // 16
- public static final int DATA_CONNECTION_TD_SCDMA = SystemProto.DataConnection.TD_SCDMA; // 17
- public static final int DATA_CONNECTION_IWLAN = SystemProto.DataConnection.IWLAN; // 18
- public static final int DATA_CONNECTION_LTE_CA = SystemProto.DataConnection.LTE_CA; // 19
- public static final int DATA_CONNECTION_OTHER = SystemProto.DataConnection.OTHER; // 20
+ public static final int DATA_CONNECTION_NONE = 0;
+ public static final int DATA_CONNECTION_OTHER = TelephonyManager.MAX_NETWORK_TYPE + 1;
static final String[] DATA_CONNECTION_NAMES = {
"none", "gprs", "edge", "umts", "cdma", "evdo_0", "evdo_A",
@@ -7613,8 +7595,18 @@
// Phone data connection (DATA_CONNECTION_TIME_DATA and DATA_CONNECTION_COUNT_DATA)
for (int i = 0; i < NUM_DATA_CONNECTION_TYPES; ++i) {
+ // Map OTHER to TelephonyManager.NETWORK_TYPE_UNKNOWN and mark NONE as a boolean.
+ boolean isNone = (i == DATA_CONNECTION_NONE);
+ int telephonyNetworkType = i;
+ if (i == DATA_CONNECTION_OTHER) {
+ telephonyNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
+ }
final long pdcToken = proto.start(SystemProto.DATA_CONNECTION);
- proto.write(SystemProto.DataConnection.NAME, i);
+ if (isNone) {
+ proto.write(SystemProto.DataConnection.IS_NONE, isNone);
+ } else {
+ proto.write(SystemProto.DataConnection.NAME, telephonyNetworkType);
+ }
dumpTimer(proto, SystemProto.DataConnection.TOTAL, getPhoneDataConnectionTimer(i),
rawRealtimeUs, which);
proto.end(pdcToken);