Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 257f283b authored by John Spurlock's avatar John Spurlock
Browse files

Introduce transparent bars to the keyguard.

Driven by a new framework config bool. Tested on all layouts,
but disabled by default.  Can be enabled with a config overlay.

(Sliding/MultiPane)ChallengeLayout have custom measure/layout
logic that peeks at the root view's padding (!).  So we must keep
the root view's padding = system window insets. However, we need
the scrims + the fullscreen camera widget preview to use the entire
display size if the bars are transparent.

So the approach is to maintain the root view's
(KeyguardViewManager$ViewManagerHost) padding as before via
setFitsSystemWindows(true) but allow non KeyguardHostViews to
extend into the padding if bars are transparent via a custom
measure/draw on the root view.

KeyguardHostView background + challege scrims moved up to the
root view.

Also:
- Remove logspam line for fixed bug.

- Fix status bar staying opaque on interaction on secure keyguard.

Known issues:
- Nav bar blip dismissing global actions, keyguard app widget picker
bars are opaque.  Both will use the new inherit flag once it exists.

- Emergency dialer layout dance, will be fixed in the phone project.

Bug:10606085
Change-Id: I2648b4ee9a54a67324ce9dcbab976ad4da4bbcfa
parent f9b70ab8
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -582,9 +582,12 @@
    <!-- Don't show lock screen before unlock screen (PIN/pattern/password) -->
    <!-- Don't show lock screen before unlock screen (PIN/pattern/password) -->
    <bool name="config_enableLockBeforeUnlockScreen">false</bool>
    <bool name="config_enableLockBeforeUnlockScreen">false</bool>


    <!-- Diable lockscreen rotation by default -->
    <!-- Disable lockscreen rotation by default -->
    <bool name="config_enableLockScreenRotation">false</bool>
    <bool name="config_enableLockScreenRotation">false</bool>


    <!-- Disable lockscreen transparent bars by default -->
    <bool name="config_enableLockScreenTransparentBars">false</bool>

    <!-- Enable puk unlockscreen by default.
    <!-- Enable puk unlockscreen by default.
         If unlock screen is disabled, the puk should be unlocked through Emergency Dialer -->
         If unlock screen is disabled, the puk should be unlocked through Emergency Dialer -->
    <bool name="config_enable_puk_unlock_screen">true</bool>
    <bool name="config_enable_puk_unlock_screen">true</bool>
+1 −0
Original line number Original line Diff line number Diff line
@@ -1282,6 +1282,7 @@
  <java-symbol type="bool" name="config_disableMenuKeyInLockScreen" />
  <java-symbol type="bool" name="config_disableMenuKeyInLockScreen" />
  <java-symbol type="bool" name="config_enableLockBeforeUnlockScreen" />
  <java-symbol type="bool" name="config_enableLockBeforeUnlockScreen" />
  <java-symbol type="bool" name="config_enableLockScreenRotation" />
  <java-symbol type="bool" name="config_enableLockScreenRotation" />
  <java-symbol type="bool" name="config_enableLockScreenTransparentBars" />
  <java-symbol type="bool" name="config_lidControlsSleep" />
  <java-symbol type="bool" name="config_lidControlsSleep" />
  <java-symbol type="bool" name="config_reverseDefaultRotation" />
  <java-symbol type="bool" name="config_reverseDefaultRotation" />
  <java-symbol type="bool" name="config_showNavigationBar" />
  <java-symbol type="bool" name="config_showNavigationBar" />
+0 −5
Original line number Original line Diff line number Diff line
@@ -51,11 +51,6 @@
            androidprv:layout_maxHeight="480dp" />
            androidprv:layout_maxHeight="480dp" />
        <include layout="@layout/keyguard_multi_user_selector"/>
        <include layout="@layout/keyguard_multi_user_selector"/>


        <View android:layout_width="match_parent"
              android:layout_height="match_parent"
              androidprv:layout_childType="scrim"
              android:background="#99000000" />

        <com.android.keyguard.KeyguardSecurityContainer
        <com.android.keyguard.KeyguardSecurityContainer
            android:id="@+id/keyguard_security_container"
            android:id="@+id/keyguard_security_container"
            android:layout_width="wrap_content"
            android:layout_width="wrap_content"
+0 −5
Original line number Original line Diff line number Diff line
@@ -55,11 +55,6 @@
                android:layout_gravity="center"/>
                android:layout_gravity="center"/>
        </FrameLayout>
        </FrameLayout>


        <View android:layout_width="match_parent"
              android:layout_height="match_parent"
              androidprv:layout_childType="scrim"
              android:background="#99000000" />

        <com.android.keyguard.KeyguardSecurityContainer
        <com.android.keyguard.KeyguardSecurityContainer
            android:id="@+id/keyguard_security_container"
            android:id="@+id/keyguard_security_container"
            android:layout_width="wrap_content"
            android:layout_width="wrap_content"
+0 −5
Original line number Original line Diff line number Diff line
@@ -52,11 +52,6 @@


        <include layout="@layout/keyguard_multi_user_selector"/>
        <include layout="@layout/keyguard_multi_user_selector"/>


        <View android:layout_width="match_parent"
              android:layout_height="match_parent"
              androidprv:layout_childType="scrim"
              android:background="#99000000" />

        <com.android.keyguard.KeyguardSecurityContainer
        <com.android.keyguard.KeyguardSecurityContainer
            android:id="@+id/keyguard_security_container"
            android:id="@+id/keyguard_security_container"
            android:layout_width="wrap_content"
            android:layout_width="wrap_content"
Loading