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

Commit 71327943 authored by Android Build Prod User's avatar Android Build Prod User Committed by Android (Google) Code Review
Browse files

Merge "[QPR1][Security] Fix RequestIgnoreBatteryOptimizations info disclosure" into sc-qpr1-dev

parents 6a3b6971 55890075
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -32,10 +32,11 @@ import com.android.settings.R;

public class RequestIgnoreBatteryOptimizations extends AlertActivity implements
        DialogInterface.OnClickListener {
    static final String TAG = "RequestIgnoreBatteryOptimizations";
    private static final String TAG = "RequestIgnoreBatteryOptimizations";
    private static final boolean DEBUG = false;

    private PowerWhitelistManager mPowerWhitelistManager;
    String mPackageName;
    private String mPackageName;

    @Override
    public void onCreate(Bundle savedInstanceState) {
@@ -45,14 +46,14 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity implements

        Uri data = getIntent().getData();
        if (data == null) {
            Log.w(TAG, "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
            debugLog("No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
                    + getIntent());
            finish();
            return;
        }
        mPackageName = data.getSchemeSpecificPart();
        if (mPackageName == null) {
            Log.w(TAG, "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
            debugLog("No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
                    + getIntent());
            finish();
            return;
@@ -60,7 +61,7 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity implements

        PowerManager power = getSystemService(PowerManager.class);
        if (power.isIgnoringBatteryOptimizations(mPackageName)) {
            Log.i(TAG, "Not should prompt, already ignoring optimizations: " + mPackageName);
            debugLog("Not should prompt, already ignoring optimizations: " + mPackageName);
            finish();
            return;
        }
@@ -69,7 +70,7 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity implements
        try {
            ai = getPackageManager().getApplicationInfo(mPackageName, 0);
        } catch (PackageManager.NameNotFoundException e) {
            Log.w(TAG, "Requested package doesn't exist: " + mPackageName);
            debugLog("Requested package doesn't exist: " + mPackageName);
            finish();
            return;
        }
@@ -77,7 +78,7 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity implements
        if (getPackageManager().checkPermission(
                Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, mPackageName)
                != PackageManager.PERMISSION_GRANTED) {
            Log.w(TAG, "Requested package " + mPackageName + " does not hold permission "
            debugLog("Requested package " + mPackageName + " does not hold permission "
                    + Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            finish();
            return;
@@ -105,10 +106,13 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity implements
        switch (which) {
            case BUTTON_POSITIVE:
                mPowerWhitelistManager.addToWhitelist(mPackageName);
                setResult(RESULT_OK);
                break;
            case BUTTON_NEGATIVE:
                break;
        }
    }

    private static void debugLog(String debugContent) {
        if (DEBUG) Log.w(TAG, debugContent);
    }
}