Use ChooseLockGeneric When Started By Admin App
The device management app may run before the end of device provisioning, and it may start SetNewPasswordActivity. If this happens, use ChooseLockGeneric instead of SetupChooseLockGeneric. Only use SetupChoseLockGeneric if SetNewPasswordActivity was started by Setup Wizard itself. Fixes: 151552453 Test: atest com.android.settings.password.SetNewPasswordActivityTest Test: atest com.android.settings.password.ChooseLockGenericTest Test: Manually run consumer and enterprise device setup Change-Id: I3b479ed18211d6625654f266fe692f07d0047e4f
This commit is contained in:
@@ -42,6 +42,7 @@ import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.os.storage.StorageManager;
|
||||
import android.service.persistentdata.PersistentDataBlockManager;
|
||||
import android.text.TextUtils;
|
||||
import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
@@ -281,7 +282,11 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
}
|
||||
|
||||
protected boolean canRunBeforeDeviceProvisioned() {
|
||||
return false;
|
||||
PersistentDataBlockManager pdbm = (PersistentDataBlockManager)
|
||||
getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
|
||||
|
||||
// Can only run during setup if factory reset protection has already been cleared
|
||||
return (pdbm != null && pdbm.getDataBlockSize() == 0);
|
||||
}
|
||||
|
||||
protected Class<? extends ChooseLockGeneric.InternalActivity> getInternalActivityClass() {
|
||||
|
Reference in New Issue
Block a user