diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java index fcedea3bbb5..212aa0c212d 100644 --- a/src/com/android/settings/ChooseLockPassword.java +++ b/src/com/android/settings/ChooseLockPassword.java @@ -654,9 +654,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 4a9295180ba..8aa95327230 100644 --- a/src/com/android/settings/ChooseLockPattern.java +++ b/src/com/android/settings/ChooseLockPattern.java @@ -655,9 +655,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 155dcb8ee72..128bd998120 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; @@ -69,7 +70,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;