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
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b7783cb6c96586eb7d72707554f5a38b69bfaa4c)
Merged-In: I04f90b42907d07c6111a7b41a531f7717df33672
Change-Id: I04f90b42907d07c6111a7b41a531f7717df33672
diff --git a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
index 9b070f9..d948cc0 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.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 @@
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 @@
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 @@
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 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;