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