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

Commit 722b9b25 authored by Beverly Tai's avatar Beverly Tai Committed by Android (Google) Code Review
Browse files

Merge "Revert "Don't request focus on PIN's passwordView unless view is visible"" into main

parents 60654dd6 f95ea862
Loading
Loading
Loading
Loading
+0 −13
Original line number Diff line number Diff line
@@ -17,13 +17,11 @@
package com.android.keyguard;

import static com.android.internal.widget.flags.Flags.FLAG_HIDE_LAST_CHAR_WITH_PHYSICAL_INPUT;
import static com.android.systemui.Flags.FLAG_BOUNCER_LIFECYCLE_FIX;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.when;
@@ -144,22 +142,11 @@ public class KeyguardPinBasedInputViewControllerTest extends SysuiTestCase {
    }

    @Test
    @EnableFlags(FLAG_BOUNCER_LIFECYCLE_FIX)
    public void onResume_requestsFocus() {
        when(mPinBasedInputView.isVisibleToUser()).thenReturn(true);
        mKeyguardPinViewController.onResume(KeyguardSecurityView.SCREEN_ON);
        verify(mPasswordEntry).requestFocus();
    }

    @Test
    @EnableFlags(FLAG_BOUNCER_LIFECYCLE_FIX)
    public void onResume_doesNotRequestFocusIfNotVisible() {
        when(mPinBasedInputView.isVisibleToUser()).thenReturn(false);
        mKeyguardPinViewController.onResume(KeyguardSecurityView.SCREEN_ON);
        verify(mPasswordEntry, never()).requestFocus();
    }

    @Test
    public void testGetInitialMessageResId() {
        assertThat(mKeyguardPinViewController.getInitialMessageResId()).isNotEqualTo(0);
    }
+3 −7
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import static com.android.keyguard.KeyguardSecurityView.PROMPT_REASON_RESTART_FO
import static com.android.keyguard.KeyguardSecurityView.PROMPT_REASON_TIMEOUT;
import static com.android.keyguard.KeyguardSecurityView.PROMPT_REASON_TRUSTAGENT_EXPIRED;
import static com.android.keyguard.KeyguardSecurityView.PROMPT_REASON_USER_REQUEST;
import static com.android.systemui.Flags.bouncerLifecycleFix;
import static com.android.systemui.Flags.pinInputFieldStyledFocusState;

import android.animation.Animator;
@@ -80,8 +79,7 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView
    protected void setPasswordEntryEnabled(boolean enabled) {
        mPasswordEntry.setEnabled(enabled);
        mOkButton.setEnabled(enabled);
        if (enabled && !mPasswordEntry.hasFocus()
                && (!bouncerLifecycleFix() || isVisibleToUser())) {
        if (enabled && !mPasswordEntry.hasFocus()) {
            mPasswordEntry.requestFocus();
        }
    }
@@ -90,7 +88,7 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView
    protected void setPasswordEntryInputEnabled(boolean enabled) {
        mPasswordEntry.setEnabled(enabled);
        mOkButton.setEnabled(enabled);
        if (enabled && (!bouncerLifecycleFix() || isVisibleToUser())) {
        if (enabled) {
            mPasswordEntry.requestFocus();
        }
    }
@@ -203,9 +201,7 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView
        mButtons[8] = findViewById(R.id.key8);
        mButtons[9] = findViewById(R.id.key9);

        if ((!bouncerLifecycleFix() || isVisibleToUser())) {
        mPasswordEntry.requestFocus();
        }
        super.onFinishInflate();
        reloadColors();
    }
+0 −7
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.keyguard;
import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_FOCUSED;

import static com.android.internal.widget.flags.Flags.hideLastCharWithPhysicalInput;
import static com.android.systemui.Flags.bouncerLifecycleFix;
import static com.android.systemui.Flags.pinInputFieldStyledFocusState;
import static com.android.systemui.util.kotlin.JavaAdapterKt.collectFlow;

@@ -263,12 +262,6 @@ public abstract class KeyguardPinBasedInputViewController<T extends KeyguardPinB
    @Override
    public void onResume(int reason) {
        super.onResume(reason);

        if (bouncerLifecycleFix() && !mView.isVisibleToUser()) {
            // don't request focus if view isn't visible
            return;
        }

        // It's possible to reach a state here where mPasswordEntry believes it is focused
        // but it is not actually focused. This state will prevent the view from gaining focus,
        // as requestFocus will no-op since the focus flag is already set. By clearing focus first,