From b7783cb6c96586eb7d72707554f5a38b69bfaa4c Mon Sep 17 00:00:00 2001 From: Wesley Wang Date: Thu, 30 Jan 2025 22:48:49 -0800 Subject: [PATCH] Revert "Use BatteryOptimizeUtils to add packageName into PowerSaveWhitelistUserApps allowlist, which will set app into Unrestricted Mode" This reverts commit 1b83703adc1780cbf9aa8ff531f16e483e94360d. Reason for revert: locating b/393033745 root cause Change-Id: I04f90b42907d07c6111a7b41a531f7717df33672 --- .../RequestIgnoreBatteryOptimizations.java | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java index 9b070f99950..d948cc0f13a 100644 --- a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java +++ b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java @@ -16,8 +16,6 @@ package com.android.settings.fuelgauge; -import static com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_UNRESTRICTED; - import android.Manifest; import android.content.DialogInterface; import android.content.pm.ApplicationInfo; @@ -26,20 +24,20 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.os.PowerManager; -import android.text.TextUtils; +import android.os.PowerWhitelistManager; import android.util.Log; import com.android.internal.app.AlertActivity; import com.android.internal.app.AlertController; import com.android.settings.R; -import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action; public class RequestIgnoreBatteryOptimizations extends AlertActivity implements DialogInterface.OnClickListener { private static final String TAG = "RequestIgnoreBatteryOptimizations"; private static final boolean DEBUG = false; - private ApplicationInfo mApplicationInfo; + private PowerWhitelistManager mPowerWhitelistManager; + private String mPackageName; @Override public void onCreate(Bundle savedInstanceState) { @@ -49,6 +47,8 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity android.view.WindowManager.LayoutParams .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); + mPowerWhitelistManager = getSystemService(PowerWhitelistManager.class); + Uri data = getIntent().getData(); if (data == null) { debugLog( @@ -56,18 +56,17 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity finish(); return; } - final String packageName = data.getSchemeSpecificPart(); - if (TextUtils.isEmpty(packageName)) { + mPackageName = data.getSchemeSpecificPart(); + if (mPackageName == null) { debugLog( "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: " + getIntent()); finish(); return; } - // Package in Unrestricted mode already ignoring the battery optimizations. PowerManager power = getSystemService(PowerManager.class); - if (power.isIgnoringBatteryOptimizations(packageName)) { - debugLog("Not should prompt, already ignoring optimizations: " + packageName); + if (power.isIgnoringBatteryOptimizations(mPackageName)) { + debugLog("Not should prompt, already ignoring optimizations: " + mPackageName); finish(); return; } @@ -75,28 +74,29 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity if (getPackageManager() .checkPermission( Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, - packageName) + mPackageName) != PackageManager.PERMISSION_GRANTED) { debugLog( "Requested package " - + packageName + + mPackageName + " does not hold permission " + Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); finish(); return; } + ApplicationInfo ai; try { - mApplicationInfo = getPackageManager().getApplicationInfo(packageName, 0); + ai = getPackageManager().getApplicationInfo(mPackageName, 0); } catch (PackageManager.NameNotFoundException e) { - debugLog("Requested package doesn't exist: " + packageName); + debugLog("Requested package doesn't exist: " + mPackageName); finish(); return; } final AlertController.AlertParams p = mAlertParams; final CharSequence appLabel = - mApplicationInfo.loadSafeLabel( + ai.loadSafeLabel( getPackageManager(), PackageItemInfo.DEFAULT_MAX_LABEL_SIZE_PX, PackageItemInfo.SAFE_LABEL_FLAG_TRIM @@ -114,12 +114,7 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity public void onClick(DialogInterface dialog, int which) { switch (which) { case BUTTON_POSITIVE: - BatteryOptimizeUtils batteryOptimizeUtils = - new BatteryOptimizeUtils( - getApplicationContext(), - mApplicationInfo.uid, - mApplicationInfo.packageName); - batteryOptimizeUtils.setAppUsageState(MODE_UNRESTRICTED, Action.APPLY); + mPowerWhitelistManager.addToWhitelist(mPackageName); break; case BUTTON_NEGATIVE: break;