From 71a37d138b7fa903484f52d46720a4df1c3d4f96 Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Wed, 31 Jul 2019 15:32:41 +0800 Subject: [PATCH] Import RadioButtonPreference from SettingsLib Bug: 138620011 Test: manual, robolectric Change-Id: I3b8a2be021a1b4a07aae61483f2329b7a5bd4655 --- ...accessibility_control_timeout_settings.xml | 10 +- res/xml/notification_importance.xml | 8 +- .../AccessibilityTimeoutController.java | 6 +- .../ShortcutServicePickerFragment.java | 6 +- .../defaultapps/DefaultAppPickerFragment.java | 4 +- .../usb/UsbDetailsDataRoleController.java | 2 +- .../usb/UsbDetailsFunctionsController.java | 2 +- .../BatterySaverScheduleSettings.java | 2 +- ...entRingingGesturePreferenceController.java | 2 +- .../SystemNavigationGestureSettings.java | 4 +- .../settings/network/NetworkScorerPicker.java | 2 +- .../widget/RadioButtonPickerFragment.java | 1 + .../widget/RadioButtonPreference.java | 105 ----------------- .../RadioButtonPreferenceWithExtraWidget.java | 1 + .../AccessibilityTimeoutControllerTest.java | 2 +- .../DefaultAppPickerFragmentTest.java | 2 +- .../usb/UsbDetailsDataRoleControllerTest.java | 2 +- .../UsbDetailsFunctionsControllerTest.java | 13 +-- ...ingingGesturePreferenceControllerTest.java | 2 +- .../network/NetworkScorerPickerTest.java | 2 +- .../webview/WebViewAppPickerTest.java | 2 +- .../widget/RadioButtonPickerFragmentTest.java | 1 + .../widget/RadioButtonPreferenceTest.java | 106 ------------------ 23 files changed, 39 insertions(+), 248 deletions(-) delete mode 100644 src/com/android/settings/widget/RadioButtonPreference.java delete mode 100644 tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java diff --git a/res/xml/accessibility_control_timeout_settings.xml b/res/xml/accessibility_control_timeout_settings.xml index e5a6e5b0b26..77bbfd8a67e 100644 --- a/res/xml/accessibility_control_timeout_settings.xml +++ b/res/xml/accessibility_control_timeout_settings.xml @@ -30,28 +30,28 @@ settings:controller="com.android.settings.widget.VideoPreferenceController" android:persistent="false" /> - - - - - diff --git a/res/xml/notification_importance.xml b/res/xml/notification_importance.xml index 6f9cc0e8c1c..0ca00e6bd93 100644 --- a/res/xml/notification_importance.xml +++ b/res/xml/notification_importance.xml @@ -17,16 +17,16 @@ - - - - diff --git a/src/com/android/settings/accessibility/AccessibilityTimeoutController.java b/src/com/android/settings/accessibility/AccessibilityTimeoutController.java index 057013c223b..a8bd6f0c0fa 100644 --- a/src/com/android/settings/accessibility/AccessibilityTimeoutController.java +++ b/src/com/android/settings/accessibility/AccessibilityTimeoutController.java @@ -27,9 +27,9 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import com.google.common.primitives.Ints; @@ -87,7 +87,7 @@ public class AccessibilityTimeoutController extends AbstractPreferenceController if (mAccessibilityTimeoutKeyToValueMap.size() == 0) { String[] timeoutKeys = mResources.getStringArray( - R.array.accessibility_timeout_control_selector_keys); + R.array.accessibility_timeout_control_selector_keys); int[] timeoutValues = mResources.getIntArray( R.array.accessibility_timeout_selector_values); @@ -141,7 +141,7 @@ public class AccessibilityTimeoutController extends AbstractPreferenceController private int getAccessibilityTimeoutValue() { // get accessibility control timeout value int timeoutValue = getSecureAccessibilityTimeoutValue(mContentResolver, - CONTROL_TIMEOUT_SETTINGS_SECURE); + CONTROL_TIMEOUT_SETTINGS_SECURE); return timeoutValue; } diff --git a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java index dcf1f1cbf85..82e83357d1e 100644 --- a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java +++ b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java @@ -33,8 +33,8 @@ import android.os.IBinder; import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; -import android.view.accessibility.AccessibilityManager; import android.view.View; +import android.view.accessibility.AccessibilityManager; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; @@ -44,9 +44,9 @@ import com.android.internal.accessibility.AccessibilityShortcutController.Toggle import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.accessibility.AccessibilityUtils; import com.android.settingslib.widget.CandidateInfo; +import com.android.settingslib.widget.RadioButtonPreference; import java.util.ArrayList; import java.util.List; @@ -183,7 +183,7 @@ public class ShortcutServicePickerFragment extends RadioButtonPickerFragment { public void onClick(View view) { final Fragment fragment = getTargetFragment(); if ((view.getId() == R.id.permission_enable_allow_button) - && (fragment instanceof ShortcutServicePickerFragment)) { + && (fragment instanceof ShortcutServicePickerFragment)) { final Bundle bundle = getArguments(); ((ShortcutServicePickerFragment) fragment).onServiceConfirmed( bundle.getString(EXTRA_KEY)); diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java index 5d41ba71332..0ca1876f230 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java @@ -33,9 +33,9 @@ import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.widget.CandidateInfo; +import com.android.settingslib.widget.RadioButtonPreference; /** * A generic app picker fragment that shows a list of app as radio button group. @@ -73,7 +73,7 @@ public abstract class DefaultAppPickerFragment extends RadioButtonPickerFragment SettingsEnums.ACTION_SETTINGS_UPDATE_DEFAULT_APP, getMetricsCategory(), selectedKey, - 0 /* value */); + 0 /* value */); super.onRadioButtonConfirmed(selectedKey); } diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java index 4b08b742496..411bc1dce89 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java @@ -27,7 +27,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.widget.RadioButtonPreference; /** * This class controls the radio buttons for switching between diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java index 858a01c5412..9c9400db5b6 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java @@ -29,7 +29,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.widget.RadioButtonPreference; import java.util.LinkedHashMap; import java.util.Map; diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java index 31ee278eafa..507c36949d5 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java @@ -35,9 +35,9 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.fuelgauge.BatterySaverUtils; import com.android.settingslib.widget.CandidateInfo; +import com.android.settingslib.widget.RadioButtonPreference; import com.google.common.collect.Lists; diff --git a/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java b/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java index 04f7e476c2f..e4e0bedb9a5 100644 --- a/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java +++ b/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java @@ -31,7 +31,6 @@ import androidx.preference.PreferenceScreen; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; -import com.android.settings.widget.RadioButtonPreference; import com.android.settings.widget.VideoPreference; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; @@ -40,6 +39,7 @@ import com.android.settingslib.core.lifecycle.events.OnCreate; import com.android.settingslib.core.lifecycle.events.OnPause; import com.android.settingslib.core.lifecycle.events.OnResume; import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState; +import com.android.settingslib.widget.RadioButtonPreference; public class PreventRingingGesturePreferenceController extends AbstractPreferenceController implements RadioButtonPreference.OnClickListener, LifecycleObserver, OnSaveInstanceState, diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java index 3def7804bb5..5e6d96c6fcd 100644 --- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java +++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java @@ -42,18 +42,18 @@ import android.view.accessibility.AccessibilityManager; import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceScreen; -import com.android.settings.SettingsTutorialDialogWrapperActivity; import com.android.settings.R; +import com.android.settings.SettingsTutorialDialogWrapperActivity; import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settings.widget.RadioButtonPreference; import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget; import com.android.settings.widget.VideoPreference; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.CandidateInfo; +import com.android.settingslib.widget.RadioButtonPreference; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/com/android/settings/network/NetworkScorerPicker.java b/src/com/android/settings/network/NetworkScorerPicker.java index 52e4ed98350..9ecab3bfb6f 100644 --- a/src/com/android/settings/network/NetworkScorerPicker.java +++ b/src/com/android/settings/network/NetworkScorerPicker.java @@ -31,7 +31,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.InstrumentedPreferenceFragment; -import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.widget.RadioButtonPreference; import java.util.List; diff --git a/src/com/android/settings/widget/RadioButtonPickerFragment.java b/src/com/android/settings/widget/RadioButtonPickerFragment.java index 8861c94a715..3193afbf22f 100644 --- a/src/com/android/settings/widget/RadioButtonPickerFragment.java +++ b/src/com/android/settings/widget/RadioButtonPickerFragment.java @@ -38,6 +38,7 @@ import com.android.settings.core.InstrumentedPreferenceFragment; import com.android.settings.core.PreferenceXmlParserUtils; import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag; import com.android.settingslib.widget.CandidateInfo; +import com.android.settingslib.widget.RadioButtonPreference; import org.xmlpull.v1.XmlPullParserException; diff --git a/src/com/android/settings/widget/RadioButtonPreference.java b/src/com/android/settings/widget/RadioButtonPreference.java deleted file mode 100644 index 512fe4e5f71..00000000000 --- a/src/com/android/settings/widget/RadioButtonPreference.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * 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.widget; - -import android.content.Context; -import android.text.TextUtils; -import android.util.AttributeSet; -import android.view.View; -import android.widget.TextView; - -import androidx.core.content.res.TypedArrayUtils; -import androidx.preference.CheckBoxPreference; -import androidx.preference.PreferenceViewHolder; - -import com.android.settings.R; - -/** - * Check box preference with check box replaced by radio button. - * - * Functionally speaking, it's actually a CheckBoxPreference. We only modified - * the widget to RadioButton to make it "look like" a RadioButtonPreference. - * - * In other words, there's no "RadioButtonPreferenceGroup" in this - * implementation. When you check one RadioButtonPreference, if you want to - * uncheck all the other preferences, you should do that by code yourself. - */ -public class RadioButtonPreference extends CheckBoxPreference { - public interface OnClickListener { - void onRadioButtonClicked(RadioButtonPreference emiter); - } - - private OnClickListener mListener = null; - private View appendix; - private int appendixVisibility = -1; - - public RadioButtonPreference(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - setWidgetLayoutResource(R.layout.preference_widget_radiobutton); - setLayoutResource(R.layout.preference_radio); - setIconSpaceReserved(false); - } - - public RadioButtonPreference(Context context, AttributeSet attrs) { - this(context, attrs, TypedArrayUtils.getAttr(context, - androidx.preference.R.attr.preferenceStyle, - android.R.attr.preferenceStyle)); - } - - public RadioButtonPreference(Context context) { - this(context, null); - } - - public void setOnClickListener(OnClickListener listener) { - mListener = listener; - } - - @Override - public void onClick() { - if (mListener != null) { - mListener.onRadioButtonClicked(this); - } - } - - @Override - public void onBindViewHolder(PreferenceViewHolder view) { - super.onBindViewHolder(view); - - View summaryContainer = view.findViewById(R.id.summary_container); - if (summaryContainer != null) { - summaryContainer.setVisibility( - TextUtils.isEmpty(getSummary()) ? View.GONE : View.VISIBLE); - appendix = view.findViewById(R.id.appendix); - if (appendix != null && appendixVisibility != -1) { - appendix.setVisibility(appendixVisibility); - } - } - - TextView title = (TextView) view.findViewById(android.R.id.title); - if (title != null) { - title.setSingleLine(false); - title.setMaxLines(3); - } - } - - public void setAppendixVisibility(int visibility) { - if (appendix != null) { - appendix.setVisibility(visibility); - } - appendixVisibility = visibility; - } -} diff --git a/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java b/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java index 19fd92377c8..2b28ec1e5f4 100644 --- a/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java +++ b/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java @@ -23,6 +23,7 @@ import android.widget.ImageView; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; +import com.android.settingslib.widget.RadioButtonPreference; public class RadioButtonPreferenceWithExtraWidget extends RadioButtonPreference { public static final int EXTRA_WIDGET_VISIBILITY_GONE = 0; diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java index 78916641a4e..7fefef60276 100644 --- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java @@ -31,8 +31,8 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java index ee05d295dec..55c2009c23b 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java @@ -31,8 +31,8 @@ import androidx.preference.PreferenceScreen; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.testutils.FakeFeatureFactory; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.applications.DefaultAppInfo; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java index 91e680b9342..a52207f3f86 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java @@ -38,8 +38,8 @@ import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import com.android.settings.R; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java index 11fa61342d0..3a6eec0fd89 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java @@ -31,12 +31,16 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.hardware.usb.UsbManager; -import android.hardware.usb.UsbPort; import android.net.ConnectivityManager; +import androidx.fragment.app.FragmentActivity; +import androidx.preference.PreferenceCategory; +import androidx.preference.PreferenceManager; +import androidx.preference.PreferenceScreen; + import com.android.settings.testutils.shadow.ShadowUtils; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; @@ -51,11 +55,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import androidx.fragment.app.FragmentActivity; -import androidx.preference.PreferenceCategory; -import androidx.preference.PreferenceManager; -import androidx.preference.PreferenceScreen; - @RunWith(RobolectricTestRunner.class) public class UsbDetailsFunctionsControllerTest { diff --git a/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java index 956d8bf52ed..24a849073a1 100644 --- a/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java @@ -29,7 +29,7 @@ import android.provider.Settings; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; -import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java index 7607f91c611..c4e953c7acc 100644 --- a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java +++ b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java @@ -34,7 +34,7 @@ import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import com.android.settings.R; -import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.widget.RadioButtonPreference; import com.google.android.collect.Lists; diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java index 10cf413f2b8..87495140343 100644 --- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java +++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java @@ -41,9 +41,9 @@ import android.webkit.UserPackage; import androidx.fragment.app.FragmentActivity; -import com.android.settings.widget.RadioButtonPreference; import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.After; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java index 56a5f7a7c58..4b551bda93c 100644 --- a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java @@ -32,6 +32,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.applications.DefaultAppInfo; +import com.android.settingslib.widget.RadioButtonPreference; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java deleted file mode 100644 index c7b7e47f15a..00000000000 --- a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * 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. - * 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.widget; - -import static com.google.common.truth.Truth.assertThat; - -import static org.junit.Assert.assertEquals; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import android.app.Application; -import android.view.LayoutInflater; -import android.view.View; - -import androidx.preference.PreferenceViewHolder; - -import com.android.settings.R; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -@RunWith(RobolectricTestRunner.class) -public class RadioButtonPreferenceTest { - - private Application mContext; - private RadioButtonPreference mPreference; - - @Before - public void setUp() { - mContext = RuntimeEnvironment.application; - mPreference = new RadioButtonPreference(mContext); - } - - @Test - public void shouldHaveRadioPreferenceLayout() { - assertThat(mPreference.getLayoutResource()).isEqualTo(R.layout.preference_radio); - } - - @Test - public void iconSpaceReservedShouldBeFalse() { - assertThat(mPreference.isIconSpaceReserved()).isFalse(); - } - - @Test - public void summary_containerShouldBeVisible() { - mPreference.setSummary("some summary"); - View summaryContainer = new View(mContext); - View view = mock(View.class); - when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer); - PreferenceViewHolder preferenceViewHolder = - PreferenceViewHolder.createInstanceForTests(view); - mPreference.onBindViewHolder(preferenceViewHolder); - assertEquals(View.VISIBLE, summaryContainer.getVisibility()); - } - - @Test - public void emptySummary_containerShouldBeGone() { - mPreference.setSummary(""); - View summaryContainer = new View(mContext); - View view = mock(View.class); - when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer); - PreferenceViewHolder preferenceViewHolder = - PreferenceViewHolder.createInstanceForTests(view); - mPreference.onBindViewHolder(preferenceViewHolder); - assertEquals(View.GONE, summaryContainer.getVisibility()); - } - - @Test - public void nullSummary_containerShouldBeGone() { - mPreference.setSummary(null); - View summaryContainer = new View(mContext); - View view = mock(View.class); - when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer); - PreferenceViewHolder preferenceViewHolder = - PreferenceViewHolder.createInstanceForTests(view); - mPreference.onBindViewHolder(preferenceViewHolder); - assertEquals(View.GONE, summaryContainer.getVisibility()); - } - - @Test - public void hideAppendix_shouldBeGone() { - mPreference.setAppendixVisibility(View.GONE); - View view = LayoutInflater.from(mContext).inflate(R.layout.preference_radio, null); - PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view); - mPreference.onBindViewHolder(holder); - assertThat(holder.findViewById(R.id.appendix).getVisibility()).isEqualTo(View.GONE); - } -}