Merge "Use SetScreenLockDialogActivity to power screen lock setup prompt" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
f73494e784
@@ -18,6 +18,8 @@ package com.android.settings.privatespace;
|
||||
|
||||
import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
|
||||
|
||||
import static com.android.internal.app.SetScreenLockDialogActivity.LAUNCH_REASON_PRIVATE_SPACE_SETTINGS_ACCESS;
|
||||
|
||||
import android.app.ActivityOptions;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.KeyguardManager;
|
||||
@@ -37,6 +39,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.app.SetScreenLockDialogActivity;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settingslib.transition.SettingsTransitionHelper;
|
||||
@@ -112,23 +115,31 @@ public class PrivateSpaceAuthenticationActivity extends FragmentActivity {
|
||||
|
||||
private void promptToSetDeviceLock() {
|
||||
Log.d(TAG, "Show prompt to set device lock before using private space feature");
|
||||
new AlertDialog.Builder(this)
|
||||
.setTitle(R.string.no_device_lock_title)
|
||||
.setMessage(R.string.no_device_lock_summary)
|
||||
.setPositiveButton(
|
||||
R.string.no_device_lock_action_label,
|
||||
(DialogInterface dialog, int which) -> {
|
||||
Log.d(TAG, "Start activity to set new device lock");
|
||||
mSetDeviceLock.launch(new Intent(ACTION_SET_NEW_PASSWORD));
|
||||
})
|
||||
.setNegativeButton(
|
||||
R.string.no_device_lock_cancel,
|
||||
(DialogInterface dialog, int which) -> finish())
|
||||
.setOnCancelListener(
|
||||
(DialogInterface dialog) -> {
|
||||
finish();
|
||||
})
|
||||
.show();
|
||||
if (android.multiuser.Flags.showSetScreenLockDialog()) {
|
||||
Intent setScreenLockPromptIntent =
|
||||
SetScreenLockDialogActivity
|
||||
.createBaseIntent(LAUNCH_REASON_PRIVATE_SPACE_SETTINGS_ACCESS);
|
||||
startActivity(setScreenLockPromptIntent);
|
||||
finish();
|
||||
} else {
|
||||
new AlertDialog.Builder(this)
|
||||
.setTitle(R.string.no_device_lock_title)
|
||||
.setMessage(R.string.no_device_lock_summary)
|
||||
.setPositiveButton(
|
||||
R.string.no_device_lock_action_label,
|
||||
(DialogInterface dialog, int which) -> {
|
||||
Log.d(TAG, "Start activity to set new device lock");
|
||||
mSetDeviceLock.launch(new Intent(ACTION_SET_NEW_PASSWORD));
|
||||
})
|
||||
.setNegativeButton(
|
||||
R.string.no_device_lock_cancel,
|
||||
(DialogInterface dialog, int which) -> finish())
|
||||
.setOnCancelListener(
|
||||
(DialogInterface dialog) -> {
|
||||
finish();
|
||||
})
|
||||
.show();
|
||||
}
|
||||
}
|
||||
|
||||
private KeyguardManager getKeyguardManager() {
|
||||
|
||||
@@ -18,9 +18,11 @@ package com.android.settings.ui.privatespace
|
||||
|
||||
|
||||
import android.os.Flags
|
||||
import android.platform.test.annotations.RequiresFlagsDisabled
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider
|
||||
import android.provider.Settings
|
||||
import android.util.Log
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.uiautomator.By
|
||||
@@ -77,15 +79,18 @@ class PrivateSpaceAuthenticationActivityTest {
|
||||
Thread.sleep(1000)
|
||||
device.assertHasTexts(listOf(SET_LOCK_BUTTON,CANCEL_TEXT))
|
||||
device.clickObject(By.text(SET_LOCK_BUTTON))
|
||||
device.assertHasTexts(listOf(LOCK_SCREEN_TITLE))
|
||||
Thread.sleep(1000)
|
||||
device.assertHasTexts(listOf(PATTERN_TEXT, PIN_TEXT, PASSWORD_TEXT))
|
||||
}
|
||||
|
||||
private companion object {
|
||||
// Items we really want to always show
|
||||
val PRIVATE_SPACE_SETTING = "Private Space"
|
||||
val PRIVATE_SPACE_SETTING = "Private space"
|
||||
const val SET_LOCK_BUTTON = "Set screen lock"
|
||||
val CANCEL_TEXT = "Cancel"
|
||||
val DIALOG_TITLE = "Set a screen lock"
|
||||
val LOCK_SCREEN_TITLE = "Choose screen lock"
|
||||
val PATTERN_TEXT = "Pattern"
|
||||
val PIN_TEXT = "PIN"
|
||||
val PASSWORD_TEXT = "Password"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user