Merge "BatteryStatsManager: Address API council feedback"
diff --git a/api/system-current.txt b/api/system-current.txt
index 536f45c..99e3947 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -8341,22 +8341,22 @@
     method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
   }
 
-  public class BatteryStatsManager {
+  public final class BatteryStatsManager {
     method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
     method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiMulticastDisabled(int);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiMulticastEnabled(int);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiOff();
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiOn();
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiScanStartedFromSource(@NonNull android.os.WorkSource);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiState(int, @Nullable String);
-    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void noteWifiSupplicantStateChanged(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
     field public static final int WIFI_STATE_OFF = 0; // 0x0
     field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
     field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
@@ -9030,12 +9030,12 @@
 
   public final class WifiBatteryStats implements android.os.Parcelable {
     method public int describeContents();
+    method public long getAppScanRequestCount();
     method public long getEnergyConsumedMaMillis();
     method public long getIdleTimeMillis();
     method public long getKernelActiveTimeMillis();
     method public long getLoggingDurationMillis();
     method public long getMonitoredRailChargeConsumedMaMillis();
-    method public long getNumAppScanRequest();
     method public long getNumBytesRx();
     method public long getNumBytesTx();
     method public long getNumPacketsRx();
@@ -14298,3 +14298,4 @@
   }
 
 }
+
diff --git a/core/java/android/os/BatteryStatsManager.java b/core/java/android/os/BatteryStatsManager.java
index 0545666..f2e16b4 100644
--- a/core/java/android/os/BatteryStatsManager.java
+++ b/core/java/android/os/BatteryStatsManager.java
@@ -42,7 +42,7 @@
  */
 @SystemApi
 @SystemService(Context.BATTERY_STATS_SERVICE)
-public class BatteryStatsManager {
+public final class BatteryStatsManager {
     /**
      * Wifi states.
      *
@@ -166,7 +166,7 @@
      * @param newRssi The new RSSI value.
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiRssiChanged(@IntRange(from = -127, to = 0) int newRssi) {
+    public void reportWifiRssiChanged(@IntRange(from = -127, to = 0) int newRssi) {
         try {
             mBatteryStats.noteWifiRssiChanged(newRssi);
         } catch (RemoteException e) {
@@ -178,7 +178,7 @@
      * Indicates that wifi was toggled on.
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiOn() {
+    public void reportWifiOn() {
         try {
             mBatteryStats.noteWifiOn();
         } catch (RemoteException e) {
@@ -190,7 +190,7 @@
      * Indicates that wifi was toggled off.
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiOff() {
+    public void reportWifiOff() {
         try {
             mBatteryStats.noteWifiOff();
         } catch (RemoteException e) {
@@ -205,7 +205,7 @@
      * @param accessPoint SSID of the network if wifi is connected to STA, else null.
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiState(@WifiState int newWifiState,
+    public void reportWifiState(@WifiState int newWifiState,
             @Nullable String accessPoint) {
         try {
             mBatteryStats.noteWifiState(newWifiState, accessPoint);
@@ -220,7 +220,7 @@
      * @param ws Worksource (to be used for battery blaming).
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiScanStartedFromSource(@NonNull WorkSource ws) {
+    public void reportWifiScanStartedFromSource(@NonNull WorkSource ws) {
         try {
             mBatteryStats.noteWifiScanStartedFromSource(ws);
         } catch (RemoteException e) {
@@ -234,7 +234,7 @@
      * @param ws Worksource (to be used for battery blaming).
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiScanStoppedFromSource(@NonNull WorkSource ws) {
+    public void reportWifiScanStoppedFromSource(@NonNull WorkSource ws) {
         try {
             mBatteryStats.noteWifiScanStoppedFromSource(ws);
         } catch (RemoteException e) {
@@ -249,7 +249,7 @@
      * @param csph Channels scanned per hour.
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiBatchedScanStartedFromSource(@NonNull WorkSource ws,
+    public void reportWifiBatchedScanStartedFromSource(@NonNull WorkSource ws,
             @IntRange(from = 0) int csph) {
         try {
             mBatteryStats.noteWifiBatchedScanStartedFromSource(ws, csph);
@@ -264,7 +264,7 @@
      * @param ws Worksource (to be used for battery blaming).
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiBatchedScanStoppedFromSource(@NonNull WorkSource ws) {
+    public void reportWifiBatchedScanStoppedFromSource(@NonNull WorkSource ws) {
         try {
             mBatteryStats.noteWifiBatchedScanStoppedFromSource(ws);
         } catch (RemoteException e) {
@@ -308,7 +308,7 @@
      * @param ws Worksource (to be used for battery blaming).
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteFullWifiLockAcquiredFromSource(@NonNull WorkSource ws) {
+    public void reportFullWifiLockAcquiredFromSource(@NonNull WorkSource ws) {
         try {
             mBatteryStats.noteFullWifiLockAcquiredFromSource(ws);
         } catch (RemoteException e) {
@@ -322,7 +322,7 @@
      * @param ws Worksource (to be used for battery blaming).
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteFullWifiLockReleasedFromSource(@NonNull WorkSource ws) {
+    public void reportFullWifiLockReleasedFromSource(@NonNull WorkSource ws) {
         try {
             mBatteryStats.noteFullWifiLockReleasedFromSource(ws);
         } catch (RemoteException e) {
@@ -338,7 +338,7 @@
      *                   authentication failure.
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiSupplicantStateChanged(@WifiSupplState int newSupplState,
+    public void reportWifiSupplicantStateChanged(@WifiSupplState int newSupplState,
             boolean failedAuth) {
         try {
             mBatteryStats.noteWifiSupplicantStateChanged(newSupplState, failedAuth);
@@ -353,7 +353,7 @@
      * @param uid UID of the app that acquired the wifi lock (to be used for battery blaming).
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiMulticastEnabled(int uid) {
+    public void reportWifiMulticastEnabled(int uid) {
         try {
             mBatteryStats.noteWifiMulticastEnabled(uid);
         } catch (RemoteException e) {
@@ -367,7 +367,7 @@
      * @param uid UID of the app that released the wifi lock (to be used for battery blaming).
      */
     @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
-    public void noteWifiMulticastDisabled(int uid) {
+    public void reportWifiMulticastDisabled(int uid) {
         try {
             mBatteryStats.noteWifiMulticastDisabled(uid);
         } catch (RemoteException e) {
diff --git a/core/java/android/os/connectivity/WifiBatteryStats.java b/core/java/android/os/connectivity/WifiBatteryStats.java
index 895d837..3c30f63 100644
--- a/core/java/android/os/connectivity/WifiBatteryStats.java
+++ b/core/java/android/os/connectivity/WifiBatteryStats.java
@@ -15,11 +15,13 @@
  */
 package android.os.connectivity;
 
+import static android.os.BatteryStats.NUM_WIFI_SIGNAL_STRENGTH_BINS;
+import static android.os.BatteryStatsManager.NUM_WIFI_STATES;
+import static android.os.BatteryStatsManager.NUM_WIFI_SUPPL_STATES;
+
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
-import android.os.BatteryStats;
-import android.os.BatteryStatsManager;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -33,31 +35,50 @@
  */
 @SystemApi
 public final class WifiBatteryStats implements Parcelable {
-    private long mLoggingDurationMillis = 0;
-    private long mKernelActiveTimeMillis = 0;
-    private long mNumPacketsTx = 0;
-    private long mNumBytesTx = 0;
-    private long mNumPacketsRx = 0;
-    private long mNumBytesRx = 0;
-    private long mSleepTimeMillis = 0;
-    private long mScanTimeMillis = 0;
-    private long mIdleTimeMillis = 0;
-    private long mRxTimeMillis = 0;
-    private long mTxTimeMillis = 0;
-    private long mEnergyConsumedMaMillis = 0;
-    private long mNumAppScanRequest = 0;
-    private long[] mTimeInStateMillis =
-        new long[BatteryStatsManager.NUM_WIFI_STATES];
-    private long[] mTimeInSupplicantStateMillis =
-        new long[BatteryStatsManager.NUM_WIFI_SUPPL_STATES];
-    private long[] mTimeInRxSignalStrengthLevelMillis =
-        new long[BatteryStats.NUM_WIFI_SIGNAL_STRENGTH_BINS];
-    private long mMonitoredRailChargeConsumedMaMillis = 0;
+    private final long mLoggingDurationMillis;
+    private final long mKernelActiveTimeMillis;
+    private final long mNumPacketsTx;
+    private final long mNumBytesTx;
+    private final long mNumPacketsRx;
+    private final long mNumBytesRx;
+    private final long mSleepTimeMillis;
+    private final long mScanTimeMillis;
+    private final long mIdleTimeMillis;
+    private final long mRxTimeMillis;
+    private final long mTxTimeMillis;
+    private final long mEnergyConsumedMaMillis;
+    private final long mAppScanRequestCount;
+    private final long[] mTimeInStateMillis;
+    private final long[] mTimeInSupplicantStateMillis;
+    private final long[] mTimeInRxSignalStrengthLevelMillis;
+    private final long mMonitoredRailChargeConsumedMaMillis;
 
     public static final @NonNull Parcelable.Creator<WifiBatteryStats> CREATOR =
             new Parcelable.Creator<WifiBatteryStats>() {
                 public WifiBatteryStats createFromParcel(Parcel in) {
-                    return new WifiBatteryStats(in);
+                    long loggingDurationMillis = in.readLong();
+                    long kernelActiveTimeMillis = in.readLong();
+                    long numPacketsTx = in.readLong();
+                    long numBytesTx = in.readLong();
+                    long numPacketsRx = in.readLong();
+                    long numBytesRx = in.readLong();
+                    long sleepTimeMillis = in.readLong();
+                    long scanTimeMillis = in.readLong();
+                    long idleTimeMillis = in.readLong();
+                    long rxTimeMillis = in.readLong();
+                    long txTimeMillis = in.readLong();
+                    long energyConsumedMaMillis = in.readLong();
+                    long appScanRequestCount = in.readLong();
+                    long[] timeInStateMillis = in.createLongArray();
+                    long[] timeInRxSignalStrengthLevelMillis = in.createLongArray();
+                    long[] timeInSupplicantStateMillis = in.createLongArray();
+                    long monitoredRailChargeConsumedMaMillis = in.readLong();
+                    return new WifiBatteryStats(loggingDurationMillis, kernelActiveTimeMillis,
+                            numPacketsTx, numBytesTx, numPacketsRx, numBytesRx, sleepTimeMillis,
+                            scanTimeMillis, idleTimeMillis, rxTimeMillis, txTimeMillis,
+                            energyConsumedMaMillis, appScanRequestCount, timeInStateMillis,
+                            timeInRxSignalStrengthLevelMillis, timeInSupplicantStateMillis,
+                            monitoredRailChargeConsumedMaMillis);
                 }
 
                 public WifiBatteryStats[] newArray(int size) {
@@ -84,7 +105,7 @@
         out.writeLong(mRxTimeMillis);
         out.writeLong(mTxTimeMillis);
         out.writeLong(mEnergyConsumedMaMillis);
-        out.writeLong(mNumAppScanRequest);
+        out.writeLong(mAppScanRequestCount);
         out.writeLongArray(mTimeInStateMillis);
         out.writeLongArray(mTimeInRxSignalStrengthLevelMillis);
         out.writeLongArray(mTimeInSupplicantStateMillis);
@@ -108,7 +129,7 @@
                 && this.mRxTimeMillis == otherStats.mRxTimeMillis
                 && this.mTxTimeMillis == otherStats.mTxTimeMillis
                 && this.mEnergyConsumedMaMillis == otherStats.mEnergyConsumedMaMillis
-                && this.mNumAppScanRequest == otherStats.mNumAppScanRequest
+                && this.mAppScanRequestCount == otherStats.mAppScanRequestCount
                 && Arrays.equals(this.mTimeInStateMillis, otherStats.mTimeInStateMillis)
                 && Arrays.equals(this.mTimeInSupplicantStateMillis,
                     otherStats.mTimeInSupplicantStateMillis)
@@ -123,33 +144,42 @@
         return Objects.hash(mLoggingDurationMillis, mKernelActiveTimeMillis, mNumPacketsTx,
                 mNumBytesTx, mNumPacketsRx, mNumBytesRx, mSleepTimeMillis, mScanTimeMillis,
                 mIdleTimeMillis, mRxTimeMillis, mTxTimeMillis, mEnergyConsumedMaMillis,
-                mNumAppScanRequest, Arrays.hashCode(mTimeInStateMillis),
+                mAppScanRequestCount, Arrays.hashCode(mTimeInStateMillis),
                 Arrays.hashCode(mTimeInSupplicantStateMillis),
                 Arrays.hashCode(mTimeInRxSignalStrengthLevelMillis),
                 mMonitoredRailChargeConsumedMaMillis);
     }
 
     /** @hide **/
-    public WifiBatteryStats() {}
-
-    private void readFromParcel(Parcel in) {
-        mLoggingDurationMillis = in.readLong();
-        mKernelActiveTimeMillis = in.readLong();
-        mNumPacketsTx = in.readLong();
-        mNumBytesTx = in.readLong();
-        mNumPacketsRx = in.readLong();
-        mNumBytesRx = in.readLong();
-        mSleepTimeMillis = in.readLong();
-        mScanTimeMillis = in.readLong();
-        mIdleTimeMillis = in.readLong();
-        mRxTimeMillis = in.readLong();
-        mTxTimeMillis = in.readLong();
-        mEnergyConsumedMaMillis = in.readLong();
-        mNumAppScanRequest = in.readLong();
-        in.readLongArray(mTimeInStateMillis);
-        in.readLongArray(mTimeInRxSignalStrengthLevelMillis);
-        in.readLongArray(mTimeInSupplicantStateMillis);
-        mMonitoredRailChargeConsumedMaMillis = in.readLong();
+    public WifiBatteryStats(long loggingDurationMillis, long kernelActiveTimeMillis,
+            long numPacketsTx, long numBytesTx, long numPacketsRx, long numBytesRx,
+            long sleepTimeMillis, long scanTimeMillis, long idleTimeMillis, long rxTimeMillis,
+            long txTimeMillis, long energyConsumedMaMillis, long appScanRequestCount,
+            @NonNull long[] timeInStateMillis, @NonNull long [] timeInRxSignalStrengthLevelMillis,
+            @NonNull long[] timeInSupplicantStateMillis, long monitoredRailChargeConsumedMaMillis) {
+        mLoggingDurationMillis = loggingDurationMillis;
+        mKernelActiveTimeMillis = kernelActiveTimeMillis;
+        mNumPacketsTx = numPacketsTx;
+        mNumBytesTx = numBytesTx;
+        mNumPacketsRx = numPacketsRx;
+        mNumBytesRx = numBytesRx;
+        mSleepTimeMillis = sleepTimeMillis;
+        mScanTimeMillis = scanTimeMillis;
+        mIdleTimeMillis = idleTimeMillis;
+        mRxTimeMillis = rxTimeMillis;
+        mTxTimeMillis = txTimeMillis;
+        mEnergyConsumedMaMillis = energyConsumedMaMillis;
+        mAppScanRequestCount = appScanRequestCount;
+        mTimeInStateMillis = Arrays.copyOfRange(
+                timeInStateMillis, 0,
+                Math.min(timeInStateMillis.length, NUM_WIFI_STATES));
+        mTimeInRxSignalStrengthLevelMillis = Arrays.copyOfRange(
+                timeInRxSignalStrengthLevelMillis, 0,
+                Math.min(timeInRxSignalStrengthLevelMillis.length, NUM_WIFI_SIGNAL_STRENGTH_BINS));
+        mTimeInSupplicantStateMillis = Arrays.copyOfRange(
+                timeInSupplicantStateMillis, 0,
+                Math.min(timeInSupplicantStateMillis.length, NUM_WIFI_SUPPL_STATES));
+        mMonitoredRailChargeConsumedMaMillis = monitoredRailChargeConsumedMaMillis;
     }
 
     /**
@@ -182,7 +212,7 @@
     }
 
     /**
-     * Returns the number of packets received over wifi within
+     * Returns the number of bytes transmitted over wifi within
      * {@link #getLoggingDurationMillis()}.
      *
      * @return Number of packets received.
@@ -192,7 +222,7 @@
     }
 
     /**
-     * Returns the number of bytes transmitted over wifi within
+     * Returns the number of packets received over wifi within
      * {@link #getLoggingDurationMillis()}.
      *
      * @return Number of bytes transmitted.
@@ -262,7 +292,7 @@
     }
 
     /**
-     * Returns an estimation of energy consumed by wifi chip within
+     * Returns an estimation of energy consumed in millis by wifi chip within
      * {@link #getLoggingDurationMillis()}.
      *
      * @return Energy consumed in millis.
@@ -276,8 +306,8 @@
      *
      * @return Number of app scans.
      */
-    public long getNumAppScanRequest() {
-        return mNumAppScanRequest;
+    public long getAppScanRequestCount() {
+        return mAppScanRequestCount;
     }
 
     /**
@@ -288,113 +318,4 @@
     public long getMonitoredRailChargeConsumedMaMillis() {
         return mMonitoredRailChargeConsumedMaMillis;
     }
-
-    /** @hide */
-    public void setLoggingDurationMillis(long t) {
-        mLoggingDurationMillis = t;
-        return;
-    }
-
-    /** @hide */
-    public void setKernelActiveTimeMillis(long t) {
-        mKernelActiveTimeMillis = t;
-        return;
-    }
-
-    /** @hide */
-    public void setNumPacketsTx(long n) {
-        mNumPacketsTx = n;
-        return;
-    }
-
-    /** @hide */
-    public void setNumBytesTx(long b) {
-        mNumBytesTx = b;
-        return;
-    }
-
-    /** @hide */
-    public void setNumPacketsRx(long n) {
-        mNumPacketsRx = n;
-        return;
-    }
-
-    /** @hide */
-    public void setNumBytesRx(long b) {
-        mNumBytesRx = b;
-        return;
-    }
-
-    /** @hide */
-    public void setSleepTimeMillis(long t) {
-        mSleepTimeMillis = t;
-        return;
-    }
-
-    /** @hide */
-    public void setScanTimeMillis(long t) {
-        mScanTimeMillis = t;
-        return;
-    }
-
-    /** @hide */
-    public void setIdleTimeMillis(long t) {
-        mIdleTimeMillis = t;
-        return;
-    }
-
-    /** @hide */
-    public void setRxTimeMillis(long t) {
-        mRxTimeMillis = t;
-        return;
-    }
-
-    /** @hide */
-    public void setTxTimeMillis(long t) {
-        mTxTimeMillis = t;
-        return;
-    }
-
-    /** @hide */
-    public void setEnergyConsumedMaMillis(long e) {
-        mEnergyConsumedMaMillis = e;
-        return;
-    }
-
-    /** @hide */
-    public void setNumAppScanRequest(long n) {
-        mNumAppScanRequest = n;
-        return;
-    }
-
-    /** @hide */
-    public void setTimeInStateMillis(long[] t) {
-        mTimeInStateMillis = Arrays.copyOfRange(t, 0,
-                Math.min(t.length, BatteryStatsManager.NUM_WIFI_STATES));
-        return;
-    }
-
-    /** @hide */
-    public void setTimeInRxSignalStrengthLevelMillis(long[] t) {
-        mTimeInRxSignalStrengthLevelMillis = Arrays.copyOfRange(t, 0,
-                Math.min(t.length, BatteryStats.NUM_WIFI_SIGNAL_STRENGTH_BINS));
-        return;
-    }
-
-    /** @hide */
-    public void setTimeInSupplicantStateMillis(long[] t) {
-        mTimeInSupplicantStateMillis = Arrays.copyOfRange(
-                t, 0, Math.min(t.length, BatteryStatsManager.NUM_WIFI_SUPPL_STATES));
-        return;
-    }
-
-    /** @hide */
-    public void setMonitoredRailChargeConsumedMaMillis(long monitoredRailEnergyConsumedMaMillis) {
-        mMonitoredRailChargeConsumedMaMillis = monitoredRailEnergyConsumedMaMillis;
-        return;
-    }
-
-    private WifiBatteryStats(Parcel in) {
-        readFromParcel(in);
-    }
 }
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index b3548b8..580c1f0 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -12644,7 +12644,6 @@
 
     /*@hide */
     public WifiBatteryStats getWifiBatteryStats() {
-        WifiBatteryStats s = new WifiBatteryStats();
         final int which = STATS_SINCE_CHARGED;
         final long rawRealTime = SystemClock.elapsedRealtime() * 1000;
         final ControllerActivityCounter counter = getWifiControllerActivity();
@@ -12675,24 +12674,16 @@
         for (int i=0; i<NUM_WIFI_SIGNAL_STRENGTH_BINS; i++) {
             timeSignalStrengthTimeMs[i] = getWifiSignalStrengthTime(i, rawRealTime, which) / 1000;
         }
-        s.setLoggingDurationMillis(computeBatteryRealtime(rawRealTime, which) / 1000);
-        s.setKernelActiveTimeMillis(getWifiActiveTime(rawRealTime, which) / 1000);
-        s.setNumPacketsTx(getNetworkActivityPackets(NETWORK_WIFI_TX_DATA, which));
-        s.setNumBytesTx(getNetworkActivityBytes(NETWORK_WIFI_TX_DATA, which));
-        s.setNumPacketsRx(getNetworkActivityPackets(NETWORK_WIFI_RX_DATA, which));
-        s.setNumBytesRx(getNetworkActivityBytes(NETWORK_WIFI_RX_DATA, which));
-        s.setSleepTimeMillis(sleepTimeMs);
-        s.setIdleTimeMillis(idleTimeMs);
-        s.setRxTimeMillis(rxTimeMs);
-        s.setTxTimeMillis(txTimeMs);
-        s.setScanTimeMillis(scanTimeMs);
-        s.setEnergyConsumedMaMillis(energyConsumedMaMs);
-        s.setNumAppScanRequest(numAppScanRequest);
-        s.setTimeInStateMillis(timeInStateMs);
-        s.setTimeInSupplicantStateMillis(timeInSupplStateMs);
-        s.setTimeInRxSignalStrengthLevelMillis(timeSignalStrengthTimeMs);
-        s.setMonitoredRailChargeConsumedMaMillis(monitoredRailChargeConsumedMaMs);
-        return s;
+        return new WifiBatteryStats(
+                computeBatteryRealtime(rawRealTime, which) / 1000,
+                getWifiActiveTime(rawRealTime, which) / 1000,
+                getNetworkActivityPackets(NETWORK_WIFI_TX_DATA, which),
+                getNetworkActivityBytes(NETWORK_WIFI_TX_DATA, which),
+                getNetworkActivityPackets(NETWORK_WIFI_RX_DATA, which),
+                getNetworkActivityBytes(NETWORK_WIFI_RX_DATA, which),
+                sleepTimeMs, scanTimeMs, idleTimeMs, rxTimeMs, txTimeMs, energyConsumedMaMs,
+                numAppScanRequest, timeInStateMs, timeSignalStrengthTimeMs, timeInSupplStateMs,
+                monitoredRailChargeConsumedMaMs);
     }
 
     /*@hide */