Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab6b7758 authored by Yiling Chuang's avatar Yiling Chuang
Browse files

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
parent e8afedea
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -86,7 +86,8 @@ public class BatteryHeaderTextPreferenceController extends BasePreferenceControl
                    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;
            }
        }
+6 −5
Original line number Diff line number Diff line
@@ -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()
                || FeatureFactory.getFeatureFactory()
                        .getBatterySettingsFeatureProvider()
                                .isChargingOptimizationMode(context));
                        .isChargingOptimizationMode(
                                context,
                                chargingPolicy == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
    }

    public interface BatteryDataParser {
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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;
    }

+2 −1
Original line number Diff line number Diff line
@@ -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) {
Loading