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

Commit 6791679b authored by Jane Ha's avatar Jane Ha
Browse files

Modify BiometricPrompt layout to exclude the nav bar

Bug: 303335871
Test: manual
Change-Id: I388ee66d084de876186c0adfca3b3899aba20b04
parent 2420f8b2
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -2,11 +2,11 @@ package com.android.systemui.biometrics.ui

import android.content.Context
import android.content.res.Configuration.ORIENTATION_LANDSCAPE
import android.graphics.Insets
import android.text.TextUtils
import android.util.AttributeSet
import android.view.View
import android.view.WindowInsets
import android.view.WindowInsets.Type.ime
import android.view.accessibility.AccessibilityManager
import android.widget.LinearLayout
import android.widget.TextView
@@ -41,7 +41,10 @@ class CredentialPasswordView(context: Context, attrs: AttributeSet?) :
    }

    override fun onApplyWindowInsets(v: View, insets: WindowInsets): WindowInsets {
        val imeBottomInset = insets.getInsets(ime()).bottom
        val statusBarInsets: Insets = insets.getInsets(WindowInsets.Type.statusBars())
        val keyboardInsets: Insets = insets.getInsets(WindowInsets.Type.ime())
        val navigationInsets: Insets = insets.getInsets(WindowInsets.Type.navigationBars())
        val imeBottomInset = keyboardInsets.bottom
        if (bottomInset != imeBottomInset) {
            val titleView: TextView? = findViewById(R.id.title)
            if (titleView != null) {
@@ -61,8 +64,14 @@ class CredentialPasswordView(context: Context, attrs: AttributeSet?) :
                }
            }
        }
        setPadding(paddingLeft, paddingTop, paddingRight, imeBottomInset)
        return insets.inset(0, 0, 0, imeBottomInset)

        setPadding(
            0,
            statusBarInsets.top,
            0,
            if (keyboardInsets.bottom == 0) navigationInsets.bottom else keyboardInsets.bottom
        )
        return WindowInsets.CONSUMED
    }
}

+18 −1
Original line number Diff line number Diff line
package com.android.systemui.biometrics.ui

import android.content.Context
import android.graphics.Insets
import android.util.AttributeSet
import android.view.View
import android.view.WindowInsets
import android.view.WindowInsets.Type
import android.widget.LinearLayout
import com.android.systemui.biometrics.AuthPanelController
import com.android.systemui.biometrics.ui.binder.CredentialViewBinder
@@ -9,7 +13,7 @@ import com.android.systemui.biometrics.ui.viewmodel.CredentialViewModel

/** Pattern credential view for BiometricPrompt. */
class CredentialPatternView(context: Context, attrs: AttributeSet?) :
    LinearLayout(context, attrs), CredentialView {
    LinearLayout(context, attrs), CredentialView, View.OnApplyWindowInsetsListener {

    /** Initializes the view. */
    override fun init(
@@ -20,4 +24,17 @@ class CredentialPatternView(context: Context, attrs: AttributeSet?) :
    ) {
        CredentialViewBinder.bind(this, host, viewModel, panelViewController, animatePanel)
    }

    override fun onFinishInflate() {
        super.onFinishInflate()
        setOnApplyWindowInsetsListener(this)
    }

    override fun onApplyWindowInsets(v: View, insets: WindowInsets): WindowInsets {
        val statusBarInsets: Insets = insets.getInsets(Type.statusBars())
        val navigationInsets: Insets = insets.getInsets(Type.navigationBars())

        setPadding(0, statusBarInsets.top, 0, navigationInsets.bottom)
        return WindowInsets.CONSUMED
    }
}