Add icon URI to bundle serialization
PiperOrigin-RevId: 581333583
This commit is contained in:
parent
e79809616c
commit
7014bc6bf4
@ -306,6 +306,7 @@ public final class CommandButton implements Bundleable {
|
||||
private static final String FIELD_DISPLAY_NAME = Util.intToStringMaxRadix(3);
|
||||
private static final String FIELD_EXTRAS = Util.intToStringMaxRadix(4);
|
||||
private static final String FIELD_ENABLED = Util.intToStringMaxRadix(5);
|
||||
private static final String FIELD_ICON_URI = Util.intToStringMaxRadix(6);
|
||||
|
||||
@UnstableApi
|
||||
@Override
|
||||
@ -318,6 +319,7 @@ public final class CommandButton implements Bundleable {
|
||||
bundle.putInt(FIELD_ICON_RES_ID, iconResId);
|
||||
bundle.putCharSequence(FIELD_DISPLAY_NAME, displayName);
|
||||
bundle.putBundle(FIELD_EXTRAS, extras);
|
||||
bundle.putParcelable(FIELD_ICON_URI, iconUri);
|
||||
bundle.putBoolean(FIELD_ENABLED, isEnabled);
|
||||
return bundle;
|
||||
}
|
||||
@ -346,6 +348,7 @@ public final class CommandButton implements Bundleable {
|
||||
CharSequence displayName = bundle.getCharSequence(FIELD_DISPLAY_NAME, /* defaultValue= */ "");
|
||||
@Nullable Bundle extras = bundle.getBundle(FIELD_EXTRAS);
|
||||
boolean enabled = bundle.getBoolean(FIELD_ENABLED, /* defaultValue= */ false);
|
||||
@Nullable Uri iconUri = bundle.getParcelable(FIELD_ICON_URI);
|
||||
Builder builder = new Builder();
|
||||
if (sessionCommand != null) {
|
||||
builder.setSessionCommand(sessionCommand);
|
||||
@ -353,6 +356,9 @@ public final class CommandButton implements Bundleable {
|
||||
if (playerCommand != Player.COMMAND_INVALID) {
|
||||
builder.setPlayerCommand(playerCommand);
|
||||
}
|
||||
if (iconUri != null) {
|
||||
builder.setIconUri(iconUri);
|
||||
}
|
||||
return builder
|
||||
.setIconResId(iconResId)
|
||||
.setDisplayName(displayName)
|
||||
|
@ -140,6 +140,36 @@ public class CommandButtonTest {
|
||||
assertThat(button.iconUri).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getIconUri_returnsUriAfterSerialisation() {
|
||||
Uri uri = Uri.parse("content://test");
|
||||
CommandButton button =
|
||||
new CommandButton.Builder()
|
||||
.setDisplayName("button1")
|
||||
.setIconResId(R.drawable.media3_notification_small_icon)
|
||||
.setIconUri(uri)
|
||||
.setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS)
|
||||
.build();
|
||||
|
||||
CommandButton serialisedButton = CommandButton.fromBundle(button.toBundle());
|
||||
|
||||
assertThat(serialisedButton.iconUri).isEqualTo(uri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getIconUri_returnsNullIfUnsetAfterSerialisation() {
|
||||
CommandButton button =
|
||||
new CommandButton.Builder()
|
||||
.setDisplayName("button1")
|
||||
.setIconResId(R.drawable.media3_notification_small_icon)
|
||||
.setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS)
|
||||
.build();
|
||||
|
||||
CommandButton serialisedButton = CommandButton.fromBundle(button.toBundle());
|
||||
|
||||
assertThat(serialisedButton.iconUri).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void equals() {
|
||||
assertThat(
|
||||
|
Loading…
x
Reference in New Issue
Block a user