OSDN Git Service

Pre-setup restrictions DO NOT MERGE
authorJason Monk <jmonk@google.com>
Thu, 30 Jun 2016 15:26:08 +0000 (11:26 -0400)
committergitbuildkicker <android-build@google.com>
Fri, 22 Jul 2016 00:35:48 +0000 (17:35 -0700)
 - 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
src/com/android/settings/SettingsActivity.java
src/com/android/settings/users/UserSettings.java

index 3c36edb..1b6cbf7 100644 (file)
@@ -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,
index 8edec09..39c0e90 100644 (file)
@@ -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<DashboardCategory> target) {
+        if (Global.getInt(getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) {
+            // Don't add external tiles until device is set up.
+            return;
+        }
         Map<Pair<String, String>, DashboardTile> addedCache =
                 new ArrayMap<Pair<String, String>, DashboardTile>();
         UserManager userManager = UserManager.get(this);
index 1849a9a..1278d54 100644 (file)
@@ -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