Loading api/system-current.txt +19 −0 Original line number Diff line number Diff line Loading @@ -11043,6 +11043,25 @@ package android.telephony { field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming"; } public final class ModemActivityInfo implements android.os.Parcelable { method public int describeContents(); method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo); method public long getIdleTimeMillis(); method public static int getNumTxPowerLevels(); method public long getReceiveTimeMillis(); method public long getSleepTimeMillis(); method public long getTimestampMillis(); method public long getTransmitDurationMillisAtPowerLevel(int); method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR; field public static final int TX_POWER_LEVEL_0 = 0; // 0x0 field public static final int TX_POWER_LEVEL_1 = 1; // 0x1 field public static final int TX_POWER_LEVEL_2 = 2; // 0x2 field public static final int TX_POWER_LEVEL_3 = 3; // 0x3 field public static final int TX_POWER_LEVEL_4 = 4; // 0x4 } public final class NetworkRegistrationInfo implements android.os.Parcelable { method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo(); method public int getRegistrationState(); api/system-lint-baseline.txt +0 −2 Original line number Diff line number Diff line Loading @@ -159,8 +159,6 @@ MissingNullability: android.telephony.ModemActivityInfo#toString(): MissingNullability: android.telephony.ModemActivityInfo#writeToParcel(android.os.Parcel, int) parameter #0: MissingNullability: android.telephony.ModemActivityInfo.TransmitPower#toString(): MissingNullability: android.telephony.NetworkService#onUnbind(android.content.Intent) parameter #0: MissingNullability: android.telephony.SmsCbCmasInfo#toString(): Loading api/test-current.txt +21 −0 Original line number Diff line number Diff line Loading @@ -4240,6 +4240,27 @@ package android.telephony { field public static final String MBMS_STREAMING_SERVICE_OVERRIDE_METADATA = "mbms-streaming-service-override"; } public final class ModemActivityInfo implements android.os.Parcelable { ctor public ModemActivityInfo(long, int, int, @NonNull int[], int); method public int describeContents(); method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo); method public long getIdleTimeMillis(); method public static int getNumTxPowerLevels(); method public long getReceiveTimeMillis(); method public long getSleepTimeMillis(); method public long getTimestampMillis(); method public long getTransmitDurationMillisAtPowerLevel(int); method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int); method public boolean isValid(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR; field public static final int TX_POWER_LEVEL_0 = 0; // 0x0 field public static final int TX_POWER_LEVEL_1 = 1; // 0x1 field public static final int TX_POWER_LEVEL_2 = 2; // 0x2 field public static final int TX_POWER_LEVEL_3 = 3; // 0x3 field public static final int TX_POWER_LEVEL_4 = 4; // 0x4 } public final class NetworkRegistrationInfo implements android.os.Parcelable { method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo(); method public int getRegistrationState(); Loading core/java/android/os/connectivity/CellularBatteryStats.java +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ public final class CellularBatteryStats implements Parcelable { CellSignalStrength.getNumSignalStrengthLevels())); mTxTimeMs = Arrays.copyOfRange( txTimeMs, 0, Math.min(txTimeMs.length, ModemActivityInfo.TX_POWER_LEVELS)); Math.min(txTimeMs.length, ModemActivityInfo.getNumTxPowerLevels())); mMonitoredRailChargeConsumedMaMs = monitoredRailChargeConsumedMaMs; } Loading core/java/com/android/internal/os/BatteryStatsImpl.java +23 −46 Original line number Diff line number Diff line Loading @@ -65,7 +65,6 @@ import android.provider.Settings; import android.telephony.CellSignalStrength; import android.telephony.DataConnectionRealTimeInfo; import android.telephony.ModemActivityInfo; import android.telephony.ModemActivityInfo.TransmitPower; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.TelephonyManager; Loading Loading @@ -7791,7 +7790,7 @@ public class BatteryStatsImpl extends BatteryStats { public ControllerActivityCounterImpl getOrCreateModemControllerActivityLocked() { if (mModemControllerActivity == null) { mModemControllerActivity = new ControllerActivityCounterImpl(mBsi.mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS); ModemActivityInfo.getNumTxPowerLevels()); } return mModemControllerActivity; } Loading Loading @@ -9257,7 +9256,7 @@ public class BatteryStatsImpl extends BatteryStats { if (in.readInt() != 0) { mModemControllerActivity = new ControllerActivityCounterImpl(mBsi.mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS, in); ModemActivityInfo.getNumTxPowerLevels(), in); } else { mModemControllerActivity = null; } Loading Loading @@ -10520,7 +10519,7 @@ public class BatteryStatsImpl extends BatteryStats { mBluetoothActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, NUM_BT_TX_LEVELS); mModemActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS); ModemActivityInfo.getNumTxPowerLevels()); mMobileRadioActiveTimer = new StopwatchTimer(mClocks, null, -400, null, mOnBatteryTimeBase); mMobileRadioActivePerAppTimer = new StopwatchTimer(mClocks, null, -401, null, mOnBatteryTimeBase); Loading Loading @@ -11710,26 +11709,7 @@ public class BatteryStatsImpl extends BatteryStats { } } private ModemActivityInfo mLastModemActivityInfo = new ModemActivityInfo(0, 0, 0, new int[0], 0); private ModemActivityInfo getDeltaModemActivityInfo(ModemActivityInfo activityInfo) { if (activityInfo == null) { return null; } int[] txTimeMs = new int[ModemActivityInfo.TX_POWER_LEVELS]; for (int i = 0; i < ModemActivityInfo.TX_POWER_LEVELS; i++) { txTimeMs[i] = activityInfo.getTransmitPowerInfo().get(i).getTimeInMillis() - mLastModemActivityInfo.getTransmitPowerInfo().get(i).getTimeInMillis(); } ModemActivityInfo deltaInfo = new ModemActivityInfo(activityInfo.getTimestamp(), activityInfo.getSleepTimeMillis() - mLastModemActivityInfo.getSleepTimeMillis(), activityInfo.getIdleTimeMillis() - mLastModemActivityInfo.getIdleTimeMillis(), txTimeMs, activityInfo.getReceiveTimeMillis() - mLastModemActivityInfo.getReceiveTimeMillis()); mLastModemActivityInfo = activityInfo; return deltaInfo; } private ModemActivityInfo mLastModemActivityInfo = null; /** * Distribute Cell radio energy info and network traffic to apps. Loading @@ -11746,7 +11726,9 @@ public class BatteryStatsImpl extends BatteryStats { if (DEBUG_ENERGY) { Slog.d(TAG, "Updating mobile radio stats with " + activityInfo); } ModemActivityInfo deltaInfo = getDeltaModemActivityInfo(activityInfo); ModemActivityInfo deltaInfo = mLastModemActivityInfo == null ? activityInfo : mLastModemActivityInfo.getDelta(activityInfo); mLastModemActivityInfo = activityInfo; // Add modem tx power to history. addModemTxPowerToHistory(deltaInfo, elapsedRealtimeMs, uptimeMs); Loading Loading @@ -11778,10 +11760,9 @@ public class BatteryStatsImpl extends BatteryStats { mModemActivity.getSleepTimeCounter().addCountLocked( deltaInfo.getSleepTimeMillis()); mModemActivity.getRxTimeCounter().addCountLocked(deltaInfo.getReceiveTimeMillis()); for (int lvl = 0; lvl < ModemActivityInfo.TX_POWER_LEVELS; lvl++) { for (int lvl = 0; lvl < ModemActivityInfo.getNumTxPowerLevels(); lvl++) { mModemActivity.getTxTimeCounters()[lvl] .addCountLocked(deltaInfo.getTransmitPowerInfo() .get(lvl).getTimeInMillis()); .addCountLocked(deltaInfo.getTransmitDurationMillisAtPowerLevel(lvl)); } // POWER_MODEM_CONTROLLER_OPERATING_VOLTAGE is measured in mV, so convert to V. Loading @@ -11795,11 +11776,11 @@ public class BatteryStatsImpl extends BatteryStats { mPowerProfile.getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_IDLE) + deltaInfo.getReceiveTimeMillis() * mPowerProfile.getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_RX); List<TransmitPower> txPowerInfo = deltaInfo.getTransmitPowerInfo(); for (int i = 0; i < Math.min(txPowerInfo.size(), for (int i = 0; i < Math.min(ModemActivityInfo.getNumTxPowerLevels(), CellSignalStrength.getNumSignalStrengthLevels()); i++) { energyUsed += txPowerInfo.get(i).getTimeInMillis() * mPowerProfile .getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_TX, i); energyUsed += deltaInfo.getTransmitDurationMillisAtPowerLevel(i) * mPowerProfile.getAveragePower( PowerProfile.POWER_MODEM_CONTROLLER_TX, i); } // We store the power drain as mAms. Loading Loading @@ -11894,10 +11875,10 @@ public class BatteryStatsImpl extends BatteryStats { } if (totalTxPackets > 0 && entry.txPackets > 0) { for (int lvl = 0; lvl < ModemActivityInfo.TX_POWER_LEVELS; lvl++) { long txMs = entry.txPackets * deltaInfo.getTransmitPowerInfo() .get(lvl).getTimeInMillis(); for (int lvl = 0; lvl < ModemActivityInfo.getNumTxPowerLevels(); lvl++) { long txMs = entry.txPackets * deltaInfo.getTransmitDurationMillisAtPowerLevel(lvl); txMs /= totalTxPackets; activityCounter.getTxTimeCounters()[lvl].addCountLocked(txMs); } Loading Loading @@ -11929,18 +11910,14 @@ public class BatteryStatsImpl extends BatteryStats { if (activityInfo == null) { return; } List<TransmitPower> txPowerInfo = activityInfo.getTransmitPowerInfo(); if (txPowerInfo == null || txPowerInfo.size() != ModemActivityInfo.TX_POWER_LEVELS) { return; } int levelMaxTimeSpent = 0; for (int i = 1; i < txPowerInfo.size(); i++) { if (txPowerInfo.get(i).getTimeInMillis() > txPowerInfo.get(levelMaxTimeSpent) .getTimeInMillis()) { for (int i = 1; i < ModemActivityInfo.getNumTxPowerLevels(); i++) { if (activityInfo.getTransmitDurationMillisAtPowerLevel(i) > activityInfo.getTransmitDurationMillisAtPowerLevel(levelMaxTimeSpent)) { levelMaxTimeSpent = i; } } if (levelMaxTimeSpent == ModemActivityInfo.TX_POWER_LEVELS - 1) { if (levelMaxTimeSpent == ModemActivityInfo.getNumTxPowerLevels() - 1) { mHistoryCur.states2 |= HistoryItem.STATE2_CELLULAR_HIGH_TX_POWER_FLAG; addHistoryRecordLocked(elapsedRealtimeMs, uptimeMs); } Loading Loading @@ -13462,7 +13439,7 @@ public class BatteryStatsImpl extends BatteryStats { timeInRxSignalStrengthLevelMs[i] = getPhoneSignalStrengthTime(i, rawRealTimeUs, which) / 1000; } long[] txTimeMs = new long[Math.min(ModemActivityInfo.TX_POWER_LEVELS, long[] txTimeMs = new long[Math.min(ModemActivityInfo.getNumTxPowerLevels(), counter.getTxTimeCounters().length)]; long totalTxTimeMs = 0; for (int i = 0; i < txTimeMs.length; i++) { Loading Loading @@ -15601,7 +15578,7 @@ public class BatteryStatsImpl extends BatteryStats { mBluetoothActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, NUM_BT_TX_LEVELS, in); mModemActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS, in); ModemActivityInfo.getNumTxPowerLevels(), in); mHasWifiReporting = in.readInt() != 0; mHasBluetoothReporting = in.readInt() != 0; mHasModemReporting = in.readInt() != 0; Loading
api/system-current.txt +19 −0 Original line number Diff line number Diff line Loading @@ -11043,6 +11043,25 @@ package android.telephony { field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming"; } public final class ModemActivityInfo implements android.os.Parcelable { method public int describeContents(); method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo); method public long getIdleTimeMillis(); method public static int getNumTxPowerLevels(); method public long getReceiveTimeMillis(); method public long getSleepTimeMillis(); method public long getTimestampMillis(); method public long getTransmitDurationMillisAtPowerLevel(int); method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR; field public static final int TX_POWER_LEVEL_0 = 0; // 0x0 field public static final int TX_POWER_LEVEL_1 = 1; // 0x1 field public static final int TX_POWER_LEVEL_2 = 2; // 0x2 field public static final int TX_POWER_LEVEL_3 = 3; // 0x3 field public static final int TX_POWER_LEVEL_4 = 4; // 0x4 } public final class NetworkRegistrationInfo implements android.os.Parcelable { method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo(); method public int getRegistrationState();
api/system-lint-baseline.txt +0 −2 Original line number Diff line number Diff line Loading @@ -159,8 +159,6 @@ MissingNullability: android.telephony.ModemActivityInfo#toString(): MissingNullability: android.telephony.ModemActivityInfo#writeToParcel(android.os.Parcel, int) parameter #0: MissingNullability: android.telephony.ModemActivityInfo.TransmitPower#toString(): MissingNullability: android.telephony.NetworkService#onUnbind(android.content.Intent) parameter #0: MissingNullability: android.telephony.SmsCbCmasInfo#toString(): Loading
api/test-current.txt +21 −0 Original line number Diff line number Diff line Loading @@ -4240,6 +4240,27 @@ package android.telephony { field public static final String MBMS_STREAMING_SERVICE_OVERRIDE_METADATA = "mbms-streaming-service-override"; } public final class ModemActivityInfo implements android.os.Parcelable { ctor public ModemActivityInfo(long, int, int, @NonNull int[], int); method public int describeContents(); method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo); method public long getIdleTimeMillis(); method public static int getNumTxPowerLevels(); method public long getReceiveTimeMillis(); method public long getSleepTimeMillis(); method public long getTimestampMillis(); method public long getTransmitDurationMillisAtPowerLevel(int); method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int); method public boolean isValid(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR; field public static final int TX_POWER_LEVEL_0 = 0; // 0x0 field public static final int TX_POWER_LEVEL_1 = 1; // 0x1 field public static final int TX_POWER_LEVEL_2 = 2; // 0x2 field public static final int TX_POWER_LEVEL_3 = 3; // 0x3 field public static final int TX_POWER_LEVEL_4 = 4; // 0x4 } public final class NetworkRegistrationInfo implements android.os.Parcelable { method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo(); method public int getRegistrationState(); Loading
core/java/android/os/connectivity/CellularBatteryStats.java +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ public final class CellularBatteryStats implements Parcelable { CellSignalStrength.getNumSignalStrengthLevels())); mTxTimeMs = Arrays.copyOfRange( txTimeMs, 0, Math.min(txTimeMs.length, ModemActivityInfo.TX_POWER_LEVELS)); Math.min(txTimeMs.length, ModemActivityInfo.getNumTxPowerLevels())); mMonitoredRailChargeConsumedMaMs = monitoredRailChargeConsumedMaMs; } Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +23 −46 Original line number Diff line number Diff line Loading @@ -65,7 +65,6 @@ import android.provider.Settings; import android.telephony.CellSignalStrength; import android.telephony.DataConnectionRealTimeInfo; import android.telephony.ModemActivityInfo; import android.telephony.ModemActivityInfo.TransmitPower; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.TelephonyManager; Loading Loading @@ -7791,7 +7790,7 @@ public class BatteryStatsImpl extends BatteryStats { public ControllerActivityCounterImpl getOrCreateModemControllerActivityLocked() { if (mModemControllerActivity == null) { mModemControllerActivity = new ControllerActivityCounterImpl(mBsi.mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS); ModemActivityInfo.getNumTxPowerLevels()); } return mModemControllerActivity; } Loading Loading @@ -9257,7 +9256,7 @@ public class BatteryStatsImpl extends BatteryStats { if (in.readInt() != 0) { mModemControllerActivity = new ControllerActivityCounterImpl(mBsi.mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS, in); ModemActivityInfo.getNumTxPowerLevels(), in); } else { mModemControllerActivity = null; } Loading Loading @@ -10520,7 +10519,7 @@ public class BatteryStatsImpl extends BatteryStats { mBluetoothActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, NUM_BT_TX_LEVELS); mModemActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS); ModemActivityInfo.getNumTxPowerLevels()); mMobileRadioActiveTimer = new StopwatchTimer(mClocks, null, -400, null, mOnBatteryTimeBase); mMobileRadioActivePerAppTimer = new StopwatchTimer(mClocks, null, -401, null, mOnBatteryTimeBase); Loading Loading @@ -11710,26 +11709,7 @@ public class BatteryStatsImpl extends BatteryStats { } } private ModemActivityInfo mLastModemActivityInfo = new ModemActivityInfo(0, 0, 0, new int[0], 0); private ModemActivityInfo getDeltaModemActivityInfo(ModemActivityInfo activityInfo) { if (activityInfo == null) { return null; } int[] txTimeMs = new int[ModemActivityInfo.TX_POWER_LEVELS]; for (int i = 0; i < ModemActivityInfo.TX_POWER_LEVELS; i++) { txTimeMs[i] = activityInfo.getTransmitPowerInfo().get(i).getTimeInMillis() - mLastModemActivityInfo.getTransmitPowerInfo().get(i).getTimeInMillis(); } ModemActivityInfo deltaInfo = new ModemActivityInfo(activityInfo.getTimestamp(), activityInfo.getSleepTimeMillis() - mLastModemActivityInfo.getSleepTimeMillis(), activityInfo.getIdleTimeMillis() - mLastModemActivityInfo.getIdleTimeMillis(), txTimeMs, activityInfo.getReceiveTimeMillis() - mLastModemActivityInfo.getReceiveTimeMillis()); mLastModemActivityInfo = activityInfo; return deltaInfo; } private ModemActivityInfo mLastModemActivityInfo = null; /** * Distribute Cell radio energy info and network traffic to apps. Loading @@ -11746,7 +11726,9 @@ public class BatteryStatsImpl extends BatteryStats { if (DEBUG_ENERGY) { Slog.d(TAG, "Updating mobile radio stats with " + activityInfo); } ModemActivityInfo deltaInfo = getDeltaModemActivityInfo(activityInfo); ModemActivityInfo deltaInfo = mLastModemActivityInfo == null ? activityInfo : mLastModemActivityInfo.getDelta(activityInfo); mLastModemActivityInfo = activityInfo; // Add modem tx power to history. addModemTxPowerToHistory(deltaInfo, elapsedRealtimeMs, uptimeMs); Loading Loading @@ -11778,10 +11760,9 @@ public class BatteryStatsImpl extends BatteryStats { mModemActivity.getSleepTimeCounter().addCountLocked( deltaInfo.getSleepTimeMillis()); mModemActivity.getRxTimeCounter().addCountLocked(deltaInfo.getReceiveTimeMillis()); for (int lvl = 0; lvl < ModemActivityInfo.TX_POWER_LEVELS; lvl++) { for (int lvl = 0; lvl < ModemActivityInfo.getNumTxPowerLevels(); lvl++) { mModemActivity.getTxTimeCounters()[lvl] .addCountLocked(deltaInfo.getTransmitPowerInfo() .get(lvl).getTimeInMillis()); .addCountLocked(deltaInfo.getTransmitDurationMillisAtPowerLevel(lvl)); } // POWER_MODEM_CONTROLLER_OPERATING_VOLTAGE is measured in mV, so convert to V. Loading @@ -11795,11 +11776,11 @@ public class BatteryStatsImpl extends BatteryStats { mPowerProfile.getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_IDLE) + deltaInfo.getReceiveTimeMillis() * mPowerProfile.getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_RX); List<TransmitPower> txPowerInfo = deltaInfo.getTransmitPowerInfo(); for (int i = 0; i < Math.min(txPowerInfo.size(), for (int i = 0; i < Math.min(ModemActivityInfo.getNumTxPowerLevels(), CellSignalStrength.getNumSignalStrengthLevels()); i++) { energyUsed += txPowerInfo.get(i).getTimeInMillis() * mPowerProfile .getAveragePower(PowerProfile.POWER_MODEM_CONTROLLER_TX, i); energyUsed += deltaInfo.getTransmitDurationMillisAtPowerLevel(i) * mPowerProfile.getAveragePower( PowerProfile.POWER_MODEM_CONTROLLER_TX, i); } // We store the power drain as mAms. Loading Loading @@ -11894,10 +11875,10 @@ public class BatteryStatsImpl extends BatteryStats { } if (totalTxPackets > 0 && entry.txPackets > 0) { for (int lvl = 0; lvl < ModemActivityInfo.TX_POWER_LEVELS; lvl++) { long txMs = entry.txPackets * deltaInfo.getTransmitPowerInfo() .get(lvl).getTimeInMillis(); for (int lvl = 0; lvl < ModemActivityInfo.getNumTxPowerLevels(); lvl++) { long txMs = entry.txPackets * deltaInfo.getTransmitDurationMillisAtPowerLevel(lvl); txMs /= totalTxPackets; activityCounter.getTxTimeCounters()[lvl].addCountLocked(txMs); } Loading Loading @@ -11929,18 +11910,14 @@ public class BatteryStatsImpl extends BatteryStats { if (activityInfo == null) { return; } List<TransmitPower> txPowerInfo = activityInfo.getTransmitPowerInfo(); if (txPowerInfo == null || txPowerInfo.size() != ModemActivityInfo.TX_POWER_LEVELS) { return; } int levelMaxTimeSpent = 0; for (int i = 1; i < txPowerInfo.size(); i++) { if (txPowerInfo.get(i).getTimeInMillis() > txPowerInfo.get(levelMaxTimeSpent) .getTimeInMillis()) { for (int i = 1; i < ModemActivityInfo.getNumTxPowerLevels(); i++) { if (activityInfo.getTransmitDurationMillisAtPowerLevel(i) > activityInfo.getTransmitDurationMillisAtPowerLevel(levelMaxTimeSpent)) { levelMaxTimeSpent = i; } } if (levelMaxTimeSpent == ModemActivityInfo.TX_POWER_LEVELS - 1) { if (levelMaxTimeSpent == ModemActivityInfo.getNumTxPowerLevels() - 1) { mHistoryCur.states2 |= HistoryItem.STATE2_CELLULAR_HIGH_TX_POWER_FLAG; addHistoryRecordLocked(elapsedRealtimeMs, uptimeMs); } Loading Loading @@ -13462,7 +13439,7 @@ public class BatteryStatsImpl extends BatteryStats { timeInRxSignalStrengthLevelMs[i] = getPhoneSignalStrengthTime(i, rawRealTimeUs, which) / 1000; } long[] txTimeMs = new long[Math.min(ModemActivityInfo.TX_POWER_LEVELS, long[] txTimeMs = new long[Math.min(ModemActivityInfo.getNumTxPowerLevels(), counter.getTxTimeCounters().length)]; long totalTxTimeMs = 0; for (int i = 0; i < txTimeMs.length; i++) { Loading Loading @@ -15601,7 +15578,7 @@ public class BatteryStatsImpl extends BatteryStats { mBluetoothActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, NUM_BT_TX_LEVELS, in); mModemActivity = new ControllerActivityCounterImpl(mOnBatteryTimeBase, ModemActivityInfo.TX_POWER_LEVELS, in); ModemActivityInfo.getNumTxPowerLevels(), in); mHasWifiReporting = in.readInt() != 0; mHasBluetoothReporting = in.readInt() != 0; mHasModemReporting = in.readInt() != 0;