Loading src/com/android/settings/SettingsPreferenceFragment.java +21 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.settingslib.search.Indexable; import com.android.settingslib.widget.LayoutPreference; import com.google.android.material.appbar.AppBarLayout; import com.google.android.setupcompat.util.WizardManagerHelper; import java.util.UUID; Loading @@ -63,7 +64,7 @@ import java.util.UUID; public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceFragment implements DialogCreatable, HelpResourceProvider, Indexable { private static final String TAG = "SettingsPreference"; private static final String TAG = "SettingsPreferenceFragment"; private static final String SAVE_HIGHLIGHTED_KEY = "android:preference_highlighted"; Loading Loading @@ -121,6 +122,15 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF public HighlightablePreferenceGroupAdapter mAdapter; private boolean mPreferenceHighlighted = false; @Override public void onAttach(Context context) { if (shouldSkipForInitialSUW() && !WizardManagerHelper.isDeviceProvisioned(getContext())) { Log.w(TAG, "Skip " + getClass().getSimpleName() + " before SUW completed."); finish(); } super.onAttach(context); } @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); Loading Loading @@ -267,6 +277,16 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF || (mAdapter.getPreferenceAdapterPosition(preference) != RecyclerView.NO_POSITION)); } /** * Whether UI should be skipped in the initial SUW flow. * * @return {@code true} when UI should be skipped in the initial SUW flow. * {@code false} when UI should not be skipped in the initial SUW flow. */ protected boolean shouldSkipForInitialSUW() { return false; } protected void onDataSetChanged() { highlightPreferenceIfNeeded(); updateEmptyView(); Loading src/com/android/settings/accounts/AccountDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,11 @@ public class AccountDashboardFragment extends DashboardFragment { return controllers; } @Override protected boolean shouldSkipForInitialSUW() { return true; } static void buildAutofillPreferenceControllers( Context context, List<AbstractPreferenceController> controllers) { controllers.add(new DefaultAutofillPreferenceController(context)); Loading src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -503,6 +503,11 @@ public class AppInfoDashboardFragment extends DashboardFragment return true; } @Override protected boolean shouldSkipForInitialSUW() { return true; } private void uninstallPkg(String packageName, boolean allUsers, boolean andDisable) { stopListeningToPackageRemove(); // Create new intent to launch Uninstaller activity Loading src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,11 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra } } @Override protected boolean shouldSkipForInitialSUW() { return true; } /** * Long-pressing a developer options quick settings tile will by default (see * QS_TILE_PREFERENCES in the manifest) take you to the developer options page. Loading src/com/android/settings/system/ResetDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,11 @@ public class ResetDashboardFragment extends DashboardFragment { use(EraseEuiccDataController.class).setFragment(this); } @Override protected boolean shouldSkipForInitialSUW() { return true; } private static List<AbstractPreferenceController> buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List<AbstractPreferenceController> controllers = new ArrayList<>(); Loading Loading
src/com/android/settings/SettingsPreferenceFragment.java +21 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.settingslib.search.Indexable; import com.android.settingslib.widget.LayoutPreference; import com.google.android.material.appbar.AppBarLayout; import com.google.android.setupcompat.util.WizardManagerHelper; import java.util.UUID; Loading @@ -63,7 +64,7 @@ import java.util.UUID; public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceFragment implements DialogCreatable, HelpResourceProvider, Indexable { private static final String TAG = "SettingsPreference"; private static final String TAG = "SettingsPreferenceFragment"; private static final String SAVE_HIGHLIGHTED_KEY = "android:preference_highlighted"; Loading Loading @@ -121,6 +122,15 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF public HighlightablePreferenceGroupAdapter mAdapter; private boolean mPreferenceHighlighted = false; @Override public void onAttach(Context context) { if (shouldSkipForInitialSUW() && !WizardManagerHelper.isDeviceProvisioned(getContext())) { Log.w(TAG, "Skip " + getClass().getSimpleName() + " before SUW completed."); finish(); } super.onAttach(context); } @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); Loading Loading @@ -267,6 +277,16 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF || (mAdapter.getPreferenceAdapterPosition(preference) != RecyclerView.NO_POSITION)); } /** * Whether UI should be skipped in the initial SUW flow. * * @return {@code true} when UI should be skipped in the initial SUW flow. * {@code false} when UI should not be skipped in the initial SUW flow. */ protected boolean shouldSkipForInitialSUW() { return false; } protected void onDataSetChanged() { highlightPreferenceIfNeeded(); updateEmptyView(); Loading
src/com/android/settings/accounts/AccountDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,11 @@ public class AccountDashboardFragment extends DashboardFragment { return controllers; } @Override protected boolean shouldSkipForInitialSUW() { return true; } static void buildAutofillPreferenceControllers( Context context, List<AbstractPreferenceController> controllers) { controllers.add(new DefaultAutofillPreferenceController(context)); Loading
src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -503,6 +503,11 @@ public class AppInfoDashboardFragment extends DashboardFragment return true; } @Override protected boolean shouldSkipForInitialSUW() { return true; } private void uninstallPkg(String packageName, boolean allUsers, boolean andDisable) { stopListeningToPackageRemove(); // Create new intent to launch Uninstaller activity Loading
src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,11 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra } } @Override protected boolean shouldSkipForInitialSUW() { return true; } /** * Long-pressing a developer options quick settings tile will by default (see * QS_TILE_PREFERENCES in the manifest) take you to the developer options page. Loading
src/com/android/settings/system/ResetDashboardFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,11 @@ public class ResetDashboardFragment extends DashboardFragment { use(EraseEuiccDataController.class).setFragment(this); } @Override protected boolean shouldSkipForInitialSUW() { return true; } private static List<AbstractPreferenceController> buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List<AbstractPreferenceController> controllers = new ArrayList<>(); Loading