From a8a2075fd021cc4c75fe5cd0538172f596d9b4df Mon Sep 17 00:00:00 2001 From: ykhung Date: Fri, 24 Sep 2021 00:33:23 +0800 Subject: [PATCH] [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 --- .../fuelgauge/RequestIgnoreBatteryOptimizations.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java index 7caad60fa17..65fe45c36b8 100644 --- a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java +++ b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java @@ -41,6 +41,8 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity implements @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); @@ -94,13 +96,6 @@ public class RequestIgnoreBatteryOptimizations extends AlertActivity implements setupAlert(); } - @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) {