Add a flag to protect overwrite app optimization mode to restricted mode.
- Skip set app optimization mode to restricted if the flag disabled. Bug: 348192536 Fix: 348192536 Test: atest Flag: EXEMPT bug fix Change-Id: I92d320ce1edfe9b7044afdcd058651b0d54bd6bd
This commit is contained in:
@@ -44,6 +44,9 @@ public interface PowerUsageFeatureProvider {
|
||||
/** Check whether the battery tips card is enabled in the battery usage page */
|
||||
boolean isBatteryTipsEnabled();
|
||||
|
||||
/** Check whether overwrite the app optimization mode to restricted mode is enabled */
|
||||
boolean isRestrictedModeOverwriteEnabled();
|
||||
|
||||
/** Check whether force expire the app optimization mode. */
|
||||
boolean isForceExpireAppOptimizationModeEnabled();
|
||||
|
||||
|
||||
@@ -88,6 +88,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRestrictedModeOverwriteEnabled() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isForceExpireAppOptimizationModeEnabled() {
|
||||
return false;
|
||||
|
||||
@@ -76,8 +76,7 @@ object AppOptModeSharedPreferencesUtils {
|
||||
fun resetExpiredAppOptModeBeforeTimestamp(context: Context, queryTimestampMs: Long) =
|
||||
synchronized(appOptimizationModeLock) {
|
||||
val forceExpireEnabled =
|
||||
featureFactory
|
||||
.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled
|
||||
featureFactory.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled
|
||||
val eventsMap = getAppOptModeEventsMap(context)
|
||||
val expirationUids = ArrayList<Int>(eventsMap.size)
|
||||
for ((uid, event) in eventsMap) {
|
||||
@@ -113,12 +112,22 @@ object AppOptModeSharedPreferencesUtils {
|
||||
getBatteryOptimizeUtils: (Int, String) -> BatteryOptimizeUtils,
|
||||
) =
|
||||
synchronized(appOptimizationModeLock) {
|
||||
val restrictedModeOverwriteEnabled =
|
||||
featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled
|
||||
val eventsMap = getAppOptModeEventsMap(context)
|
||||
val expirationEvents: MutableMap<Int, AppOptimizationModeEvent> = ArrayMap()
|
||||
for (i in uids.indices) {
|
||||
val uid = uids[i]
|
||||
val packageName = packageNames[i]
|
||||
val optimizationMode = optimizationModes[i]
|
||||
if (
|
||||
!restrictedModeOverwriteEnabled &&
|
||||
optimizationMode == BatteryOptimizeUtils.MODE_RESTRICTED
|
||||
) {
|
||||
// Unable to set restricted mode due to flag protection.
|
||||
Log.w(TAG, "setOptimizationMode($packageName) into restricted ignored")
|
||||
continue
|
||||
}
|
||||
val originalOptMode: Int =
|
||||
updateBatteryOptimizationMode(
|
||||
context,
|
||||
|
||||
Reference in New Issue
Block a user