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

Commit 6eae4bdd authored by Jane Ha's avatar Jane Ha Committed by Android (Google) Code Review
Browse files

Merge "Modify BiometricPrompt layout to exclude the nav bar" into main

parents 01251270 6791679b
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
    }
}