Merge changes from topic "excluded_padding_all" into androidx-main

* changes:
  Exclude font padding by default on ProtoLayout.Text and AndroidTextStyle
  Remove setter for excluded font padding on Material Text
  Exclude font padding by default on Material.Text
  Exclude font padding by default on Button with text
  Exclude font padding by default on Chip
  Exclude font padding by default on Compact and Title chip
diff --git a/wear/protolayout/protolayout-material/api/current.txt b/wear/protolayout/protolayout-material/api/current.txt
index d73127d..01b19f2 100644
--- a/wear/protolayout/protolayout-material/api/current.txt
+++ b/wear/protolayout/protolayout-material/api/current.txt
@@ -138,14 +138,12 @@
     method public androidx.wear.protolayout.ModifiersBuilders.Clickable getClickable();
     method public String? getIconContent();
     method public String getText();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public boolean hasExcludeFontPadding();
   }
 
   public static final class CompactChip.Builder {
     ctor public CompactChip.Builder(android.content.Context, String, androidx.wear.protolayout.ModifiersBuilders.Clickable, androidx.wear.protolayout.DeviceParametersBuilders.DeviceParameters);
     method public androidx.wear.protolayout.material.CompactChip build();
     method public androidx.wear.protolayout.material.CompactChip.Builder setChipColors(androidx.wear.protolayout.material.ChipColors);
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.material.CompactChip.Builder setExcludeFontPadding(boolean);
     method public androidx.wear.protolayout.material.CompactChip.Builder setIconContent(String);
   }
 
@@ -175,7 +173,6 @@
     method public int getOverflow();
     method public androidx.wear.protolayout.TypeBuilders.StringProp getText();
     method public int getWeight();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public boolean hasExcludeFontPadding();
     method public boolean isItalic();
     method public boolean isUnderline();
   }
@@ -185,7 +182,6 @@
     ctor public Text.Builder(android.content.Context, String);
     method public androidx.wear.protolayout.material.Text build();
     method public androidx.wear.protolayout.material.Text.Builder setColor(androidx.wear.protolayout.ColorBuilders.ColorProp);
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.material.Text.Builder setExcludeFontPadding(boolean);
     method public androidx.wear.protolayout.material.Text.Builder setItalic(boolean);
     method public androidx.wear.protolayout.material.Text.Builder setMaxLines(@IntRange(from=1) int);
     method public androidx.wear.protolayout.material.Text.Builder setModifiers(androidx.wear.protolayout.ModifiersBuilders.Modifiers);
@@ -204,14 +200,12 @@
     method public String? getIconContent();
     method public String getText();
     method public androidx.wear.protolayout.DimensionBuilders.ContainerDimension getWidth();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public boolean hasExcludeFontPadding();
   }
 
   public static final class TitleChip.Builder {
     ctor public TitleChip.Builder(android.content.Context, String, androidx.wear.protolayout.ModifiersBuilders.Clickable, androidx.wear.protolayout.DeviceParametersBuilders.DeviceParameters);
     method public androidx.wear.protolayout.material.TitleChip build();
     method public androidx.wear.protolayout.material.TitleChip.Builder setChipColors(androidx.wear.protolayout.material.ChipColors);
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.material.TitleChip.Builder setExcludeFontPadding(boolean);
     method public androidx.wear.protolayout.material.TitleChip.Builder setHorizontalAlignment(int);
     method public androidx.wear.protolayout.material.TitleChip.Builder setIconContent(String);
     method public androidx.wear.protolayout.material.TitleChip.Builder setWidth(androidx.wear.protolayout.DimensionBuilders.ContainerDimension);
diff --git a/wear/protolayout/protolayout-material/api/restricted_current.txt b/wear/protolayout/protolayout-material/api/restricted_current.txt
index d73127d..01b19f2 100644
--- a/wear/protolayout/protolayout-material/api/restricted_current.txt
+++ b/wear/protolayout/protolayout-material/api/restricted_current.txt
@@ -138,14 +138,12 @@
     method public androidx.wear.protolayout.ModifiersBuilders.Clickable getClickable();
     method public String? getIconContent();
     method public String getText();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public boolean hasExcludeFontPadding();
   }
 
   public static final class CompactChip.Builder {
     ctor public CompactChip.Builder(android.content.Context, String, androidx.wear.protolayout.ModifiersBuilders.Clickable, androidx.wear.protolayout.DeviceParametersBuilders.DeviceParameters);
     method public androidx.wear.protolayout.material.CompactChip build();
     method public androidx.wear.protolayout.material.CompactChip.Builder setChipColors(androidx.wear.protolayout.material.ChipColors);
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.material.CompactChip.Builder setExcludeFontPadding(boolean);
     method public androidx.wear.protolayout.material.CompactChip.Builder setIconContent(String);
   }
 
@@ -175,7 +173,6 @@
     method public int getOverflow();
     method public androidx.wear.protolayout.TypeBuilders.StringProp getText();
     method public int getWeight();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public boolean hasExcludeFontPadding();
     method public boolean isItalic();
     method public boolean isUnderline();
   }
@@ -185,7 +182,6 @@
     ctor public Text.Builder(android.content.Context, String);
     method public androidx.wear.protolayout.material.Text build();
     method public androidx.wear.protolayout.material.Text.Builder setColor(androidx.wear.protolayout.ColorBuilders.ColorProp);
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.material.Text.Builder setExcludeFontPadding(boolean);
     method public androidx.wear.protolayout.material.Text.Builder setItalic(boolean);
     method public androidx.wear.protolayout.material.Text.Builder setMaxLines(@IntRange(from=1) int);
     method public androidx.wear.protolayout.material.Text.Builder setModifiers(androidx.wear.protolayout.ModifiersBuilders.Modifiers);
@@ -204,14 +200,12 @@
     method public String? getIconContent();
     method public String getText();
     method public androidx.wear.protolayout.DimensionBuilders.ContainerDimension getWidth();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public boolean hasExcludeFontPadding();
   }
 
   public static final class TitleChip.Builder {
     ctor public TitleChip.Builder(android.content.Context, String, androidx.wear.protolayout.ModifiersBuilders.Clickable, androidx.wear.protolayout.DeviceParametersBuilders.DeviceParameters);
     method public androidx.wear.protolayout.material.TitleChip build();
     method public androidx.wear.protolayout.material.TitleChip.Builder setChipColors(androidx.wear.protolayout.material.ChipColors);
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.material.TitleChip.Builder setExcludeFontPadding(boolean);
     method public androidx.wear.protolayout.material.TitleChip.Builder setHorizontalAlignment(int);
     method public androidx.wear.protolayout.material.TitleChip.Builder setIconContent(String);
     method public androidx.wear.protolayout.material.TitleChip.Builder setWidth(androidx.wear.protolayout.DimensionBuilders.ContainerDimension);
diff --git a/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/TestCasesGenerator.java b/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/TestCasesGenerator.java
index 04eb408..0ccec7c 100644
--- a/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/TestCasesGenerator.java
+++ b/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/TestCasesGenerator.java
@@ -31,7 +31,6 @@
 import androidx.wear.protolayout.LayoutElementBuilders;
 import androidx.wear.protolayout.LayoutElementBuilders.Box;
 import androidx.wear.protolayout.LayoutElementBuilders.LayoutElement;
-import androidx.wear.protolayout.LayoutElementBuilders.Row;
 import androidx.wear.protolayout.ModifiersBuilders.Background;
 import androidx.wear.protolayout.ModifiersBuilders.Clickable;
 import androidx.wear.protolayout.ModifiersBuilders.Modifiers;
@@ -210,78 +209,61 @@
         testCases.put(
                 "compactchip_default_len2_golden" + goldenSuffix,
                 new CompactChip.Builder(context, "Ab", clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "compactchip_default_len5_golden" + goldenSuffix,
                 new CompactChip.Builder(context, "Abcde", clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "compactchip_default_len9_golden" + goldenSuffix,
                 new CompactChip.Builder(context, "Abcdefghi", clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "compactchip_default_toolong_golden" + goldenSuffix,
                 new CompactChip.Builder(
                                 context, "AbcdefghiEXTRAEXTRAEXTRA", clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "compactchip_custom_default_golden" + goldenSuffix,
                 new CompactChip.Builder(context, "Action", clickable, deviceParameters)
                         .setChipColors(new ChipColors(Color.YELLOW, Color.BLACK))
-                        .setExcludeFontPadding(true)
-                        .build());
-        testCases.put(
-                "compactchip_includepadding_default_golden" + goldenSuffix,
-                new CompactChip.Builder(context, "Action", clickable, deviceParameters)
-                        .setExcludeFontPadding(false)
                         .build());
         testCases.put(
                 "compactchip_icon_default_golden" + goldenSuffix,
                 new CompactChip.Builder(context, "Action", clickable, deviceParameters)
                         .setIconContent(ICON_ID_SMALL)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "compactchip_icon_toolong_golden" + goldenSuffix,
                 new CompactChip.Builder(
                                 context, "AbcdefghiEXTRAEXTRAEXTRA", clickable, deviceParameters)
                         .setIconContent(ICON_ID_SMALL)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "compactchip_icon_len2_golden" + goldenSuffix,
                 new CompactChip.Builder(context, "Ab", clickable, deviceParameters)
                         .setIconContent(ICON_ID_SMALL)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "compactchip_icon_custom_golden" + goldenSuffix,
                 new CompactChip.Builder(context, "Action", clickable, deviceParameters)
                         .setIconContent(ICON_ID_SMALL)
-                        .setExcludeFontPadding(true)
                         .setChipColors(new ChipColors(Color.YELLOW, Color.BLACK))
                         .build());
 
         testCases.put(
                 "titlechip_default_golden" + goldenSuffix,
                 new TitleChip.Builder(context, largeChipText, clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "titlechip_default_texttoolong_golden" + goldenSuffix,
                 new TitleChip.Builder(context, "abcdeabcdeabcdeEXTRA", clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "titlechip_leftalign_secondary_default_golden" + goldenSuffix,
                 new TitleChip.Builder(context, largeChipText, clickable, deviceParameters)
                         .setHorizontalAlignment(HORIZONTAL_ALIGN_START)
                         .setChipColors(ChipDefaults.TITLE_SECONDARY_COLORS)
-                        .setExcludeFontPadding(true)
                         .build());
         testCases.put(
                 "titlechip_centered_custom_150_secondary_default_golden" + goldenSuffix,
@@ -289,23 +271,15 @@
                         .setHorizontalAlignment(HORIZONTAL_ALIGN_CENTER)
                         .setChipColors(new ChipColors(Color.YELLOW, Color.BLUE))
                         .setWidth(150)
-                        .setExcludeFontPadding(true)
-                        .build());
-        testCases.put(
-                "titlechip_includepadding_default_golden" + goldenSuffix,
-                new TitleChip.Builder(context, largeChipText, clickable, deviceParameters)
-                        .setExcludeFontPadding(false)
                         .build());
         testCases.put(
                 "titlechip_icon_default_golden" + goldenSuffix,
                 new TitleChip.Builder(context, largeChipText, clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .setIconContent(ICON_ID)
                         .build());
         testCases.put(
                 "titlechip_icon_default_texttoolong_golden" + goldenSuffix,
                 new TitleChip.Builder(context, "abcdeabcdeabcdeEXTRA", clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
                         .setIconContent(ICON_ID)
                         .build());
         testCases.put(
@@ -313,7 +287,6 @@
                 new TitleChip.Builder(context, largeChipText, clickable, deviceParameters)
                         .setChipColors(new ChipColors(Color.YELLOW, Color.BLUE))
                         .setWidth(150)
-                        .setExcludeFontPadding(true)
                         .setIconContent(ICON_ID)
                         .build());
 
@@ -348,31 +321,8 @@
                         .build());
 
         testCases.put(
-                "default_text_golden" + goldenSuffix, new Text.Builder(context, "Testing").build());
-        testCases.put(
-                "excluded_padding_text_golden" + goldenSuffix,
-                new Row.Builder()
-                        .addContent(
-                                new Box.Builder()
-                                        .setModifiers(buildBackgroundColorModifier(Color.YELLOW))
-                                        .addContent(
-                                                new Text.Builder(context, "Inc padd ")
-                                                        .setExcludeFontPadding(false)
-                                                        .setTypography(
-                                                                Typography.TYPOGRAPHY_CAPTION1)
-                                                        .build())
-                                        .build())
-                        .addContent(
-                                new Box.Builder()
-                                        .setModifiers(buildBackgroundColorModifier(Color.CYAN))
-                                        .addContent(
-                                                new Text.Builder(context, "Excl padd")
-                                                        .setExcludeFontPadding(true)
-                                                        .setTypography(
-                                                                Typography.TYPOGRAPHY_CAPTION1)
-                                                        .build())
-                                        .build())
-                        .build());
+                "default_text_golden" + goldenSuffix,
+                new Text.Builder(context, "Testing").build());
         testCases.put(
                 "custom_text_golden" + goldenSuffix,
                 new Text.Builder(context, "Testing text.")
diff --git a/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/layouts/TestCasesGenerator.java b/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/layouts/TestCasesGenerator.java
index 7c7dc9d..a515831 100644
--- a/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/layouts/TestCasesGenerator.java
+++ b/wear/protolayout/protolayout-material/src/androidTest/java/androidx/wear/protolayout/material/layouts/TestCasesGenerator.java
@@ -75,12 +75,9 @@
         HashMap<String, LayoutElement> testCases = new HashMap<>();
 
         TitleChip content =
-                new TitleChip.Builder(context, "Action", clickable, deviceParameters)
-                        .setExcludeFontPadding(true)
-                        .build();
+                new TitleChip.Builder(context, "Action", clickable, deviceParameters).build();
         CompactChip.Builder primaryChipBuilder =
-                new CompactChip.Builder(context, "Action", clickable, deviceParameters)
-                        .setExcludeFontPadding(true);
+                new CompactChip.Builder(context, "Action", clickable, deviceParameters);
 
         testCases.put(
                 "default_empty_primarychiplayout_golden" + goldenSuffix,
@@ -96,7 +93,6 @@
                                                 "Too_long_textToo_long_textToo_long_text",
                                                 clickable,
                                                 deviceParameters)
-                                        .setExcludeFontPadding(true)
                                         .build())
                         .build());
         testCases.put(
@@ -166,8 +162,7 @@
                         .build());
 
         primaryChipBuilder =
-                new CompactChip.Builder(context, "Action", clickable, deviceParameters)
-                        .setExcludeFontPadding(true);
+                new CompactChip.Builder(context, "Action", clickable, deviceParameters);
         testCases.put(
                 "coloredbox_1_chip_columnslayout_golden" + goldenSuffix,
                 new PrimaryLayout.Builder(deviceParameters)
diff --git a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Button.java b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Button.java
index d35c3db..56ef3bc 100644
--- a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Button.java
+++ b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Button.java
@@ -40,6 +40,7 @@
 import androidx.annotation.Dimension;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.OptIn;
 import androidx.annotation.RestrictTo;
 import androidx.annotation.RestrictTo.Scope;
 import androidx.wear.protolayout.ColorBuilders.ColorProp;
@@ -51,6 +52,7 @@
 import androidx.wear.protolayout.ModifiersBuilders.Clickable;
 import androidx.wear.protolayout.TypeBuilders.StringProp;
 import androidx.wear.protolayout.expression.Fingerprint;
+import androidx.wear.protolayout.expression.ProtoLayoutExperimental;
 import androidx.wear.protolayout.material.Typography.TypographyName;
 import androidx.wear.protolayout.materialcore.Button.Builder.ButtonType;
 import androidx.wear.protolayout.proto.LayoutElementProto;
@@ -285,6 +287,7 @@
         }
 
         @NonNull
+        @OptIn(markerClass = ProtoLayoutExperimental.class)
         private LayoutElement getCorrectContent() {
             LayoutElement.Builder content;
             switch (mType) {
diff --git a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Chip.java b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Chip.java
index 67ddcc5..78fd375 100644
--- a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Chip.java
+++ b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Chip.java
@@ -111,7 +111,6 @@
         @HorizontalAlignment private int mHorizontalAlign = HORIZONTAL_ALIGN_UNDEFINED;
         @TypographyName private int mPrimaryLabelTypography;
         private boolean mIsScalable = true;
-        private boolean mIsFontPaddingExcluded = false;
         private int mMaxLines = 0; // 0 indicates that is not set.
         @NonNull private final androidx.wear.protolayout.materialcore.Chip.Builder mCoreBuilder;
 
@@ -240,23 +239,6 @@
         }
 
         /**
-         * Sets whether the font padding for the primary label is excluded.
-         *
-         * <p>It should be used for creating {@code CompactChip} and {@code TitleChip} to make the
-         * label vertically aligned. Shouldn't be used if there is anything else in chip besides
-         * primary label.
-         *
-         * @see Text.Builder#setExcludeFontPadding
-         */
-        @NonNull
-        @ProtoLayoutExperimental
-        @SuppressWarnings("MissingGetterMatchingBuilder")
-        Builder setPrimaryLabelExcludeFontPadding(boolean excluded) {
-            this.mIsFontPaddingExcluded = excluded;
-            return this;
-        }
-
-        /**
          * Sets the secondary label for the {@link Chip}. Any previously added custom content will
          * be overridden. If secondary label is set, primary label must be set too with {@link
          * #setPrimaryLabelContent}.
@@ -381,7 +363,6 @@
                             .setOverflow(LayoutElementBuilders.TEXT_OVERFLOW_ELLIPSIZE_END)
                             .setMultilineAlignment(LayoutElementBuilders.TEXT_ALIGN_START)
                             .setIsScalable(mIsScalable)
-                            .setExcludeFontPadding(mIsFontPaddingExcluded)
                             .build();
 
             mCoreBuilder.setPrimaryLabelContent(mainTextElement);
@@ -543,13 +524,6 @@
         return mElement.getMetadataTag();
     }
 
-    /** Returns whether the font padding for the primary label is excluded. */
-    @ProtoLayoutExperimental
-    boolean hasPrimaryLabelExcludeFontPadding() {
-        Text primaryLabel = getPrimaryLabelContentObject();
-        return primaryLabel != null && primaryLabel.hasExcludeFontPadding();
-    }
-
     /**
      * Returns Chip object from the given LayoutElement (e.g. one retrieved from a container's
      * content with {@code container.getContents().get(index)}) if that element can be converted to
diff --git a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/CompactChip.java b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/CompactChip.java
index 436aaad..9787fa6 100644
--- a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/CompactChip.java
+++ b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/CompactChip.java
@@ -83,7 +83,6 @@
         @NonNull private final Clickable mClickable;
         @NonNull private final DeviceParameters mDeviceParameters;
         @NonNull private ChipColors mChipColors = COMPACT_PRIMARY_COLORS;
-        private boolean mIsFontPaddingExcluded = false;
         @Nullable private String mIconResourceId = null;
 
         /**
@@ -119,25 +118,9 @@
         }
 
         /**
-         * Sets whether the font padding is excluded or not. If not set, default to false, meaning
-         * that text will have font padding included.
-         *
-         * <p>Setting this to {@code true} will perfectly align the text label.
-         */
-        @NonNull
-        @ProtoLayoutExperimental
-        @SuppressWarnings("MissingGetterMatchingBuilder")
-        public Builder setExcludeFontPadding(boolean excluded) {
-            this.mIsFontPaddingExcluded = excluded;
-            return this;
-        }
-
-        /**
          * Sets the icon for the {@link CompactChip}. Provided icon will be tinted to the given
          * content color from {@link ChipColors}. This icon should be image with chosen alpha
          * channel that can be tinted.
-         *
-         * <p>It is highly recommended to use it with {@link #setExcludeFontPadding} set to true.
          */
         @NonNull
         public Builder setIconContent(@NonNull String imageResourceId) {
@@ -161,7 +144,6 @@
                             .setHorizontalPadding(COMPACT_HORIZONTAL_PADDING)
                             .setPrimaryLabelContent(mText)
                             .setPrimaryLabelTypography(Typography.TYPOGRAPHY_CAPTION1)
-                            .setPrimaryLabelExcludeFontPadding(mIsFontPaddingExcluded)
                             .setIsPrimaryLabelScalable(false);
 
             if (mIconResourceId != null) {
@@ -221,12 +203,6 @@
         return coreChip == null ? null : new CompactChip(new Chip(coreChip));
     }
 
-    /** Returns whether the font padding for the primary label is excluded. */
-    @ProtoLayoutExperimental
-    public boolean hasExcludeFontPadding() {
-        return mElement.hasPrimaryLabelExcludeFontPadding();
-    }
-
     @RestrictTo(Scope.LIBRARY_GROUP)
     @NonNull
     @Override
diff --git a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Text.java b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Text.java
index 5f0ef96..170e21d 100644
--- a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Text.java
+++ b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/Text.java
@@ -30,6 +30,7 @@
 import androidx.annotation.IntRange;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.OptIn;
 import androidx.annotation.RestrictTo;
 import androidx.annotation.RestrictTo.Scope;
 import androidx.wear.protolayout.ColorBuilders.ColorProp;
@@ -91,11 +92,16 @@
         @Nullable private Integer mCustomWeight = null;
 
         @NonNull
+        @OptIn(markerClass = ProtoLayoutExperimental.class)
         private final LayoutElementBuilders.Text.Builder mElementBuilder =
                 new LayoutElementBuilders.Text.Builder()
                         .setMaxLines(1)
                         .setMultilineAlignment(TEXT_ALIGN_CENTER)
-                        .setOverflow(TEXT_OVERFLOW_ELLIPSIZE_END);
+                        .setOverflow(TEXT_OVERFLOW_ELLIPSIZE_END)
+                        .setAndroidTextStyle(
+                                new LayoutElementBuilders.AndroidTextStyle.Builder()
+                                        .setExcludeFontPadding(true)
+                                        .build());
 
         /**
          * Creates a builder for a {@link Text} component with static text.
@@ -221,24 +227,6 @@
             return this;
         }
 
-        /**
-         * Sets whether the {@link Text} excludes extra top and bottom padding above the normal
-         * ascent and descent. The default is false.
-         */
-        // TODO(b/252767963): Coordinate the transition of the default from false->true along with
-        // other impacted UI Libraries - needs care as will have an impact on layout and needs to be
-        // communicated clearly.
-        @NonNull
-        @ProtoLayoutExperimental
-        @SuppressWarnings("MissingGetterMatchingBuilder")
-        public Builder setExcludeFontPadding(boolean excludeFontPadding) {
-            this.mElementBuilder.setAndroidTextStyle(
-                    new LayoutElementBuilders.AndroidTextStyle.Builder()
-                            .setExcludeFontPadding(excludeFontPadding)
-                            .build());
-            return this;
-        }
-
         /** Constructs and returns {@link Text} with the provided content and look. */
         @NonNull
         @Override
@@ -321,15 +309,6 @@
     }
 
     /**
-     * Returns whether the Text has extra top and bottom padding above the normal ascent and descent
-     * excluded.
-     */
-    @ProtoLayoutExperimental
-    public boolean hasExcludeFontPadding() {
-        return checkNotNull(mText.getAndroidTextStyle()).getExcludeFontPadding();
-    }
-
-    /**
      * Returns Material Text object from the given LayoutElement (e.g. one retrieved from a
      * container's content with {@code container.getContents().get(index)}) if that element can be
      * converted to Material Text. Otherwise, it will return null.
diff --git a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/TitleChip.java b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/TitleChip.java
index e6e355c..25de00b 100644
--- a/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/TitleChip.java
+++ b/wear/protolayout/protolayout-material/src/main/java/androidx/wear/protolayout/material/TitleChip.java
@@ -93,7 +93,6 @@
         // Indicates that the width isn't set, so it will be automatically set by Chip.Builder
         // constructor.
         @Nullable private ContainerDimension mWidth = null;
-        private boolean mIsFontPaddingExcluded = false;
         @Nullable private String mIconResourceId = null;
 
         /**
@@ -157,25 +156,9 @@
         }
 
         /**
-         * Sets whether the font padding is excluded or not. If not set, default to false, meaning
-         * that text will have font padding included.
-         *
-         * <p>Setting this to {@code true} will perfectly align the text label.
-         */
-        @NonNull
-        @ProtoLayoutExperimental
-        @SuppressWarnings("MissingGetterMatchingBuilder")
-        public Builder setExcludeFontPadding(boolean excluded) {
-            this.mIsFontPaddingExcluded = excluded;
-            return this;
-        }
-
-        /**
          * Sets the icon for the {@link TitleChip}. Provided icon will be tinted to the given
          * content color from {@link ChipColors}. This icon should be image with chosen alpha
          * channel that can be tinted.
-         *
-         * <p>It is highly recommended to use it with {@link #setExcludeFontPadding} set to true.
          */
         @NonNull
         public Builder setIconContent(@NonNull String imageResourceId) {
@@ -197,7 +180,6 @@
                             .setHorizontalPadding(TITLE_HORIZONTAL_PADDING)
                             .setPrimaryLabelContent(mText)
                             .setPrimaryLabelTypography(Typography.TYPOGRAPHY_TITLE2)
-                            .setPrimaryLabelExcludeFontPadding(mIsFontPaddingExcluded)
                             .setIsPrimaryLabelScalable(false);
 
             if (mWidth != null) {
@@ -273,12 +255,6 @@
         return coreChip == null ? null : new TitleChip(new Chip(coreChip));
     }
 
-    /** Returns whether the font padding for the primary label is excluded. */
-    @ProtoLayoutExperimental
-    public boolean hasExcludeFontPadding() {
-        return mElement.hasPrimaryLabelExcludeFontPadding();
-    }
-
     @RestrictTo(Scope.LIBRARY_GROUP)
     @NonNull
     @Override
diff --git a/wear/protolayout/protolayout-material/src/test/java/androidx/wear/protolayout/material/TextTest.java b/wear/protolayout/protolayout-material/src/test/java/androidx/wear/protolayout/material/TextTest.java
index ea6f7b9..d45aaff 100644
--- a/wear/protolayout/protolayout-material/src/test/java/androidx/wear/protolayout/material/TextTest.java
+++ b/wear/protolayout/protolayout-material/src/test/java/androidx/wear/protolayout/material/TextTest.java
@@ -148,7 +148,6 @@
                         .setOverflow(TEXT_OVERFLOW_ELLIPSIZE_END)
                         .setMultilineAlignment(TEXT_ALIGN_END)
                         .setWeight(FONT_WEIGHT_BOLD)
-                        .setExcludeFontPadding(true)
                         .build();
 
         FontStyle expectedFontStyle =
@@ -215,7 +214,6 @@
         assertThat(actualText.getMaxLines()).isEqualTo(2);
         assertThat(actualText.getLineHeight())
                 .isEqualTo(getLineHeightForTypography(TYPOGRAPHY_TITLE1).getValue());
-        assertThat(actualText.hasExcludeFontPadding()).isTrue();
     }
 
     private void assertFontStyle(
diff --git a/wear/protolayout/protolayout/api/current.txt b/wear/protolayout/protolayout/api/current.txt
index e3f0976..2d145c5 100644
--- a/wear/protolayout/protolayout/api/current.txt
+++ b/wear/protolayout/protolayout/api/current.txt
@@ -369,16 +369,6 @@
     field @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final int VERTICAL_ALIGN_UNDEFINED = 0; // 0x0
   }
 
-  @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public static final class LayoutElementBuilders.AndroidTextStyle {
-    method public boolean getExcludeFontPadding();
-  }
-
-  public static final class LayoutElementBuilders.AndroidTextStyle.Builder {
-    ctor public LayoutElementBuilders.AndroidTextStyle.Builder();
-    method public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle build();
-    method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle.Builder setExcludeFontPadding(boolean);
-  }
-
   @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final class LayoutElementBuilders.Arc implements androidx.wear.protolayout.LayoutElementBuilders.LayoutElement {
     method public androidx.wear.protolayout.DimensionBuilders.DegreesProp? getAnchorAngle();
     method public androidx.wear.protolayout.LayoutElementBuilders.ArcAnchorTypeProp? getAnchorType();
@@ -725,7 +715,6 @@
   }
 
   @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final class LayoutElementBuilders.SpanText implements androidx.wear.protolayout.LayoutElementBuilders.Span {
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle? getAndroidTextStyle();
     method public androidx.wear.protolayout.LayoutElementBuilders.FontStyle? getFontStyle();
     method public androidx.wear.protolayout.ModifiersBuilders.SpanModifiers? getModifiers();
     method public androidx.wear.protolayout.TypeBuilders.StringProp? getText();
@@ -734,7 +723,6 @@
   public static final class LayoutElementBuilders.SpanText.Builder {
     ctor public LayoutElementBuilders.SpanText.Builder();
     method public androidx.wear.protolayout.LayoutElementBuilders.SpanText build();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setAndroidTextStyle(androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setFontStyle(androidx.wear.protolayout.LayoutElementBuilders.FontStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setModifiers(androidx.wear.protolayout.ModifiersBuilders.SpanModifiers);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setText(androidx.wear.protolayout.TypeBuilders.StringProp);
@@ -789,7 +777,6 @@
   }
 
   @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final class LayoutElementBuilders.Text implements androidx.wear.protolayout.LayoutElementBuilders.LayoutElement {
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle? getAndroidTextStyle();
     method public androidx.wear.protolayout.LayoutElementBuilders.FontStyle? getFontStyle();
     method public androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint? getLayoutConstraintsForDynamicText();
     method public androidx.wear.protolayout.DimensionBuilders.SpProp? getLineHeight();
@@ -804,7 +791,6 @@
   public static final class LayoutElementBuilders.Text.Builder {
     ctor public LayoutElementBuilders.Text.Builder();
     method public androidx.wear.protolayout.LayoutElementBuilders.Text build();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setAndroidTextStyle(androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setFontStyle(androidx.wear.protolayout.LayoutElementBuilders.FontStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setLayoutConstraintsForDynamicText(androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setLineHeight(androidx.wear.protolayout.DimensionBuilders.SpProp);
diff --git a/wear/protolayout/protolayout/api/restricted_current.txt b/wear/protolayout/protolayout/api/restricted_current.txt
index e3f0976..2d145c5 100644
--- a/wear/protolayout/protolayout/api/restricted_current.txt
+++ b/wear/protolayout/protolayout/api/restricted_current.txt
@@ -369,16 +369,6 @@
     field @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final int VERTICAL_ALIGN_UNDEFINED = 0; // 0x0
   }
 
-  @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public static final class LayoutElementBuilders.AndroidTextStyle {
-    method public boolean getExcludeFontPadding();
-  }
-
-  public static final class LayoutElementBuilders.AndroidTextStyle.Builder {
-    ctor public LayoutElementBuilders.AndroidTextStyle.Builder();
-    method public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle build();
-    method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle.Builder setExcludeFontPadding(boolean);
-  }
-
   @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final class LayoutElementBuilders.Arc implements androidx.wear.protolayout.LayoutElementBuilders.LayoutElement {
     method public androidx.wear.protolayout.DimensionBuilders.DegreesProp? getAnchorAngle();
     method public androidx.wear.protolayout.LayoutElementBuilders.ArcAnchorTypeProp? getAnchorType();
@@ -725,7 +715,6 @@
   }
 
   @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final class LayoutElementBuilders.SpanText implements androidx.wear.protolayout.LayoutElementBuilders.Span {
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle? getAndroidTextStyle();
     method public androidx.wear.protolayout.LayoutElementBuilders.FontStyle? getFontStyle();
     method public androidx.wear.protolayout.ModifiersBuilders.SpanModifiers? getModifiers();
     method public androidx.wear.protolayout.TypeBuilders.StringProp? getText();
@@ -734,7 +723,6 @@
   public static final class LayoutElementBuilders.SpanText.Builder {
     ctor public LayoutElementBuilders.SpanText.Builder();
     method public androidx.wear.protolayout.LayoutElementBuilders.SpanText build();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setAndroidTextStyle(androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setFontStyle(androidx.wear.protolayout.LayoutElementBuilders.FontStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setModifiers(androidx.wear.protolayout.ModifiersBuilders.SpanModifiers);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.SpanText.Builder setText(androidx.wear.protolayout.TypeBuilders.StringProp);
@@ -789,7 +777,6 @@
   }
 
   @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public static final class LayoutElementBuilders.Text implements androidx.wear.protolayout.LayoutElementBuilders.LayoutElement {
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental public androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle? getAndroidTextStyle();
     method public androidx.wear.protolayout.LayoutElementBuilders.FontStyle? getFontStyle();
     method public androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint? getLayoutConstraintsForDynamicText();
     method public androidx.wear.protolayout.DimensionBuilders.SpProp? getLineHeight();
@@ -804,7 +791,6 @@
   public static final class LayoutElementBuilders.Text.Builder {
     ctor public LayoutElementBuilders.Text.Builder();
     method public androidx.wear.protolayout.LayoutElementBuilders.Text build();
-    method @SuppressCompatibility @androidx.wear.protolayout.expression.ProtoLayoutExperimental @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setAndroidTextStyle(androidx.wear.protolayout.LayoutElementBuilders.AndroidTextStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setFontStyle(androidx.wear.protolayout.LayoutElementBuilders.FontStyle);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=200) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setLayoutConstraintsForDynamicText(androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint);
     method @androidx.wear.protolayout.expression.RequiresSchemaVersion(major=1, minor=0) public androidx.wear.protolayout.LayoutElementBuilders.Text.Builder setLineHeight(androidx.wear.protolayout.DimensionBuilders.SpProp);
diff --git a/wear/protolayout/protolayout/src/main/java/androidx/wear/protolayout/LayoutElementBuilders.java b/wear/protolayout/protolayout/src/main/java/androidx/wear/protolayout/LayoutElementBuilders.java
index dd99305..3e84390 100644
--- a/wear/protolayout/protolayout/src/main/java/androidx/wear/protolayout/LayoutElementBuilders.java
+++ b/wear/protolayout/protolayout/src/main/java/androidx/wear/protolayout/LayoutElementBuilders.java
@@ -1100,6 +1100,7 @@
      */
     @RequiresSchemaVersion(major = 1, minor = 200)
     @ProtoLayoutExperimental
+    @RestrictTo(Scope.LIBRARY_GROUP)
     public static final class AndroidTextStyle {
         private final LayoutElementProto.AndroidTextStyle mImpl;
         @Nullable private final Fingerprint mFingerprint;
@@ -1159,7 +1160,11 @@
             private final Fingerprint mFingerprint = new Fingerprint(408674745);
 
             /** Creates an instance of {@link Builder}. */
-            public Builder() {}
+            public Builder() {
+                // Setting this to true before setter is called, so that default behaviour is to
+                // exclude padding.
+                mImpl.setExcludeFontPadding(true);
+            }
 
             /**
              * Sets whether the {@link Text} excludes padding specified by the font, i.e. extra top
@@ -1296,6 +1301,7 @@
          */
         @ProtoLayoutExperimental
         @Nullable
+        @RestrictTo(Scope.LIBRARY_GROUP)
         public AndroidTextStyle getAndroidTextStyle() {
             if (mImpl.hasAndroidTextStyle()) {
                 return AndroidTextStyle.fromProto(mImpl.getAndroidTextStyle());
@@ -1392,7 +1398,11 @@
             private final Fingerprint mFingerprint = new Fingerprint(814133697);
 
             /** Creates an instance of {@link Builder}. */
-            public Builder() {}
+            public Builder() {
+                mImpl.setAndroidTextStyle(
+                        LayoutElementProto.AndroidTextStyle.newBuilder()
+                                .setExcludeFontPadding(true));
+            }
 
             /**
              * Sets the text to render.
@@ -1541,6 +1551,7 @@
             @RequiresSchemaVersion(major = 1, minor = 200)
             @ProtoLayoutExperimental
             @NonNull
+            @RestrictTo(Scope.LIBRARY_GROUP)
             public Builder setAndroidTextStyle(@NonNull AndroidTextStyle androidTextStyle) {
                 mImpl.setAndroidTextStyle(androidTextStyle.toProto());
                 mFingerprint.recordPropertyUpdate(
@@ -2596,6 +2607,7 @@
          */
         @ProtoLayoutExperimental
         @Nullable
+        @RestrictTo(Scope.LIBRARY_GROUP)
         public AndroidTextStyle getAndroidTextStyle() {
             if (mImpl.hasAndroidTextStyle()) {
                 return AndroidTextStyle.fromProto(mImpl.getAndroidTextStyle());
@@ -2725,6 +2737,7 @@
             @RequiresSchemaVersion(major = 1, minor = 200)
             @ProtoLayoutExperimental
             @NonNull
+            @RestrictTo(Scope.LIBRARY_GROUP)
             public Builder setAndroidTextStyle(@NonNull AndroidTextStyle androidTextStyle) {
                 mImpl.setAndroidTextStyle(androidTextStyle.toProto());
                 mFingerprint.recordPropertyUpdate(