Reduce method count of RoundedCornerDelegate

PiperOrigin-RevId: 253831086
Change-Id: I1609c610560d7108fd69f2478ea978f05957ce94
diff --git a/src/main/java/com/google/android/libraries/feed/piet/ui/BitmapMaskingRoundedCornerDelegate.java b/src/main/java/com/google/android/libraries/feed/piet/ui/BitmapMaskingRoundedCornerDelegate.java
index e93e1bc..b2912c9 100644
--- a/src/main/java/com/google/android/libraries/feed/piet/ui/BitmapMaskingRoundedCornerDelegate.java
+++ b/src/main/java/com/google/android/libraries/feed/piet/ui/BitmapMaskingRoundedCornerDelegate.java
@@ -33,7 +33,7 @@
  * RoundedCornerWrapperView} decides which rounding strategy to use and sets the appropriate
  * delegate.
  */
-class BitmapMaskingRoundedCornerDelegate implements RoundedCornerDelegate {
+class BitmapMaskingRoundedCornerDelegate extends RoundedCornerDelegate {
   private final Paint paint;
   private final Paint maskPaint;
   private final RoundedCornerMaskCache maskCache;
diff --git a/src/main/java/com/google/android/libraries/feed/piet/ui/ClipPathRoundedCornerDelegate.java b/src/main/java/com/google/android/libraries/feed/piet/ui/ClipPathRoundedCornerDelegate.java
index 24dc7be..ec6a168 100644
--- a/src/main/java/com/google/android/libraries/feed/piet/ui/ClipPathRoundedCornerDelegate.java
+++ b/src/main/java/com/google/android/libraries/feed/piet/ui/ClipPathRoundedCornerDelegate.java
@@ -27,7 +27,7 @@
  * RoundedCornerWrapperView} decides which rounding strategy to use and sets the appropriate
  * delegate.
  */
-class ClipPathRoundedCornerDelegate implements RoundedCornerDelegate {
+class ClipPathRoundedCornerDelegate extends RoundedCornerDelegate {
 
   private final Path clipPath = new Path();
 
diff --git a/src/main/java/com/google/android/libraries/feed/piet/ui/OutlineProviderRoundedCornerDelegate.java b/src/main/java/com/google/android/libraries/feed/piet/ui/OutlineProviderRoundedCornerDelegate.java
index bd10160..b7d580e 100644
--- a/src/main/java/com/google/android/libraries/feed/piet/ui/OutlineProviderRoundedCornerDelegate.java
+++ b/src/main/java/com/google/android/libraries/feed/piet/ui/OutlineProviderRoundedCornerDelegate.java
@@ -22,7 +22,7 @@
  * <p>Adds logic to clip rounded corner views to their outline. {@link RoundedCornerWrapperView}
  * decides which rounding strategy to use and sets the appropriate delegate.
  */
-class OutlineProviderRoundedCornerDelegate implements RoundedCornerDelegate {
+class OutlineProviderRoundedCornerDelegate extends RoundedCornerDelegate {
 
   /**
    * Sets clipToOutline to true.
diff --git a/src/main/java/com/google/android/libraries/feed/piet/ui/RoundedCornerDelegate.java b/src/main/java/com/google/android/libraries/feed/piet/ui/RoundedCornerDelegate.java
index 39a2998..688b2c5 100644
--- a/src/main/java/com/google/android/libraries/feed/piet/ui/RoundedCornerDelegate.java
+++ b/src/main/java/com/google/android/libraries/feed/piet/ui/RoundedCornerDelegate.java
@@ -35,35 +35,35 @@
  * RoundedCornerWrapperView}, because that view doesn't need to know which strategies require extra
  * logic in specific methods.
  */
-interface RoundedCornerDelegate {
+abstract class RoundedCornerDelegate {
 
   /**
    * Initializes anything that needs to be changed on the view that is being rounded.
    *
    * <p>This should be the opposite of what is torn down in destroy().
    */
-  default void initializeForView(ViewGroup view) {}
+  void initializeForView(ViewGroup view) {}
 
   /** Allows a rounded corner delegate to add logic when child views are drawn. */
-  default void dispatchDraw(Canvas canvas) {}
+  void dispatchDraw(Canvas canvas) {}
 
   /** Allows a rounded corner delegate to add logic during layout. */
-  default void onLayout(int radius, boolean isRtL, int width, int height) {}
+  void onLayout(int radius, boolean isRtL, int width, int height) {}
 
   /**
    * Allows a rounded corner delegate to add logic during {@link
    * ViewParent#onDescendantInvalidated}.
    */
-  default void onDescendantInvalidated(View roundedCornerView, View invalidatedDescendant) {}
+  void onDescendantInvalidated(View roundedCornerView, View invalidatedDescendant) {}
 
   /**
    * Allows a rounded corner delegate to add logic during {@link
    * ViewParent#invalidateChildInParent}.
    */
-  default void invalidateChildInParent(View view, final Rect dirty) {}
+  void invalidateChildInParent(View view, final Rect dirty) {}
 
   /** Allows a rounded corner delegate to add logic when the size changes. */
-  default void onSizeChanged(int radius, int width, int height, int bitmask, boolean isRtL) {}
+  void onSizeChanged(int radius, int width, int height, int bitmask, boolean isRtL) {}
 
   /**
    * Renders the view to this canvas.
@@ -75,7 +75,7 @@
    * <p>If this is overridden, view.drawSuper() must be called, even if it is with a different
    * {@link Canvas}.
    */
-  default void draw(RoundedCornerWrapperView view, Canvas canvas) {
+  void draw(RoundedCornerWrapperView view, Canvas canvas) {
     view.drawSuper(canvas);
   }
 
@@ -85,5 +85,5 @@
    * <p>This should be called on the current {@link RoundedCornerDelegate} when switching from one
    * delegate to another.
    */
-  default void destroy(ViewGroup view) {}
+  void destroy(ViewGroup view) {}
 }