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

Commit b7783cb6 authored by Wesley Wang's avatar Wesley Wang Committed by Android (Google) Code Review
Browse files

Revert "Use BatteryOptimizeUtils to add packageName into...

Revert "Use BatteryOptimizeUtils to add packageName into PowerSaveWhitelistUserApps allowlist, which will set app into Unrestricted Mode"

This reverts commit 1b83703a.

Reason for revert: locating b/393033745 root cause

Change-Id: I04f90b42907d07c6111a7b41a531f7717df33672
parent 1b83703a
Loading
Loading
Loading
Loading
+16 −21
Original line number Diff line number Diff line
@@ -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;