From 354b53f9ed0d493a271bcb642ed014c456f5fb0c Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Thu, 30 Jun 2016 11:26:08 -0400 Subject: Pre-setup restrictions DO NOT MERGE - Prevent external tiles from system apps - Don't let user settings run - Disable help Bug: 29194585 Change-Id: I74ab8aaab62d62cc4dbbdf3164429a503f3a572b --- src/com/android/settings/HelpUtils.java | 7 +++++++ src/com/android/settings/SettingsActivity.java | 5 +++++ src/com/android/settings/users/UserSettings.java | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/src/com/android/settings/HelpUtils.java b/src/com/android/settings/HelpUtils.java index 3c36edb..1b6cbf7 100644 --- a/src/com/android/settings/HelpUtils.java +++ b/src/com/android/settings/HelpUtils.java @@ -24,6 +24,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources.Theme; import android.net.Uri; +import android.provider.Settings.Global; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; @@ -90,6 +91,9 @@ public class HelpUtils { */ public static boolean prepareHelpMenuItem(final Activity activity, MenuItem helpMenuItem, String helpUriString, String backupContext) { + if (Global.getInt(activity.getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) { + return false; + } if (TextUtils.isEmpty(helpUriString)) { // The help url string is empty or null, so set the help menu item to be invisible. helpMenuItem.setVisible(false); @@ -123,6 +127,9 @@ public class HelpUtils { public static Intent getHelpIntent(Context context, String helpUriString, String backupContext) { + if (Global.getInt(context.getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) { + return null; + } // Try to handle as Intent Uri, otherwise just treat as Uri. try { Intent intent = Intent.parseUri(helpUriString, diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 8edec09..39c0e90 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -46,6 +46,7 @@ import android.preference.Preference; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.preference.PreferenceScreen; +import android.provider.Settings.Global; import android.text.TextUtils; import android.transition.TransitionManager; import android.util.ArrayMap; @@ -1316,6 +1317,10 @@ public class SettingsActivity extends Activity } private void addExternalTiles(List target) { + if (Global.getInt(getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) { + // Don't add external tiles until device is set up. + return; + } Map, DashboardTile> addedCache = new ArrayMap, DashboardTile>(); UserManager userManager = UserManager.get(this); diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index 1849a9a..1278d54 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -45,6 +45,7 @@ import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.provider.Settings; +import android.provider.Settings.Global; import android.provider.Settings.Secure; import android.util.Log; import android.util.SparseArray; @@ -229,6 +230,11 @@ public class UserSettings extends SettingsPreferenceFragment filter.addAction(Intent.ACTION_USER_INFO_CHANGED); context.registerReceiverAsUser(mUserChangeReceiver, UserHandle.ALL, filter, null, mHandler); + + if (Global.getInt(getContext().getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) { + getActivity().finish(); + return; + } } @Override -- cgit v1.1