summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings
diff options
context:
space:
mode:
authorAndres Morales <anmorales@google.com>2015-08-06 22:22:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-08-06 22:22:17 +0000
commit4897fa87a55173f45bfddb2480a2e34eb412b8ef (patch)
tree5997585ce631086018cd4d6bc1cf0e820b8beaf5 /src/com/android/settings
parent7930f872ad6b3f0e27c41d848131204eac0cd705 (diff)
parent7bdffd85ebae7b5b14eef07059cb501451476c7d (diff)
downloadpackages_apps_Settings-4897fa87a55173f45bfddb2480a2e34eb412b8ef.zip
packages_apps_Settings-4897fa87a55173f45bfddb2480a2e34eb412b8ef.tar.gz
packages_apps_Settings-4897fa87a55173f45bfddb2480a2e34eb412b8ef.tar.bz2
Merge "fix CC for work profiles" into mnc-dev
Diffstat (limited to 'src/com/android/settings')
-rw-r--r--src/com/android/settings/ChooseLockSettingsHelper.java5
-rw-r--r--src/com/android/settings/ConfirmLockPassword.java26
-rw-r--r--src/com/android/settings/ConfirmLockPattern.java27
-rw-r--r--src/com/android/settings/Utils.java13
4 files changed, 49 insertions, 22 deletions
diff --git a/src/com/android/settings/ChooseLockSettingsHelper.java b/src/com/android/settings/ChooseLockSettingsHelper.java
index c07186f..327e622 100644
--- a/src/com/android/settings/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/ChooseLockSettingsHelper.java
@@ -118,7 +118,10 @@ public final class ChooseLockSettingsHelper {
boolean returnCredentials, boolean external, boolean hasChallenge,
long challenge) {
boolean launched = false;
- switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(UserHandle.myUserId())) {
+
+ int effectiveUserId = Utils.getEffectiveUserId(mActivity);
+
+ switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(effectiveUserId)) {
case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
launched = launchConfirmationActivity(request, title, header, description,
returnCredentials || hasChallenge
diff --git a/src/com/android/settings/ConfirmLockPassword.java b/src/com/android/settings/ConfirmLockPassword.java
index 5a8a47e..1c42045 100644
--- a/src/com/android/settings/ConfirmLockPassword.java
+++ b/src/com/android/settings/ConfirmLockPassword.java
@@ -28,8 +28,8 @@ import com.android.settingslib.animation.DisappearAnimationUtils;
import android.app.Fragment;
import android.app.admin.DevicePolicyManager;
-import android.content.Context;
import android.content.Intent;
+import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.CountDownTimer;
@@ -98,6 +98,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
private AppearAnimationUtils mAppearAnimationUtils;
private DisappearAnimationUtils mDisappearAnimationUtils;
private boolean mBlockImm;
+ private int mEffectiveUserId;
// required constructor for fragments
public ConfirmLockPasswordFragment() {
@@ -108,6 +109,8 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLockPatternUtils = new LockPatternUtils(getActivity());
+ mEffectiveUserId = Utils.getEffectiveUserId(getActivity());
+
if (savedInstanceState != null) {
mNumWrongConfirmAttempts = savedInstanceState.getInt(
KEY_NUM_WRONG_CONFIRM_ATTEMPTS, 0);
@@ -118,7 +121,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final int storedQuality = mLockPatternUtils.getKeyguardStoredPasswordQuality(
- UserHandle.myUserId());
+ mEffectiveUserId);
View view = inflater.inflate(R.layout.confirm_lock_password, null);
mPasswordEntry = (TextView) view.findViewById(R.id.password_entry);
@@ -238,7 +241,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
@Override
public void onResume() {
super.onResume();
- long deadline = mLockPatternUtils.getLockoutAttemptDeadline(UserHandle.myUserId());
+ long deadline = mLockPatternUtils.getLockoutAttemptDeadline(mEffectiveUserId);
if (deadline != 0) {
handleAttemptLockout(deadline);
} else {
@@ -314,7 +317,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
return;
}
- onPasswordChecked(false, intent, 0);
+ onPasswordChecked(false, intent, 0, mEffectiveUserId);
}
private boolean isInternalActivity() {
@@ -324,11 +327,12 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
private void startVerifyPassword(final String pin, final Intent intent) {
long challenge = getActivity().getIntent().getLongExtra(
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0);
+ final int localEffectiveUserId = mEffectiveUserId;
mPendingLockCheck = LockPatternChecker.verifyPassword(
mLockPatternUtils,
pin,
challenge,
- UserHandle.myUserId(),
+ localEffectiveUserId,
new LockPatternChecker.OnVerifyCallback() {
@Override
public void onVerified(byte[] token, int timeoutMs) {
@@ -340,16 +344,17 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
token);
}
- onPasswordChecked(matched, intent, timeoutMs);
+ onPasswordChecked(matched, intent, timeoutMs, localEffectiveUserId);
}
});
}
private void startCheckPassword(final String pin, final Intent intent) {
+ final int localEffectiveUserId = mEffectiveUserId;
mPendingLockCheck = LockPatternChecker.checkPassword(
mLockPatternUtils,
pin,
- UserHandle.myUserId(),
+ localEffectiveUserId,
new LockPatternChecker.OnCheckCallback() {
@Override
public void onChecked(boolean matched, int timeoutMs) {
@@ -361,7 +366,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
intent.putExtra(
ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, pin);
}
- onPasswordChecked(matched, intent, timeoutMs);
+ onPasswordChecked(matched, intent, timeoutMs, localEffectiveUserId);
}
});
}
@@ -384,14 +389,15 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
}
}
- private void onPasswordChecked(boolean matched, Intent intent, int timeoutMs) {
+ private void onPasswordChecked(boolean matched, Intent intent, int timeoutMs,
+ int effectiveUserId) {
mPasswordEntryInputDisabler.setInputEnabled(true);
if (matched) {
startDisappearAnimation(intent);
} else {
if (timeoutMs > 0) {
long deadline = mLockPatternUtils.setLockoutAttemptDeadline(
- UserHandle.myUserId(), timeoutMs);
+ effectiveUserId, timeoutMs);
handleAttemptLockout(deadline);
} else {
showError(getErrorMessage());
diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java
index 4f8d726..62a8ecd 100644
--- a/src/com/android/settings/ConfirmLockPattern.java
+++ b/src/com/android/settings/ConfirmLockPattern.java
@@ -102,6 +102,8 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
private AppearAnimationUtils mAppearAnimationUtils;
private DisappearAnimationUtils mDisappearAnimationUtils;
+ private int mEffectiveUserId;
+
// required constructor for fragments
public ConfirmLockPatternFragment() {
@@ -111,6 +113,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLockPatternUtils = new LockPatternUtils(getActivity());
+ mEffectiveUserId = Utils.getEffectiveUserId(getActivity());
}
@Override
@@ -151,7 +154,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
// on first launch, if no lock pattern is set, then finish with
// success (don't want user to get stuck confirming something that
// doesn't exist).
- if (!mLockPatternUtils.isLockPatternEnabled(UserHandle.myUserId())) {
+ if (!mLockPatternUtils.isLockPatternEnabled(mEffectiveUserId)) {
getActivity().setResult(Activity.RESULT_OK);
getActivity().finish();
}
@@ -203,7 +206,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
super.onResume();
// if the user is currently locked out, enforce it.
- long deadline = mLockPatternUtils.getLockoutAttemptDeadline(UserHandle.myUserId());
+ long deadline = mLockPatternUtils.getLockoutAttemptDeadline(mEffectiveUserId);
if (deadline != 0) {
handleAttemptLockout(deadline);
} else if (!mLockPatternView.isEnabled()) {
@@ -385,7 +388,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
return;
}
- onPatternChecked(pattern, false, intent, 0);
+ onPatternChecked(pattern, false, intent, 0, mEffectiveUserId);
}
private boolean isInternalActivity() {
@@ -394,13 +397,14 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
private void startVerifyPattern(final List<LockPatternView.Cell> pattern,
final Intent intent) {
+ final int localEffectiveUserId = mEffectiveUserId;
long challenge = getActivity().getIntent().getLongExtra(
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0);
mPendingLockCheck = LockPatternChecker.verifyPattern(
mLockPatternUtils,
pattern,
challenge,
- UserHandle.myUserId(),
+ localEffectiveUserId,
new LockPatternChecker.OnVerifyCallback() {
@Override
public void onVerified(byte[] token, int timeoutMs) {
@@ -412,7 +416,8 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
token);
}
- onPatternChecked(pattern, matched, intent, timeoutMs);
+ onPatternChecked(pattern,
+ matched, intent, timeoutMs, localEffectiveUserId);
}
});
}
@@ -420,14 +425,15 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
private void startCheckPattern(final List<LockPatternView.Cell> pattern,
final Intent intent) {
if (pattern.size() < LockPatternUtils.MIN_PATTERN_REGISTER_FAIL) {
- onPatternChecked(pattern, false, intent, 0);
+ onPatternChecked(pattern, false, intent, 0, mEffectiveUserId);
return;
}
+ final int localEffectiveUserId = mEffectiveUserId;
mPendingLockCheck = LockPatternChecker.checkPattern(
mLockPatternUtils,
pattern,
- UserHandle.myUserId(),
+ localEffectiveUserId,
new LockPatternChecker.OnCheckCallback() {
@Override
public void onChecked(boolean matched, int timeoutMs) {
@@ -438,20 +444,21 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD,
LockPatternUtils.patternToString(pattern));
}
- onPatternChecked(pattern, matched, intent, timeoutMs);
+ onPatternChecked(pattern, matched, intent, timeoutMs,
+ localEffectiveUserId);
}
});
}
private void onPatternChecked(List<LockPatternView.Cell> pattern,
- boolean matched, Intent intent, int timeoutMs) {
+ boolean matched, Intent intent, int timeoutMs, int effectiveUserId) {
mLockPatternView.setEnabled(true);
if (matched) {
startDisappearAnimation(intent);
} else {
if (timeoutMs > 0) {
long deadline = mLockPatternUtils.setLockoutAttemptDeadline(
- UserHandle.myUserId(), timeoutMs);
+ effectiveUserId, timeoutMs);
handleAttemptLockout(deadline);
} else {
updateStage(Stage.NeedToUnlockWrong);
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index a18d860..d25d8c3 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -1235,4 +1235,15 @@ public final class Utils {
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
return str;
}
-} \ No newline at end of file
+
+ public static int getEffectiveUserId(Context context) {
+ UserManager um = UserManager.get(context);
+ if (um != null) {
+ return um.getCredentialOwnerProfile(UserHandle.myUserId());
+ } else {
+ Log.e(TAG, "Unable to acquire UserManager");
+ return UserHandle.myUserId();
+ }
+ }
+}
+