summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ChooseLockSettingsHelper.java
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2015-09-10 20:12:19 -0700
committerJorim Jaggi <jjaggi@google.com>2015-09-10 20:14:06 -0700
commit74a2283d2425107f7b39a29d8db7947d8c6f8c7c (patch)
treeab3bbe7cbb491aa685f21d82cb63f7eb630195f7 /src/com/android/settings/ChooseLockSettingsHelper.java
parent69671dafc8b950c71f2ed303a145feb6f4d4fba8 (diff)
downloadpackages_apps_Settings-74a2283d2425107f7b39a29d8db7947d8c6f8c7c.tar.gz
packages_apps_Settings-74a2283d2425107f7b39a29d8db7947d8c6f8c7c.tar.bz2
packages_apps_Settings-74a2283d2425107f7b39a29d8db7947d8c6f8c7c.zip
Finish trampoline activity for ConfirmDeviceCredential immediately
Make sure to finish ConfirmDeviceCredentialActivity directly, and use Intent.FLAG_ACTIVITY_FORWARD_RESULT, so we can't even end up in a state where we have the trampoline activity but not the real activity. Bug: 23849216 Change-Id: I7a5be5af74ca85c11df1f61a69c3fd5cf558e1fb
Diffstat (limited to 'src/com/android/settings/ChooseLockSettingsHelper.java')
-rw-r--r--src/com/android/settings/ChooseLockSettingsHelper.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/com/android/settings/ChooseLockSettingsHelper.java b/src/com/android/settings/ChooseLockSettingsHelper.java
index 327e622df..665bffe6f 100644
--- a/src/com/android/settings/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/ChooseLockSettingsHelper.java
@@ -158,10 +158,19 @@ public final class ChooseLockSettingsHelper {
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, hasChallenge);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge);
intent.setClassName(ConfirmDeviceCredentialBaseFragment.PACKAGE, activityClass.getName());
- if (mFragment != null) {
- mFragment.startActivityForResult(intent, request);
+ if (external) {
+ intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+ if (mFragment != null) {
+ mFragment.startActivity(intent);
+ } else {
+ mActivity.startActivity(intent);
+ }
} else {
- mActivity.startActivityForResult(intent, request);
+ if (mFragment != null) {
+ mFragment.startActivityForResult(intent, request);
+ } else {
+ mActivity.startActivityForResult(intent, request);
+ }
}
return true;
}