Allows IndicatorView to have a different size than Settings Activity
The transparent IndicatorView need to be immersive fullscreen, while the
underneath activity should not cover the status bar or the nav bar.
Bug: 157747505
Test: Manual test to verify status bar and nav bar are visible.
Change-Id: I6d5a3f53dd3768524700c3e33135fa7dfde839f1
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4f3caed..bd04d89 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -103,7 +103,8 @@
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
<uses-permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM" />
<uses-permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE" />
-
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
+
<application android:label="@string/settings_label"
android:icon="@drawable/ic_launcher_settings"
android:theme="@style/Theme.Settings"
diff --git a/src/com/android/settings/gestures/BackGestureIndicatorView.java b/src/com/android/settings/gestures/BackGestureIndicatorView.java
index 9d0e743..c60afd0 100644
--- a/src/com/android/settings/gestures/BackGestureIndicatorView.java
+++ b/src/com/android/settings/gestures/BackGestureIndicatorView.java
@@ -92,9 +92,7 @@
int copiedFlags = (parentWindowAttributes.flags
& WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT,
- ViewGroup.LayoutParams.MATCH_PARENT,
- WindowManager.LayoutParams.TYPE_APPLICATION,
+ WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE