summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2013-09-25 16:52:45 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-09-25 16:52:45 -0700
commitd5e430b59a991e5d8e54b20be896c07434d56954 (patch)
tree3b93841fb35cd9fdcd89a4ab7cd537a117f3130b
parent90a51e2bf9c61a80ebc79f6c9ad5e7b774860bfc (diff)
parentcb407569b35d0605ffedfd6c00ee9a88c8da3aa4 (diff)
downloadpackages_apps_Settings-d5e430b59a991e5d8e54b20be896c07434d56954.zip
packages_apps_Settings-d5e430b59a991e5d8e54b20be896c07434d56954.tar.gz
packages_apps_Settings-d5e430b59a991e5d8e54b20be896c07434d56954.tar.bz2
am cb407569: Merge "Make sure that external callers cannot pass in the confirm bypass extra" into klp-dev
* commit 'cb407569b35d0605ffedfd6c00ee9a88c8da3aa4': Make sure that external callers cannot pass in the confirm bypass extra
-rw-r--r--AndroidManifest.xml6
-rw-r--r--src/com/android/settings/ChooseLockGeneric.java10
-rw-r--r--src/com/android/settings/ChooseLockPassword.java3
-rw-r--r--src/com/android/settings/ChooseLockPattern.java5
4 files changed, 20 insertions, 4 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4218e7e..51ff2f2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1034,7 +1034,6 @@
<!-- Second and third-level settings -->
-
<!-- Lock screen settings -->
<activity android:name="ConfirmLockPattern"/>
@@ -1050,6 +1049,11 @@
</intent-filter>
</activity>
+ <activity android:name="ChooseLockGeneric$InternalActivity" android:exported="false"
+ android:label="@string/lockpassword_choose_lock_generic_header"
+ android:excludeFromRecents="true"
+ />
+
<activity android:name="ChooseLockPattern" android:exported="false"/>
<activity android:name="ChooseLockPassword" android:exported="false"
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 017adfa..49de366 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -60,6 +60,9 @@ public class ChooseLockGeneric extends PreferenceActivity {
return false;
}
+ public static class InternalActivity extends ChooseLockGeneric {
+ }
+
public static class ChooseLockGenericFragment extends SettingsPreferenceFragment {
private static final int MIN_PASSWORD_LENGTH = 4;
private static final String KEY_UNLOCK_BACKUP_INFO = "unlock_backup_info";
@@ -97,7 +100,9 @@ public class ChooseLockGeneric extends PreferenceActivity {
// Defaults to needing to confirm credentials
final boolean confirmCredentials = getActivity().getIntent()
.getBooleanExtra(CONFIRM_CREDENTIALS, true);
- mPasswordConfirmed = !confirmCredentials;
+ if (getActivity() instanceof ChooseLockGeneric.InternalActivity) {
+ mPasswordConfirmed = !confirmCredentials;
+ }
if (savedInstanceState != null) {
mPasswordConfirmed = savedInstanceState.getBoolean(PASSWORD_CONFIRMED);
@@ -341,7 +346,8 @@ public class ChooseLockGeneric extends PreferenceActivity {
}
private Intent getBiometricSensorIntent() {
- Intent fallBackIntent = new Intent().setClass(getActivity(), ChooseLockGeneric.class);
+ Intent fallBackIntent = new Intent().setClass(getActivity(),
+ ChooseLockGeneric.InternalActivity.class);
fallBackIntent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, true);
fallBackIntent.putExtra(CONFIRM_CREDENTIALS, false);
fallBackIntent.putExtra(EXTRA_SHOW_FRAGMENT_TITLE,
diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java
index c6f5212..f43738f 100644
--- a/src/com/android/settings/ChooseLockPassword.java
+++ b/src/com/android/settings/ChooseLockPassword.java
@@ -161,6 +161,9 @@ public class ChooseLockPassword extends PreferenceActivity {
super.onCreate(savedInstanceState);
mLockPatternUtils = new LockPatternUtils(getActivity());
Intent intent = getActivity().getIntent();
+ if (!(getActivity() instanceof ChooseLockPassword)) {
+ throw new SecurityException("Fragment contained in wrong activity");
+ }
mRequestedQuality = Math.max(intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY,
mRequestedQuality), mLockPatternUtils.getRequestedPasswordQuality());
mPasswordMinLength = Math.max(
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
index c3045e2..328312c 100644
--- a/src/com/android/settings/ChooseLockPattern.java
+++ b/src/com/android/settings/ChooseLockPattern.java
@@ -308,6 +308,9 @@ public class ChooseLockPattern extends PreferenceActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
+ if (!(getActivity() instanceof ChooseLockPattern)) {
+ throw new SecurityException("Fragment contained in wrong activity");
+ }
}
@Override
@@ -338,7 +341,7 @@ public class ChooseLockPattern extends PreferenceActivity {
topLayout.setDefaultTouchRecepient(mLockPatternView);
final boolean confirmCredentials = getActivity().getIntent()
- .getBooleanExtra("confirm_credentials", false);
+ .getBooleanExtra("confirm_credentials", true);
if (savedInstanceState == null) {
if (confirmCredentials) {