Disable system alert window permissions on low ram devices
Bug: 63697002
Bug: 117832554
Test: adb am start-activity -a
android.settings.action.MANAGE_OVERLAY_PERMISSION
Change-Id: I44c64001cd07fd4934cdc55f455384cebd5c9cfb
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 804c783..69b8c56 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -55,6 +55,7 @@
import android.net.Network;
import android.net.wifi.WifiManager;
import android.os.BatteryManager;
+import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.os.INetworkManagementService;
@@ -1007,4 +1008,14 @@
return context.getResources();
}
}
+
+ /**
+ * Returns true if SYSTEM_ALERT_WINDOW permission is available.
+ * Starting from Q, SYSTEM_ALERT_WINDOW is disabled on low ram phones.
+ */
+ public static boolean isSystemAlertWindowEnabled(Context context) {
+ // SYSTEM_ALERT_WINDOW is disabled on on low ram devices starting from Q
+ ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+ return !(am.isLowRamDevice() && (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q));
+ }
}