Make helpers for Metadata in Helper class accept ElementMetadata instead of Modifiers.

Bug: 233875865
Test: Existing ones
Relnote: "Helper methods for ElementMetadata now accept ElementMetadata instead of Modifiers."
Change-Id: I5a70f5b81462fc8bd1a48c96149bfef5abbdb509
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Button.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Button.java
index a6e92b6..282c416 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Button.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Button.java
@@ -536,7 +536,8 @@
     /** Returns metadata tag set to this Button. */
     @NonNull
     String getMetadataTag() {
-        return getMetadataTagName(checkNotNull(mElement.getModifiers()));
+        return getMetadataTagName(
+                checkNotNull(checkNotNull(mElement.getModifiers()).getMetadata()));
     }
 
     /**
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Chip.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Chip.java
index b3f1569..c580cda 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Chip.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Chip.java
@@ -622,7 +622,8 @@
     /** Returns metadata tag set to this Chip. */
     @NonNull
     String getMetadataTag() {
-        return getMetadataTagName(checkNotNull(mElement.getModifiers()));
+        return getMetadataTagName(
+                checkNotNull(checkNotNull(mElement.getModifiers()).getMetadata()));
     }
 
     /**
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/CircularProgressIndicator.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/CircularProgressIndicator.java
index 4c4cf2f..7c009e0 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/CircularProgressIndicator.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/CircularProgressIndicator.java
@@ -292,7 +292,8 @@
      */
     @NonNull
     String getMetadataTag() {
-        return getMetadataTagName(checkNotNull(mElement.getModifiers()));
+        return getMetadataTagName(
+                checkNotNull(checkNotNull(mElement.getModifiers()).getMetadata()));
     }
 
     /**
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Helper.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Helper.java
index f1752ad..844b391 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Helper.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Helper.java
@@ -25,6 +25,7 @@
 import androidx.wear.tiles.DeviceParametersBuilders;
 import androidx.wear.tiles.DeviceParametersBuilders.DeviceParameters;
 import androidx.wear.tiles.DimensionBuilders.DpProp;
+import androidx.wear.tiles.ModifiersBuilders.ElementMetadata;
 import androidx.wear.tiles.ModifiersBuilders.Modifiers;
 
 import java.nio.charset.StandardCharsets;
@@ -92,29 +93,23 @@
         return tagName.getBytes(StandardCharsets.UTF_8);
     }
 
-    /**
-     * Returns the String representation of metadata tag from the given Modifiers. Note, this method
-     * assumes that Metadata exists.
-     */
+    /** Returns the String representation of metadata tag from the given ElementMetadata. */
     @NonNull
-    public static String getMetadataTagName(@NonNull Modifiers modifiers) {
-        return getTagName(getMetadataTagBytes(modifiers));
+    public static String getMetadataTagName(@NonNull ElementMetadata metadata) {
+        return getTagName(getMetadataTagBytes(metadata));
     }
 
-    /**
-     * Returns the metadata tag from the given Modifiers. Note, this method assumes that Metadata
-     * exists.
-     */
+    /** Returns the metadata tag from the given ElementMetadata. */
     @NonNull
-    public static byte[] getMetadataTagBytes(@NonNull Modifiers modifiers) {
-        return checkNotNull(modifiers.getMetadata()).getTagData();
+    public static byte[] getMetadataTagBytes(@NonNull ElementMetadata metadata) {
+        return checkNotNull(metadata).getTagData();
     }
 
     /** Returns true if the given Modifiers have Metadata tag set to the given String value. */
     public static boolean checkTag(@Nullable Modifiers modifiers, @NonNull String validTag) {
         return modifiers != null
                 && modifiers.getMetadata() != null
-                && validTag.equals(getMetadataTagName(modifiers));
+                && validTag.equals(getMetadataTagName(modifiers.getMetadata()));
     }
 
     /**
@@ -125,7 +120,7 @@
             @Nullable Modifiers modifiers, @NonNull Collection<String> validTags) {
         return modifiers != null
                 && modifiers.getMetadata() != null
-                && validTags.contains(getMetadataTagName(modifiers));
+                && validTags.contains(getMetadataTagName(modifiers.getMetadata()));
     }
 
     /**
@@ -137,7 +132,7 @@
         if (modifiers == null || modifiers.getMetadata() == null) {
             return false;
         }
-        byte[] metadataTag = getMetadataTagBytes(modifiers);
+        byte[] metadataTag = getMetadataTagBytes(modifiers.getMetadata());
         byte[] tag = Arrays.copyOf(metadataTag, validPrefix.length());
         return metadataTag.length == validBase.length && validPrefix.equals(getTagName(tag));
     }
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Text.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Text.java
index 3b7e6f2..1e31f8e 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Text.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/Text.java
@@ -285,7 +285,7 @@
     /** Returns metadata tag set to this Text, which should be {@link #METADATA_TAG}. */
     @NonNull
     String getMetadataTag() {
-        return getMetadataTagName(checkNotNull(getModifiers()));
+        return getMetadataTagName(checkNotNull(checkNotNull(getModifiers()).getMetadata()));
     }
 
     /**
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiButtonLayout.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiButtonLayout.java
index 504ec87..abeafd3 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiButtonLayout.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiButtonLayout.java
@@ -307,7 +307,8 @@
     /** Returns metadata tag set to this MultiButtonLayouts. */
     @NonNull
     String getMetadataTag() {
-        return getMetadataTagName(checkNotNull(mElement.getModifiers()));
+        return getMetadataTagName(
+                checkNotNull(checkNotNull(mElement.getModifiers()).getMetadata()));
     }
 
     /**
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiSlotLayout.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiSlotLayout.java
index d9f7ae5..2ed07c2 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiSlotLayout.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/MultiSlotLayout.java
@@ -176,7 +176,8 @@
     /** Returns metadata tag set to this MultiSlotLayout. */
     @NonNull
     String getMetadataTag() {
-        return getMetadataTagName(checkNotNull(mElement.getModifiers()));
+        return getMetadataTagName(
+                checkNotNull(checkNotNull(mElement.getModifiers()).getMetadata()));
     }
 
     /**
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/PrimaryLayout.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/PrimaryLayout.java
index cdb9b67..32527b4 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/PrimaryLayout.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/PrimaryLayout.java
@@ -439,7 +439,7 @@
     /** Returns metadata tag set to this PrimaryLayout. */
     @NonNull
     byte[] getMetadataTag() {
-        return getMetadataTagBytes(checkNotNull(mImpl.getModifiers()));
+        return getMetadataTagBytes(checkNotNull(checkNotNull(mImpl.getModifiers()).getMetadata()));
     }
 
     /**
diff --git a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/ProgressIndicatorLayout.java b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/ProgressIndicatorLayout.java
index ab5c876..5568169 100644
--- a/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/ProgressIndicatorLayout.java
+++ b/wear/tiles/tiles-material/src/main/java/androidx/wear/tiles/material/layouts/ProgressIndicatorLayout.java
@@ -211,7 +211,7 @@
     /** Returns metadata tag set to this ProgressIndicatorLayout. */
     @NonNull
     byte[] getMetadataTag() {
-        return getMetadataTagBytes(checkNotNull(mImpl.getModifiers()));
+        return getMetadataTagBytes(checkNotNull(checkNotNull(mImpl.getModifiers()).getMetadata()));
     }
 
     /** Returns the inner content from this layout. */