Loading apex/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,9 @@ java_defaults { sdk_version: "module_current", }, // Configure framework module specific metalava options. droiddoc_options: [mainline_stubs_args], // The stub libraries must be visible to frameworks/base so they can be combined // into API specific libraries. stubs_library_visibility: [ Loading apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java +1 −2 Original line number Diff line number Diff line Loading @@ -1098,8 +1098,7 @@ public class AppStandbyController implements AppStandbyInternal { if (mAppWidgetManager != null && mInjector.isBoundWidgetPackage(mAppWidgetManager, packageName, userId)) { // TODO: consider lowering to ACTIVE return STANDBY_BUCKET_EXEMPTED; return STANDBY_BUCKET_ACTIVE; } if (isDeviceProvisioningPackage(packageName)) { Loading cmds/statsd/src/atoms.proto +95 −1 Original line number Diff line number Diff line Loading @@ -440,6 +440,7 @@ message Atom { 273 [(module) = "permissioncontroller"]; EvsUsageStatsReported evs_usage_stats_reported = 274 [(module) = "evs"]; AudioPowerUsageDataReported audio_power_usage_data_reported = 275; TvTunerStateChanged tv_tuner_state_changed = 276 [(module) = "framework"]; SdkExtensionStatus sdk_extension_status = 354; // StatsdStats tracks platform atoms with ids upto 500. Loading @@ -447,7 +448,7 @@ message Atom { } // Pulled events will start at field 10000. // Next: 10082 // Next: 10084 oneof pulled { WifiBytesTransfer wifi_bytes_transfer = 10000 [(module) = "framework"]; WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001 [(module) = "framework"]; Loading Loading @@ -539,6 +540,9 @@ message Atom { SupportedRadioAccessFamily supported_radio_access_family = 10079 [(module) = "telephony"]; SettingSnapshot setting_snapshot = 10080 [(module) = "framework"]; DisplayWakeReason display_wake_reason = 10081 [(module) = "framework"]; DataUsageBytesTransfer data_usage_bytes_transfer = 10082 [(module) = "framework"]; BytesTransferByTagAndMetered bytes_transfer_by_tag_and_metered = 10083 [(module) = "framework"]; } // DO NOT USE field numbers above 100,000 in AOSP. Loading Loading @@ -4939,6 +4943,52 @@ message MobileBytesTransferByFgBg { optional int64 tx_packets = 6; } /** * Used for pull network statistics via mobile|wifi networks, and sliced by interesting dimensions. * Note that data is expected to be sliced into more dimensions in future. In other words, * the caller must not assume the data is unique when filtering with a set of matching conditions. * Thus, as the dimension grows, the caller will not be affected. * * Pulled from: * StatsPullAtomService (using NetworkStatsService to get NetworkStats) */ message DataUsageBytesTransfer { // State of this record. Should be NetworkStats#SET_DEFAULT or NetworkStats#SET_FOREGROUND to // indicate the foreground state, or NetworkStats#SET_ALL to indicate the record is for all // states combined, not including debug states. See NetworkStats#SET_*. optional int32 state = 1; optional int64 rx_bytes = 2; optional int64 rx_packets = 3; optional int64 tx_bytes = 4; optional int64 tx_packets = 5; // Radio Access Technology (RAT) type of this record, should be one of // TelephonyManager#NETWORK_TYPE_* constants, or NetworkTemplate#NETWORK_TYPE_ALL to indicate // the record is for all rat types combined. optional int32 rat_type = 6; // Mcc/Mnc read from sim if the record is for a specific subscription, null indicates the // record is combined regardless of subscription. optional string sim_mcc = 7; optional string sim_mnc = 8; // Enumeration of opportunistic states with an additional ALL state indicates the record is // combined regardless of the boolean value in its field. enum DataSubscriptionState { ALL = 1; OPPORTUNISTIC = 2; NOT_OPPORTUNISTIC = 3; } // Mark whether the subscription is an opportunistic data subscription, and ALL indicates the // record is combined regardless of opportunistic data subscription. // See {@link SubscriptionManager#setOpportunistic}. optional DataSubscriptionState opportunistic_data_sub = 9; } /** * Pulls bytes transferred via bluetooth. It is pulled from Bluetooth controller. * Loading Loading @@ -9120,6 +9170,28 @@ message SdkExtensionStatus { optional int32 failed_call_symbol = 3; } /** * Logs when a tune occurs through device's Frontend. * This is atom ID 276. * * Logged from: * frameworks/base/media/java/android/media/tv/tuner/Tuner.java */ message TvTunerStateChanged { enum State { UNKNOWN = 0; TUNING = 1; // Signal is tuned LOCKED = 2; // the signal is locked NOT_LOCKED = 3; // the signal isn’t locked. SIGNAL_LOST = 4; // the signal was locked, but is lost now. SCANNING = 5; // the signal is scanned SCAN_STOPPED = 6; // the scan is stopped. } // The uid of the application that sent this custom atom. optional int32 uid = 1 [(is_uid) = true]; // new state optional State state = 2; } /** * Logs when an app is frozen or unfrozen. * Loading Loading @@ -9756,3 +9828,25 @@ message AudioPowerUsageDataReported { } optional AudioType type = 4; } /** * Pulls bytes transferred over WiFi and mobile networks sliced by uid, is_metered, and tag. * * Pulled from: * StatsPullAtomService, which uses NetworkStatsService to query NetworkStats. */ message BytesTransferByTagAndMetered { optional int32 uid = 1 [(is_uid) = true]; optional bool is_metered = 2; optional int32 tag = 3; optional int64 rx_bytes = 4; optional int64 rx_packets = 5; optional int64 tx_bytes = 6; optional int64 tx_packets = 7; } cmds/statsd/src/metrics/CountMetricProducer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -122,11 +122,11 @@ CountMetricProducer::~CountMetricProducer() { } void CountMetricProducer::onStateChanged(const int64_t eventTimeNs, const int32_t atomId, const HashableDimensionKey& primaryKey, int oldState, int newState) { const HashableDimensionKey& primaryKey, const FieldValue& oldState, const FieldValue& newState) { VLOG("CountMetric %lld onStateChanged time %lld, State%d, key %s, %d -> %d", (long long)mMetricId, (long long)eventTimeNs, atomId, primaryKey.toString().c_str(), oldState, newState); oldState.mValue.int_value, newState.mValue.int_value); } void CountMetricProducer::dumpStatesLocked(FILE* out, bool verbose) const { Loading cmds/statsd/src/metrics/CountMetricProducer.h +2 −2 Original line number Diff line number Diff line Loading @@ -53,8 +53,8 @@ public: virtual ~CountMetricProducer(); void onStateChanged(const int64_t eventTimeNs, const int32_t atomId, const HashableDimensionKey& primaryKey, int oldState, int newState) override; const HashableDimensionKey& primaryKey, const FieldValue& oldState, const FieldValue& newState) override; protected: void onMatchedLogEventInternalLocked( Loading Loading
apex/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,9 @@ java_defaults { sdk_version: "module_current", }, // Configure framework module specific metalava options. droiddoc_options: [mainline_stubs_args], // The stub libraries must be visible to frameworks/base so they can be combined // into API specific libraries. stubs_library_visibility: [ Loading
apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java +1 −2 Original line number Diff line number Diff line Loading @@ -1098,8 +1098,7 @@ public class AppStandbyController implements AppStandbyInternal { if (mAppWidgetManager != null && mInjector.isBoundWidgetPackage(mAppWidgetManager, packageName, userId)) { // TODO: consider lowering to ACTIVE return STANDBY_BUCKET_EXEMPTED; return STANDBY_BUCKET_ACTIVE; } if (isDeviceProvisioningPackage(packageName)) { Loading
cmds/statsd/src/atoms.proto +95 −1 Original line number Diff line number Diff line Loading @@ -440,6 +440,7 @@ message Atom { 273 [(module) = "permissioncontroller"]; EvsUsageStatsReported evs_usage_stats_reported = 274 [(module) = "evs"]; AudioPowerUsageDataReported audio_power_usage_data_reported = 275; TvTunerStateChanged tv_tuner_state_changed = 276 [(module) = "framework"]; SdkExtensionStatus sdk_extension_status = 354; // StatsdStats tracks platform atoms with ids upto 500. Loading @@ -447,7 +448,7 @@ message Atom { } // Pulled events will start at field 10000. // Next: 10082 // Next: 10084 oneof pulled { WifiBytesTransfer wifi_bytes_transfer = 10000 [(module) = "framework"]; WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001 [(module) = "framework"]; Loading Loading @@ -539,6 +540,9 @@ message Atom { SupportedRadioAccessFamily supported_radio_access_family = 10079 [(module) = "telephony"]; SettingSnapshot setting_snapshot = 10080 [(module) = "framework"]; DisplayWakeReason display_wake_reason = 10081 [(module) = "framework"]; DataUsageBytesTransfer data_usage_bytes_transfer = 10082 [(module) = "framework"]; BytesTransferByTagAndMetered bytes_transfer_by_tag_and_metered = 10083 [(module) = "framework"]; } // DO NOT USE field numbers above 100,000 in AOSP. Loading Loading @@ -4939,6 +4943,52 @@ message MobileBytesTransferByFgBg { optional int64 tx_packets = 6; } /** * Used for pull network statistics via mobile|wifi networks, and sliced by interesting dimensions. * Note that data is expected to be sliced into more dimensions in future. In other words, * the caller must not assume the data is unique when filtering with a set of matching conditions. * Thus, as the dimension grows, the caller will not be affected. * * Pulled from: * StatsPullAtomService (using NetworkStatsService to get NetworkStats) */ message DataUsageBytesTransfer { // State of this record. Should be NetworkStats#SET_DEFAULT or NetworkStats#SET_FOREGROUND to // indicate the foreground state, or NetworkStats#SET_ALL to indicate the record is for all // states combined, not including debug states. See NetworkStats#SET_*. optional int32 state = 1; optional int64 rx_bytes = 2; optional int64 rx_packets = 3; optional int64 tx_bytes = 4; optional int64 tx_packets = 5; // Radio Access Technology (RAT) type of this record, should be one of // TelephonyManager#NETWORK_TYPE_* constants, or NetworkTemplate#NETWORK_TYPE_ALL to indicate // the record is for all rat types combined. optional int32 rat_type = 6; // Mcc/Mnc read from sim if the record is for a specific subscription, null indicates the // record is combined regardless of subscription. optional string sim_mcc = 7; optional string sim_mnc = 8; // Enumeration of opportunistic states with an additional ALL state indicates the record is // combined regardless of the boolean value in its field. enum DataSubscriptionState { ALL = 1; OPPORTUNISTIC = 2; NOT_OPPORTUNISTIC = 3; } // Mark whether the subscription is an opportunistic data subscription, and ALL indicates the // record is combined regardless of opportunistic data subscription. // See {@link SubscriptionManager#setOpportunistic}. optional DataSubscriptionState opportunistic_data_sub = 9; } /** * Pulls bytes transferred via bluetooth. It is pulled from Bluetooth controller. * Loading Loading @@ -9120,6 +9170,28 @@ message SdkExtensionStatus { optional int32 failed_call_symbol = 3; } /** * Logs when a tune occurs through device's Frontend. * This is atom ID 276. * * Logged from: * frameworks/base/media/java/android/media/tv/tuner/Tuner.java */ message TvTunerStateChanged { enum State { UNKNOWN = 0; TUNING = 1; // Signal is tuned LOCKED = 2; // the signal is locked NOT_LOCKED = 3; // the signal isn’t locked. SIGNAL_LOST = 4; // the signal was locked, but is lost now. SCANNING = 5; // the signal is scanned SCAN_STOPPED = 6; // the scan is stopped. } // The uid of the application that sent this custom atom. optional int32 uid = 1 [(is_uid) = true]; // new state optional State state = 2; } /** * Logs when an app is frozen or unfrozen. * Loading Loading @@ -9756,3 +9828,25 @@ message AudioPowerUsageDataReported { } optional AudioType type = 4; } /** * Pulls bytes transferred over WiFi and mobile networks sliced by uid, is_metered, and tag. * * Pulled from: * StatsPullAtomService, which uses NetworkStatsService to query NetworkStats. */ message BytesTransferByTagAndMetered { optional int32 uid = 1 [(is_uid) = true]; optional bool is_metered = 2; optional int32 tag = 3; optional int64 rx_bytes = 4; optional int64 rx_packets = 5; optional int64 tx_bytes = 6; optional int64 tx_packets = 7; }
cmds/statsd/src/metrics/CountMetricProducer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -122,11 +122,11 @@ CountMetricProducer::~CountMetricProducer() { } void CountMetricProducer::onStateChanged(const int64_t eventTimeNs, const int32_t atomId, const HashableDimensionKey& primaryKey, int oldState, int newState) { const HashableDimensionKey& primaryKey, const FieldValue& oldState, const FieldValue& newState) { VLOG("CountMetric %lld onStateChanged time %lld, State%d, key %s, %d -> %d", (long long)mMetricId, (long long)eventTimeNs, atomId, primaryKey.toString().c_str(), oldState, newState); oldState.mValue.int_value, newState.mValue.int_value); } void CountMetricProducer::dumpStatesLocked(FILE* out, bool verbose) const { Loading
cmds/statsd/src/metrics/CountMetricProducer.h +2 −2 Original line number Diff line number Diff line Loading @@ -53,8 +53,8 @@ public: virtual ~CountMetricProducer(); void onStateChanged(const int64_t eventTimeNs, const int32_t atomId, const HashableDimensionKey& primaryKey, int oldState, int newState) override; const HashableDimensionKey& primaryKey, const FieldValue& oldState, const FieldValue& newState) override; protected: void onMatchedLogEventInternalLocked( Loading