From 97b6bc3efe81f99dd885a2570bd18a52cd519a43 Mon Sep 17 00:00:00 2001 From: Rashed Abdel-Tawab Date: Sat, 15 Jun 2019 18:40:56 -0700 Subject: [PATCH] suw: Disable ScreenLockActivity if a secure lockscreen is already set Currently, devices that have a fingerprint prompt to add a fingerprint and lockscreen via FingerprintActivity. However, since ScreenLockActivity is always active, we end up with a second prompt for screen lock security. This adds a check to see if a secure lockscreen has already been set, and if so, just skip ScreenLockActivity. Change-Id: I877835e8fa8628c01c96ab9732146720c1234f31 --- .../lineageos/setupwizard/ScreenLockActivity.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/org/lineageos/setupwizard/ScreenLockActivity.java b/src/org/lineageos/setupwizard/ScreenLockActivity.java index 675383e0..3e2443ec 100644 --- a/src/org/lineageos/setupwizard/ScreenLockActivity.java +++ b/src/org/lineageos/setupwizard/ScreenLockActivity.java @@ -22,15 +22,26 @@ import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_DETAILS; import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_TITLE; import static org.lineageos.setupwizard.SetupWizardApp.REQUEST_CODE_SETUP_LOCKSCREEN; +import android.app.KeyguardManager; import android.content.Intent; +import android.util.Log; import android.view.View; +import org.lineageos.setupwizard.util.SetupWizardUtils; + public class ScreenLockActivity extends SubBaseActivity { public static final String TAG = ScreenLockActivity.class.getSimpleName(); @Override protected void onStartSubactivity() { + if (isKeyguardSecure()) { + Log.v(TAG, "Screen lock already set up; skipping ScreenLockActivity"); + nextAction(RESULT_OK); + SetupWizardUtils.disableComponent(this, ScreenLockActivity.class); + finish(); + return; + } setNextAllowed(true); findViewById(R.id.setup_lockscreen).setOnClickListener(new View.OnClickListener() { @Override @@ -75,4 +86,7 @@ public class ScreenLockActivity extends SubBaseActivity { return TRANSITION_ID_SLIDE; } + private boolean isKeyguardSecure() { + return getSystemService(KeyguardManager.class).isKeyguardSecure(); + } }