Loading res/xml/display_settings.xml +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ android:key="font_size" android:title="@string/title_font_size" android:fragment="com.android.settings.accessibility.ToggleFontSizePreferenceFragment" settings:controller="com.android.settings.display.FontSizePreferenceController" settings:keywords="@string/keywords_display_font_size" /> <com.android.settings.display.ScreenZoomPreference Loading src/com/android/settings/DisplaySettings.java +0 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import com.android.settings.display.AutoRotatePreferenceController; import com.android.settings.display.BrightnessLevelPreferenceController; import com.android.settings.display.CameraGesturePreferenceController; import com.android.settings.display.ColorModePreferenceController; import com.android.settings.display.FontSizePreferenceController; import com.android.settings.display.LiftToWakePreferenceController; import com.android.settings.display.NightDisplayPreferenceController; import com.android.settings.display.NightModePreferenceController; Loading Loading @@ -86,7 +85,6 @@ public class DisplaySettings extends DashboardFragment { final List<AbstractPreferenceController> controllers = new ArrayList<>(); controllers.add(new AutoRotatePreferenceController(context, lifecycle)); controllers.add(new CameraGesturePreferenceController(context)); controllers.add(new FontSizePreferenceController(context)); controllers.add(new LiftToWakePreferenceController(context)); controllers.add(new NightDisplayPreferenceController(context)); controllers.add(new NightModePreferenceController(context)); Loading src/com/android/settings/display/FontSizePreferenceController.java +8 −18 Original line number Diff line number Diff line Loading @@ -16,34 +16,24 @@ package com.android.settings.display; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.accessibility.ToggleFontSizePreferenceFragment; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settings.core.BasePreferenceController; public class FontSizePreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin { public class FontSizePreferenceController extends BasePreferenceController { private static final String KEY_FONT_SIZE = "font_size"; public FontSizePreferenceController(Context context) { super(context); } @Override public boolean isAvailable() { return true; public FontSizePreferenceController(Context context, String key) { super(context, key); } @Override public String getPreferenceKey() { return KEY_FONT_SIZE; public int getAvailabilityStatus() { return AVAILABLE; } @Override public void updateState(Preference preference) { public CharSequence getSummary() { final float currentScale = Settings.System.getFloat(mContext.getContentResolver(), Settings.System.FONT_SCALE, 1.0f); final Resources res = mContext.getResources(); Loading @@ -51,6 +41,6 @@ public class FontSizePreferenceController extends AbstractPreferenceController i final String[] strEntryValues = res.getStringArray(R.array.entryvalues_font_size); final int index = ToggleFontSizePreferenceFragment.fontSizeValueToIndex(currentScale, strEntryValues); preference.setSummary(entries[index]); return entries[index]; } } tests/robotests/src/com/android/settings/display/FontSizePreferenceControllerTest.java 0 → 100644 +76 −0 Original line number Diff line number Diff line /* * 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.display; import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.provider.Settings; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; @RunWith(SettingsRobolectricTestRunner.class) public class FontSizePreferenceControllerTest { private static final String TEST_KEY = "test_key"; private Context mContext; private FontSizePreferenceController mController; private String[] mFontSizeArray; @Before public void setUp() { mContext = RuntimeEnvironment.application; mController = new FontSizePreferenceController(mContext, TEST_KEY); mFontSizeArray = mContext.getResources().getStringArray(R.array.entries_font_size); } @Test public void isAlwaysAvailable() { assertThat(mController.getAvailabilityStatus()) .isEqualTo(BasePreferenceController.AVAILABLE); } @Test public void getSummary_noScale_shouldReturnDefaultSummary() { assertThat(mController.getSummary()) .isEqualTo(mFontSizeArray[1]); } @Test public void getSummary_smallScale_shouldReturnSmall() { Settings.System.putFloat(mContext.getContentResolver(), Settings.System.FONT_SCALE, 0.5f); assertThat(mController.getSummary()) .isEqualTo(mFontSizeArray[0]); } @Test public void getSummary_largeScale_shouldReturnLarge() { Settings.System.putFloat(mContext.getContentResolver(), Settings.System.FONT_SCALE, 1.5f); assertThat(mController.getSummary()) .isEqualTo(mFontSizeArray[3]); } } Loading
res/xml/display_settings.xml +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ android:key="font_size" android:title="@string/title_font_size" android:fragment="com.android.settings.accessibility.ToggleFontSizePreferenceFragment" settings:controller="com.android.settings.display.FontSizePreferenceController" settings:keywords="@string/keywords_display_font_size" /> <com.android.settings.display.ScreenZoomPreference Loading
src/com/android/settings/DisplaySettings.java +0 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import com.android.settings.display.AutoRotatePreferenceController; import com.android.settings.display.BrightnessLevelPreferenceController; import com.android.settings.display.CameraGesturePreferenceController; import com.android.settings.display.ColorModePreferenceController; import com.android.settings.display.FontSizePreferenceController; import com.android.settings.display.LiftToWakePreferenceController; import com.android.settings.display.NightDisplayPreferenceController; import com.android.settings.display.NightModePreferenceController; Loading Loading @@ -86,7 +85,6 @@ public class DisplaySettings extends DashboardFragment { final List<AbstractPreferenceController> controllers = new ArrayList<>(); controllers.add(new AutoRotatePreferenceController(context, lifecycle)); controllers.add(new CameraGesturePreferenceController(context)); controllers.add(new FontSizePreferenceController(context)); controllers.add(new LiftToWakePreferenceController(context)); controllers.add(new NightDisplayPreferenceController(context)); controllers.add(new NightModePreferenceController(context)); Loading
src/com/android/settings/display/FontSizePreferenceController.java +8 −18 Original line number Diff line number Diff line Loading @@ -16,34 +16,24 @@ package com.android.settings.display; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.accessibility.ToggleFontSizePreferenceFragment; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settings.core.BasePreferenceController; public class FontSizePreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin { public class FontSizePreferenceController extends BasePreferenceController { private static final String KEY_FONT_SIZE = "font_size"; public FontSizePreferenceController(Context context) { super(context); } @Override public boolean isAvailable() { return true; public FontSizePreferenceController(Context context, String key) { super(context, key); } @Override public String getPreferenceKey() { return KEY_FONT_SIZE; public int getAvailabilityStatus() { return AVAILABLE; } @Override public void updateState(Preference preference) { public CharSequence getSummary() { final float currentScale = Settings.System.getFloat(mContext.getContentResolver(), Settings.System.FONT_SCALE, 1.0f); final Resources res = mContext.getResources(); Loading @@ -51,6 +41,6 @@ public class FontSizePreferenceController extends AbstractPreferenceController i final String[] strEntryValues = res.getStringArray(R.array.entryvalues_font_size); final int index = ToggleFontSizePreferenceFragment.fontSizeValueToIndex(currentScale, strEntryValues); preference.setSummary(entries[index]); return entries[index]; } }
tests/robotests/src/com/android/settings/display/FontSizePreferenceControllerTest.java 0 → 100644 +76 −0 Original line number Diff line number Diff line /* * 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.display; import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.provider.Settings; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; @RunWith(SettingsRobolectricTestRunner.class) public class FontSizePreferenceControllerTest { private static final String TEST_KEY = "test_key"; private Context mContext; private FontSizePreferenceController mController; private String[] mFontSizeArray; @Before public void setUp() { mContext = RuntimeEnvironment.application; mController = new FontSizePreferenceController(mContext, TEST_KEY); mFontSizeArray = mContext.getResources().getStringArray(R.array.entries_font_size); } @Test public void isAlwaysAvailable() { assertThat(mController.getAvailabilityStatus()) .isEqualTo(BasePreferenceController.AVAILABLE); } @Test public void getSummary_noScale_shouldReturnDefaultSummary() { assertThat(mController.getSummary()) .isEqualTo(mFontSizeArray[1]); } @Test public void getSummary_smallScale_shouldReturnSmall() { Settings.System.putFloat(mContext.getContentResolver(), Settings.System.FONT_SCALE, 0.5f); assertThat(mController.getSummary()) .isEqualTo(mFontSizeArray[0]); } @Test public void getSummary_largeScale_shouldReturnLarge() { Settings.System.putFloat(mContext.getContentResolver(), Settings.System.FONT_SCALE, 1.5f); assertThat(mController.getSummary()) .isEqualTo(mFontSizeArray[3]); } }