[Security] resolve overlay attack on RequestIgnoreBatteryOptimizations
we should put the addSystemFlags() after onCreate() method rather than the original onStart() method (refer the proposed solution in b/199167909)
Bug: 199167909
Test: make SettingsRoboTests
Change-Id: Ic7361443bfa2e1a6d8d962708c794fa0122a691c
diff --git a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
index 7caad60..65fe45c 100644
--- a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
+++ b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
@@ -41,6 +41,8 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
mPowerWhitelistManager = getSystemService(PowerWhitelistManager.class);
@@ -95,13 +97,6 @@
}
@Override
- protected void onStart() {
- super.onStart();
- getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
- .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
- }
-
- @Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case BUTTON_POSITIVE: