From ae2c23b71d0c8c20f2d482dde7950ead762da36b Mon Sep 17 00:00:00 2001 From: Muntashir Al-Islam Date: Sat, 14 Sep 2024 07:22:58 -0700 Subject: [PATCH] [Refactor] Bypass screen-lock if `auth` is supplied Fixes issues with executing tasks from third-party applications. Signed-off-by: Muntashir Al-Islam --- .../muntashirakon/AppManager/BaseActivity.java | 14 +++++++++++++- .../crypto/auth/AuthFeatureDemultiplexer.java | 1 - 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/github/muntashirakon/AppManager/BaseActivity.java b/app/src/main/java/io/github/muntashirakon/AppManager/BaseActivity.java index 076ea561ea6..36775614946 100644 --- a/app/src/main/java/io/github/muntashirakon/AppManager/BaseActivity.java +++ b/app/src/main/java/io/github/muntashirakon/AppManager/BaseActivity.java @@ -54,6 +54,8 @@ public abstract class BaseActivity extends AppCompatActivity { } }}; + public static final String EXTRA_AUTH = "auth"; + @Nullable private AlertDialog mAlertDialog; @Nullable @@ -231,7 +233,17 @@ private void ensureSecurityAndModeOfOp() { handleMigrationAndModeOfOp(); return; } - Log.d(TAG, "Security enabled."); + if (getIntent().hasExtra(EXTRA_AUTH)) { + Log.i(TAG, "Screen lock-bypass enabled."); + // Check for auth + String auth = getIntent().getStringExtra(EXTRA_AUTH); + if (AuthManager.getKey().equals(auth)) { + // Auth successful + handleMigrationAndModeOfOp(); + return; + } // else // Invalid authorization key, fallback to security + } + Log.i(TAG, "Screen lock enabled."); KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); if (keyguardManager.isKeyguardSecure()) { // Screen lock enabled diff --git a/app/src/main/java/io/github/muntashirakon/AppManager/crypto/auth/AuthFeatureDemultiplexer.java b/app/src/main/java/io/github/muntashirakon/AppManager/crypto/auth/AuthFeatureDemultiplexer.java index 90b6d1fe572..235214ddfad 100644 --- a/app/src/main/java/io/github/muntashirakon/AppManager/crypto/auth/AuthFeatureDemultiplexer.java +++ b/app/src/main/java/io/github/muntashirakon/AppManager/crypto/auth/AuthFeatureDemultiplexer.java @@ -12,7 +12,6 @@ import io.github.muntashirakon.AppManager.profiles.ProfileApplierActivity; public class AuthFeatureDemultiplexer extends BaseActivity { - public static final String EXTRA_AUTH = "auth"; public static final String EXTRA_FEATURE = "feature"; @Override