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

This commit is contained in:
Android Build Prod User
2021-08-26 21:42:27 +00:00
committed by Android (Google) Code Review

View File

@@ -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);
}
}