Merge "Atoms: Mobile Connection" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
dba47fcd09
@@ -115,6 +115,8 @@ message Atom {
|
||||
HardwareFailed hardware_failed = 72;
|
||||
PhysicalDropDetected physical_drop_detected = 73;
|
||||
ChargeCyclesReported charge_cycles_reported = 74;
|
||||
MobileConnectionStateChanged mobile_connection_state_changed = 75;
|
||||
MobileRadioTechnologyChanged mobile_radio_technology_changed = 76;
|
||||
}
|
||||
|
||||
// Pulled events will start at field 10000.
|
||||
@@ -911,6 +913,56 @@ message ResourceConfigurationChanged {
|
||||
optional int32 uiMode = 17;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Logs changes in the connection state of the mobile radio.
|
||||
*
|
||||
* Logged from:
|
||||
* frameworks/opt/telephony/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
|
||||
*/
|
||||
message MobileConnectionStateChanged {
|
||||
// States are from the state machine DataConnection.java.
|
||||
enum State {
|
||||
UNKNOWN = 0;
|
||||
// The connection is inactive, or disconnected.
|
||||
INACTIVE = 1;
|
||||
// The connection is being activated, or connecting.
|
||||
ACTIVATING = 2;
|
||||
// The connection is active, or connected.
|
||||
ACTIVE = 3;
|
||||
// The connection is disconnecting.
|
||||
DISCONNECTING = 4;
|
||||
// The connection is disconnecting after creating a connection.
|
||||
DISCONNECTION_ERROR_CREATING_CONNECTION = 5;
|
||||
}
|
||||
optional State state = 1;
|
||||
// For multi-sim phones, this distinguishes between the sim cards.
|
||||
optional int32 sim_slot_index = 2;
|
||||
// Used to identify the connection. Starts at 0 and increments by 1 for
|
||||
// every new network created. Resets whenever the device reboots.
|
||||
optional int32 data_connection_id = 3;
|
||||
// A bitmask for the capabilities of this connection.
|
||||
// Eg. DEFAULT (internet), MMS, SUPL, DUN, IMS.
|
||||
// Default value (if we have no information): 0
|
||||
optional int64 capabilities = 4;
|
||||
// If this connection has internet.
|
||||
// This just checks if the DEFAULT bit of capabilities is set.
|
||||
optional bool has_internet = 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs changes in mobile radio technology. eg: LTE, EDGE, CDMA.
|
||||
*
|
||||
* Logged from:
|
||||
* frameworks/opt/telephony/src/java/com/android/internal/telephony/ServiceStateTracker.java
|
||||
*/
|
||||
message MobileRadioTechnologyChanged {
|
||||
optional android.telephony.NetworkTypeEnum state = 1;
|
||||
// For multi-sim phones, this distinguishes between the sim cards.
|
||||
optional int32 sim_slot_index = 2;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Logs when Bluetooth is enabled and disabled.
|
||||
*
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.content.pm.ApplicationInfo;
|
||||
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 class BatteryStats implements Parcelable {
|
||||
*/
|
||||
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 @@ public abstract class BatteryStats implements Parcelable {
|
||||
|
||||
// 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);
|
||||
|
||||
@@ -5352,69 +5352,15 @@ public class BatteryStatsImpl extends BatteryStats {
|
||||
}
|
||||
|
||||
public void notePhoneDataConnectionStateLocked(int dataType, boolean hasData) {
|
||||
// BatteryStats uses 0 to represent no network type.
|
||||
// Telephony does not have a concept of no network type, and uses 0 to represent unknown.
|
||||
// Unknown is included in DATA_CONNECTION_OTHER.
|
||||
int bin = DATA_CONNECTION_NONE;
|
||||
if (hasData) {
|
||||
switch (dataType) {
|
||||
case TelephonyManager.NETWORK_TYPE_EDGE:
|
||||
bin = DATA_CONNECTION_EDGE;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_GPRS:
|
||||
bin = DATA_CONNECTION_GPRS;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_UMTS:
|
||||
bin = DATA_CONNECTION_UMTS;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_CDMA:
|
||||
bin = DATA_CONNECTION_CDMA;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_EVDO_0:
|
||||
bin = DATA_CONNECTION_EVDO_0;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_EVDO_A:
|
||||
bin = DATA_CONNECTION_EVDO_A;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_1xRTT:
|
||||
bin = DATA_CONNECTION_1xRTT;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSDPA:
|
||||
bin = DATA_CONNECTION_HSDPA;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSUPA:
|
||||
bin = DATA_CONNECTION_HSUPA;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSPA:
|
||||
bin = DATA_CONNECTION_HSPA;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_IDEN:
|
||||
bin = DATA_CONNECTION_IDEN;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_EVDO_B:
|
||||
bin = DATA_CONNECTION_EVDO_B;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_LTE:
|
||||
bin = DATA_CONNECTION_LTE;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_EHRPD:
|
||||
bin = DATA_CONNECTION_EHRPD;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSPAP:
|
||||
bin = DATA_CONNECTION_HSPAP;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_GSM:
|
||||
bin = DATA_CONNECTION_GSM;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_TD_SCDMA:
|
||||
bin = DATA_CONNECTION_TD_SCDMA;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_IWLAN:
|
||||
bin = DATA_CONNECTION_IWLAN;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_LTE_CA:
|
||||
bin = DATA_CONNECTION_LTE_CA;
|
||||
break;
|
||||
default:
|
||||
bin = DATA_CONNECTION_OTHER;
|
||||
break;
|
||||
if (dataType > 0 && dataType <= TelephonyManager.MAX_NETWORK_TYPE) {
|
||||
bin = dataType;
|
||||
} else {
|
||||
bin = DATA_CONNECTION_OTHER;
|
||||
}
|
||||
}
|
||||
if (DEBUG) Log.i(TAG, "Phone Data Connection -> " + dataType + " = " + hasData);
|
||||
|
||||
@@ -208,32 +208,12 @@ message SystemProto {
|
||||
|
||||
message DataConnection {
|
||||
option (android.msg_privacy).dest = DEST_AUTOMATIC;
|
||||
|
||||
enum Name {
|
||||
NONE = 0;
|
||||
GPRS = 1;
|
||||
EDGE = 2;
|
||||
UMTS = 3;
|
||||
CDMA = 4;
|
||||
EVDO_0 = 5;
|
||||
EVDO_A = 6;
|
||||
ONE_X_RTT = 7; // 1xRTT.
|
||||
HSDPA = 8;
|
||||
HSUPA = 9;
|
||||
HSPA = 10;
|
||||
IDEN = 11;
|
||||
EVDO_B = 12;
|
||||
LTE = 13;
|
||||
EHRPD = 14;
|
||||
HSPAP = 15;
|
||||
GSM = 16;
|
||||
TD_SCDMA = 17;
|
||||
IWLAN = 18;
|
||||
LTE_CA = 19;
|
||||
OTHER = 20;
|
||||
};
|
||||
optional Name name = 1;
|
||||
optional TimerProto total = 2;
|
||||
oneof type {
|
||||
android.telephony.NetworkTypeEnum name = 1;
|
||||
// If is_none is not set, then the name is a valid network type.
|
||||
bool is_none = 2;
|
||||
}
|
||||
optional TimerProto total = 3;
|
||||
};
|
||||
repeated DataConnection data_connection = 8;
|
||||
|
||||
|
||||
@@ -28,6 +28,31 @@ enum DataConnectionPowerStateEnum {
|
||||
DATA_CONNECTION_POWER_STATE_UNKNOWN = 2147483647; // Java Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
// Network type enums, primarily used by android/telephony/TelephonyManager.java.
|
||||
// Do not add negative types.
|
||||
enum NetworkTypeEnum {
|
||||
NETWORK_TYPE_UNKNOWN = 0;
|
||||
NETWORK_TYPE_GPRS = 1;
|
||||
NETWORK_TYPE_EDGE = 2;
|
||||
NETWORK_TYPE_UMTS = 3;
|
||||
NETWORK_TYPE_CDMA = 4;
|
||||
NETWORK_TYPE_EVDO_0 = 5;
|
||||
NETWORK_TYPE_EVDO_A = 6;
|
||||
NETWORK_TYPE_1XRTT = 7;
|
||||
NETWORK_TYPE_HSDPA = 8;
|
||||
NETWORK_TYPE_HSUPA = 9;
|
||||
NETWORK_TYPE_HSPA = 10;
|
||||
NETWORK_TYPE_IDEN = 11;
|
||||
NETWORK_TYPE_EVDO_B = 12;
|
||||
NETWORK_TYPE_LTE = 13;
|
||||
NETWORK_TYPE_EHRPD = 14;
|
||||
NETWORK_TYPE_HSPAP = 15;
|
||||
NETWORK_TYPE_GSM = 16;
|
||||
NETWORK_TYPE_TD_SCDMA = 17;
|
||||
NETWORK_TYPE_IWLAN = 18;
|
||||
NETWORK_TYPE_LTE_CA = 19;
|
||||
}
|
||||
|
||||
// Signal strength levels, primarily used by android/telephony/SignalStrength.java.
|
||||
enum SignalStrengthEnum {
|
||||
SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
|
||||
|
||||
@@ -1865,47 +1865,52 @@ public class TelephonyManager {
|
||||
/*
|
||||
* When adding a network type to the list below, make sure to add the correct icon to
|
||||
* MobileSignalController.mapIconSets().
|
||||
* Do not add negative types.
|
||||
*/
|
||||
/** Network type is unknown */
|
||||
public static final int NETWORK_TYPE_UNKNOWN = 0;
|
||||
public static final int NETWORK_TYPE_UNKNOWN = TelephonyProtoEnums.NETWORK_TYPE_UNKNOWN; // = 0.
|
||||
/** Current network is GPRS */
|
||||
public static final int NETWORK_TYPE_GPRS = 1;
|
||||
public static final int NETWORK_TYPE_GPRS = TelephonyProtoEnums.NETWORK_TYPE_GPRS; // = 1.
|
||||
/** Current network is EDGE */
|
||||
public static final int NETWORK_TYPE_EDGE = 2;
|
||||
public static final int NETWORK_TYPE_EDGE = TelephonyProtoEnums.NETWORK_TYPE_EDGE; // = 2.
|
||||
/** Current network is UMTS */
|
||||
public static final int NETWORK_TYPE_UMTS = 3;
|
||||
public static final int NETWORK_TYPE_UMTS = TelephonyProtoEnums.NETWORK_TYPE_UMTS; // = 3.
|
||||
/** Current network is CDMA: Either IS95A or IS95B*/
|
||||
public static final int NETWORK_TYPE_CDMA = 4;
|
||||
public static final int NETWORK_TYPE_CDMA = TelephonyProtoEnums.NETWORK_TYPE_CDMA; // = 4.
|
||||
/** Current network is EVDO revision 0*/
|
||||
public static final int NETWORK_TYPE_EVDO_0 = 5;
|
||||
public static final int NETWORK_TYPE_EVDO_0 = TelephonyProtoEnums.NETWORK_TYPE_EVDO_0; // = 5.
|
||||
/** Current network is EVDO revision A*/
|
||||
public static final int NETWORK_TYPE_EVDO_A = 6;
|
||||
public static final int NETWORK_TYPE_EVDO_A = TelephonyProtoEnums.NETWORK_TYPE_EVDO_A; // = 6.
|
||||
/** Current network is 1xRTT*/
|
||||
public static final int NETWORK_TYPE_1xRTT = 7;
|
||||
public static final int NETWORK_TYPE_1xRTT = TelephonyProtoEnums.NETWORK_TYPE_1XRTT; // = 7.
|
||||
/** Current network is HSDPA */
|
||||
public static final int NETWORK_TYPE_HSDPA = 8;
|
||||
public static final int NETWORK_TYPE_HSDPA = TelephonyProtoEnums.NETWORK_TYPE_HSDPA; // = 8.
|
||||
/** Current network is HSUPA */
|
||||
public static final int NETWORK_TYPE_HSUPA = 9;
|
||||
public static final int NETWORK_TYPE_HSUPA = TelephonyProtoEnums.NETWORK_TYPE_HSUPA; // = 9.
|
||||
/** Current network is HSPA */
|
||||
public static final int NETWORK_TYPE_HSPA = 10;
|
||||
public static final int NETWORK_TYPE_HSPA = TelephonyProtoEnums.NETWORK_TYPE_HSPA; // = 10.
|
||||
/** Current network is iDen */
|
||||
public static final int NETWORK_TYPE_IDEN = 11;
|
||||
public static final int NETWORK_TYPE_IDEN = TelephonyProtoEnums.NETWORK_TYPE_IDEN; // = 11.
|
||||
/** Current network is EVDO revision B*/
|
||||
public static final int NETWORK_TYPE_EVDO_B = 12;
|
||||
public static final int NETWORK_TYPE_EVDO_B = TelephonyProtoEnums.NETWORK_TYPE_EVDO_B; // = 12.
|
||||
/** Current network is LTE */
|
||||
public static final int NETWORK_TYPE_LTE = 13;
|
||||
public static final int NETWORK_TYPE_LTE = TelephonyProtoEnums.NETWORK_TYPE_LTE; // = 13.
|
||||
/** Current network is eHRPD */
|
||||
public static final int NETWORK_TYPE_EHRPD = 14;
|
||||
public static final int NETWORK_TYPE_EHRPD = TelephonyProtoEnums.NETWORK_TYPE_EHRPD; // = 14.
|
||||
/** Current network is HSPA+ */
|
||||
public static final int NETWORK_TYPE_HSPAP = 15;
|
||||
public static final int NETWORK_TYPE_HSPAP = TelephonyProtoEnums.NETWORK_TYPE_HSPAP; // = 15.
|
||||
/** Current network is GSM */
|
||||
public static final int NETWORK_TYPE_GSM = 16;
|
||||
public static final int NETWORK_TYPE_GSM = TelephonyProtoEnums.NETWORK_TYPE_GSM; // = 16.
|
||||
/** Current network is TD_SCDMA */
|
||||
public static final int NETWORK_TYPE_TD_SCDMA = 17;
|
||||
public static final int NETWORK_TYPE_TD_SCDMA =
|
||||
TelephonyProtoEnums.NETWORK_TYPE_TD_SCDMA; // = 17.
|
||||
/** Current network is IWLAN */
|
||||
public static final int NETWORK_TYPE_IWLAN = 18;
|
||||
public static final int NETWORK_TYPE_IWLAN = TelephonyProtoEnums.NETWORK_TYPE_IWLAN; // = 18.
|
||||
/** Current network is LTE_CA {@hide} */
|
||||
public static final int NETWORK_TYPE_LTE_CA = 19;
|
||||
public static final int NETWORK_TYPE_LTE_CA = TelephonyProtoEnums.NETWORK_TYPE_LTE_CA; // = 19.
|
||||
|
||||
/** Max network type number. Update as new types are added. Don't add negative types. {@hide} */
|
||||
public static final int MAX_NETWORK_TYPE = NETWORK_TYPE_LTE_CA;
|
||||
/**
|
||||
* @return the NETWORK_TYPE_xxxx for current data connection.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user