Fix SensorUseDialog UI issues
The SensorUseDialog (displayed when the camera or microphone is
accessed while the global camera/microphone toggle is disabled)
currently has a few issues:
1. Upon opening the dialog, a rounded rectangle with the text
"System UI" momentarily flashes on the screen. This is
undesirable/unexpected.
2. When the user rotates the device, the dialog exits. This is
unexpected: the dialog should remain open while the device is
rotated.
This change fixes both issues.
Fix: 294748342
Test: atest CameraMicIndicatorsPermissionTest
Change-Id: I212ba868e8b0221113b0a6ed13aa81466555708e
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index 58c9f77..6778d5a 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -562,7 +562,7 @@
android:exported="true"
android:launchMode="singleTop"
android:permission="android.permission.MANAGE_SENSOR_PRIVACY"
- android:theme="@style/Theme.SystemUI.Dialog.Alert"
+ android:theme="@style/Theme.SystemUI.Dialog.Alert.SensorPrivacy"
android:finishOnCloseSystemDialogs="true"
android:showForAllUsers="true">
</activity>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index d520670..10340c6 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -451,6 +451,11 @@
<style name="Theme.SystemUI.Dialog.Alert" parent="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert" />
+ <style name="Theme.SystemUI.Dialog.Alert.SensorPrivacy" parent="Theme.SystemUI.Dialog.Alert">
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowContentOverlay">@null</item>
+ </style>
+
<style name="Theme.SystemUI.Dialog.GlobalActions" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar.Fullscreen">
<item name="android:colorError">@*android:color/error_color_material_dark</item>
<item name="android:windowIsFloating">true</item>
diff --git a/packages/SystemUI/src/com/android/systemui/sensorprivacy/SensorUseStartedActivity.kt b/packages/SystemUI/src/com/android/systemui/sensorprivacy/SensorUseStartedActivity.kt
index d33d113..2f0fc51 100644
--- a/packages/SystemUI/src/com/android/systemui/sensorprivacy/SensorUseStartedActivity.kt
+++ b/packages/SystemUI/src/com/android/systemui/sensorprivacy/SensorUseStartedActivity.kt
@@ -228,6 +228,8 @@
}
override fun onDismiss(dialog: DialogInterface?) {
- finish()
+ if (!isChangingConfigurations) {
+ finish()
+ }
}
}