Add one more param to isChargingOptimizationMode() for flexibility
Adds a new param about the charging policy to see if it's currently under CHARGING_POLICY_ADAPTIVE_LONGLIFE for more flexibility to check whether the charging optimization mode is enabled. Bug: 391270019 Flag: EXEMPT bugfix Test: atest SettingsRoboTests Change-Id: Ie773d9a2a13d1a37ac9fd5940f10a100eccf77ca
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user