Merge "Provide different ways to detect battery defender." into main

This commit is contained in:
Treehugger Robot
2024-04-26 04:18:55 +00:00
committed by Android (Google) Code Review
5 changed files with 74 additions and 51 deletions

View File

@@ -151,4 +151,7 @@ public interface PowerUsageFeatureProvider {
/** Whether the app optimization mode is valid to restore */
boolean isValidToRestoreOptimizationMode(ArrayMap<String, String> deviceInfoMap);
/** Whether the device is under the battery defender mode */
boolean isBatteryDefend(BatteryInfo info);
}

View File

@@ -235,4 +235,9 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
public boolean isValidToRestoreOptimizationMode(ArrayMap<String, String> deviceInfoMap) {
return false;
}
@Override
public boolean isBatteryDefend(BatteryInfo info) {
return info.isBatteryDefender && !isExtraDefend();
}
}

View File

@@ -36,10 +36,9 @@ public class BatteryDefenderDetector implements BatteryTipDetector {
@Override
public BatteryTip detect() {
final boolean isBasicBatteryDefend =
mBatteryInfo.isBatteryDefender
&& !FeatureFactory.getFeatureFactory()
.getPowerUsageFeatureProvider()
.isExtraDefend();
FeatureFactory.getFeatureFactory()
.getPowerUsageFeatureProvider()
.isBatteryDefend(mBatteryInfo);
final int state =
isBasicBatteryDefend ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
final boolean isPluggedIn = mBatteryInfo.pluggedStatus != 0;