From 1f37d2cc7a4e9f9109c29795b746270ca865a23a Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Wed, 10 Jan 2018 15:58:20 -0800 Subject: [PATCH] Misc fixes in device info page - Move DeviceInfoSettings to deviceinfo package - Remove deprecated manifest entries - Rename a bunch of things - Add ripple and change text color to accent for security patch Change-Id: I35c04e53829a67cba553f984ad1a1b9319077873 Fixes: 71775150 Test: robotests --- AndroidManifest.xml | 41 +------------------ res/layout/dialog_firmware_version.xml | 4 +- ...ttings_v2.xml => device_info_settings.xml} | 0 .../core/gateway/SettingsGateway.java | 2 +- .../{ => deviceinfo}/DeviceInfoSettings.java | 36 ++++++---------- ... FirmwareVersionPreferenceController.java} | 5 +-- ...java => ImeiInfoPreferenceController.java} | 4 +- ...ava => SimStatusPreferenceController.java} | 4 +- .../search/SearchIndexableResources.java | 2 +- .../DeviceInfoSettingsTest.java | 17 +++++--- ...mwareVersionPreferenceControllerTest.java} | 6 +-- ... => ImeiInfoPreferenceControllerTest.java} | 6 +-- ...=> SimStatusPreferenceControllerTest.java} | 6 +-- 13 files changed, 45 insertions(+), 88 deletions(-) rename res/xml/{device_info_settings_v2.xml => device_info_settings.xml} (100%) rename src/com/android/settings/{ => deviceinfo}/DeviceInfoSettings.java (83%) rename src/com/android/settings/deviceinfo/firmwareversion/{FirmwareVersionPreferenceControllerV2.java => FirmwareVersionPreferenceController.java} (91%) rename src/com/android/settings/deviceinfo/imei/{ImeiInfoPreferenceControllerV2.java => ImeiInfoPreferenceController.java} (97%) rename src/com/android/settings/deviceinfo/simstatus/{SimStatusPreferenceControllerV2.java => SimStatusPreferenceController.java} (97%) rename tests/robotests/src/com/android/settings/{ => deviceinfo}/DeviceInfoSettingsTest.java (90%) rename tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/{FirmwareVersionPreferenceControllerV2Test.java => FirmwareVersionPreferenceControllerTest.java} (93%) rename tests/robotests/src/com/android/settings/deviceinfo/imei/{ImeiInfoPreferenceControllerV2Test.java => ImeiInfoPreferenceControllerTest.java} (97%) rename tests/robotests/src/com/android/settings/deviceinfo/simstatus/{SimStatusPreferenceControllerV2Test.java => SimStatusPreferenceControllerTest.java} (95%) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 8c1ab5648b0..db3adeeee4b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1006,7 +1006,7 @@ + android:value="com.android.settings.deviceinfo.DeviceInfoSettings" /> @@ -1782,45 +1782,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content" + android:background="?android:attr/selectableItemBackground" + android:textColor="?android:attr/colorAccent"/> controllers = new ArrayList<>(); controllers.add(new PhoneNumberPreferenceController(context)); - controllers.add(new SimStatusPreferenceControllerV2(context, fragment)); + controllers.add(new SimStatusPreferenceController(context, fragment)); controllers.add(new DeviceModelPreferenceController(context, fragment)); - controllers.add(new ImeiInfoPreferenceControllerV2(context, fragment)); - controllers.add(new FirmwareVersionPreferenceControllerV2(context, fragment)); + controllers.add(new ImeiInfoPreferenceController(context, fragment)); + controllers.add(new FirmwareVersionPreferenceController(context, fragment)); controllers.add(new ImsStatusPreferenceController(context, lifecycle)); controllers.add(new IpAddressPreferenceController(context, lifecycle)); controllers.add(new WifiMacAddressPreferenceController(context, lifecycle)); @@ -176,7 +166,7 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable { public List getXmlResourcesToIndex( Context context, boolean enabled) { final SearchIndexableResource sir = new SearchIndexableResource(context); - sir.xmlResId = R.xml.device_info_settings_v2; + sir.xmlResId = R.xml.device_info_settings; return Arrays.asList(sir); } diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerV2.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java similarity index 91% rename from src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerV2.java rename to src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java index 3ce9ee1cdc6..7629890916b 100644 --- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerV2.java +++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java @@ -26,20 +26,19 @@ import android.text.TextUtils; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; -public class FirmwareVersionPreferenceControllerV2 extends AbstractPreferenceController implements +public class FirmwareVersionPreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin { private final static String FIRMWARE_VERSION_KEY = "firmware_version"; private final Fragment mFragment; - public FirmwareVersionPreferenceControllerV2(Context context, Fragment fragment) { + public FirmwareVersionPreferenceController(Context context, Fragment fragment) { super(context); mFragment = fragment; } - @Override public boolean isAvailable() { return true; diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerV2.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java similarity index 97% rename from src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerV2.java rename to src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java index dcc6db6c5aa..52ba94e551d 100644 --- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerV2.java +++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java @@ -35,7 +35,7 @@ import java.util.List; /** * Controller that manages preference for single and multi sim devices. */ -public class ImeiInfoPreferenceControllerV2 extends +public class ImeiInfoPreferenceController extends AbstractSimStatusImeiInfoPreferenceController implements PreferenceControllerMixin { private static final String KEY_IMEI_INFO = "imei_info"; @@ -45,7 +45,7 @@ public class ImeiInfoPreferenceControllerV2 extends private final List mPreferenceList = new ArrayList<>(); private final Fragment mFragment; - public ImeiInfoPreferenceControllerV2(Context context, Fragment fragment) { + public ImeiInfoPreferenceController(Context context, Fragment fragment) { super(context); mFragment = fragment; diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerV2.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java similarity index 97% rename from src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerV2.java rename to src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java index 55493dc3ba0..00910e4536d 100644 --- a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerV2.java +++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java @@ -32,7 +32,7 @@ import com.android.settingslib.deviceinfo.AbstractSimStatusImeiInfoPreferenceCon import java.util.ArrayList; import java.util.List; -public class SimStatusPreferenceControllerV2 extends +public class SimStatusPreferenceController extends AbstractSimStatusImeiInfoPreferenceController implements PreferenceControllerMixin { private static final String KEY_SIM_STATUS = "sim_status"; @@ -42,7 +42,7 @@ public class SimStatusPreferenceControllerV2 extends private final Fragment mFragment; private final List mPreferenceList = new ArrayList<>(); - public SimStatusPreferenceControllerV2(Context context, Fragment fragment) { + public SimStatusPreferenceController(Context context, Fragment fragment) { super(context); mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java index f8125cbe1be..b0159cf4747 100644 --- a/src/com/android/settings/search/SearchIndexableResources.java +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -19,7 +19,6 @@ package com.android.settings.search; import android.support.annotation.VisibleForTesting; import com.android.settings.DateTimeSettings; -import com.android.settings.DeviceInfoSettings; import com.android.settings.DisplaySettings; import com.android.settings.LegalSettings; import com.android.settings.accessibility.AccessibilitySettings; @@ -39,6 +38,7 @@ import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragmentOld; import com.android.settings.datausage.DataUsageSummary; import com.android.settings.deletionhelper.AutomaticStorageManagerSettings; import com.android.settings.development.DevelopmentSettingsDashboardFragment; +import com.android.settings.deviceinfo.DeviceInfoSettings; import com.android.settings.deviceinfo.StorageDashboardFragment; import com.android.settings.deviceinfo.StorageSettings; import com.android.settings.display.AmbientDisplaySettings; diff --git a/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java b/tests/robotests/src/com/android/settings/deviceinfo/DeviceInfoSettingsTest.java similarity index 90% rename from tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java rename to tests/robotests/src/com/android/settings/deviceinfo/DeviceInfoSettingsTest.java index 09ff9db74fa..7555d8ee3f7 100644 --- a/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/DeviceInfoSettingsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 The Android Open Source Project + * Copyright (C) 2018 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. @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.android.settings; +package com.android.settings.deviceinfo; -import static com.android.settings.DeviceInfoSettings.NON_SIM_PREFERENCES_COUNT; -import static com.android.settings.DeviceInfoSettings.SIM_PREFERENCES_COUNT; import static com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY; +import static com.android.settings.deviceinfo.DeviceInfoSettings.NON_SIM_PREFERENCES_COUNT; +import static com.android.settings.deviceinfo.DeviceInfoSettings.SIM_PREFERENCES_COUNT; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doNothing; @@ -33,6 +33,8 @@ import android.os.Bundle; import android.support.v7.preference.PreferenceScreen; import android.telephony.TelephonyManager; +import com.android.settings.R; +import com.android.settings.TestConfig; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; @@ -51,6 +53,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import org.robolectric.shadows.ShadowApplication; import java.util.List; @@ -82,12 +85,14 @@ public class DeviceInfoSettingsTest { mSettings = spy(new DeviceInfoSettings()); doReturn(mActivity).when(mSettings).getActivity(); + doReturn(mContext).when(mSettings).getContext(); doReturn(mContext.getTheme()).when(mActivity).getTheme(); doReturn(mContext.getResources()).when(mSettings).getResources(); doNothing().when(mSettings).onCreatePreferences(any(), any()); doReturn(mScreen).when(mSettings).getPreferenceScreen(); - doReturn(mTelephonyManager).when(mSettings).getSystemService(Context.TELEPHONY_SERVICE); + ShadowApplication.getInstance().setSystemService(Context.TELEPHONY_SERVICE, + mTelephonyManager); } @Test @@ -95,7 +100,7 @@ public class DeviceInfoSettingsTest { SettingsShadowSystemProperties.class }) public void getPrefXml_shouldReturnDeviceInfoXml() { - assertThat(mSettings.getPreferenceScreenResId()).isEqualTo(R.xml.device_info_settings_v2); + assertThat(mSettings.getPreferenceScreenResId()).isEqualTo(R.xml.device_info_settings); } @Test diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerV2Test.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java similarity index 93% rename from tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerV2Test.java rename to tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java index 5fa8a913708..b3440f432ef 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerV2Test.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java @@ -44,7 +44,7 @@ import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) -public class FirmwareVersionPreferenceControllerV2Test { +public class FirmwareVersionPreferenceControllerTest { @Mock private Preference mPreference; @@ -54,13 +54,13 @@ public class FirmwareVersionPreferenceControllerV2Test { private Fragment mFragment; private Context mContext; - private FirmwareVersionPreferenceControllerV2 mController; + private FirmwareVersionPreferenceController mController; @Before public void setup() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; - mController = new FirmwareVersionPreferenceControllerV2(mContext, mFragment); + mController = new FirmwareVersionPreferenceController(mContext, mFragment); when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); } diff --git a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerV2Test.java b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java similarity index 97% rename from tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerV2Test.java rename to tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java index 186d9b7cd83..610ccfdc4f7 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerV2Test.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java @@ -50,7 +50,7 @@ import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) -public class ImeiInfoPreferenceControllerV2Test { +public class ImeiInfoPreferenceControllerTest { @Mock private Preference mPreference; @@ -66,14 +66,14 @@ public class ImeiInfoPreferenceControllerV2Test { private Fragment mFragment; private Context mContext; - private ImeiInfoPreferenceControllerV2 mController; + private ImeiInfoPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); doReturn(mUserManager).when(mContext).getSystemService(UserManager.class); - mController = spy(new ImeiInfoPreferenceControllerV2(mContext, mFragment)); + mController = spy(new ImeiInfoPreferenceController(mContext, mFragment)); doReturn(true).when(mController).isAvailable(); when(mScreen.getContext()).thenReturn(mContext); doReturn(mSecondSimPreference).when(mController).createNewPreference(mContext); diff --git a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerV2Test.java b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java similarity index 95% rename from tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerV2Test.java rename to tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java index 8e9cb0b27df..141930461b1 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerV2Test.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java @@ -47,7 +47,7 @@ import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) -public class SimStatusPreferenceControllerV2Test { +public class SimStatusPreferenceControllerTest { @Mock private Preference mPreference; @@ -63,14 +63,14 @@ public class SimStatusPreferenceControllerV2Test { private Fragment mFragment; private Context mContext; - private SimStatusPreferenceControllerV2 mController; + private SimStatusPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); doReturn(mUserManager).when(mContext).getSystemService(UserManager.class); - mController = spy(new SimStatusPreferenceControllerV2(mContext, mFragment)); + mController = spy(new SimStatusPreferenceController(mContext, mFragment)); doReturn(true).when(mController).isAvailable(); when(mScreen.getContext()).thenReturn(mContext); doReturn(mSecondSimPreference).when(mController).createNewPreference(mContext);