diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java index 2fd012e311a..4262df9c346 100644 --- a/src/com/android/settings/ChooseLockPassword.java +++ b/src/com/android/settings/ChooseLockPassword.java @@ -641,9 +641,11 @@ public class ChooseLockPassword extends SettingsActivity { setNextEnabled(false); mSaveAndFinishWorker = new SaveAndFinishWorker(); + mSaveAndFinishWorker.setListener(this); + getFragmentManager().beginTransaction().add(mSaveAndFinishWorker, FRAGMENT_TAG_SAVE_AND_FINISH).commit(); - mSaveAndFinishWorker.setListener(this); + getFragmentManager().executePendingTransactions(); final boolean required = getActivity().getIntent().getBooleanExtra( EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true); diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java index 960ec1a0c85..46e15bdb8b8 100644 --- a/src/com/android/settings/ChooseLockPattern.java +++ b/src/com/android/settings/ChooseLockPattern.java @@ -642,9 +642,11 @@ public class ChooseLockPattern extends SettingsActivity { setRightButtonEnabled(false); mSaveAndFinishWorker = new SaveAndFinishWorker(); + mSaveAndFinishWorker.setListener(this); + getFragmentManager().beginTransaction().add(mSaveAndFinishWorker, FRAGMENT_TAG_SAVE_AND_FINISH).commit(); - mSaveAndFinishWorker.setListener(this); + getFragmentManager().executePendingTransactions(); final boolean required = getActivity().getIntent().getBooleanExtra( EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true); diff --git a/src/com/android/settings/SaveChosenLockWorkerBase.java b/src/com/android/settings/SaveChosenLockWorkerBase.java index 4d8964a5e54..402c259662b 100644 --- a/src/com/android/settings/SaveChosenLockWorkerBase.java +++ b/src/com/android/settings/SaveChosenLockWorkerBase.java @@ -20,6 +20,7 @@ import android.app.Fragment; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; +import android.os.UserManager; import com.android.internal.widget.LockPatternUtils; @@ -67,7 +68,9 @@ abstract class SaveChosenLockWorkerBase extends Fragment { mUtils.setSeparateProfileChallengeEnabled(mUserId, true); mWasSecureBefore = mUtils.isSecure(mUserId); - mUtils.setCredentialRequiredToDecrypt(credentialRequired); + if (UserManager.get(getContext()).getUserInfo(mUserId).isPrimary()) { + mUtils.setCredentialRequiredToDecrypt(credentialRequired); + } mFinished = false; mResultData = null;