Loading core/java/android/os/BatteryStats.java +49 −6 Original line number Diff line number Diff line Loading @@ -336,6 +336,9 @@ public abstract class BatteryStats implements Parcelable { private final StringBuilder mFormatBuilder = new StringBuilder(32); private final Formatter mFormatter = new Formatter(mFormatBuilder); private static final String CELLULAR_CONTROLLER_NAME = "Cellular"; private static final String WIFI_CONTROLLER_NAME = "WiFi"; /** * Indicates times spent by the uid at each cpu frequency in all process states. * Loading Loading @@ -411,6 +414,13 @@ public abstract class BatteryStats implements Parcelable { */ public abstract LongCounter getIdleTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the * scan state. */ public abstract LongCounter getScanTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the * receive state. Loading Loading @@ -2398,6 +2408,14 @@ public abstract class BatteryStats implements Parcelable { */ public abstract long getWifiOnTime(long elapsedRealtimeUs, int which); /** * Returns the time in microseconds that wifi has been active while the device was * running on battery. * * {@hide} */ public abstract long getWifiActiveTime(long elapsedRealtimeUs, int which); /** * Returns the time in microseconds that wifi has been on and the driver has * been in the running state while the device was running on battery. Loading Loading @@ -3345,6 +3363,20 @@ public abstract class BatteryStats implements Parcelable { final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); if (controllerName.equals(WIFI_CONTROLLER_NAME)) { final long scanTimeMs = counter.getScanTimeCounter().getCountLocked(which); sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Scan time: "); formatTimeMs(sb, scanTimeMs); sb.append("("); sb.append(formatRatioLocked(scanTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } sb.setLength(0); sb.append(prefix); sb.append(" "); Loading Loading @@ -3386,7 +3418,7 @@ public abstract class BatteryStats implements Parcelable { String [] powerLevel; switch(controllerName) { case "Cellular": case CELLULAR_CONTROLLER_NAME: powerLevel = new String[] { " less than 0dBm: ", " 0dBm to 8dBm: ", Loading Loading @@ -4674,7 +4706,7 @@ public abstract class BatteryStats implements Parcelable { if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "Cellular", printControllerActivity(pw, sb, prefix, CELLULAR_CONTROLLER_NAME, getModemControllerActivity(), which); pw.print(prefix); Loading @@ -4683,6 +4715,16 @@ public abstract class BatteryStats implements Parcelable { sb.append(" Wifi Statistics:"); pw.println(sb.toString()); pw.print(prefix); sb.setLength(0); sb.append(prefix); sb.append(" Wifi kernel active time: "); final long wifiActiveTime = getWifiActiveTime(rawRealtime, which); formatTimeMs(sb, wifiActiveTime / 1000); sb.append("("); sb.append(formatRatioLocked(wifiActiveTime, whichBatteryRealtime)); sb.append(")"); pw.println(sb.toString()); pw.print(" Wifi data received: "); pw.println(formatBytesLocked(wifiRxTotalBytes)); pw.print(" Wifi data sent: "); pw.println(formatBytesLocked(wifiTxTotalBytes)); pw.print(" Wifi packets received: "); pw.println(wifiRxTotalPackets); Loading Loading @@ -4760,7 +4802,8 @@ public abstract class BatteryStats implements Parcelable { if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "WiFi", getWifiControllerActivity(), which); printControllerActivity(pw, sb, prefix, WIFI_CONTROLLER_NAME, getWifiControllerActivity(), which); pw.print(prefix); sb.setLength(0); Loading Loading @@ -5238,8 +5281,8 @@ public abstract class BatteryStats implements Parcelable { pw.println(sb.toString()); } printControllerActivityIfInteresting(pw, sb, prefix + " ", "Modem", u.getModemControllerActivity(), which); printControllerActivityIfInteresting(pw, sb, prefix + " ", CELLULAR_CONTROLLER_NAME, u.getModemControllerActivity(), which); if (wifiRxBytes > 0 || wifiTxBytes > 0 || wifiRxPackets > 0 || wifiTxPackets > 0) { pw.print(prefix); pw.print(" Wi-Fi network: "); Loading Loading @@ -5293,7 +5336,7 @@ public abstract class BatteryStats implements Parcelable { pw.println(sb.toString()); } printControllerActivityIfInteresting(pw, sb, prefix + " ", "WiFi", printControllerActivityIfInteresting(pw, sb, prefix + " ", WIFI_CONTROLLER_NAME, u.getWifiControllerActivity(), which); if (btRxBytes > 0 || btTxBytes > 0) { Loading core/java/android/os/connectivity/WifiBatteryStats.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.os.connectivity; /** {@hide} */ parcelable WifiBatteryStats; No newline at end of file core/java/android/os/connectivity/WifiBatteryStats.java 0 → 100644 +279 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.os.connectivity; import android.os.BatteryStats; import android.os.Parcel; import android.os.Parcelable; import java.util.Arrays; /** * API for Wifi power stats * * @hide */ public final class WifiBatteryStats implements Parcelable { private long mLoggingDurationMs; private long mKernelActiveTimeMs; private long mNumPacketsTx; private long mNumBytesTx; private long mNumPacketsRx; private long mNumBytesRx; private long mSleepTimeMs; private long mScanTimeMs; private long mIdleTimeMs; private long mRxTimeMs; private long mTxTimeMs; private long mEnergyConsumedMaMs; private long mNumAppScanRequest; private long[] mTimeInStateMs; private long[] mTimeInSupplicantStateMs; private long[] mTimeInRxSignalStrengthLevelMs; public static final Parcelable.Creator<WifiBatteryStats> CREATOR = new Parcelable.Creator<WifiBatteryStats>() { public WifiBatteryStats createFromParcel(Parcel in) { return new WifiBatteryStats(in); } public WifiBatteryStats[] newArray(int size) { return new WifiBatteryStats[size]; } }; public WifiBatteryStats() { initialize(); } public void writeToParcel(Parcel out, int flags) { out.writeLong(mLoggingDurationMs); out.writeLong(mKernelActiveTimeMs); out.writeLong(mNumPacketsTx); out.writeLong(mNumBytesTx); out.writeLong(mNumPacketsRx); out.writeLong(mNumBytesRx); out.writeLong(mSleepTimeMs); out.writeLong(mScanTimeMs); out.writeLong(mIdleTimeMs); out.writeLong(mRxTimeMs); out.writeLong(mTxTimeMs); out.writeLong(mEnergyConsumedMaMs); out.writeLong(mNumAppScanRequest); out.writeLongArray(mTimeInStateMs); out.writeLongArray(mTimeInRxSignalStrengthLevelMs); out.writeLongArray(mTimeInSupplicantStateMs); } public void readFromParcel(Parcel in) { mLoggingDurationMs = in.readLong(); mKernelActiveTimeMs = in.readLong(); mNumPacketsTx = in.readLong(); mNumBytesTx = in.readLong(); mNumPacketsRx = in.readLong(); mNumBytesRx = in.readLong(); mSleepTimeMs = in.readLong(); mScanTimeMs = in.readLong(); mIdleTimeMs = in.readLong(); mRxTimeMs = in.readLong(); mTxTimeMs = in.readLong(); mEnergyConsumedMaMs = in.readLong(); mNumAppScanRequest = in.readLong(); in.readLongArray(mTimeInStateMs); in.readLongArray(mTimeInRxSignalStrengthLevelMs); in.readLongArray(mTimeInSupplicantStateMs); } public long getLoggingDurationMs() { return mLoggingDurationMs; } public long getKernelActiveTimeMs() { return mKernelActiveTimeMs; } public long getNumPacketsTx() { return mNumPacketsTx; } public long getNumBytesTx() { return mNumBytesTx; } public long getNumPacketsRx() { return mNumPacketsRx; } public long getNumBytesRx() { return mNumBytesRx; } public long getSleepTimeMs() { return mSleepTimeMs; } public long getScanTimeMs() { return mScanTimeMs; } public long getIdleTimeMs() { return mIdleTimeMs; } public long getRxTimeMs() { return mRxTimeMs; } public long getTxTimeMs() { return mTxTimeMs; } public long getEnergyConsumedMaMs() { return mEnergyConsumedMaMs; } public long getNumAppScanRequest() { return mNumAppScanRequest; } public long[] getTimeInStateMs() { return mTimeInStateMs; } public long[] getTimeInRxSignalStrengthLevelMs() { return mTimeInRxSignalStrengthLevelMs; } public long[] getTimeInSupplicantStateMs() { return mTimeInSupplicantStateMs; } public void setLoggingDurationMs(long t) { mLoggingDurationMs = t; return; } public void setKernelActiveTimeMs(long t) { mKernelActiveTimeMs = t; return; } public void setNumPacketsTx(long n) { mNumPacketsTx = n; return; } public void setNumBytesTx(long b) { mNumBytesTx = b; return; } public void setNumPacketsRx(long n) { mNumPacketsRx = n; return; } public void setNumBytesRx(long b) { mNumBytesRx = b; return; } public void setSleepTimeMs(long t) { mSleepTimeMs = t; return; } public void setScanTimeMs(long t) { mScanTimeMs = t; return; } public void setIdleTimeMs(long t) { mIdleTimeMs = t; return; } public void setRxTimeMs(long t) { mRxTimeMs = t; return; } public void setTxTimeMs(long t) { mTxTimeMs = t; return; } public void setEnergyConsumedMaMs(long e) { mEnergyConsumedMaMs = e; return; } public void setNumAppScanRequest(long n) { mNumAppScanRequest = n; return; } public void setTimeInStateMs(long[] t) { mTimeInStateMs = Arrays.copyOfRange(t, 0, Math.min(t.length, BatteryStats.NUM_WIFI_STATES)); return; } public void setTimeInRxSignalStrengthLevelMs(long[] t) { mTimeInRxSignalStrengthLevelMs = Arrays.copyOfRange(t, 0, Math.min(t.length, BatteryStats.NUM_WIFI_SIGNAL_STRENGTH_BINS)); return; } public void setTimeInSupplicantStateMs(long[] t) { mTimeInSupplicantStateMs = Arrays.copyOfRange( t, 0, Math.min(t.length, BatteryStats.NUM_WIFI_SUPPL_STATES)); return; } public int describeContents() { return 0; } private WifiBatteryStats(Parcel in) { initialize(); readFromParcel(in); } private void initialize() { mLoggingDurationMs = 0; mKernelActiveTimeMs = 0; mNumPacketsTx = 0; mNumBytesTx = 0; mNumPacketsRx = 0; mNumBytesRx = 0; mSleepTimeMs = 0; mScanTimeMs = 0; mIdleTimeMs = 0; mRxTimeMs = 0; mTxTimeMs = 0; mEnergyConsumedMaMs = 0; mNumAppScanRequest = 0; mTimeInStateMs = new long[BatteryStats.NUM_WIFI_STATES]; Arrays.fill(mTimeInStateMs, 0); mTimeInRxSignalStrengthLevelMs = new long[BatteryStats.NUM_WIFI_SIGNAL_STRENGTH_BINS]; Arrays.fill(mTimeInRxSignalStrengthLevelMs, 0); mTimeInSupplicantStateMs = new long[BatteryStats.NUM_WIFI_SUPPL_STATES]; Arrays.fill(mTimeInSupplicantStateMs, 0); return; } } No newline at end of file core/java/com/android/internal/app/IBatteryStats.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.net.wifi.WifiActivityEnergyInfo; import android.os.ParcelFileDescriptor; import android.os.WorkSource; import android.os.connectivity.CellularBatteryStats; import android.os.connectivity.WifiBatteryStats; import android.os.connectivity.GpsBatteryStats; import android.os.health.HealthStatsParceler; import android.telephony.DataConnectionRealTimeInfo; Loading Loading @@ -142,6 +143,9 @@ interface IBatteryStats { /** {@hide} */ CellularBatteryStats getCellularBatteryStats(); /** {@hide} */ WifiBatteryStats getWifiBatteryStats(); /** {@hide} */ GpsBatteryStats getGpsBatteryStats(); Loading core/java/com/android/internal/os/BatteryStatsImpl.java +95 −7 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
core/java/android/os/BatteryStats.java +49 −6 Original line number Diff line number Diff line Loading @@ -336,6 +336,9 @@ public abstract class BatteryStats implements Parcelable { private final StringBuilder mFormatBuilder = new StringBuilder(32); private final Formatter mFormatter = new Formatter(mFormatBuilder); private static final String CELLULAR_CONTROLLER_NAME = "Cellular"; private static final String WIFI_CONTROLLER_NAME = "WiFi"; /** * Indicates times spent by the uid at each cpu frequency in all process states. * Loading Loading @@ -411,6 +414,13 @@ public abstract class BatteryStats implements Parcelable { */ public abstract LongCounter getIdleTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the * scan state. */ public abstract LongCounter getScanTimeCounter(); /** * @return a non-null {@link LongCounter} representing time spent (milliseconds) in the * receive state. Loading Loading @@ -2398,6 +2408,14 @@ public abstract class BatteryStats implements Parcelable { */ public abstract long getWifiOnTime(long elapsedRealtimeUs, int which); /** * Returns the time in microseconds that wifi has been active while the device was * running on battery. * * {@hide} */ public abstract long getWifiActiveTime(long elapsedRealtimeUs, int which); /** * Returns the time in microseconds that wifi has been on and the driver has * been in the running state while the device was running on battery. Loading Loading @@ -3345,6 +3363,20 @@ public abstract class BatteryStats implements Parcelable { final long sleepTimeMs = totalControllerActivityTimeMs - (idleTimeMs + rxTimeMs + totalTxTimeMs); if (controllerName.equals(WIFI_CONTROLLER_NAME)) { final long scanTimeMs = counter.getScanTimeCounter().getCountLocked(which); sb.setLength(0); sb.append(prefix); sb.append(" "); sb.append(controllerName); sb.append(" Scan time: "); formatTimeMs(sb, scanTimeMs); sb.append("("); sb.append(formatRatioLocked(scanTimeMs, totalControllerActivityTimeMs)); sb.append(")"); pw.println(sb.toString()); } sb.setLength(0); sb.append(prefix); sb.append(" "); Loading Loading @@ -3386,7 +3418,7 @@ public abstract class BatteryStats implements Parcelable { String [] powerLevel; switch(controllerName) { case "Cellular": case CELLULAR_CONTROLLER_NAME: powerLevel = new String[] { " less than 0dBm: ", " 0dBm to 8dBm: ", Loading Loading @@ -4674,7 +4706,7 @@ public abstract class BatteryStats implements Parcelable { if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "Cellular", printControllerActivity(pw, sb, prefix, CELLULAR_CONTROLLER_NAME, getModemControllerActivity(), which); pw.print(prefix); Loading @@ -4683,6 +4715,16 @@ public abstract class BatteryStats implements Parcelable { sb.append(" Wifi Statistics:"); pw.println(sb.toString()); pw.print(prefix); sb.setLength(0); sb.append(prefix); sb.append(" Wifi kernel active time: "); final long wifiActiveTime = getWifiActiveTime(rawRealtime, which); formatTimeMs(sb, wifiActiveTime / 1000); sb.append("("); sb.append(formatRatioLocked(wifiActiveTime, whichBatteryRealtime)); sb.append(")"); pw.println(sb.toString()); pw.print(" Wifi data received: "); pw.println(formatBytesLocked(wifiRxTotalBytes)); pw.print(" Wifi data sent: "); pw.println(formatBytesLocked(wifiTxTotalBytes)); pw.print(" Wifi packets received: "); pw.println(wifiRxTotalPackets); Loading Loading @@ -4760,7 +4802,8 @@ public abstract class BatteryStats implements Parcelable { if (!didOne) sb.append(" (no activity)"); pw.println(sb.toString()); printControllerActivity(pw, sb, prefix, "WiFi", getWifiControllerActivity(), which); printControllerActivity(pw, sb, prefix, WIFI_CONTROLLER_NAME, getWifiControllerActivity(), which); pw.print(prefix); sb.setLength(0); Loading Loading @@ -5238,8 +5281,8 @@ public abstract class BatteryStats implements Parcelable { pw.println(sb.toString()); } printControllerActivityIfInteresting(pw, sb, prefix + " ", "Modem", u.getModemControllerActivity(), which); printControllerActivityIfInteresting(pw, sb, prefix + " ", CELLULAR_CONTROLLER_NAME, u.getModemControllerActivity(), which); if (wifiRxBytes > 0 || wifiTxBytes > 0 || wifiRxPackets > 0 || wifiTxPackets > 0) { pw.print(prefix); pw.print(" Wi-Fi network: "); Loading Loading @@ -5293,7 +5336,7 @@ public abstract class BatteryStats implements Parcelable { pw.println(sb.toString()); } printControllerActivityIfInteresting(pw, sb, prefix + " ", "WiFi", printControllerActivityIfInteresting(pw, sb, prefix + " ", WIFI_CONTROLLER_NAME, u.getWifiControllerActivity(), which); if (btRxBytes > 0 || btTxBytes > 0) { Loading
core/java/android/os/connectivity/WifiBatteryStats.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.os.connectivity; /** {@hide} */ parcelable WifiBatteryStats; No newline at end of file
core/java/android/os/connectivity/WifiBatteryStats.java 0 → 100644 +279 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.os.connectivity; import android.os.BatteryStats; import android.os.Parcel; import android.os.Parcelable; import java.util.Arrays; /** * API for Wifi power stats * * @hide */ public final class WifiBatteryStats implements Parcelable { private long mLoggingDurationMs; private long mKernelActiveTimeMs; private long mNumPacketsTx; private long mNumBytesTx; private long mNumPacketsRx; private long mNumBytesRx; private long mSleepTimeMs; private long mScanTimeMs; private long mIdleTimeMs; private long mRxTimeMs; private long mTxTimeMs; private long mEnergyConsumedMaMs; private long mNumAppScanRequest; private long[] mTimeInStateMs; private long[] mTimeInSupplicantStateMs; private long[] mTimeInRxSignalStrengthLevelMs; public static final Parcelable.Creator<WifiBatteryStats> CREATOR = new Parcelable.Creator<WifiBatteryStats>() { public WifiBatteryStats createFromParcel(Parcel in) { return new WifiBatteryStats(in); } public WifiBatteryStats[] newArray(int size) { return new WifiBatteryStats[size]; } }; public WifiBatteryStats() { initialize(); } public void writeToParcel(Parcel out, int flags) { out.writeLong(mLoggingDurationMs); out.writeLong(mKernelActiveTimeMs); out.writeLong(mNumPacketsTx); out.writeLong(mNumBytesTx); out.writeLong(mNumPacketsRx); out.writeLong(mNumBytesRx); out.writeLong(mSleepTimeMs); out.writeLong(mScanTimeMs); out.writeLong(mIdleTimeMs); out.writeLong(mRxTimeMs); out.writeLong(mTxTimeMs); out.writeLong(mEnergyConsumedMaMs); out.writeLong(mNumAppScanRequest); out.writeLongArray(mTimeInStateMs); out.writeLongArray(mTimeInRxSignalStrengthLevelMs); out.writeLongArray(mTimeInSupplicantStateMs); } public void readFromParcel(Parcel in) { mLoggingDurationMs = in.readLong(); mKernelActiveTimeMs = in.readLong(); mNumPacketsTx = in.readLong(); mNumBytesTx = in.readLong(); mNumPacketsRx = in.readLong(); mNumBytesRx = in.readLong(); mSleepTimeMs = in.readLong(); mScanTimeMs = in.readLong(); mIdleTimeMs = in.readLong(); mRxTimeMs = in.readLong(); mTxTimeMs = in.readLong(); mEnergyConsumedMaMs = in.readLong(); mNumAppScanRequest = in.readLong(); in.readLongArray(mTimeInStateMs); in.readLongArray(mTimeInRxSignalStrengthLevelMs); in.readLongArray(mTimeInSupplicantStateMs); } public long getLoggingDurationMs() { return mLoggingDurationMs; } public long getKernelActiveTimeMs() { return mKernelActiveTimeMs; } public long getNumPacketsTx() { return mNumPacketsTx; } public long getNumBytesTx() { return mNumBytesTx; } public long getNumPacketsRx() { return mNumPacketsRx; } public long getNumBytesRx() { return mNumBytesRx; } public long getSleepTimeMs() { return mSleepTimeMs; } public long getScanTimeMs() { return mScanTimeMs; } public long getIdleTimeMs() { return mIdleTimeMs; } public long getRxTimeMs() { return mRxTimeMs; } public long getTxTimeMs() { return mTxTimeMs; } public long getEnergyConsumedMaMs() { return mEnergyConsumedMaMs; } public long getNumAppScanRequest() { return mNumAppScanRequest; } public long[] getTimeInStateMs() { return mTimeInStateMs; } public long[] getTimeInRxSignalStrengthLevelMs() { return mTimeInRxSignalStrengthLevelMs; } public long[] getTimeInSupplicantStateMs() { return mTimeInSupplicantStateMs; } public void setLoggingDurationMs(long t) { mLoggingDurationMs = t; return; } public void setKernelActiveTimeMs(long t) { mKernelActiveTimeMs = t; return; } public void setNumPacketsTx(long n) { mNumPacketsTx = n; return; } public void setNumBytesTx(long b) { mNumBytesTx = b; return; } public void setNumPacketsRx(long n) { mNumPacketsRx = n; return; } public void setNumBytesRx(long b) { mNumBytesRx = b; return; } public void setSleepTimeMs(long t) { mSleepTimeMs = t; return; } public void setScanTimeMs(long t) { mScanTimeMs = t; return; } public void setIdleTimeMs(long t) { mIdleTimeMs = t; return; } public void setRxTimeMs(long t) { mRxTimeMs = t; return; } public void setTxTimeMs(long t) { mTxTimeMs = t; return; } public void setEnergyConsumedMaMs(long e) { mEnergyConsumedMaMs = e; return; } public void setNumAppScanRequest(long n) { mNumAppScanRequest = n; return; } public void setTimeInStateMs(long[] t) { mTimeInStateMs = Arrays.copyOfRange(t, 0, Math.min(t.length, BatteryStats.NUM_WIFI_STATES)); return; } public void setTimeInRxSignalStrengthLevelMs(long[] t) { mTimeInRxSignalStrengthLevelMs = Arrays.copyOfRange(t, 0, Math.min(t.length, BatteryStats.NUM_WIFI_SIGNAL_STRENGTH_BINS)); return; } public void setTimeInSupplicantStateMs(long[] t) { mTimeInSupplicantStateMs = Arrays.copyOfRange( t, 0, Math.min(t.length, BatteryStats.NUM_WIFI_SUPPL_STATES)); return; } public int describeContents() { return 0; } private WifiBatteryStats(Parcel in) { initialize(); readFromParcel(in); } private void initialize() { mLoggingDurationMs = 0; mKernelActiveTimeMs = 0; mNumPacketsTx = 0; mNumBytesTx = 0; mNumPacketsRx = 0; mNumBytesRx = 0; mSleepTimeMs = 0; mScanTimeMs = 0; mIdleTimeMs = 0; mRxTimeMs = 0; mTxTimeMs = 0; mEnergyConsumedMaMs = 0; mNumAppScanRequest = 0; mTimeInStateMs = new long[BatteryStats.NUM_WIFI_STATES]; Arrays.fill(mTimeInStateMs, 0); mTimeInRxSignalStrengthLevelMs = new long[BatteryStats.NUM_WIFI_SIGNAL_STRENGTH_BINS]; Arrays.fill(mTimeInRxSignalStrengthLevelMs, 0); mTimeInSupplicantStateMs = new long[BatteryStats.NUM_WIFI_SUPPL_STATES]; Arrays.fill(mTimeInSupplicantStateMs, 0); return; } } No newline at end of file
core/java/com/android/internal/app/IBatteryStats.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.net.wifi.WifiActivityEnergyInfo; import android.os.ParcelFileDescriptor; import android.os.WorkSource; import android.os.connectivity.CellularBatteryStats; import android.os.connectivity.WifiBatteryStats; import android.os.connectivity.GpsBatteryStats; import android.os.health.HealthStatsParceler; import android.telephony.DataConnectionRealTimeInfo; Loading Loading @@ -142,6 +143,9 @@ interface IBatteryStats { /** {@hide} */ CellularBatteryStats getCellularBatteryStats(); /** {@hide} */ WifiBatteryStats getWifiBatteryStats(); /** {@hide} */ GpsBatteryStats getGpsBatteryStats(); Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +95 −7 File changed.Preview size limit exceeded, changes collapsed. Show changes