Move developer options related class to development package

Bug: 34203528
Test: none, purely moving classes around
Change-Id: I3cd1d257f948729fda5c04632e7ce9114c40bd0c
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 73561a6..11190d5 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -60,6 +60,7 @@
 import com.android.settings.core.instrumentation.SharedPreferencesLogger;
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.DashboardSummary;
+import com.android.settings.development.DevelopmentSettings;
 import com.android.settings.enterprise.EnterprisePrivacySettings;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.DynamicIndexableContentMonitor;
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index f267640..909ddfe 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -750,30 +750,6 @@
                || um.getUserProfiles().contains(otherUser);
    }
 
-
-    /**
-     * Returns whether or not this device is able to be OEM unlocked.
-     */
-    static boolean isOemUnlockEnabled(Context context) {
-        PersistentDataBlockManager manager =(PersistentDataBlockManager)
-                context.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
-        return manager.getOemUnlockEnabled();
-    }
-
-    /**
-     * Allows enabling or disabling OEM unlock on this device. OEM unlocked
-     * devices allow users to flash other OSes to them.
-     */
-    static void setOemUnlockEnabled(Context context, boolean enabled) {
-        try {
-            PersistentDataBlockManager manager = (PersistentDataBlockManager)
-                    context.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
-            manager.setOemUnlockEnabled(enabled);
-        } catch (SecurityException e) {
-            Log.e(TAG, "Fail to set oem unlock.", e);
-        }
-    }
-
     /**
      * Return whether or not the user should have a SIM Cards option in Settings.
      * TODO: Change back to returning true if count is greater than one after testing.
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 8514e8f..fb2c9ce 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -22,7 +22,6 @@
 import com.android.settings.ChooseLockPattern;
 import com.android.settings.CryptKeeperSettings;
 import com.android.settings.DateTimeSettings;
-import com.android.settings.DevelopmentSettings;
 import com.android.settings.DeviceAdminSettings;
 import com.android.settings.DeviceInfoSettings;
 import com.android.settings.DisplaySettings;
@@ -65,6 +64,7 @@
 import com.android.settings.dashboard.SupportFragment;
 import com.android.settings.datausage.DataUsageSummary;
 import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
+import com.android.settings.development.DevelopmentSettings;
 import com.android.settings.deviceinfo.ImeiInformation;
 import com.android.settings.deviceinfo.PrivateVolumeForget;
 import com.android.settings.deviceinfo.PrivateVolumeSettings;
diff --git a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
index 8935ee3..c65c316 100644
--- a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
+++ b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
@@ -18,7 +18,6 @@
 
 import android.util.ArrayMap;
 
-import com.android.settings.DevelopmentSettings;
 import com.android.settings.DisplaySettings;
 import com.android.settings.SecuritySettings;
 import com.android.settings.accounts.AccountDetailDashboardFragment;
@@ -26,6 +25,7 @@
 import com.android.settings.applications.AdvancedAppSettings;
 import com.android.settings.applications.AppAndNotificationDashboardFragment;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
+import com.android.settings.development.DevelopmentSettings;
 import com.android.settings.deviceinfo.StorageDashboardFragment;
 import com.android.settings.fuelgauge.PowerUsageSummary;
 import com.android.settings.language.LanguageAndInputSettings;
diff --git a/src/com/android/settings/ColorModePreference.java b/src/com/android/settings/development/ColorModePreference.java
similarity index 97%
rename from src/com/android/settings/ColorModePreference.java
rename to src/com/android/settings/development/ColorModePreference.java
index 74abf5d..e0b0837 100644
--- a/src/com/android/settings/ColorModePreference.java
+++ b/src/com/android/settings/development/ColorModePreference.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.settings;
+package com.android.settings.development;
 
 import android.content.Context;
 import android.content.res.Resources;
@@ -25,6 +25,8 @@
 import android.util.AttributeSet;
 import android.view.Display;
 
+import com.android.settings.R;
+
 import java.util.ArrayList;
 
 public class ColorModePreference extends SwitchPreference implements DisplayListener {
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/development/DevelopmentSettings.java
similarity index 98%
rename from src/com/android/settings/DevelopmentSettings.java
rename to src/com/android/settings/development/DevelopmentSettings.java
index 6aae587..2a4a231 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/development/DevelopmentSettings.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings;
+package com.android.settings.development;
 
 import android.Manifest;
 import android.app.Activity;
@@ -55,7 +55,6 @@
 import android.os.ServiceManager;
 import android.os.StrictMode;
 import android.os.SystemProperties;
-import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.storage.IStorageManager;
 import android.provider.SearchIndexableResource;
@@ -84,11 +83,12 @@
 
 import com.android.internal.app.LocalePicker;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.ChooseLockSettingsHelper;
+import com.android.settings.R;
+import com.android.settings.RestrictedSettingsFragment;
+import com.android.settings.SettingsActivity;
+import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFeatureProvider;
-import com.android.settings.development.AppPicker;
-import com.android.settings.development.BugReportInPowerPreferenceController;
-import com.android.settings.development.BugReportPreferenceController;
-import com.android.settings.development.TelephonyMonitorPreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
@@ -1082,12 +1082,13 @@
     }
 
     private boolean enableOemUnlockPreference() {
-        return !isBootloaderUnlocked() && isOemUnlockAllowed();
+        return !isBootloaderUnlocked() && OemUnlockUtils.isOemUnlockAllowed(mUm);
     }
 
     private void updateOemUnlockOptions() {
         if (mEnableOemUnlock != null) {
-            updateSwitchPreference(mEnableOemUnlock, Utils.isOemUnlockEnabled(getActivity()));
+            updateSwitchPreference(mEnableOemUnlock,
+                    OemUnlockUtils.isOemUnlockEnabled(getActivity()));
             updateOemUnlockSettingDescription();
             // Showing mEnableOemUnlock preference as device has persistent data block.
             mEnableOemUnlock.setDisabledByAdmin(null);
@@ -2297,7 +2298,7 @@
             @Override
             public void onClick(DialogInterface dialog, int which) {
                 if (which == DialogInterface.BUTTON_POSITIVE) {
-                    Utils.setOemUnlockEnabled(getActivity(), true);
+                    OemUnlockUtils.setOemUnlockEnabled(getActivity(), true);
                 }
             }
         };
@@ -2369,7 +2370,7 @@
                 if (mEnableOemUnlock.isChecked()) {
                     confirmEnableOemUnlock();
                 } else {
-                    Utils.setOemUnlockEnabled(getActivity(), false);
+                    OemUnlockUtils.setOemUnlockEnabled(getActivity(), false);
                 }
             }
         } else {
@@ -2439,7 +2440,7 @@
                     confirmEnableOemUnlock();
                 }
             } else {
-                Utils.setOemUnlockEnabled(getActivity(), false);
+                OemUnlockUtils.setOemUnlockEnabled(getActivity(), false);
             }
         } else if (preference == mMockLocationAppPref) {
             Intent intent = new Intent(getActivity(), AppPicker.class);
@@ -2807,7 +2808,7 @@
                 oemUnlockSummary = R.string.oem_unlock_enable_disabled_summary_bootloader_unlocked;
             } else if (isSimLockedDevice()) {
                 oemUnlockSummary = R.string.oem_unlock_enable_disabled_summary_sim_locked_device;
-            } else if (!isOemUnlockAllowed()) {
+            } else if (!OemUnlockUtils.isOemUnlockAllowed(mUm)) {
                 // If the device isn't SIM-locked but OEM unlock is disabled by the system via the
                 // user restriction, this means either some other carrier restriction is in place or
                 // the device hasn't been able to confirm which restrictions (SIM-lock or otherwise)
@@ -2842,14 +2843,5 @@
         return flashLockState == PersistentDataBlockManager.FLASH_LOCK_UNLOCKED;
     }
 
-    /**
-     * Returns {@code true} if OEM unlock is disallowed by user restriction
-     * {@link UserManager#DISALLOW_FACTORY_RESET} or {@link UserManager#DISALLOW_OEM_UNLOCK}.
-     * Otherwise, returns {@code false}.
-     */
-    private boolean isOemUnlockAllowed() {
-        UserHandle userHandle = UserHandle.of(UserHandle.myUserId());
-        return !(mUm.hasBaseUserRestriction(UserManager.DISALLOW_OEM_UNLOCK, userHandle)
-                || mUm.hasBaseUserRestriction(UserManager.DISALLOW_FACTORY_RESET, userHandle));
-    }
+
 }
diff --git a/src/com/android/settings/development/OemUnlockUtils.java b/src/com/android/settings/development/OemUnlockUtils.java
new file mode 100644
index 0000000..cee3679
--- /dev/null
+++ b/src/com/android/settings/development/OemUnlockUtils.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.development;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.service.persistentdata.PersistentDataBlockManager;
+import android.util.Log;
+
+public class OemUnlockUtils {
+    private static final String TAG = "OemUnlockUtils";
+
+    /**
+     * Returns whether or not this device is able to be OEM unlocked.
+     */
+    static boolean isOemUnlockEnabled(Context context) {
+        PersistentDataBlockManager manager = (PersistentDataBlockManager)
+                context.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
+        return manager.getOemUnlockEnabled();
+    }
+
+    /**
+     * Allows enabling or disabling OEM unlock on this device. OEM unlocked
+     * devices allow users to flash other OSes to them.
+     */
+    static void setOemUnlockEnabled(Context context, boolean enabled) {
+        try {
+            PersistentDataBlockManager manager = (PersistentDataBlockManager)
+                    context.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
+            manager.setOemUnlockEnabled(enabled);
+        } catch (SecurityException e) {
+            Log.e(TAG, "Fail to set oem unlock.", e);
+        }
+    }
+
+    /**
+     * Returns {@code true} if OEM unlock is disallowed by user restriction
+     * {@link UserManager#DISALLOW_FACTORY_RESET} or {@link UserManager#DISALLOW_OEM_UNLOCK}.
+     * Otherwise, returns {@code false}.
+     */
+    static boolean isOemUnlockAllowed(UserManager um) {
+        final UserHandle userHandle = UserHandle.of(UserHandle.myUserId());
+        return !(um.hasBaseUserRestriction(UserManager.DISALLOW_OEM_UNLOCK, userHandle)
+                || um.hasBaseUserRestriction(UserManager.DISALLOW_FACTORY_RESET, userHandle));
+    }
+}
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index a46a62e..4062be8 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -31,7 +31,6 @@
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.ChooseLockSettingsHelper;
-import com.android.settings.DevelopmentSettings;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.PreferenceController;
@@ -39,6 +38,7 @@
 import com.android.settings.core.lifecycle.Lifecycle;
 import com.android.settings.core.lifecycle.LifecycleObserver;
 import com.android.settings.core.lifecycle.events.OnResume;
+import com.android.settings.development.DevelopmentSettings;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search2.SearchFeatureProvider;
 import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/qstile/DevelopmentTiles.java b/src/com/android/settings/qstile/DevelopmentTiles.java
index 635e9f0..ad60827 100644
--- a/src/com/android/settings/qstile/DevelopmentTiles.java
+++ b/src/com/android/settings/qstile/DevelopmentTiles.java
@@ -27,7 +27,7 @@
 import android.view.WindowManagerGlobal;
 
 import com.android.internal.app.LocalePicker;
-import com.android.settings.DevelopmentSettings;
+import com.android.settings.development.DevelopmentSettings;
 
 public abstract class DevelopmentTiles extends TileService {
 
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 329451c..b37b91b 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -22,7 +22,6 @@
 import android.support.annotation.XmlRes;
 
 import com.android.settings.DateTimeSettings;
-import com.android.settings.DevelopmentSettings;
 import com.android.settings.DeviceInfoSettings;
 import com.android.settings.DisplaySettings;
 import com.android.settings.EncryptionAndCredential;
@@ -42,6 +41,7 @@
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
 import com.android.settings.datausage.DataUsageMeteredSettings;
 import com.android.settings.datausage.DataUsageSummary;
+import com.android.settings.development.DevelopmentSettings;
 import com.android.settings.deviceinfo.StorageDashboardFragment;
 import com.android.settings.deviceinfo.StorageSettings;
 import com.android.settings.display.ScreenZoomSettings;
@@ -165,7 +165,8 @@
                 R.drawable.ic_settings_notifications);
         addIndex(SystemDashboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_about);
         addIndex(StorageDashboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_storage);
-        addIndex(ConnectedDeviceDashboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_devices_other);
+        addIndex(ConnectedDeviceDashboardFragment.class, NO_DATA_RES_ID,
+                R.drawable.ic_devices_other);
         addIndex(EnterprisePrivacySettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_about);
         addIndex(PaymentSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_nfc_payment);
         addIndex(