diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java index 8d0e2ef2eca8fdc9bce54917f345cb24920d9afd..fbff0bd12c57f3777bc74e7b5441a0ee5fbdabbb 100644 --- a/src/com/android/settings/ChooseLockGeneric.java +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -51,6 +51,7 @@ import android.widget.TextView; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.widget.LockPatternUtils; +import com.android.settings.Utils; import com.android.settings.fingerprint.FingerprintEnrollBase; import com.android.settings.fingerprint.FingerprintEnrollFindSensor; import com.android.settingslib.RestrictedLockUtils; @@ -140,6 +141,11 @@ public class ChooseLockGeneric extends SettingsActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + final Activity activity = getActivity(); + if (!Utils.isDeviceProvisioned(activity) && !canRunBeforeDeviceProvisioned()) { + activity.finish(); + return; + } String chooseLockAction = getActivity().getIntent().getAction(); mFingerprintManager = @@ -224,6 +230,10 @@ public class ChooseLockGeneric extends SettingsActivity { addHeaderView(); } + protected boolean canRunBeforeDeviceProvisioned() { + return false; + } + protected void addHeaderView() { if (mForFingerprint) { setHeaderView(R.layout.choose_lock_generic_fingerprint_header); diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 9245003de78b85c7521dea1cfa66b90297273293..1b817fd66dc0359c12e863efbd031bd1acaf9e11 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -626,7 +626,7 @@ public class SettingsActivity extends SettingsDrawerActivity // No UP affordance if we are displaying the main Dashboard mDisplayHomeAsUpEnabled = false; // Show Search affordance - mDisplaySearch = true; + mDisplaySearch = Utils.isDeviceProvisioned(this); mInitialTitleResId = R.string.dashboard_title; // add argument to indicate which settings tab should be initially selected @@ -708,7 +708,7 @@ public class SettingsActivity extends SettingsDrawerActivity } public void setDisplaySearchMenu(boolean displaySearch) { - if (displaySearch != mDisplaySearch) { + if (Utils.isDeviceProvisioned(this) && displaySearch != mDisplaySearch) { mDisplaySearch = displaySearch; invalidateOptionsMenu(); } diff --git a/src/com/android/settings/SetupChooseLockGeneric.java b/src/com/android/settings/SetupChooseLockGeneric.java index 71679f30a80bc237270ef461203f9fb04f4dc322..21fad53b8f5bcd3709424389c6216101af8b3c58 100644 --- a/src/com/android/settings/SetupChooseLockGeneric.java +++ b/src/com/android/settings/SetupChooseLockGeneric.java @@ -138,6 +138,11 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric { return layout.onCreateRecyclerView(inflater, parent, savedInstanceState); } + @Override + protected boolean canRunBeforeDeviceProvisioned() { + return true; + } + /*** * Disables preferences that are less secure than required quality and shows only secure * screen lock options here.