Merge "Add one more param to isChargingOptimizationMode() for flexibility" into main

This commit is contained in:
Treehugger Robot
2025-02-04 01:01:51 -08:00
committed by Android (Google) Code Review
8 changed files with 42 additions and 56 deletions

View File

@@ -80,13 +80,14 @@ public class BatteryHeaderTextPreferenceController extends BasePreferenceControl
}
if (BatteryUtils.isBatteryDefenderOn(info)
|| FeatureFactory.getFeatureFactory()
.getPowerUsageFeatureProvider()
.isExtraDefend()) {
.getPowerUsageFeatureProvider()
.isExtraDefend()) {
return mContext.getString(
com.android.settingslib.R.string.battery_info_status_charging_on_hold);
}
if (info.remainingLabel != null
&& mBatterySettingsFeatureProvider.isChargingOptimizationMode(mContext)) {
&& mBatterySettingsFeatureProvider.isChargingOptimizationMode(
mContext, info.isLongLife)) {
return info.remainingLabel;
}
if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
@@ -97,8 +98,8 @@ public class BatteryHeaderTextPreferenceController extends BasePreferenceControl
mBatterySettingsFeatureProvider.getWirelessChargingLabel(mContext, info);
if (mBatteryHeaderTextPreference != null && wirelessChargingLabel != null) {
mBatteryHeaderTextPreference.setContentDescription(
mBatterySettingsFeatureProvider
.getWirelessChargingContentDescription(mContext, info));
mBatterySettingsFeatureProvider.getWirelessChargingContentDescription(
mContext, info));
return wirelessChargingLabel;
}
}

View File

@@ -404,7 +404,7 @@ public class BatteryInfo {
}
final BatterySettingsFeatureProvider featureProvider =
FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider();
if (featureProvider.isChargingOptimizationMode(context)) {
if (featureProvider.isChargingOptimizationMode(context, info.isLongLife)) {
final CharSequence chargeLabel =
featureProvider.getChargingOptimizationChargeLabel(
context,
@@ -567,10 +567,11 @@ public class BatteryInfo {
private static boolean isPluggedIn(Context context, boolean isCharging, int chargingPolicy) {
return isCharging
|| (chargingPolicy == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE
&& FeatureFactory.getFeatureFactory()
.getBatterySettingsFeatureProvider()
.isChargingOptimizationMode(context));
|| FeatureFactory.getFeatureFactory()
.getBatterySettingsFeatureProvider()
.isChargingOptimizationMode(
context,
chargingPolicy == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
}
public interface BatteryDataParser {

View File

@@ -60,7 +60,7 @@ public interface BatterySettingsFeatureProvider {
@NonNull Context context, long remainingTimeMs, long currentTimeMs);
/** Return true if it's in the charging optimization mode. */
boolean isChargingOptimizationMode(@NonNull Context context);
boolean isChargingOptimizationMode(@NonNull Context context, boolean isLongLife);
/** Return a charging remaining time label for charging optimization mode. */
@Nullable

View File

@@ -76,7 +76,7 @@ public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatur
}
@Override
public boolean isChargingOptimizationMode(@NonNull Context context) {
public boolean isChargingOptimizationMode(@NonNull Context context, boolean isLongLife) {
return false;
}

View File

@@ -161,7 +161,8 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle
}
final BatterySettingsFeatureProvider featureProvider =
FeatureFactory.getFeatureFactory().getBatterySettingsFeatureProvider();
if (info.chargeLabel != null && featureProvider.isChargingOptimizationMode(mContext)) {
if (info.chargeLabel != null
&& featureProvider.isChargingOptimizationMode(mContext, info.isLongLife)) {
return info.chargeLabel;
}
if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {