参考别人的代码,直接修改arrarys.xml和Configuration.java的默认值是没有效果的,也没overlay的文件。
后面想到,这个默认值是存储在Settings.System.FONT_SCALE,那就直接存储在这里面好了。重新编译代码之后生效。
代码如下
diff --git a/frameworks/base/core/java/android/content/res/Configuration.java b/frameworks/base/core/java/android/content/res/Configuration.java
old mode 100644
new mode 100755
index 193e56e..96e7527
--- a/frameworks/base/core/java/android/content/res/Configuration.java
+++ b/frameworks/base/core/java/android/content/res/Configuration.java
@@ -68,6 +68,8 @@ import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Locale;
+import android.util.Log;
+
/**
* This class describes all device configuration information that can
* impact the resources the application retrieves. This includes both
@@ -877,6 +879,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
*/
public Configuration(Configuration o) {
setTo(o);
+ Log.d("ssssssss", "882 Configuration toString() = " +o.toString());//huizhang
}
/* This brings mLocaleList in sync with locale in case a user of the older API who doesn't know
@@ -895,6 +898,9 @@ public final class Configuration implements Parcelable, Comparable<Configuration
*/
public void setTo(Configuration o) {
fontScale = o.fontScale;
+
+ Log.d("ssssssss", "901 setTo(Configuration o) toString() = " +o.toString());//huizhang
+ Log.d("ssssssss", "setTo(Configuration o) fontScale = " +fontScale);//huizhang
mcc = o.mcc;
mnc = o.mnc;
locale = o.locale == null ? null : (Locale) o.locale.clone();
@@ -1173,7 +1179,8 @@ public final class Configuration implements Parcelable, Comparable<Configuration
* Set this object to the system defaults.
*/
public void setToDefaults() {
- fontScale = 1;
+ fontScale = 1.45f;
+ Log.d("ssssssss", "setToDefaults 1180 fontScale = " +fontScale);//huizhang
mcc = mnc = 0;
mLocaleList = LocaleList.getEmptyLocaleList();
locale = null;
@@ -1220,6 +1227,8 @@ public final class Configuration implements Parcelable, Comparable<Configuration
*/
public @Config int updateFrom(@NonNull Configuration delta) {
int changed = 0;
+ Log.d("ssssssss", "setTo 1227 updateFrom delta.fontScale = " +delta.fontScale);//huizhang
+ Log.d("ssssssss", "setTo 1228 updateFrom fontScale = " +fontScale);//huizhang
if (delta.fontScale > 0 && fontScale != delta.fontScale) {
changed |= ActivityInfo.CONFIG_FONT_SCALE;
fontScale = delta.fontScale;
@@ -2266,8 +2275,11 @@ public final class Configuration implements Parcelable, Comparable<Configuration
*/
public static Configuration generateDelta(Configuration base, Configuration change) {
final Configuration delta = new Configuration();
+ Log.d("ssssssss", "setTo 2466 generateDelta change.fontScale = " +change.fontScale);//huizhang
+ Log.d("ssssssss", "setTo 2466 generateDelta delta.fontScale = " +delta.fontScale);//huizhang
if (base.fontScale != change.fontScale) {
delta.fontScale = change.fontScale;
+
}
if (base.mcc != change.mcc) {
@@ -2460,6 +2472,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
public static void writeXmlAttrs(XmlSerializer xml, Configuration config) throws IOException {
XmlUtils.writeIntAttribute(xml, XML_ATTR_FONT_SCALE,
Float.floatToIntBits(config.fontScale));
+ Log.d("ssssssss", "writeXmlAttrs 2466 config.fontScale = " +config.fontScale);//huizhang
if (config.mcc != 0) {
XmlUtils.writeIntAttribute(xml, XML_ATTR_MCC, config.mcc);
}
diff --git a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
old mode 100644
new mode 100755
index 67bacf0..a5c4794
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2296,6 +2296,9 @@ class DatabaseHelper extends SQLiteOpenHelper {
// Set default tty mode
loadSetting(stmt, Settings.System.TTY_MODE, 0);
+
+
+ loadSetting(stmt, Settings.System.FONT_SCALE, 1.45f);
loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS,
R.integer.def_screen_brightness);
diff --git a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
old mode 100644
new mode 100755
index 1c635c4..4a88bcb
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
@@ -264,7 +264,7 @@ public class SettingsHelper {
return !TextUtils.isEmpty(Settings.Secure.getString(
mContext.getContentResolver(), name));
case Settings.System.FONT_SCALE:
- return Settings.System.getFloat(mContext.getContentResolver(), name, 1.0f) != 1.0f;
+ return Settings.System.getFloat(mContext.getContentResolver(), name, 1.45f) != 1.45f;
default:
return false;
}
diff --git a/packages/apps/Settings/res/values/arrays.xml b/packages/apps/Settings/res/values/arrays.xml
index eb4aad0..557147a 100755
--- a/packages/apps/Settings/res/values/arrays.xml
+++ b/packages/apps/Settings/res/values/arrays.xml
@@ -147,10 +147,10 @@
</string-array>
<string-array name="entryvalues_font_size" translatable="false">
- <item>0.85</item>
- <item>1.0</item>
- <item>1.15</item>
- <item>1.30</item>
+ <item>1.2</item>
+ <item>1.31</item>
+ <item>1.45</item>
+ <item>1.60</item>
</string-array>
<!-- Wi-Fi settings -->