diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-10-10 19:51:36 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-10-10 19:51:36 +0000 |
commit | 419fc89b52e37a79d7866d6c15d6aaeb50574026 (patch) | |
tree | ac939ed95fc7962202654db1c8bc0d43f70ccc32 | |
parent | 81f32238ea471441f289efd14d0b220f20e74832 (diff) | |
parent | 4ccebeadc7dd10b45d313d99ec0a4002a4d61394 (diff) | |
download | base-419fc89b52e37a79d7866d6c15d6aaeb50574026.tar.gz |
Merge "Phone service state change atom."
-rw-r--r-- | cmds/statsd/src/atoms.proto | 29 | ||||
-rw-r--r-- | core/java/com/android/internal/os/BatteryStatsImpl.java | 2 | ||||
-rw-r--r-- | core/proto/android/telephony/enums.proto | 61 | ||||
-rw-r--r-- | services/core/java/com/android/server/TelephonyRegistry.java | 5 | ||||
-rw-r--r-- | telephony/java/android/telephony/ServiceState.java | 10 | ||||
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 31 |
6 files changed, 122 insertions, 16 deletions
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto index c4824c084370..e12b665d1505 100644 --- a/cmds/statsd/src/atoms.proto +++ b/cmds/statsd/src/atoms.proto @@ -120,6 +120,8 @@ message Atom { AppCrashOccurred app_crash_occurred = 78; ANROccurred anr_occurred = 79; WTFOccurred wtf_occurred = 80; + PhoneServiceStateChanged phone_service_state_changed = 94; + PhoneStateChanged phone_state_changed = 95; LowMemReported low_mem_reported = 81; @@ -1137,6 +1139,33 @@ message PhoneSignalStrengthChanged { optional android.telephony.SignalStrengthEnum signal_strength = 1; } + +/** + * Logs when the phone state, sim state or signal strength changes + * + * Logged from: + * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java + */ +message PhoneServiceStateChanged { + optional android.telephony.ServiceStateEnum state = 1; + optional android.telephony.SimStateEnum sim_state = 2; + optional android.telephony.SignalStrengthEnum signal_strength = 3; +} + +/** + * Logs when the phone becomes on or off. + * + * Logged from: + * frameworks/base/core/java/com/android/internal/os/TelephonyRegistry.java + */ +message PhoneStateChanged { + enum State { + OFF = 0; + ON = 1; + } + optional State state = 1; +} + /** * Logs that a setting was updated. * Logged from: diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 10c32a3b7a36..486c836279ce 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -5369,6 +5369,7 @@ public class BatteryStatsImpl extends BatteryStats { if (DEBUG_HISTORY) Slog.v(TAG, "Phone started scanning to: " + Integer.toHexString(mHistoryCur.states)); mPhoneSignalScanningTimer.startRunningLocked(elapsedRealtime); + StatsLog.write(StatsLog.PHONE_SERVICE_STATE_CHANGED, state, simState, strengthBin); } } @@ -5380,6 +5381,7 @@ public class BatteryStatsImpl extends BatteryStats { + Integer.toHexString(mHistoryCur.states)); newHistory = true; mPhoneSignalScanningTimer.stopRunningLocked(elapsedRealtime); + StatsLog.write(StatsLog.PHONE_SERVICE_STATE_CHANGED, state, simState, strengthBin); } } diff --git a/core/proto/android/telephony/enums.proto b/core/proto/android/telephony/enums.proto index 32975a5550f1..fba2e51937b3 100644 --- a/core/proto/android/telephony/enums.proto +++ b/core/proto/android/telephony/enums.proto @@ -61,3 +61,64 @@ enum SignalStrengthEnum { SIGNAL_STRENGTH_GOOD = 3; SIGNAL_STRENGTH_GREAT = 4; } + + +enum ServiceStateEnum { + /** + * Normal operation condition, the phone is registered + * with an operator either in home network or in roaming. + */ + SERVICE_STATE_IN_SERVICE = 0; + + /** + * Phone is not registered with any operator, the phone + * can be currently searching a new operator to register to, or not + * searching to registration at all, or registration is denied, or radio + * signal is not available. + */ + SERVICE_STATE_OUT_OF_SERVICE = 1; + + /** + * The phone is registered and locked. Only emergency numbers are allowed. {@more} + */ + SERVICE_STATE_EMERGENCY_ONLY = 2; + + /** + * Radio of telephony is explicitly powered off. + */ + SERVICE_STATE_POWER_OFF = 3; +} + +enum SimStateEnum { + SIM_STATE_UNKNOWN = 0; + /** SIM card state: no SIM card is available in the device */ + SIM_STATE_ABSENT = 1; + /** SIM card state: Locked: requires the user's SIM PIN to unlock */ + SIM_STATE_PIN_REQUIRED = 2; + /** SIM card state: Locked: requires the user's SIM PUK to unlock */ + SIM_STATE_PUK_REQUIRED = 3; + /** SIM card state: Locked: requires a network PIN to unlock */ + SIM_STATE_NETWORK_LOCKED = 4; + /** SIM card state: Ready */ + SIM_STATE_READY = 5; + /** SIM card state: SIM Card is NOT READY */ + SIM_STATE_NOT_READY = 6; + /** SIM card state: SIM Card Error, permanently disabled */ + SIM_STATE_PERM_DISABLED = 7; + /** SIM card state: SIM Card Error, present but faulty */ + SIM_STATE_CARD_IO_ERROR = 8; + /** SIM card state: SIM Card restricted, present but not usable due to + * carrier restrictions. + */ + SIM_STATE_CARD_RESTRICTED = 9; + /** + * SIM card state: Loaded: SIM card applications have been loaded + * @hide + */ + SIM_STATE_LOADED = 10; + /** + * SIM card state: SIM Card is present + * @hide + */ + SIM_STATE_PRESENT = 11; +} diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java index 51c6aa16361a..c17a4cf43854 100644 --- a/services/core/java/com/android/server/TelephonyRegistry.java +++ b/services/core/java/com/android/server/TelephonyRegistry.java @@ -49,6 +49,7 @@ import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.VoLteServiceState; import android.util.LocalLog; +import android.util.StatsLog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; @@ -1684,8 +1685,12 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { try { if (state == TelephonyManager.CALL_STATE_IDLE) { mBatteryStats.notePhoneOff(); + StatsLog.write(StatsLog.PHONE_STATE_CHANGED, + StatsLog.PHONE_STATE_CHANGED__STATE__OFF); } else { mBatteryStats.notePhoneOn(); + StatsLog.write(StatsLog.PHONE_STATE_CHANGED, + StatsLog.PHONE_STATE_CHANGED__STATE__ON); } } catch (RemoteException e) { /* The remote entity disappeared, we can safely ignore the exception. */ diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index 7469186a5d51..60e103aa62e0 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -57,7 +57,7 @@ public class ServiceState implements Parcelable { * Normal operation condition, the phone is registered * with an operator either in home network or in roaming. */ - public static final int STATE_IN_SERVICE = 0; + public static final int STATE_IN_SERVICE = TelephonyProtoEnums.SERVICE_STATE_IN_SERVICE; // 0 /** * Phone is not registered with any operator, the phone @@ -65,17 +65,19 @@ public class ServiceState implements Parcelable { * searching to registration at all, or registration is denied, or radio * signal is not available. */ - public static final int STATE_OUT_OF_SERVICE = 1; + public static final int STATE_OUT_OF_SERVICE = + TelephonyProtoEnums.SERVICE_STATE_OUT_OF_SERVICE; // 1 /** * The phone is registered and locked. Only emergency numbers are allowed. {@more} */ - public static final int STATE_EMERGENCY_ONLY = 2; + public static final int STATE_EMERGENCY_ONLY = + TelephonyProtoEnums.SERVICE_STATE_EMERGENCY_ONLY; // 2 /** * Radio of telephony is explicitly powered off. */ - public static final int STATE_POWER_OFF = 3; + public static final int STATE_POWER_OFF = TelephonyProtoEnums.SERVICE_STATE_POWER_OFF; // 3 /** @hide */ @Retention(RetentionPolicy.SOURCE) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 48f38fca9266..13cdc58175e3 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -2418,39 +2418,46 @@ public class TelephonyManager { * * These are the ordinal value of IccCardConstants.State. */ - public static final int SIM_STATE_UNKNOWN = 0; + + public static final int SIM_STATE_UNKNOWN = TelephonyProtoEnums.SIM_STATE_UNKNOWN; // 0 /** SIM card state: no SIM card is available in the device */ - public static final int SIM_STATE_ABSENT = 1; + public static final int SIM_STATE_ABSENT = TelephonyProtoEnums.SIM_STATE_ABSENT; // 1 /** SIM card state: Locked: requires the user's SIM PIN to unlock */ - public static final int SIM_STATE_PIN_REQUIRED = 2; + public static final int SIM_STATE_PIN_REQUIRED = + TelephonyProtoEnums.SIM_STATE_PIN_REQUIRED; // 2 /** SIM card state: Locked: requires the user's SIM PUK to unlock */ - public static final int SIM_STATE_PUK_REQUIRED = 3; + public static final int SIM_STATE_PUK_REQUIRED = + TelephonyProtoEnums.SIM_STATE_PUK_REQUIRED; // 3 /** SIM card state: Locked: requires a network PIN to unlock */ - public static final int SIM_STATE_NETWORK_LOCKED = 4; + public static final int SIM_STATE_NETWORK_LOCKED = + TelephonyProtoEnums.SIM_STATE_NETWORK_LOCKED; // 4 /** SIM card state: Ready */ - public static final int SIM_STATE_READY = 5; + public static final int SIM_STATE_READY = TelephonyProtoEnums.SIM_STATE_READY; // 5 /** SIM card state: SIM Card is NOT READY */ - public static final int SIM_STATE_NOT_READY = 6; + public static final int SIM_STATE_NOT_READY = TelephonyProtoEnums.SIM_STATE_NOT_READY; // 6 /** SIM card state: SIM Card Error, permanently disabled */ - public static final int SIM_STATE_PERM_DISABLED = 7; + public static final int SIM_STATE_PERM_DISABLED = + TelephonyProtoEnums.SIM_STATE_PERM_DISABLED; // 7 /** SIM card state: SIM Card Error, present but faulty */ - public static final int SIM_STATE_CARD_IO_ERROR = 8; + public static final int SIM_STATE_CARD_IO_ERROR = + TelephonyProtoEnums.SIM_STATE_CARD_IO_ERROR; // 8 /** SIM card state: SIM Card restricted, present but not usable due to * carrier restrictions. */ - public static final int SIM_STATE_CARD_RESTRICTED = 9; + public static final int SIM_STATE_CARD_RESTRICTED = + TelephonyProtoEnums.SIM_STATE_CARD_RESTRICTED; // 9 /** * SIM card state: Loaded: SIM card applications have been loaded * @hide */ @SystemApi - public static final int SIM_STATE_LOADED = 10; + public static final int SIM_STATE_LOADED = TelephonyProtoEnums.SIM_STATE_LOADED; // 10 /** * SIM card state: SIM Card is present * @hide */ @SystemApi - public static final int SIM_STATE_PRESENT = 11; + public static final int SIM_STATE_PRESENT = TelephonyProtoEnums.SIM_STATE_PRESENT; // 11 /** * Extra included in {@link #ACTION_SIM_CARD_STATE_CHANGED} and |