From b2ebd0d535251e1d7cf491bea1c221161b3682ff Mon Sep 17 00:00:00 2001 From: Sally Date: Tue, 3 Nov 2020 19:25:57 +0000 Subject: [PATCH] Change forceBoldText to fontWeightAdjustment in Configuration Convey the weight adjustment instead of a binary on/off Bug: b/170966021, b/110991537 Test: atest CtsContentTestCases Change-Id: I4f8de658cb49c2e3d81ce6b25338d6e7c9a5e789 --- api/current.txt | 8 +- core/api/current.txt | 8 +- .../java/android/content/pm/ActivityInfo.java | 4 +- .../android/content/res/Configuration.java | 89 +++++++++---------- .../proto/android/content/configuration.proto | 2 +- core/res/res/values/attrs_manifest.xml | 5 +- 6 files changed, 56 insertions(+), 60 deletions(-) diff --git a/api/current.txt b/api/current.txt index 8c23fb77f43f8..f542e729cb798 100644 --- a/api/current.txt +++ b/api/current.txt @@ -11408,7 +11408,7 @@ package android.content.pm { field public static final int CONFIG_COLOR_MODE = 16384; // 0x4000 field public static final int CONFIG_DENSITY = 4096; // 0x1000 field public static final int CONFIG_FONT_SCALE = 1073741824; // 0x40000000 - field public static final int CONFIG_FORCE_BOLD_TEXT = 268435456; // 0x10000000 + field public static final int CONFIG_FONT_WEIGHT_ADJUSTMENT = 268435456; // 0x10000000 field public static final int CONFIG_KEYBOARD = 16; // 0x10 field public static final int CONFIG_KEYBOARD_HIDDEN = 32; // 0x20 field public static final int CONFIG_LAYOUT_DIRECTION = 8192; // 0x2000 @@ -12736,9 +12736,7 @@ package android.content.res { field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_YES = 2; // 0x2 field @NonNull public static final android.os.Parcelable.Creator CREATOR; field public static final int DENSITY_DPI_UNDEFINED = 0; // 0x0 - field public static final int FORCE_BOLD_TEXT_NO = 1; // 0x1 - field public static final int FORCE_BOLD_TEXT_UNDEFINED = 0; // 0x0 - field public static final int FORCE_BOLD_TEXT_YES = 2; // 0x2 + field public static final int FONT_WEIGHT_ADJUSTMENT_UNDEFINED = 2147483647; // 0x7fffffff field public static final int HARDKEYBOARDHIDDEN_NO = 1; // 0x1 field public static final int HARDKEYBOARDHIDDEN_UNDEFINED = 0; // 0x0 field public static final int HARDKEYBOARDHIDDEN_YES = 2; // 0x2 @@ -12805,7 +12803,7 @@ package android.content.res { field public int colorMode; field public int densityDpi; field public float fontScale; - field public int forceBoldText; + field public int fontWeightAdjustment; field public int hardKeyboardHidden; field public int keyboard; field public int keyboardHidden; diff --git a/core/api/current.txt b/core/api/current.txt index 8a139a6a9b4ed..65763aed3fa29 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -11408,7 +11408,7 @@ package android.content.pm { field public static final int CONFIG_COLOR_MODE = 16384; // 0x4000 field public static final int CONFIG_DENSITY = 4096; // 0x1000 field public static final int CONFIG_FONT_SCALE = 1073741824; // 0x40000000 - field public static final int CONFIG_FORCE_BOLD_TEXT = 268435456; // 0x10000000 + field public static final int CONFIG_FONT_WEIGHT_ADJUSTMENT = 268435456; // 0x10000000 field public static final int CONFIG_KEYBOARD = 16; // 0x10 field public static final int CONFIG_KEYBOARD_HIDDEN = 32; // 0x20 field public static final int CONFIG_LAYOUT_DIRECTION = 8192; // 0x2000 @@ -12736,9 +12736,7 @@ package android.content.res { field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_YES = 2; // 0x2 field @NonNull public static final android.os.Parcelable.Creator CREATOR; field public static final int DENSITY_DPI_UNDEFINED = 0; // 0x0 - field public static final int FORCE_BOLD_TEXT_NO = 1; // 0x1 - field public static final int FORCE_BOLD_TEXT_UNDEFINED = 0; // 0x0 - field public static final int FORCE_BOLD_TEXT_YES = 2; // 0x2 + field public static final int FONT_WEIGHT_ADJUSTMENT_UNDEFINED = 2147483647; // 0x7fffffff field public static final int HARDKEYBOARDHIDDEN_NO = 1; // 0x1 field public static final int HARDKEYBOARDHIDDEN_UNDEFINED = 0; // 0x0 field public static final int HARDKEYBOARDHIDDEN_YES = 2; // 0x2 @@ -12805,7 +12803,7 @@ package android.content.res { field public int colorMode; field public int densityDpi; field public float fontScale; - field public int forceBoldText; + field public int fontWeightAdjustment; field public int hardKeyboardHidden; field public int keyboard; field public int keyboardHidden; diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index 9c4e6aa3e17f2..ddcfb92ee4dff 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -834,13 +834,13 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { /** * Bit in {@link #configChanges} that indicates that the activity - * can itself handle changes to bold text. Set from the + * can itself handle changes to font weight. Set from the * {@link android.R.attr#configChanges} attribute. This is * not a core resource configuration, but a higher-level value, so its * constant starts at the high bits. */ - public static final int CONFIG_FORCE_BOLD_TEXT = 0x10000000; + public static final int CONFIG_FONT_WEIGHT_ADJUSTMENT = 0x10000000; /** @hide * Unfortunately the constants for config changes in native code are diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index ce4ed8edec11b..2f7aeb80986bc 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -19,7 +19,7 @@ package android.content.res; import static android.content.ConfigurationProto.COLOR_MODE; import static android.content.ConfigurationProto.DENSITY_DPI; import static android.content.ConfigurationProto.FONT_SCALE; -import static android.content.ConfigurationProto.FORCE_BOLD_TEXT; +import static android.content.ConfigurationProto.FONT_WEIGHT_ADJUSTMENT; import static android.content.ConfigurationProto.HARD_KEYBOARD_HIDDEN; import static android.content.ConfigurationProto.KEYBOARD; import static android.content.ConfigurationProto.KEYBOARD_HIDDEN; @@ -51,6 +51,7 @@ import android.compat.annotation.UnsupportedAppUsage; import android.content.LocaleProto; import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo.Config; +import android.graphics.Typeface; import android.os.Build; import android.os.LocaleList; import android.os.Parcel; @@ -333,24 +334,22 @@ public final class Configuration implements Parcelable, Comparable If the text font weight is less than the minimum of 1, 1 will be used. If the font weight + * exceeds the maximum of 1000, 1000 will be used. + * + * @see android.graphics.Typeface#create(Typeface, int, boolean) + * @see android.graphics.fonts.FontStyle#FONT_WEIGHT_MIN + * @see android.graphics.fonts.FontStyle#FONT_WEIGHT_MAX */ - public static final int FORCE_BOLD_TEXT_NO = 1; - - /** - * Text is bold. - */ - public static final int FORCE_BOLD_TEXT_YES = 2; - - /** - * Current user preference for displaying all text in bold. - */ - public int forceBoldText; + public int fontWeightAdjustment; /** * Configuration relating to the windowing state of the object associated with this @@ -488,7 +487,7 @@ public final class Configuration implements Parcelable, Comparable CREATOR @@ -2115,7 +2114,7 @@ public final class Configuration implements Parcelable, Comparable - - + +