Skip test if any font adjustment is applied

Bug: 401531860
Test: N/A
Flag: EXEMPT Test Only
Change-Id: Id35ce7a8495b0b49402671bd3c87a1d76a9690fa
diff --git a/tests/tests/widget/res/layout/textview_fontvariation_test_layout.xml b/tests/tests/widget/res/layout/textview_fontvariation_test_layout.xml
index 718e748..0800dd7 100644
--- a/tests/tests/widget/res/layout/textview_fontvariation_test_layout.xml
+++ b/tests/tests/widget/res/layout/textview_fontvariation_test_layout.xml
@@ -21,6 +21,11 @@
     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:id="@+id/plainVanillaTextView" />
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
         android:id="@+id/textView_fontVariation_wdth25"
         android:fontVariationSettings="'wdth' 25"/>
 
diff --git a/tests/tests/widget/src/android/widget/cts/TextViewFontVariationTest.java b/tests/tests/widget/src/android/widget/cts/TextViewFontVariationTest.java
index 8957100..8ce305e 100644
--- a/tests/tests/widget/src/android/widget/cts/TextViewFontVariationTest.java
+++ b/tests/tests/widget/src/android/widget/cts/TextViewFontVariationTest.java
@@ -19,14 +19,19 @@
 import static org.junit.Assert.assertEquals;
 
 import android.content.Context;
+import android.graphics.fonts.FontVariationAxis;
+import android.graphics.text.PositionedGlyphs;
+import android.graphics.text.TextRunShaper;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
-import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
+import androidx.test.platform.app.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
+import org.junit.Assume;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -45,8 +50,26 @@
         return ((TextView) container.findViewById(id)).getFontVariationSettings();
     }
 
+    private void assumeNoAdjustment() {
+        final Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        final LayoutInflater inflater = LayoutInflater.from(context);
+        final ViewGroup container =
+                (ViewGroup) inflater.inflate(R.layout.textview_fontvariation_test_layout, null);
+        TextView tv = (TextView) container.findViewById(R.id.plainVanillaTextView);
+        PositionedGlyphs glyphs =
+                TextRunShaper.shapeTextRun("a", 0, 1, 0, 1, 0f, 0f, false, tv.getPaint());
+        assertEquals(1, glyphs.glyphCount());
+        FontVariationAxis[] axes = glyphs.getFont(0).getAxes();
+        for (FontVariationAxis axis : axes) {
+            if (TextUtils.equals("wght", axis.getTag())) {
+                Assume.assumeTrue(axis.getStyleValue() == 400f);
+            }
+        }
+    }
+
     @Test
     public void testFontVariation() {
+        assumeNoAdjustment();
         assertEquals("'wdth' 25",
                 getTextViewFontVariationSettings(R.id.textView_fontVariation_wdth25));
         assertEquals("'wdth' 50",
@@ -67,6 +90,7 @@
 
     @Test
     public void testTextAppearance() {
+        assumeNoAdjustment();
         assertEquals("'wdth' 25",
                 getTextViewFontVariationSettings(R.id.textAppearance_fontVariation_wdth25));
         assertEquals("'wdth' 50",