Make complyWithUxRestrictions() protected instead of package private.
This allows ListItem.ViewHolder to be extendable outside of the support
lib package.
Bug: 78643055
Test: ./gradlew car:connectedCheck
Change-Id: I23f64c37936a979db24d8568ad894141f0e518e3
diff --git a/car/api/current.txt b/car/api/current.txt
index 958a4be..5aa26ed 100644
--- a/car/api/current.txt
+++ b/car/api/current.txt
@@ -231,6 +231,7 @@
ctor public ListItem.ViewHolder(android.view.View);
method public final void addCleanUp(androidx.car.widget.ListItem.ViewBinder<androidx.car.widget.ListItem.ViewHolder>);
method public final void cleanUp();
+ method protected abstract void complyWithUxRestrictions(android.car.drivingstate.CarUxRestrictions);
}
public class ListItemAdapter extends androidx.recyclerview.widget.RecyclerView.Adapter implements androidx.car.widget.PagedListView.DividerVisibilityManager androidx.car.widget.PagedListView.ItemCap {
@@ -394,6 +395,7 @@
public static class SeekbarListItem.ViewHolder extends androidx.car.widget.ListItem.ViewHolder {
ctor public SeekbarListItem.ViewHolder(android.view.View);
+ method protected void complyWithUxRestrictions(android.car.drivingstate.CarUxRestrictions);
method public android.widget.RelativeLayout getContainerLayout();
method public android.widget.ImageView getPrimaryIcon();
method public android.widget.SeekBar getSeekBar();
@@ -421,6 +423,7 @@
public static class SubheaderListItem.ViewHolder extends androidx.car.widget.ListItem.ViewHolder {
ctor public SubheaderListItem.ViewHolder(android.view.View);
+ method protected void complyWithUxRestrictions(android.car.drivingstate.CarUxRestrictions);
method public android.widget.TextView getText();
}
@@ -450,6 +453,7 @@
public static class TextListItem.ViewHolder extends androidx.car.widget.ListItem.ViewHolder {
ctor public TextListItem.ViewHolder(android.view.View);
+ method protected void complyWithUxRestrictions(android.car.drivingstate.CarUxRestrictions);
method public android.widget.Button getAction1();
method public android.view.View getAction1Divider();
method public android.widget.Button getAction2();
diff --git a/car/src/main/java/androidx/car/widget/ListItem.java b/car/src/main/java/androidx/car/widget/ListItem.java
index 8103dd5..54a863f 100644
--- a/car/src/main/java/androidx/car/widget/ListItem.java
+++ b/car/src/main/java/androidx/car/widget/ListItem.java
@@ -3,16 +3,16 @@
import android.car.drivingstate.CarUxRestrictions;
import android.view.View;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.function.Function;
-
import androidx.annotation.CallSuper;
import androidx.annotation.Nullable;
import androidx.annotation.StyleRes;
import androidx.car.R;
import androidx.recyclerview.widget.RecyclerView;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Function;
+
/**
* Definition of items that can be inserted into {@link ListItemAdapter}.
*
@@ -252,6 +252,6 @@
*
* @param restrictions current car UX restrictions.
*/
- abstract void complyWithUxRestrictions(CarUxRestrictions restrictions);
+ protected abstract void complyWithUxRestrictions(CarUxRestrictions restrictions);
}
}
diff --git a/car/src/main/java/androidx/car/widget/SeekbarListItem.java b/car/src/main/java/androidx/car/widget/SeekbarListItem.java
index 862c273..b6477c1 100644
--- a/car/src/main/java/androidx/car/widget/SeekbarListItem.java
+++ b/car/src/main/java/androidx/car/widget/SeekbarListItem.java
@@ -535,7 +535,7 @@
}
@Override
- void complyWithUxRestrictions(CarUxRestrictions restrictions) {
+ protected void complyWithUxRestrictions(CarUxRestrictions restrictions) {
CarUxRestrictionsUtils.comply(itemView.getContext(), restrictions, getText());
}
diff --git a/car/src/main/java/androidx/car/widget/SubheaderListItem.java b/car/src/main/java/androidx/car/widget/SubheaderListItem.java
index 8724696..e1a371a 100644
--- a/car/src/main/java/androidx/car/widget/SubheaderListItem.java
+++ b/car/src/main/java/androidx/car/widget/SubheaderListItem.java
@@ -16,6 +16,8 @@
package androidx.car.widget;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
import android.car.drivingstate.CarUxRestrictions;
import android.content.Context;
import android.content.res.TypedArray;
@@ -23,15 +25,16 @@
import android.view.ViewGroup;
import android.widget.TextView;
-import java.util.ArrayList;
-import java.util.List;
-
import androidx.annotation.DimenRes;
import androidx.annotation.IntDef;
import androidx.annotation.StyleRes;
import androidx.car.R;
import androidx.car.utils.CarUxRestrictionsUtils;
+import java.lang.annotation.Retention;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Class to build a sub-header list item.
*
@@ -72,6 +75,7 @@
@IntDef({
TEXT_START_MARGIN_TYPE_NONE, TEXT_START_MARGIN_TYPE_LARGE,
TEXT_START_MARGIN_TYPE_SMALL})
+ @Retention(SOURCE)
public @interface TextStartMarginType {}
/**
@@ -191,7 +195,7 @@
* @param restrictions current car UX restrictions.
*/
@Override
- void complyWithUxRestrictions(CarUxRestrictions restrictions) {
+ protected void complyWithUxRestrictions(CarUxRestrictions restrictions) {
CarUxRestrictionsUtils.comply(itemView.getContext(), restrictions, getText());
}
diff --git a/car/src/main/java/androidx/car/widget/TextListItem.java b/car/src/main/java/androidx/car/widget/TextListItem.java
index 3681d3e..0b28b62 100644
--- a/car/src/main/java/androidx/car/widget/TextListItem.java
+++ b/car/src/main/java/androidx/car/widget/TextListItem.java
@@ -16,6 +16,8 @@
package androidx.car.widget;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
import android.car.drivingstate.CarUxRestrictions;
import android.content.Context;
import android.content.res.Resources;
@@ -30,10 +32,6 @@
import android.widget.Switch;
import android.widget.TextView;
-import java.lang.annotation.Retention;
-import java.util.ArrayList;
-import java.util.List;
-
import androidx.annotation.DrawableRes;
import androidx.annotation.IdRes;
import androidx.annotation.IntDef;
@@ -42,7 +40,9 @@
import androidx.car.utils.CarUxRestrictionsUtils;
import androidx.recyclerview.widget.RecyclerView;
-import static java.lang.annotation.RetentionPolicy.SOURCE;
+import java.lang.annotation.Retention;
+import java.util.ArrayList;
+import java.util.List;
/**
* Class to build a list item of text.
@@ -868,7 +868,7 @@
* @param restrictions current car UX restrictions.
*/
@Override
- void complyWithUxRestrictions(CarUxRestrictions restrictions) {
+ protected void complyWithUxRestrictions(CarUxRestrictions restrictions) {
CarUxRestrictionsUtils.comply(itemView.getContext(), restrictions, getBody());
}