From 06f46cb32067572f25721ebe62fefd29cc34c7f0 Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Tue, 23 Jun 2015 13:42:53 -0700 Subject: [PATCH] Extend the time between WiFi energy samples With bursty WiFi traffic, we end up sampling the WiFi controller's energy data quite a lot. Extend the timeout so that we sample once there has been no activity for 15 seconds. Note: Once the WiFi radio goes down after being active, it can come back and be active in less than 15 seconds, which means we may sample twice quickly. Bug:21478443 Change-Id: I99081b664f8a33fef734bc55eef4d33ac297e83a --- .../core/java/com/android/server/ConnectivityService.java | 2 +- .../java/com/android/server/am/BatteryStatsService.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 25d4d5ec01e0e..1b2a2ed07b7af 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -1559,7 +1559,7 @@ public class ConnectivityService extends IConnectivityManager.Stub NetworkCapabilities.TRANSPORT_WIFI)) { timeout = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.DATA_ACTIVITY_TIMEOUT_WIFI, - 5); + 15); type = ConnectivityManager.TYPE_WIFI; } else { // do not track any other networks diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 3854e5160fc62..78557634c636a 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -38,6 +38,7 @@ import android.os.ServiceManager; import android.os.SystemClock; import android.os.UserHandle; import android.os.WorkSource; +import android.telephony.DataConnectionRealTimeInfo; import android.telephony.SignalStrength; import android.telephony.TelephonyManager; import android.util.Slog; @@ -629,7 +630,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub // Collect data now for the past activity. synchronized (mStats) { if (mStats.isOnBattery()) { - mHandler.scheduleWifiSync("wifi-data"); + final String type = (powerState == DataConnectionRealTimeInfo.DC_POWER_STATE_HIGH || + powerState == DataConnectionRealTimeInfo.DC_POWER_STATE_MEDIUM) ? "active" + : "inactive"; + mHandler.scheduleWifiSync("wifi-data: " + type); } mStats.noteWifiRadioPowerState(powerState, tsNanos); }