Loading src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java +4 −3 Original line number Diff line number Diff line Loading @@ -86,13 +86,14 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController return mContext.getString( com.android.settingslib.R.string.battery_info_status_charging_on_hold); } if (info.remainingLabel != null && mBatterySettingsFeatureProvider.isChargingOptimizationMode(mContext)) { return info.remainingLabel; } if (info.remainingLabel == null || info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { return info.statusLabel; } if (mBatterySettingsFeatureProvider.isChargingOptimizationMode(mContext)) { return info.remainingLabel; } if (info.pluggedStatus == BatteryManager.BATTERY_PLUGGED_WIRELESS) { final CharSequence wirelessChargingLabel = mBatterySettingsFeatureProvider.getWirelessChargingLabel(mContext, info); Loading src/com/android/settings/fuelgauge/BatteryInfo.java +30 −23 Original line number Diff line number Diff line Loading @@ -390,12 +390,37 @@ public class BatteryInfo { info.remainingLabel = null; int chargingLimitedResId = R.string.power_charging_limited; info.chargeLabel = context.getString(chargingLimitedResId, info.batteryPercentString); } else if ((chargeTimeMs > 0 return; } final BatterySettingsFeatureProvider featureProvider = FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider(); if (featureProvider.isChargingOptimizationMode(context)) { final CharSequence chargeLabel = featureProvider.getChargingOptimizationChargeLabel( context, info.batteryLevel, info.batteryPercentString, chargeTimeMs, currentTimeMs); if (chargeLabel != null) { final CharSequence remainingLabel = featureProvider.getChargingOptimizationRemainingLabel( context, info.batteryLevel, info.pluggedStatus, chargeTimeMs, currentTimeMs); if (remainingLabel != null) { info.chargeLabel = chargeLabel; info.remainingLabel = remainingLabel; return; } } } if ((chargeTimeMs > 0 && status != BatteryManager.BATTERY_STATUS_FULL && dockDefenderMode == BatteryUtils.DockDefenderMode.DISABLED) || dockDefenderMode == BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED) { final BatterySettingsFeatureProvider featureProvider = FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider(); // Battery is charging to full info.remainingTimeUs = PowerUtil.convertMsToUs(chargeTimeMs); int resId = getChargingDurationResId(info.isFastCharging); Loading @@ -419,8 +444,7 @@ public class BatteryInfo { info.batteryPercentString, chargeTimeMs, info.isFastCharging, currentTimeMs, featureProvider); currentTimeMs); } else if (dockDefenderMode == BatteryUtils.DockDefenderMode.FUTURE_BYPASS) { // Dock defender will be triggered in the future, charging will be optimized. info.chargeLabel = Loading @@ -447,14 +471,6 @@ public class BatteryInfo { int pluggedStatus, long currentTimeMs, BatterySettingsFeatureProvider featureProvider) { if (featureProvider.isChargingOptimizationMode(context)) { final CharSequence chargingOptimizationRemainingLabel = featureProvider.getChargingOptimizationRemainingLabel( context, chargeRemainingTimeMs, currentTimeMs); if (chargingOptimizationRemainingLabel != null) { return chargingOptimizationRemainingLabel; } } if (pluggedStatus == BatteryManager.BATTERY_PLUGGED_WIRELESS) { final CharSequence wirelessChargingRemainingLabel = featureProvider.getWirelessChargingRemainingLabel( Loading Loading @@ -488,16 +504,7 @@ public class BatteryInfo { String batteryPercentString, long chargeTimeMs, boolean isFastCharging, long currentTimeMs, BatterySettingsFeatureProvider featureProvider) { if (featureProvider.isChargingOptimizationMode(context)) { final CharSequence chargingOptimizationChargeLabel = featureProvider.getChargingOptimizationChargeLabel( context, batteryPercentString, chargeTimeMs, currentTimeMs); if (chargingOptimizationChargeLabel != null) { return chargingOptimizationChargeLabel; } } long currentTimeMs) { if (com.android.settingslib.fuelgauge.BatteryUtils.isChargingStringV2Enabled()) { var timeString = PowerUtil.getTargetTimeShortString(context, chargeTimeMs, currentTimeMs); Loading src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java +7 −2 Original line number Diff line number Diff line Loading @@ -60,13 +60,18 @@ public interface BatterySettingsFeatureProvider { /** Return a charging remaining time label for charging optimization mode. */ @Nullable CharSequence getChargingOptimizationRemainingLabel( @NonNull Context context, long chargeRemainingTimeMs, long currentTimeMs); @NonNull Context context, int batteryLevel, int pluggedStatus, long chargeRemainingTimeMs, long currentTimeMs); /** Return a charge label for charging optimization mode. */ @Nullable CharSequence getChargingOptimizationChargeLabel( @NonNull Context context, @NonNull String batteryPercentageString, int batteryLevel, String batteryPercentageString, long chargeRemainingTimeMs, long currentTimeMs); } src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java +7 −2 Original line number Diff line number Diff line Loading @@ -76,7 +76,11 @@ public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatur @Nullable @Override public CharSequence getChargingOptimizationRemainingLabel( @NonNull Context context, long chargeRemainingTimeMs, long currentTimeMs) { @NonNull Context context, int batteryLevel, int pluggedStatus, long chargeRemainingTimeMs, long currentTimeMs) { return null; } Loading @@ -84,7 +88,8 @@ public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatur @Override public CharSequence getChargingOptimizationChargeLabel( @NonNull Context context, @NonNull String batteryPercentageString, int batteryLevel, String batteryPercentageString, long chargeRemainingTimeMs, long currentTimeMs) { return null; Loading src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java +5 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,11 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle com.android.settingslib.R.string.power_charging_on_hold_settings_home_page, info.batteryPercentString); } final BatterySettingsFeatureProvider featureProvider = FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider(); if (info.chargeLabel != null && featureProvider.isChargingOptimizationMode(mContext)) { return info.chargeLabel; } if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { // Present status only if no remaining time or status anomalous return info.statusLabel; Loading Loading
src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java +4 −3 Original line number Diff line number Diff line Loading @@ -86,13 +86,14 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController return mContext.getString( com.android.settingslib.R.string.battery_info_status_charging_on_hold); } if (info.remainingLabel != null && mBatterySettingsFeatureProvider.isChargingOptimizationMode(mContext)) { return info.remainingLabel; } if (info.remainingLabel == null || info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { return info.statusLabel; } if (mBatterySettingsFeatureProvider.isChargingOptimizationMode(mContext)) { return info.remainingLabel; } if (info.pluggedStatus == BatteryManager.BATTERY_PLUGGED_WIRELESS) { final CharSequence wirelessChargingLabel = mBatterySettingsFeatureProvider.getWirelessChargingLabel(mContext, info); Loading
src/com/android/settings/fuelgauge/BatteryInfo.java +30 −23 Original line number Diff line number Diff line Loading @@ -390,12 +390,37 @@ public class BatteryInfo { info.remainingLabel = null; int chargingLimitedResId = R.string.power_charging_limited; info.chargeLabel = context.getString(chargingLimitedResId, info.batteryPercentString); } else if ((chargeTimeMs > 0 return; } final BatterySettingsFeatureProvider featureProvider = FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider(); if (featureProvider.isChargingOptimizationMode(context)) { final CharSequence chargeLabel = featureProvider.getChargingOptimizationChargeLabel( context, info.batteryLevel, info.batteryPercentString, chargeTimeMs, currentTimeMs); if (chargeLabel != null) { final CharSequence remainingLabel = featureProvider.getChargingOptimizationRemainingLabel( context, info.batteryLevel, info.pluggedStatus, chargeTimeMs, currentTimeMs); if (remainingLabel != null) { info.chargeLabel = chargeLabel; info.remainingLabel = remainingLabel; return; } } } if ((chargeTimeMs > 0 && status != BatteryManager.BATTERY_STATUS_FULL && dockDefenderMode == BatteryUtils.DockDefenderMode.DISABLED) || dockDefenderMode == BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED) { final BatterySettingsFeatureProvider featureProvider = FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider(); // Battery is charging to full info.remainingTimeUs = PowerUtil.convertMsToUs(chargeTimeMs); int resId = getChargingDurationResId(info.isFastCharging); Loading @@ -419,8 +444,7 @@ public class BatteryInfo { info.batteryPercentString, chargeTimeMs, info.isFastCharging, currentTimeMs, featureProvider); currentTimeMs); } else if (dockDefenderMode == BatteryUtils.DockDefenderMode.FUTURE_BYPASS) { // Dock defender will be triggered in the future, charging will be optimized. info.chargeLabel = Loading @@ -447,14 +471,6 @@ public class BatteryInfo { int pluggedStatus, long currentTimeMs, BatterySettingsFeatureProvider featureProvider) { if (featureProvider.isChargingOptimizationMode(context)) { final CharSequence chargingOptimizationRemainingLabel = featureProvider.getChargingOptimizationRemainingLabel( context, chargeRemainingTimeMs, currentTimeMs); if (chargingOptimizationRemainingLabel != null) { return chargingOptimizationRemainingLabel; } } if (pluggedStatus == BatteryManager.BATTERY_PLUGGED_WIRELESS) { final CharSequence wirelessChargingRemainingLabel = featureProvider.getWirelessChargingRemainingLabel( Loading Loading @@ -488,16 +504,7 @@ public class BatteryInfo { String batteryPercentString, long chargeTimeMs, boolean isFastCharging, long currentTimeMs, BatterySettingsFeatureProvider featureProvider) { if (featureProvider.isChargingOptimizationMode(context)) { final CharSequence chargingOptimizationChargeLabel = featureProvider.getChargingOptimizationChargeLabel( context, batteryPercentString, chargeTimeMs, currentTimeMs); if (chargingOptimizationChargeLabel != null) { return chargingOptimizationChargeLabel; } } long currentTimeMs) { if (com.android.settingslib.fuelgauge.BatteryUtils.isChargingStringV2Enabled()) { var timeString = PowerUtil.getTargetTimeShortString(context, chargeTimeMs, currentTimeMs); Loading
src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java +7 −2 Original line number Diff line number Diff line Loading @@ -60,13 +60,18 @@ public interface BatterySettingsFeatureProvider { /** Return a charging remaining time label for charging optimization mode. */ @Nullable CharSequence getChargingOptimizationRemainingLabel( @NonNull Context context, long chargeRemainingTimeMs, long currentTimeMs); @NonNull Context context, int batteryLevel, int pluggedStatus, long chargeRemainingTimeMs, long currentTimeMs); /** Return a charge label for charging optimization mode. */ @Nullable CharSequence getChargingOptimizationChargeLabel( @NonNull Context context, @NonNull String batteryPercentageString, int batteryLevel, String batteryPercentageString, long chargeRemainingTimeMs, long currentTimeMs); }
src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java +7 −2 Original line number Diff line number Diff line Loading @@ -76,7 +76,11 @@ public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatur @Nullable @Override public CharSequence getChargingOptimizationRemainingLabel( @NonNull Context context, long chargeRemainingTimeMs, long currentTimeMs) { @NonNull Context context, int batteryLevel, int pluggedStatus, long chargeRemainingTimeMs, long currentTimeMs) { return null; } Loading @@ -84,7 +88,8 @@ public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatur @Override public CharSequence getChargingOptimizationChargeLabel( @NonNull Context context, @NonNull String batteryPercentageString, int batteryLevel, String batteryPercentageString, long chargeRemainingTimeMs, long currentTimeMs) { return null; Loading
src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java +5 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,11 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle com.android.settingslib.R.string.power_charging_on_hold_settings_home_page, info.batteryPercentString); } final BatterySettingsFeatureProvider featureProvider = FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider(); if (info.chargeLabel != null && featureProvider.isChargingOptimizationMode(mContext)) { return info.chargeLabel; } if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { // Present status only if no remaining time or status anomalous return info.statusLabel; Loading