Fix "Factory Reset" fails to reset the device
when device didn't support PersistentDataBlockManager, Settings will crash at get PersistentDataBlock service. So we need to check if device support PersistentDataBlockManager before call getService. Fixes: 196634851 Test: manual verify on aosp build. Change-Id: I5afba5df8c4831499478490b442c0fcf367d23ae
This commit is contained in:
@@ -31,6 +31,7 @@ import android.content.pm.ActivityInfo;
|
|||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.SystemProperties;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.service.oemlock.OemLockManager;
|
import android.service.oemlock.OemLockManager;
|
||||||
@@ -67,6 +68,8 @@ import com.google.android.setupdesign.GlifLayout;
|
|||||||
public class MainClearConfirm extends InstrumentedFragment {
|
public class MainClearConfirm extends InstrumentedFragment {
|
||||||
private static final String TAG = "MainClearConfirm";
|
private static final String TAG = "MainClearConfirm";
|
||||||
|
|
||||||
|
private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst";
|
||||||
|
|
||||||
@VisibleForTesting View mContentView;
|
@VisibleForTesting View mContentView;
|
||||||
private boolean mEraseSdCard;
|
private boolean mEraseSdCard;
|
||||||
@VisibleForTesting boolean mEraseEsims;
|
@VisibleForTesting boolean mEraseEsims;
|
||||||
@@ -83,6 +86,11 @@ public class MainClearConfirm extends InstrumentedFragment {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// pre-flight check hardware support PersistentDataBlockManager
|
||||||
|
if (SystemProperties.get(PERSISTENT_DATA_BLOCK_PROP).equals("")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final PersistentDataBlockManager pdbManager = (PersistentDataBlockManager)
|
final PersistentDataBlockManager pdbManager = (PersistentDataBlockManager)
|
||||||
getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
|
getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user