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

Commit ce076c1d authored by Aaron Liu's avatar Aaron Liu
Browse files

Set lockout in onResume.

If bouncer is locked out, make sure that we check in onresume for all
security types.

Fixes: 275079518
Test: lock out in pin and pattern.
Test: sim pin and sim puk are good to go
Change-Id: I9fce3bb8087cd3b47ed57ae0f114b823de980356
parent 1437d594
Loading
Loading
Loading
Loading
+7 −8
Original line number Original line Diff line number Diff line
@@ -107,15 +107,8 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
        // start fresh
        // start fresh
        mDismissing = false;
        mDismissing = false;
        mView.resetPasswordText(false /* animate */, false /* announce */);
        mView.resetPasswordText(false /* animate */, false /* announce */);
        // if the user is currently locked out, enforce it.
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
                KeyguardUpdateMonitor.getCurrentUser());
        if (shouldLockout(deadline)) {
            handleAttemptLockout(deadline);
        } else {
        resetState();
        resetState();
    }
    }
    }


    @Override
    @Override
    public boolean needsInput() {
    public boolean needsInput() {
@@ -277,6 +270,12 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
    @Override
    @Override
    public void onResume(int reason) {
    public void onResume(int reason) {
        mResumed = true;
        mResumed = true;
        // if the user is currently locked out, enforce it.
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
                KeyguardUpdateMonitor.getCurrentUser());
        if (shouldLockout(deadline)) {
            handleAttemptLockout(deadline);
        }
    }
    }


    @Override
    @Override
+6 −2
Original line number Original line Diff line number Diff line
@@ -260,13 +260,17 @@ public class KeyguardPatternViewController
        mLockPatternView.setEnabled(true);
        mLockPatternView.setEnabled(true);
        mLockPatternView.clearPattern();
        mLockPatternView.clearPattern();


        displayDefaultSecurityMessage();
    }

    @Override
    public void onResume(int reason) {
        super.onResume(reason);
        // if the user is currently locked out, enforce it.
        // if the user is currently locked out, enforce it.
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
                KeyguardUpdateMonitor.getCurrentUser());
                KeyguardUpdateMonitor.getCurrentUser());
        if (deadline != 0) {
        if (deadline != 0) {
            handleAttemptLockout(deadline);
            handleAttemptLockout(deadline);
        } else {
            displayDefaultSecurityMessage();
        }
        }
    }
    }


+7 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.keyguard;
package com.android.keyguard;


import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.never;
@@ -157,4 +158,10 @@ public class KeyguardAbsKeyInputViewControllerTest extends SysuiTestCase {
        mKeyguardAbsKeyInputViewController.reset();
        mKeyguardAbsKeyInputViewController.reset();
        verify(mKeyguardMessageAreaController).setMessage("", false);
        verify(mKeyguardMessageAreaController).setMessage("", false);
    }
    }

    @Test
    public void testResume() {
        mKeyguardAbsKeyInputViewController.onResume(KeyguardSecurityView.VIEW_REVEALED);
        verify(mLockPatternUtils).getLockoutAttemptDeadline(anyInt());
    }
}
}
+7 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ import org.junit.Before
import org.junit.Test
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyBoolean
import org.mockito.ArgumentMatchers.anyBoolean
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.anyString
import org.mockito.ArgumentMatchers.anyString
import org.mockito.Mock
import org.mockito.Mock
import org.mockito.Mockito.never
import org.mockito.Mockito.never
@@ -119,4 +120,10 @@ class KeyguardPatternViewControllerTest : SysuiTestCase() {
    mKeyguardPatternViewController.startAppearAnimation()
    mKeyguardPatternViewController.startAppearAnimation()
    verify(mKeyguardMessageAreaController, never()).setMessage(anyString(), anyBoolean())
    verify(mKeyguardMessageAreaController, never()).setMessage(anyString(), anyBoolean())
  }
  }

  @Test
  fun resume() {
    mKeyguardPatternViewController.onResume(KeyguardSecurityView.VIEW_REVEALED)
    verify(mLockPatternUtils).getLockoutAttemptDeadline(anyInt())
  }
}
}