Move developer options related class to development package
Bug: 34203528
Test: none, purely moving classes around
Change-Id: I3cd1d257f948729fda5c04632e7ce9114c40bd0c
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0c5c6ef..a6d066b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1890,7 +1890,7 @@
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.system" />
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.DevelopmentSettings" />
+ android:value="com.android.settings.development.DevelopmentSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
diff --git a/res/layout/preference_home_app.xml b/res/layout/preference_home_app.xml
deleted file mode 100644
index 5c74aa8..0000000
--- a/res/layout/preference_home_app.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical"
- android:paddingStart="@*android:dimen/preference_item_padding_side">
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:id="@+id/home_app_pref"
- android:focusable="true"
- android:clickable="true"
- android:gravity="center_vertical"
- android:background="?android:attr/selectableItemBackground" >
-
- <RadioButton
- android:id="@+id/home_radio"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_marginStart="10dip"
- android:layout_marginEnd="4dip"
- android:layout_gravity="center_vertical"
- android:orientation="vertical"
- android:clickable="false"
- android:focusable="false" />
-
- <ImageView
- android:id="@android:id/icon"
- android:layout_width="48dp"
- android:layout_height="48dp"
- android:layout_gravity="center"
- android:minWidth="48dp"
- android:scaleType="centerInside"
- android:layout_marginEnd="@*android:dimen/preference_item_padding_inner" />
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:focusable="true"
- android:clickable="true"
- android:gravity="center_vertical"
- android:orientation="vertical">
-
- <TextView
- android:id="@android:id/title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:ellipsize="end" />
-
- <TextView
- android:id="@android:id/summary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall" />
-
- </LinearLayout>
-
- </LinearLayout>
-
- <View
- android:id="@+id/home_divider"
- android:layout_width="2dip"
- android:layout_height="match_parent"
- android:layout_marginTop="5dip"
- android:layout_marginBottom="5dip"
- android:background="@android:drawable/divider_horizontal_dark" />
-
- <ImageView
- android:id="@+id/home_app_uninstall"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:paddingStart="12dip"
- android:paddingEnd="12dp"
- android:src="@drawable/ic_menu_delete"
- android:contentDescription="@string/home_app_uninstall_button"
- android:layout_gravity="center"
- android:clickable="true"
- android:focusable="true"
- android:background="?android:attr/selectableItemBackground" />
-
-</LinearLayout>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ae2ee09..ddb1bf1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5716,9 +5716,6 @@
<!-- Applicaitons with restrictions - settings button [CHAR LIMIT=30] -->
<string name="apps_with_restrictions_settings_button">Expand settings for application</string>
- <!-- Home application selection - uninstall button [CHAR LIMIT=80] -->
- <string name="home_app_uninstall_button">Uninstall this application</string>
-
<!-- Warning message when changing a global setting for a tablet.[CHAR LIMIT=none] -->
<string name="global_change_warning" product="tablet">This setting affects all users on this tablet.</string>
<!-- Warning message when changing a global setting for a phone.[CHAR LIMIT=none] -->
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index 955802d..8422f3e 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -69,7 +69,7 @@
android:summary="@string/convert_to_file_encryption_enabled"
android:fragment="com.android.settings.applications.ConvertToFbe" />
- <com.android.settings.ColorModePreference
+ <com.android.settings.development.ColorModePreference
android:key="color_mode"
android:title="@string/picture_color_mode"
android:summary="@string/picture_color_mode_desc" />
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(
diff --git a/tests/robotests/src/com/android/settings/DevelopmentSettingsTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsTest.java
similarity index 95%
rename from tests/robotests/src/com/android/settings/DevelopmentSettingsTest.java
rename to tests/robotests/src/com/android/settings/development/DevelopmentSettingsTest.java
index 3e7d4ac..485a539 100644
--- a/tests/robotests/src/com/android/settings/DevelopmentSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings;
+package com.android.settings.development;
import android.app.Activity;
import android.content.Context;
@@ -22,6 +22,8 @@
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.drawer.CategoryKey;
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
index c162aec..4475d18 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
@@ -26,7 +26,7 @@
import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.DevelopmentSettings;
+import com.android.settings.development.DevelopmentSettings;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.core.lifecycle.Lifecycle;
@@ -48,7 +48,6 @@
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;