Loading packages/SystemUI/res/layout/auth_container_view.xml +0 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ android:id="@+id/background" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/biometric_dialog_dim_color" android:contentDescription="@string/biometric_dialog_empty_space_description"/> <View Loading packages/SystemUI/res/values/colors.xml +0 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,6 @@ <color name="smart_reply_button_stroke">@*android:color/accent_device_default</color> <!-- Biometric dialog colors --> <color name="biometric_dialog_dim_color">#80000000</color> <!-- 50% black --> <color name="biometric_dialog_gray">#ff757575</color> <color name="biometric_dialog_accent">@color/material_dynamic_primary40</color> <color name="biometric_dialog_error">#ffd93025</color> <!-- red 600 --> Loading packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java +15 −1 Original line number Diff line number Diff line Loading @@ -90,6 +90,8 @@ public class AuthContainerView extends LinearLayout private static final int STATE_ANIMATING_OUT = 4; private static final int STATE_GONE = 5; private static final float BACKGROUND_DIM_AMOUNT = 0.5f; /** Shows biometric prompt dialog animation. */ private static final String SHOW = "show"; /** Dismiss biometric prompt dialog animation. */ Loading Loading @@ -754,6 +756,16 @@ public class AuthContainerView extends LinearLayout .setDuration(animateDuration) .setInterpolator(mLinearOutSlowIn) .setListener(getJankListener(this, DISMISS, animateDuration)) .setUpdateListener(animation -> { if (mWindowManager == null || getViewRootImpl() == null) { Log.w(TAG, "skip updateViewLayout() for dim animation."); return; } final WindowManager.LayoutParams lp = getViewRootImpl().mWindowAttributes; lp.dimAmount = (1.0f - (Float) animation.getAnimatedValue()) * BACKGROUND_DIM_AMOUNT; mWindowManager.updateViewLayout(this, lp); }) .withLayer() .start(); }); Loading Loading @@ -800,7 +812,8 @@ public class AuthContainerView extends LinearLayout @VisibleForTesting static WindowManager.LayoutParams getLayoutParams(IBinder windowToken, CharSequence title) { final int windowFlags = WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED | WindowManager.LayoutParams.FLAG_SECURE; | WindowManager.LayoutParams.FLAG_SECURE | WindowManager.LayoutParams.FLAG_DIM_BEHIND; final WindowManager.LayoutParams lp = new WindowManager.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, Loading @@ -811,6 +824,7 @@ public class AuthContainerView extends LinearLayout lp.setFitInsetsTypes(lp.getFitInsetsTypes() & ~WindowInsets.Type.ime()); lp.setTitle("BiometricPrompt"); lp.accessibilityTitle = title; lp.dimAmount = BACKGROUND_DIM_AMOUNT; lp.token = windowToken; return lp; } Loading packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt +10 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,16 @@ class AuthContainerViewTest : SysuiTestCase() { assertThat((layoutParams.flags and WindowManager.LayoutParams.FLAG_SECURE) != 0).isTrue() } @Test fun testLayoutParams_hasDimbehindWindowFlag() { val layoutParams = AuthContainerView.getLayoutParams(windowToken, "") val lpFlags = layoutParams.flags val lpDimAmount = layoutParams.dimAmount assertThat((lpFlags and WindowManager.LayoutParams.FLAG_DIM_BEHIND) != 0).isTrue() assertThat(lpDimAmount).isGreaterThan(0f) } @Test fun testLayoutParams_excludesImeInsets() { val layoutParams = AuthContainerView.getLayoutParams(windowToken, "") Loading Loading
packages/SystemUI/res/layout/auth_container_view.xml +0 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ android:id="@+id/background" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/biometric_dialog_dim_color" android:contentDescription="@string/biometric_dialog_empty_space_description"/> <View Loading
packages/SystemUI/res/values/colors.xml +0 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,6 @@ <color name="smart_reply_button_stroke">@*android:color/accent_device_default</color> <!-- Biometric dialog colors --> <color name="biometric_dialog_dim_color">#80000000</color> <!-- 50% black --> <color name="biometric_dialog_gray">#ff757575</color> <color name="biometric_dialog_accent">@color/material_dynamic_primary40</color> <color name="biometric_dialog_error">#ffd93025</color> <!-- red 600 --> Loading
packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java +15 −1 Original line number Diff line number Diff line Loading @@ -90,6 +90,8 @@ public class AuthContainerView extends LinearLayout private static final int STATE_ANIMATING_OUT = 4; private static final int STATE_GONE = 5; private static final float BACKGROUND_DIM_AMOUNT = 0.5f; /** Shows biometric prompt dialog animation. */ private static final String SHOW = "show"; /** Dismiss biometric prompt dialog animation. */ Loading Loading @@ -754,6 +756,16 @@ public class AuthContainerView extends LinearLayout .setDuration(animateDuration) .setInterpolator(mLinearOutSlowIn) .setListener(getJankListener(this, DISMISS, animateDuration)) .setUpdateListener(animation -> { if (mWindowManager == null || getViewRootImpl() == null) { Log.w(TAG, "skip updateViewLayout() for dim animation."); return; } final WindowManager.LayoutParams lp = getViewRootImpl().mWindowAttributes; lp.dimAmount = (1.0f - (Float) animation.getAnimatedValue()) * BACKGROUND_DIM_AMOUNT; mWindowManager.updateViewLayout(this, lp); }) .withLayer() .start(); }); Loading Loading @@ -800,7 +812,8 @@ public class AuthContainerView extends LinearLayout @VisibleForTesting static WindowManager.LayoutParams getLayoutParams(IBinder windowToken, CharSequence title) { final int windowFlags = WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED | WindowManager.LayoutParams.FLAG_SECURE; | WindowManager.LayoutParams.FLAG_SECURE | WindowManager.LayoutParams.FLAG_DIM_BEHIND; final WindowManager.LayoutParams lp = new WindowManager.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, Loading @@ -811,6 +824,7 @@ public class AuthContainerView extends LinearLayout lp.setFitInsetsTypes(lp.getFitInsetsTypes() & ~WindowInsets.Type.ime()); lp.setTitle("BiometricPrompt"); lp.accessibilityTitle = title; lp.dimAmount = BACKGROUND_DIM_AMOUNT; lp.token = windowToken; return lp; } Loading
packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt +10 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,16 @@ class AuthContainerViewTest : SysuiTestCase() { assertThat((layoutParams.flags and WindowManager.LayoutParams.FLAG_SECURE) != 0).isTrue() } @Test fun testLayoutParams_hasDimbehindWindowFlag() { val layoutParams = AuthContainerView.getLayoutParams(windowToken, "") val lpFlags = layoutParams.flags val lpDimAmount = layoutParams.dimAmount assertThat((lpFlags and WindowManager.LayoutParams.FLAG_DIM_BEHIND) != 0).isTrue() assertThat(lpDimAmount).isGreaterThan(0f) } @Test fun testLayoutParams_excludesImeInsets() { val layoutParams = AuthContainerView.getLayoutParams(windowToken, "") Loading