diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 4f9eaddcfcb..f25c24522f6 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -137,6 +137,26 @@ 1800000 + + Extremely Small + Extra Small + Small + Normal + Large + Extra Large + Extremely Large + + + + 0.70 + 0.85 + 0.95 + 1.0 + 1.05 + 1.15 + 1.30 + + diff --git a/res/values/strings.xml b/res/values/strings.xml index f2464441951..42d60a50465 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1432,6 +1432,12 @@ Screen turns off automatically after %1$s Automatic brightness + + Font size + + Overall size of fonts + + Select font size SIM card lock settings diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml index 7fe7f76b745..5e2d76e252d 100644 --- a/res/xml/display_settings.xml +++ b/res/xml/display_settings.xml @@ -41,4 +41,13 @@ android:persistent="false" android:entries="@array/screen_timeout_entries" android:entryValues="@array/screen_timeout_values" /> + + + diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index cdb0147c1ff..6cf2b16c42d 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -18,9 +18,11 @@ package com.android.settings; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; +import android.app.ActivityManagerNative; import android.app.admin.DevicePolicyManager; import android.content.ContentResolver; import android.content.Context; +import android.content.res.Configuration; import android.database.ContentObserver; import android.os.Bundle; import android.os.Handler; @@ -46,11 +48,15 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private static final String KEY_SCREEN_TIMEOUT = "screen_timeout"; private static final String KEY_ANIMATIONS = "animations"; private static final String KEY_ACCELEROMETER = "accelerometer"; + private static final String KEY_FONT_SIZE = "font_size"; private ListPreference mAnimations; private CheckBoxPreference mAccelerometer; private float[] mAnimationScales; + private ListPreference mFontSizePref; + private final Configuration mCurConfig = new Configuration(); + private IWindowManager mWindowManager; private ListPreference mScreenTimeoutPreference; @@ -82,6 +88,9 @@ public class DisplaySettings extends SettingsPreferenceFragment implements mScreenTimeoutPreference.setOnPreferenceChangeListener(this); disableUnusableTimeouts(mScreenTimeoutPreference); updateTimeoutPreferenceDescription(resolver, currentTimeout); + + mFontSizePref = (ListPreference) findPreference(KEY_FONT_SIZE); + mFontSizePref.setOnPreferenceChangeListener(this); } private void updateTimeoutPreferenceDescription(ContentResolver resolver, long currentTimeout) { @@ -135,6 +144,29 @@ public class DisplaySettings extends SettingsPreferenceFragment implements screenTimeoutPreference.setEnabled(revisedEntries.size() > 0); } + int floatToIndex(float val, int resid) { + String[] indices = getResources().getStringArray(resid); + float lastVal = Float.parseFloat(indices[0]); + for (int i=1; i