Loading src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java +2 −1 Original line number Diff line number Diff line Loading @@ -112,7 +112,8 @@ public class BatteryBroadcastReceiver extends BroadcastReceiver { if (intent != null && mBatteryListener != null) { if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) { final String batteryLevel = Utils.getBatteryPercentage(intent); final String batteryStatus = Utils.getBatteryStatus(mContext, intent); final String batteryStatus = Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false); final int batteryHealth = intent.getIntExtra( BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN); if (!Utils.isBatteryPresent(intent)) { Loading src/com/android/settings/fuelgauge/BatteryInfo.java +7 −34 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.UsageView; import com.android.settingslib.R; import com.android.settingslib.fuelgauge.BatteryStatus; import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.EstimateKt; import com.android.settingslib.utils.PowerUtil; Loading Loading @@ -244,6 +243,8 @@ public class BatteryInfo { @NonNull BatteryUsageStats batteryUsageStats, Estimate estimate, long elapsedRealtimeUs, boolean shortString) { final long startTime = System.currentTimeMillis(); final boolean isCompactStatus = context.getResources().getBoolean( com.android.settings.R.bool.config_use_compact_battery_status); BatteryInfo info = new BatteryInfo(); info.mBatteryUsageStats = batteryUsageStats; info.batteryLevel = Utils.getBatteryLevel(batteryBroadcast); Loading @@ -254,21 +255,21 @@ public class BatteryInfo { BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN) == BatteryManager.BATTERY_HEALTH_OVERHEAT; info.statusLabel = getBatteryStatus(context, batteryBroadcast); info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast, isCompactStatus); info.batteryStatus = batteryBroadcast.getIntExtra( BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); if (!info.mCharging) { updateBatteryInfoDischarging(context, shortString, estimate, info); } else { updateBatteryInfoCharging(context, batteryBroadcast, batteryUsageStats, info); info, isCompactStatus); } BatteryUtils.logRuntime(LOG_TAG, "time for getBatteryInfo", startTime); return info; } private static void updateBatteryInfoCharging(Context context, Intent batteryBroadcast, BatteryUsageStats stats, BatteryInfo info) { BatteryUsageStats stats, BatteryInfo info, boolean compactStatus) { final Resources resources = context.getResources(); final long chargeTimeMs = stats.getChargeTimeRemainingMs(); final int status = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_STATUS, Loading @@ -292,7 +293,8 @@ public class BatteryInfo { R.string.power_remaining_charging_duration_only, timeString); info.chargeLabel = context.getString(resId, info.batteryPercentString, timeString); } else { final String chargeStatusLabel = getBatteryStatus(context, batteryBroadcast); final String chargeStatusLabel = Utils.getBatteryStatus(context, batteryBroadcast, compactStatus); info.remainingLabel = null; info.chargeLabel = info.batteryLevel == 100 ? info.batteryPercentString : resources.getString(R.string.power_charging, info.batteryPercentString, Loading Loading @@ -326,35 +328,6 @@ public class BatteryInfo { } } private static String getBatteryStatus(Context context, Intent batteryChangedIntent) { final Resources res = context.getResources(); final boolean isShortStatus = res.getBoolean(com.android.settings.R.bool.config_use_compact_battery_status); if (!isShortStatus) { return Utils.getBatteryStatus(context, batteryChangedIntent); } final int status = batteryChangedIntent.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); final BatteryStatus batteryStatus = new BatteryStatus(batteryChangedIntent); String statusString = res.getString(R.string.battery_info_status_unknown); if (batteryStatus.isCharged()) { statusString = res.getString(R.string.battery_info_status_full); } else { if (status == BatteryManager.BATTERY_STATUS_CHARGING) { statusString = res.getString(R.string.battery_info_status_charging); } else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) { statusString = res.getString(R.string.battery_info_status_discharging); } else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { statusString = res.getString(R.string.battery_info_status_not_charging); } } return statusString; } public interface BatteryDataParser { void onParsingStarted(long startTime, long endTime); Loading tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -85,8 +85,8 @@ public class BatteryBroadcastReceiverTest { assertThat(mBatteryBroadcastReceiver.mBatteryLevel) .isEqualTo(Utils.getBatteryPercentage(mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus) .isEqualTo(Utils.getBatteryStatus(mContext, mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo( Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false)); verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_LEVEL); } Loading Loading @@ -134,7 +134,7 @@ public class BatteryBroadcastReceiverTest { public void testOnReceive_batteryDataNotChanged_listenerNotInvoked() { final String batteryLevel = Utils.getBatteryPercentage(mChargingIntent); final String batteryStatus = Utils.getBatteryStatus(mContext, mChargingIntent); Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false); mBatteryBroadcastReceiver.mBatteryLevel = batteryLevel; mBatteryBroadcastReceiver.mBatteryStatus = batteryStatus; Loading @@ -159,8 +159,8 @@ public class BatteryBroadcastReceiverTest { assertThat(mBatteryBroadcastReceiver.mBatteryLevel) .isEqualTo(Utils.getBatteryPercentage(mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus) .isEqualTo(Utils.getBatteryStatus(mContext, mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo( Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false)); assertThat(mBatteryBroadcastReceiver.mBatteryHealth) .isEqualTo(BatteryManager.BATTERY_HEALTH_UNKNOWN); // 2 times because register will force update the battery Loading Loading
src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java +2 −1 Original line number Diff line number Diff line Loading @@ -112,7 +112,8 @@ public class BatteryBroadcastReceiver extends BroadcastReceiver { if (intent != null && mBatteryListener != null) { if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) { final String batteryLevel = Utils.getBatteryPercentage(intent); final String batteryStatus = Utils.getBatteryStatus(mContext, intent); final String batteryStatus = Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false); final int batteryHealth = intent.getIntExtra( BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN); if (!Utils.isBatteryPresent(intent)) { Loading
src/com/android/settings/fuelgauge/BatteryInfo.java +7 −34 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.UsageView; import com.android.settingslib.R; import com.android.settingslib.fuelgauge.BatteryStatus; import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.EstimateKt; import com.android.settingslib.utils.PowerUtil; Loading Loading @@ -244,6 +243,8 @@ public class BatteryInfo { @NonNull BatteryUsageStats batteryUsageStats, Estimate estimate, long elapsedRealtimeUs, boolean shortString) { final long startTime = System.currentTimeMillis(); final boolean isCompactStatus = context.getResources().getBoolean( com.android.settings.R.bool.config_use_compact_battery_status); BatteryInfo info = new BatteryInfo(); info.mBatteryUsageStats = batteryUsageStats; info.batteryLevel = Utils.getBatteryLevel(batteryBroadcast); Loading @@ -254,21 +255,21 @@ public class BatteryInfo { BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN) == BatteryManager.BATTERY_HEALTH_OVERHEAT; info.statusLabel = getBatteryStatus(context, batteryBroadcast); info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast, isCompactStatus); info.batteryStatus = batteryBroadcast.getIntExtra( BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); if (!info.mCharging) { updateBatteryInfoDischarging(context, shortString, estimate, info); } else { updateBatteryInfoCharging(context, batteryBroadcast, batteryUsageStats, info); info, isCompactStatus); } BatteryUtils.logRuntime(LOG_TAG, "time for getBatteryInfo", startTime); return info; } private static void updateBatteryInfoCharging(Context context, Intent batteryBroadcast, BatteryUsageStats stats, BatteryInfo info) { BatteryUsageStats stats, BatteryInfo info, boolean compactStatus) { final Resources resources = context.getResources(); final long chargeTimeMs = stats.getChargeTimeRemainingMs(); final int status = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_STATUS, Loading @@ -292,7 +293,8 @@ public class BatteryInfo { R.string.power_remaining_charging_duration_only, timeString); info.chargeLabel = context.getString(resId, info.batteryPercentString, timeString); } else { final String chargeStatusLabel = getBatteryStatus(context, batteryBroadcast); final String chargeStatusLabel = Utils.getBatteryStatus(context, batteryBroadcast, compactStatus); info.remainingLabel = null; info.chargeLabel = info.batteryLevel == 100 ? info.batteryPercentString : resources.getString(R.string.power_charging, info.batteryPercentString, Loading Loading @@ -326,35 +328,6 @@ public class BatteryInfo { } } private static String getBatteryStatus(Context context, Intent batteryChangedIntent) { final Resources res = context.getResources(); final boolean isShortStatus = res.getBoolean(com.android.settings.R.bool.config_use_compact_battery_status); if (!isShortStatus) { return Utils.getBatteryStatus(context, batteryChangedIntent); } final int status = batteryChangedIntent.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN); final BatteryStatus batteryStatus = new BatteryStatus(batteryChangedIntent); String statusString = res.getString(R.string.battery_info_status_unknown); if (batteryStatus.isCharged()) { statusString = res.getString(R.string.battery_info_status_full); } else { if (status == BatteryManager.BATTERY_STATUS_CHARGING) { statusString = res.getString(R.string.battery_info_status_charging); } else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) { statusString = res.getString(R.string.battery_info_status_discharging); } else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { statusString = res.getString(R.string.battery_info_status_not_charging); } } return statusString; } public interface BatteryDataParser { void onParsingStarted(long startTime, long endTime); Loading
tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -85,8 +85,8 @@ public class BatteryBroadcastReceiverTest { assertThat(mBatteryBroadcastReceiver.mBatteryLevel) .isEqualTo(Utils.getBatteryPercentage(mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus) .isEqualTo(Utils.getBatteryStatus(mContext, mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo( Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false)); verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_LEVEL); } Loading Loading @@ -134,7 +134,7 @@ public class BatteryBroadcastReceiverTest { public void testOnReceive_batteryDataNotChanged_listenerNotInvoked() { final String batteryLevel = Utils.getBatteryPercentage(mChargingIntent); final String batteryStatus = Utils.getBatteryStatus(mContext, mChargingIntent); Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false); mBatteryBroadcastReceiver.mBatteryLevel = batteryLevel; mBatteryBroadcastReceiver.mBatteryStatus = batteryStatus; Loading @@ -159,8 +159,8 @@ public class BatteryBroadcastReceiverTest { assertThat(mBatteryBroadcastReceiver.mBatteryLevel) .isEqualTo(Utils.getBatteryPercentage(mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus) .isEqualTo(Utils.getBatteryStatus(mContext, mChargingIntent)); assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo( Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false)); assertThat(mBatteryBroadcastReceiver.mBatteryHealth) .isEqualTo(BatteryManager.BATTERY_HEALTH_UNKNOWN); // 2 times because register will force update the battery Loading