From d0fa1537cbf63eea3c1d6e21459957bc16268e7b Mon Sep 17 00:00:00 2001 From: songkailun Date: Tue, 14 Nov 2017 21:57:20 +0800 Subject: [PATCH 01/10] DO NOT MERGE translate arrays in Settings/res "None" should be translated Change-Id: I12a30e6476ec41c2a3bf1878d6b5596bf5ee8ed7 Signed-off-by: songkailun --- res/values-bg/arrays.xml | 2 +- res/values-cs/arrays.xml | 2 +- res/values-el/arrays.xml | 2 +- res/values-es-rUS/arrays.xml | 2 +- res/values-ja/arrays.xml | 2 +- res/values-pl/arrays.xml | 2 +- res/values-sv/arrays.xml | 2 +- res/values-zh-rHK/arrays.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml index b47a8a1c7bc..9344bd0be7f 100644 --- a/res/values-bg/arrays.xml +++ b/res/values-bg/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "Без ефекти" "SPN" "IMSI" "GID" diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml index 8ead7f669be..79aa3191129 100644 --- a/res/values-cs/arrays.xml +++ b/res/values-cs/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "Žádné" "SPN" "IMSI" "GID" diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml index 6e1ba8b1b8c..c54e11c2edb 100644 --- a/res/values-el/arrays.xml +++ b/res/values-el/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "Κανένα" "SPN" "IMSI" "GID" diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml index a476f8357b0..6b0f4bd3700 100644 --- a/res/values-es-rUS/arrays.xml +++ b/res/values-es-rUS/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "Ninguno" "SPN" "IMSI" "GID" diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml index f846cf9bd8e..02d3b0264d6 100644 --- a/res/values-ja/arrays.xml +++ b/res/values-ja/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "なし" "SPN" "IMSI" "GID" diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml index ad48481ccd3..d8927cda96a 100644 --- a/res/values-pl/arrays.xml +++ b/res/values-pl/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "Brak" "SPN" "IMSI" "GID" diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml index 7f3847c5ed9..a5adc6cf7f2 100644 --- a/res/values-sv/arrays.xml +++ b/res/values-sv/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "Ingen" "SPN" "IMSI" "GID" diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml index a29d2b8c604..93415d95237 100644 --- a/res/values-zh-rHK/arrays.xml +++ b/res/values-zh-rHK/arrays.xml @@ -219,7 +219,7 @@ "IS95A" - "None" + "無" "SPN" "IMSI" "GID" From cafc84d2d0d7ce45b5affc114398f73e2e755d9b Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Wed, 22 Nov 2017 11:21:29 -0800 Subject: [PATCH 02/10] Move accessibility package to sdk 26 Test: make RunSettingsRoboTests -j40 Change-Id: I6fa70ec4da82e29934a21cd5780175aa510b5d62 --- .../settings/accessibility/AccessibilitySettingsTest.java | 2 +- .../accessibility/ShortcutServicePickerFragmentTest.java | 2 +- .../accessibility/ToggleFeaturePreferenceFragmentTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java index fb32da11ccd..66165374ad8 100644 --- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java @@ -33,7 +33,7 @@ import java.util.List; import static com.google.common.truth.Truth.assertThat; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AccessibilitySettingsTest { @Test diff --git a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java index 66621a000bd..2e95c732b8a 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java @@ -41,7 +41,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class ShortcutServicePickerFragmentTest { private static final String TEST_SERVICE_KEY_1 = "abc/123"; diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java index 5ef5a12c36f..8d1d1743edb 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java @@ -38,7 +38,7 @@ import org.robolectric.annotation.Config; import org.robolectric.util.FragmentTestUtil; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O, shadows = { SettingsShadowResources.class, SettingsShadowResources.SettingsShadowTheme.class, From 2179c16b09c1cde3c18a9e0f3e3c8887cfc9a262 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Wed, 22 Nov 2017 11:39:21 -0800 Subject: [PATCH 03/10] Update AccountDetailDashboardFragmentTest - Update test to work with sdk 26 Test: make RunSettingsRoboTests -j40 Change-Id: I4c1c98330951f48f378330b51178fc188bba2571 --- .../accounts/AccountDetailDashboardFragmentTest.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java index cfed83b790a..89245510d46 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java @@ -55,15 +55,13 @@ import static org.mockito.Mockito.when; import static org.robolectric.Shadows.shadowOf; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AccountDetailDashboardFragmentTest { private static final String METADATA_CATEGORY = "com.android.settings.category"; private static final String METADATA_ACCOUNT_TYPE = "com.android.settings.ia.account"; private static final String METADATA_USER_HANDLE = "user_handle"; - @Mock(answer = RETURNS_DEEP_STUBS) - private Activity mActivity; @Mock(answer = RETURNS_DEEP_STUBS) private AccountManager mAccountManager; @Mock @@ -129,11 +127,11 @@ public class AccountDetailDashboardFragmentTest { @Test public void refreshDashboardTiles_HasAccountType_shouldAddAccountNameToIntent() { - FakeFeatureFactory.setupForTest(mActivity); + FakeFeatureFactory.setupForTest(mContext); final FakeFeatureFactory featureFactory = - (FakeFeatureFactory) FakeFeatureFactory.getFactory(mActivity); + (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); final DashboardFeatureProviderImpl dashboardFeatureProvider = - new DashboardFeatureProviderImpl(mActivity); + new DashboardFeatureProviderImpl(mContext); final PackageManager packageManager = mock(PackageManager.class); ReflectionHelpers.setField(dashboardFeatureProvider, "mPackageManager", packageManager); when(packageManager.resolveActivity(any(Intent.class), anyInt())) From 7b1da613467fa6e466f0a99d72fb12f3c54fd433 Mon Sep 17 00:00:00 2001 From: yuemingw Date: Mon, 23 Oct 2017 18:36:00 +0100 Subject: [PATCH 04/10] Block settings when DISALLOW_CONFIG_DATE_TIME. Test: m -j RunSettingsRoboTests runtest -x packages/apps/Settings/tests/unit/src/com/android/settings/core/UserRestrictionTest.java Fix: 67497909 After turn on the user restriction in TestDPC: https://hsv.googleplex.com/5414119658225664 The date time settings page become: https://hsv.googleplex.com/5199302573948928 Change-Id: I42590c4a505ec1b6ffa86eb460b90fa6ec8ba783 --- res/xml/date_time_prefs.xml | 23 +-- .../AutoTimePreferenceController.java | 6 +- .../datetime/DatePreferenceController.java | 8 +- .../datetime/TimePreferenceController.java | 8 +- .../TimeZonePreferenceController.java | 8 +- .../DatePreferenceControllerTest.java | 12 +- .../TimePreferenceControllerTest.java | 15 +- .../TimeZonePreferenceControllerTest.java | 12 +- .../settings/core/UserRestrictionTest.java | 151 ++++++++++++++++++ 9 files changed, 222 insertions(+), 21 deletions(-) create mode 100644 tests/unit/src/com/android/settings/core/UserRestrictionTest.java diff --git a/res/xml/date_time_prefs.xml b/res/xml/date_time_prefs.xml index d74e8c2cb84..5219caaa447 100644 --- a/res/xml/date_time_prefs.xml +++ b/res/xml/date_time_prefs.xml @@ -29,32 +29,37 @@ android:summaryOn="@string/date_time_auto_summaryOn" android:summaryOff="@string/date_time_auto_summaryOff" settings:useAdditionalSummary="true" - settings:restrictedSwitchSummary="@string/enabled_by_admin" /> + settings:restrictedSwitchSummary="@string/enabled_by_admin" + settings:userRestriction="no_config_date_time" /> - + android:summary="@string/summary_placeholder" + settings:userRestriction="no_config_date_time" /> - + android:summary="@string/summary_placeholder" + settings:userRestriction="no_config_date_time" /> - + android:summaryOff="@string/zone_auto_summaryOff" + settings:userRestriction="no_config_date_time" /> - + android:summary="GMT-8:00" + settings:userRestriction="no_config_date_time" /> USER_RESTRICTIONS = Sets.newHashSet( + UserManager.DISALLOW_CONFIG_DATE_TIME, + UserManager.DISALLOW_CONFIG_CREDENTIALS, + UserManager.DISALLOW_NETWORK_RESET, + UserManager.DISALLOW_FACTORY_RESET, + UserManager.DISALLOW_CONFIG_TETHERING, + UserManager.DISALLOW_CONFIG_VPN, + UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS + ); + + @Before + public void setUp() { + mContext = InstrumentationRegistry.getTargetContext(); + } + + /** + * Verity that userRestriction attributes are entered and parsed successfully. + */ + @Test + public void userRestrictionAttributeShouldBeValid() + throws IOException, XmlPullParserException, Resources.NotFoundException { + for (Class clazz : SearchIndexableResources.providerValues()) { + verifyUserRestriction(clazz); + } + } + + private void verifyUserRestriction(Class clazz) + throws IOException, XmlPullParserException, Resources.NotFoundException { + if (clazz == null) { + return; + } + final String className = clazz.getName(); + final Indexable.SearchIndexProvider provider = + DatabaseIndexingUtils.getSearchIndexProvider(clazz); + final List resourcesToIndex = + provider.getXmlResourcesToIndex(mContext, true); + + if (resourcesToIndex == null) { + Log.d(TAG, className + "is not providing SearchIndexableResource, skipping"); + return; + } + + for (SearchIndexableResource sir : resourcesToIndex) { + if (sir.xmlResId <= 0) { + Log.d(TAG, className + " doesn't have a valid xml to index."); + continue; + } + final XmlResourceParser parser = mContext.getResources().getXml(sir.xmlResId); + + int type; + while ((type = parser.next()) != XmlPullParser.END_DOCUMENT + && type != XmlPullParser.START_TAG) { + // Parse next until start tag is found + } + final int outerDepth = parser.getDepth(); + + do { + if (type != XmlPullParser.START_TAG) { + continue; + } + final String nodeName = parser.getName(); + if (!nodeName.endsWith("Preference")) { + continue; + } + final AttributeSet attrs = Xml.asAttributeSet(parser); + final String userRestriction = getDataUserRestrictions(mContext, attrs); + if (userRestriction != null) { + if(!isValidRestriction(userRestriction)) { + fail("userRestriction in " + className + " not valid."); + } + } + } while ((type = parser.next()) != XmlPullParser.END_DOCUMENT + && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)); + } + } + + boolean isValidRestriction(String userRestriction) { + return USER_RESTRICTIONS.contains(userRestriction); + } + + private String getDataUserRestrictions(Context context, AttributeSet attrs) { + return getData(context, attrs, + com.android.settingslib.R.styleable.RestrictedPreference, + com.android.settingslib.R.styleable.RestrictedPreference_userRestriction); + } + + private String getData(Context context, AttributeSet set, int[] attrs, int resId) { + final TypedArray ta = context.obtainStyledAttributes(set, attrs); + String data = ta.getString(resId); + ta.recycle(); + return data; + } +} From be36ba3432eada2aa63a9c69a58d548da8151c48 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Mon, 20 Nov 2017 16:18:06 -0800 Subject: [PATCH 05/10] Update SetupChooseLockPatternTest to SDK 26 - create a new ShadowResourcesImpl because sdk 26 calls loadDrawable from ResourcesImpl instead of Resources Test: make RunSettingsRoboTests -j40 Change-Id: I8eed76ea779972c68893d4e7fdfc4493465b9b22 --- .../settings/SetupChooseLockPatternTest.java | 6 +- .../shadow/SettingsShadowResources.java | 7 +++ .../shadow/SettingsShadowResourcesImpl.java | 57 +++++++++++++++++++ 3 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java diff --git a/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java index 206ba953a57..17d10218b8c 100644 --- a/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java +++ b/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java @@ -30,6 +30,7 @@ import com.android.settings.password.ChooseLockPattern.IntentBuilder; import com.android.settings.password.SetupChooseLockPattern; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; +import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl; import com.android.settings.testutils.shadow.ShadowEventLogWriter; import com.android.settings.testutils.shadow.ShadowUtils; @@ -44,9 +45,10 @@ import org.robolectric.shadows.ShadowPackageManager.ComponentState; @RunWith(SettingsRobolectricTestRunner.class) @Config( manifest = TestConfig.MANIFEST_PATH, - sdk = TestConfig.SDK_VERSION, + sdk = TestConfig.SDK_VERSION_O, shadows = { SettingsShadowResources.class, + SettingsShadowResourcesImpl.class, SettingsShadowResources.SettingsShadowTheme.class, ShadowEventLogWriter.class, ShadowUtils.class @@ -62,7 +64,7 @@ public class SetupChooseLockPatternTest { PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); - mActivity = Robolectric.buildActivity( + mActivity = Robolectric.buildActivity( SetupChooseLockPattern.class, SetupChooseLockPattern.modifyIntentForSetup( application, diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java index 183f5ad9c70..b0cd484dd2e 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java @@ -101,6 +101,13 @@ public class SettingsShadowResources extends ShadowResources { return directlyOn(realResources, Resources.class).getColorStateList(id, theme); } + /** + * Deprecated because SDK 24+ uses + * {@link SettingsShadowResourcesImpl#loadDrawable(Resources, TypedValue, int, int, Theme)} + * + * TODO: Delete when all tests have been migrated to sdk 26 + */ + @Deprecated @Implementation public Drawable loadDrawable(TypedValue value, int id, Theme theme) throws NotFoundException { diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java new file mode 100644 index 00000000000..42b02f3c23d --- /dev/null +++ b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java @@ -0,0 +1,57 @@ +/* + * 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.testutils.shadow; + +import android.content.res.Resources; +import android.content.res.ResourcesImpl; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.util.TypedValue; + +import com.android.settings.R; + +import org.robolectric.annotation.Implementation; +import org.robolectric.annotation.Implements; +import org.robolectric.shadows.ShadowResourcesImpl; + +@Implements( + value = ResourcesImpl.class, + isInAndroidSdk = false, + minSdk = 26 +) +public class SettingsShadowResourcesImpl extends ShadowResourcesImpl { + + @Implementation + public Drawable loadDrawable(Resources wrapper, TypedValue value, int id, int density, + Resources.Theme theme) { + // The drawable item in switchbar_background.xml refers to a very recent color attribute + // that Robolectric isn't yet aware of. + // TODO: Remove this once Robolectric is updated. + if (id == R.drawable.switchbar_background) { + return new ColorDrawable(); + } else if (id == R.drawable.ic_launcher_settings) { + // ic_launcher_settings uses adaptive-icon, which is not supported by robolectric, + // change it to a normal drawable. + id = R.drawable.ic_settings_wireless; + } else if (id == R.drawable.app_filter_spinner_background) { + id = R.drawable.ic_expand_more_inverse; + } else if (id == R.drawable.selectable_card_grey) { + id = R.drawable.ic_expand_more_inverse; + } + return super.loadDrawable(wrapper, value, id, density, theme); + } +} From f6c64b532fe0a80d285d9720cf11d53177ca8b91 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Wed, 22 Nov 2017 13:55:35 -0800 Subject: [PATCH 06/10] Fix RemoveAccountPreferenceControllerTest - prevent the test from hanging due to passing a deep fragment mock Test: make RunSettingsRoboTests -j40 Change-Id: I60b6f32b19563dbcd25eda9d98a8c0266480a3f9 --- .../RemoveAccountPreferenceControllerTest.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java index d4e866f8044..8250340d5a2 100644 --- a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java @@ -40,6 +40,7 @@ import android.os.Handler; import android.os.UserHandle; import android.os.UserManager; import android.support.v14.preference.PreferenceFragment; +import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.PreferenceScreen; import android.widget.Button; @@ -60,7 +61,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class RemoveAccountPreferenceControllerTest { private static final String KEY_REMOVE_ACCOUNT = "remove_account"; @@ -70,9 +71,11 @@ public class RemoveAccountPreferenceControllerTest { private AccountManager mAccountManager; @Mock private DevicePolicyManagerWrapper mDevicePolicyManager; - @Mock(answer = RETURNS_DEEP_STUBS) + @Mock private PreferenceFragment mFragment; @Mock + private PreferenceManager mPreferenceManager; + @Mock private PreferenceScreen mScreen; @Mock private FragmentManager mFragmentManager; @@ -92,7 +95,8 @@ public class RemoveAccountPreferenceControllerTest { mContext = spy(shadowContext.getApplicationContext()); when(mFragment.getPreferenceScreen()).thenReturn(mScreen); - when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext); + when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager); + when(mPreferenceManager.getContext()).thenReturn(mContext); when(mFragment.getFragmentManager()).thenReturn(mFragmentManager); when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction); when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn( From 90f59be20b352af89f388b7705d6ee6833aa0026 Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Wed, 22 Nov 2017 14:24:45 -0800 Subject: [PATCH 07/10] Move accounts package tests to sdk 26 Test: make RunSettingsRoboTests -j40 Change-Id: I5f5a1f87aff5e1067e9339010b988e58fcc5b704 --- .../accounts/AccountHeaderPreferenceControllerTest.java | 2 +- .../settings/accounts/AccountPreferenceControllerTest.java | 2 +- .../com/android/settings/accounts/AccountPreferenceTest.java | 2 +- .../settings/accounts/AccountSyncPreferenceControllerTest.java | 2 +- .../settings/accounts/AccountTypePreferenceLoaderTest.java | 2 +- .../accounts/AddUserWhenLockedPreferenceControllerTest.java | 2 +- .../accounts/AutoSyncPersonalDataPreferenceControllerTest.java | 2 +- .../accounts/AutoSyncWorkDataPreferenceControllerTest.java | 2 +- .../com/android/settings/accounts/ProviderPreferenceTest.java | 2 +- .../com/android/settings/accounts/RemoveUserFragmentTest.java | 2 +- .../settings/accounts/UserAndAccountDashboardFragmentTest.java | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java index 4380e5c0b81..1b20e96b064 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java @@ -56,7 +56,7 @@ import org.robolectric.annotation.Implements; @RunWith(SettingsRobolectricTestRunner.class) @Config( manifest = TestConfig.MANIFEST_PATH, - sdk = TestConfig.SDK_VERSION, + sdk = TestConfig.SDK_VERSION_O, shadows = AccountHeaderPreferenceControllerTest.ShadowAuthenticatorHelper.class ) public class AccountHeaderPreferenceControllerTest { diff --git a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java index 139bee79f6d..6daaeca4190 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java @@ -68,7 +68,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O, shadows = {ShadowAccountManager.class, ShadowContentResolver.class}) public class AccountPreferenceControllerTest { diff --git a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceTest.java b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceTest.java index 07780432be8..43995806238 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceTest.java @@ -35,7 +35,7 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AccountPreferenceTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java index 5fbd3a706a4..dde68f54872 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java @@ -47,7 +47,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O, shadows = {ShadowAccountManager.class, ShadowContentResolver.class}) public class AccountSyncPreferenceControllerTest { diff --git a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java index fff73b7f8e9..2e7f0fae0a6 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java @@ -50,7 +50,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AccountTypePreferenceLoaderTest { @Mock(answer = RETURNS_DEEP_STUBS) diff --git a/tests/robotests/src/com/android/settings/accounts/AddUserWhenLockedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AddUserWhenLockedPreferenceControllerTest.java index faaf7db9331..e00a0aefd00 100644 --- a/tests/robotests/src/com/android/settings/accounts/AddUserWhenLockedPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AddUserWhenLockedPreferenceControllerTest.java @@ -41,7 +41,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AddUserWhenLockedPreferenceControllerTest { @Mock(answer = RETURNS_DEEP_STUBS) diff --git a/tests/robotests/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceControllerTest.java index 597fbd479ef..50d4df883bf 100644 --- a/tests/robotests/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AutoSyncPersonalDataPreferenceControllerTest.java @@ -42,7 +42,7 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AutoSyncPersonalDataPreferenceControllerTest { @Mock(answer = RETURNS_DEEP_STUBS) diff --git a/tests/robotests/src/com/android/settings/accounts/AutoSyncWorkDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AutoSyncWorkDataPreferenceControllerTest.java index a25aa281a01..35a8bb6951d 100644 --- a/tests/robotests/src/com/android/settings/accounts/AutoSyncWorkDataPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AutoSyncWorkDataPreferenceControllerTest.java @@ -42,7 +42,7 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AutoSyncWorkDataPreferenceControllerTest { private static int MANAGED_PROFILE_ID = 10; diff --git a/tests/robotests/src/com/android/settings/accounts/ProviderPreferenceTest.java b/tests/robotests/src/com/android/settings/accounts/ProviderPreferenceTest.java index 4e4bb4feeaf..4d1667f407c 100644 --- a/tests/robotests/src/com/android/settings/accounts/ProviderPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/accounts/ProviderPreferenceTest.java @@ -32,7 +32,7 @@ import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class ProviderPreferenceTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveUserFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveUserFragmentTest.java index cd73068e194..ef23d22aca7 100644 --- a/tests/robotests/src/com/android/settings/accounts/RemoveUserFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/RemoveUserFragmentTest.java @@ -28,7 +28,7 @@ import java.lang.reflect.Modifier; import static com.google.common.truth.Truth.assertThat; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class RemoveUserFragmentTest { @Test diff --git a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java index 8dba2f25371..2383ed14706 100644 --- a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java @@ -43,7 +43,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(RobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class UserAndAccountDashboardFragmentTest { private static final String METADATA_CATEGORY = "com.android.settings.category"; From 65304af2159e5881a4d869423732ffe828d5de3d Mon Sep 17 00:00:00 2001 From: jeffreyhuang Date: Wed, 22 Nov 2017 14:14:10 -0800 Subject: [PATCH 08/10] Fix AutoSyncDataPreferenceControllerTest - Prevent this test from hanging due to fragment deep mock Test: make RunSettingsRoboTests -j40 Change-Id: I043303c87eb89508fd96e151a17dc70a7b7fa3bb --- .../accounts/AutoSyncDataPreferenceControllerTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/robotests/src/com/android/settings/accounts/AutoSyncDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AutoSyncDataPreferenceControllerTest.java index 4715f88d06e..336de213691 100644 --- a/tests/robotests/src/com/android/settings/accounts/AutoSyncDataPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AutoSyncDataPreferenceControllerTest.java @@ -44,14 +44,14 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AutoSyncDataPreferenceControllerTest { @Mock(answer = RETURNS_DEEP_STUBS) private PreferenceScreen mScreen; @Mock(answer = RETURNS_DEEP_STUBS) private UserManager mUserManager; - @Mock(answer = RETURNS_DEEP_STUBS) + @Mock private Fragment mFragment; private Preference mPreference; From 831f6302eef195fadd5744bee3d8a262d3c364a0 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Wed, 22 Nov 2017 13:07:50 -0800 Subject: [PATCH 09/10] Disable DevelopmentSettingsActivity by default And if for any reason monkey user is able to enter develop option page, we show nothing. And update some test to sdk 26. Change-Id: I3f985e7fe14bd290db73b8c46dd817591df02015 Fixes: 68707778 Test: robotests --- AndroidManifest.xml | 21 ++----------------- .../android/settings/SettingsActivity.java | 3 ++- .../DevelopmentSettingsDashboardFragment.java | 13 ++++++++++-- .../widget/ActionBarShadowControllerTest.java | 2 +- .../widget/ActionButtonPreferenceTest.java | 2 +- .../settings/widget/AppPreferenceTest.java | 2 +- .../widget/AppSwitchPreferenceTest.java | 2 +- .../widget/AspectRatioFrameLayoutTest.java | 2 +- .../widget/DefaultIndicatorSeekBarTest.java | 2 +- .../widget/EntityHeaderControllerTest.java | 2 +- .../FixedLineSummaryPreferenceTest.java | 2 +- .../widget/LoadingViewControllerTest.java | 2 +- .../widget/MasterSwitchPreferenceTest.java | 2 +- .../PreferenceCategoryControllerTest.java | 2 +- .../widget/RadioButtonPickerFragmentTest.java | 2 +- .../settings/widget/RingProgressBarTest.java | 2 +- .../widget/RtlCompatibleViewPagerTest.java | 2 +- .../widget/ScrollToParentEditTextTest.java | 2 +- .../settings/widget/SummaryUpdaterTest.java | 2 +- .../ValidatedEditTextPreferenceTest.java | 2 +- 20 files changed, 32 insertions(+), 39 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2d031ed1384..3ee67f7bc75 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1893,7 +1893,8 @@ android:label="@string/development_settings_title" android:icon="@drawable/ic_settings_development" android:taskAffinity="com.android.settings" - android:parentActivityName="Settings"> + android:parentActivityName="Settings" + android:enabled="false"> @@ -1962,15 +1963,6 @@ android:value="com.android.settings.print.PrintJobSettingsFragment" /> - - - - - @@ -1979,15 +1971,6 @@ android:label="@string/select_webview_provider_dialog_title"> - - - - - getPreferenceControllers(Context context) { + if (Utils.isMonkeyRunning()) { + mPreferenceControllers = new ArrayList<>(); + return null; + } mPreferenceControllers = buildPreferenceControllers(context, getActivity(), getLifecycle(), this /* devOptionsDashboardFragment */, new BluetoothA2dpConfigStore()); @@ -326,6 +329,9 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra } private void enableDeveloperOptions() { + if (Utils.isMonkeyRunning()) { + return; + } DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(getContext(), true); for (AbstractPreferenceController controller : mPreferenceControllers) { if (controller instanceof DeveloperOptionsPreferenceController) { @@ -335,6 +341,9 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra } private void disableDeveloperOptions() { + if (Utils.isMonkeyRunning()) { + return; + } DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(getContext(), false); final SystemPropPoker poker = SystemPropPoker.getInstance(); poker.blockPokes(); diff --git a/tests/robotests/src/com/android/settings/widget/ActionBarShadowControllerTest.java b/tests/robotests/src/com/android/settings/widget/ActionBarShadowControllerTest.java index 0f3eb31bb4f..f69012e9f7f 100644 --- a/tests/robotests/src/com/android/settings/widget/ActionBarShadowControllerTest.java +++ b/tests/robotests/src/com/android/settings/widget/ActionBarShadowControllerTest.java @@ -45,7 +45,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class ActionBarShadowControllerTest { @Mock diff --git a/tests/robotests/src/com/android/settings/widget/ActionButtonPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/ActionButtonPreferenceTest.java index a080bc6929a..a2159676c91 100644 --- a/tests/robotests/src/com/android/settings/widget/ActionButtonPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/ActionButtonPreferenceTest.java @@ -40,7 +40,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class ActionButtonPreferenceTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java index d4890942c6d..6481f8a57f6 100644 --- a/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java @@ -33,7 +33,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AppPreferenceTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/AppSwitchPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/AppSwitchPreferenceTest.java index a7c8d7cdd90..81537a8c650 100644 --- a/tests/robotests/src/com/android/settings/widget/AppSwitchPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/AppSwitchPreferenceTest.java @@ -33,7 +33,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AppSwitchPreferenceTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/AspectRatioFrameLayoutTest.java b/tests/robotests/src/com/android/settings/widget/AspectRatioFrameLayoutTest.java index dd6138cea50..4a192584e39 100644 --- a/tests/robotests/src/com/android/settings/widget/AspectRatioFrameLayoutTest.java +++ b/tests/robotests/src/com/android/settings/widget/AspectRatioFrameLayoutTest.java @@ -32,7 +32,7 @@ import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AspectRatioFrameLayoutTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/DefaultIndicatorSeekBarTest.java b/tests/robotests/src/com/android/settings/widget/DefaultIndicatorSeekBarTest.java index 7fcf3289c53..47a9aa61de2 100644 --- a/tests/robotests/src/com/android/settings/widget/DefaultIndicatorSeekBarTest.java +++ b/tests/robotests/src/com/android/settings/widget/DefaultIndicatorSeekBarTest.java @@ -29,7 +29,7 @@ import org.robolectric.annotation.Config; import static junit.framework.Assert.assertEquals; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class DefaultIndicatorSeekBarTest { private DefaultIndicatorSeekBar mDefaultIndicatorSeekBar; diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java index 9c6ee457c42..af30e4f443d 100644 --- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java +++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java @@ -58,7 +58,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class EntityHeaderControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) diff --git a/tests/robotests/src/com/android/settings/widget/FixedLineSummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/FixedLineSummaryPreferenceTest.java index 0d9a77bef58..5022ceb87e8 100644 --- a/tests/robotests/src/com/android/settings/widget/FixedLineSummaryPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/FixedLineSummaryPreferenceTest.java @@ -38,7 +38,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class FixedLineSummaryPreferenceTest { @Mock diff --git a/tests/robotests/src/com/android/settings/widget/LoadingViewControllerTest.java b/tests/robotests/src/com/android/settings/widget/LoadingViewControllerTest.java index 09b52c8b83e..6ab2b179729 100644 --- a/tests/robotests/src/com/android/settings/widget/LoadingViewControllerTest.java +++ b/tests/robotests/src/com/android/settings/widget/LoadingViewControllerTest.java @@ -37,7 +37,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class LoadingViewControllerTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java index 1c449cc8183..c80c7b476d1 100644 --- a/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java @@ -40,7 +40,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class MasterSwitchPreferenceTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/PreferenceCategoryControllerTest.java b/tests/robotests/src/com/android/settings/widget/PreferenceCategoryControllerTest.java index 23aa378dad1..d8661bf7ea1 100644 --- a/tests/robotests/src/com/android/settings/widget/PreferenceCategoryControllerTest.java +++ b/tests/robotests/src/com/android/settings/widget/PreferenceCategoryControllerTest.java @@ -36,7 +36,7 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class PreferenceCategoryControllerTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java index 8ca68ae50b7..9fc5b2e7ce5 100644 --- a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java @@ -45,7 +45,7 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class RadioButtonPickerFragmentTest { diff --git a/tests/robotests/src/com/android/settings/widget/RingProgressBarTest.java b/tests/robotests/src/com/android/settings/widget/RingProgressBarTest.java index a1a2f2452c5..0226c22eee1 100644 --- a/tests/robotests/src/com/android/settings/widget/RingProgressBarTest.java +++ b/tests/robotests/src/com/android/settings/widget/RingProgressBarTest.java @@ -31,7 +31,7 @@ import org.robolectric.annotation.Config; import static junit.framework.Assert.assertEquals; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class RingProgressBarTest { private Context mContext = RuntimeEnvironment.application; diff --git a/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java b/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java index 78afc43026c..1072152712a 100644 --- a/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java +++ b/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java @@ -36,7 +36,7 @@ import static com.google.common.truth.Truth.assertThat; @RunWith(SettingsRobolectricTestRunner.class) @Config( manifest = TestConfig.MANIFEST_PATH, - sdk = TestConfig.SDK_VERSION, + sdk = TestConfig.SDK_VERSION_O, shadows = {ShadowTextUtils.class} ) public class RtlCompatibleViewPagerTest { diff --git a/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java b/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java index 57550156142..8e912596f22 100644 --- a/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java +++ b/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java @@ -41,7 +41,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowView; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class ScrollToParentEditTextTest { private static final int EDIT_TEXT_SIZE = 20; diff --git a/tests/robotests/src/com/android/settings/widget/SummaryUpdaterTest.java b/tests/robotests/src/com/android/settings/widget/SummaryUpdaterTest.java index 2f42550b6e4..8dbe552d61a 100644 --- a/tests/robotests/src/com/android/settings/widget/SummaryUpdaterTest.java +++ b/tests/robotests/src/com/android/settings/widget/SummaryUpdaterTest.java @@ -34,7 +34,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class SummaryUpdaterTest { private Context mContext; diff --git a/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java index 59be160dead..ff2332c07f0 100644 --- a/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java @@ -42,7 +42,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class ValidatedEditTextPreferenceTest { @Mock From 5830dcc100b3323f4fb6b4ba182395d4b5953597 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Wed, 22 Nov 2017 15:12:06 -0800 Subject: [PATCH 10/10] Update search bar visual - Rounded cornal radius is now 1/2 of total height. This makes the search bar look like a pill. Bug: 68814716 Test: visual Change-Id: Ie572d11c0df8c42b4903bfe238e80eeb54e60fd0 --- res/layout/settings_main_dashboard.xml | 2 +- res/values-sw600dp/dimens.xml | 1 + res/values/dimens.xml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/res/layout/settings_main_dashboard.xml b/res/layout/settings_main_dashboard.xml index 8e83cff101f..7c348038a44 100644 --- a/res/layout/settings_main_dashboard.xml +++ b/res/layout/settings_main_dashboard.xml @@ -32,7 +32,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/search_bar_margin" - app:cardCornerRadius="2dp" + app:cardCornerRadius="@dimen/search_bar_half_height" app:cardBackgroundColor="?android:attr/colorBackground" app:cardElevation="2dp"> 24dp 64dp + 32dp 24dp diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 0d4289a83b9..2f00297dc43 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -121,6 +121,7 @@ -8dp 48dp + 24dp 16dp