From 2df5a0b322935de5916b05eb9fb29b9883eae1d4 Mon Sep 17 00:00:00 2001 From: John Li Date: Tue, 27 Mar 2018 16:16:55 +0800 Subject: [PATCH] Move these radio buttons to the left Assign new single layout to RadioButtonPreference for w/ or w/o icon and call setIconSpaceReserved(false) in RadioButtonPreference's constructor. In case of having icon, calling setIcon() can make icon_frame visible. Bug: 70850017 Test: m -j56 SettingsRoboTests RunSettingsRoboTests Change-Id: I8b35f75b6d8114a5e4c69ec1a3287c55e764ffe0 --- res/layout/preference_radio.xml | 104 +++++++++++++++++++++ .../defaultapps/DefaultAppPickerFragment.java | 5 - .../settings/widget/RadioButtonPreference.java | 2 + .../defaultapps/DefaultAppPickerFragmentTest.java | 8 -- .../settings/widget/RadioButtonPreferenceTest.java | 11 +++ 5 files changed, 117 insertions(+), 13 deletions(-) create mode 100644 res/layout/preference_radio.xml diff --git a/res/layout/preference_radio.xml b/res/layout/preference_radio.xml new file mode 100644 index 0000000000..1ce8b8109d --- /dev/null +++ b/res/layout/preference_radio.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java index cc3b3d1bdb..ab81290d96 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java @@ -86,11 +86,6 @@ public abstract class DefaultAppPickerFragment extends RadioButtonPickerFragment } } - @Override - protected int getRadioButtonPreferenceCustomLayoutResId() { - return R.layout.preference_app; - } - protected ConfirmationDialogFragment newConfirmationDialogFragment(String selectedKey, CharSequence confirmationMessage) { final ConfirmationDialogFragment fragment = new ConfirmationDialogFragment(); diff --git a/src/com/android/settings/widget/RadioButtonPreference.java b/src/com/android/settings/widget/RadioButtonPreference.java index d386698c02..2d3068719d 100644 --- a/src/com/android/settings/widget/RadioButtonPreference.java +++ b/src/com/android/settings/widget/RadioButtonPreference.java @@ -47,6 +47,8 @@ public class RadioButtonPreference extends CheckBoxPreference { 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) { 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 1c0130ac01..4377c4ff53 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java @@ -16,7 +16,6 @@ package com.android.settings.applications.defaultapps; -import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doReturn; @@ -31,7 +30,6 @@ import android.support.v7.preference.PreferenceScreen; import android.util.Pair; import com.android.internal.logging.nano.MetricsProto; -import com.android.settings.R; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.widget.RadioButtonPreference; @@ -96,12 +94,6 @@ public class DefaultAppPickerFragmentTest { any(Pair.class)); } - @Test - public void shouldHaveAppPreferenceLayout() { - assertThat(mFragment.getRadioButtonPreferenceCustomLayoutResId()) - .isEqualTo(R.layout.preference_app); - } - public static class TestFragment extends DefaultAppPickerFragment { boolean setDefaultAppKeyCalled; diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java index e8a705c94c..878bae4f1a 100644 --- a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java @@ -16,6 +16,7 @@ package com.android.settings.widget; +import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.assertEquals; import static org.mockito.Mockito.mock; @@ -46,6 +47,16 @@ public class RadioButtonPreferenceTest { } @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); -- 2.11.0