Merge "Apply RangeBuilder amination for media transferring" into rvc-dev

This commit is contained in:
tim peng
2020-06-11 05:55:21 +00:00
committed by Android (Google) Code Review
2 changed files with 26 additions and 15 deletions

View File

@@ -574,6 +574,10 @@
<!-- Align text with slider --> <!-- Align text with slider -->
<item name="titleStartPadding">11dp</item> <item name="titleStartPadding">11dp</item>
<item name="subContentStartPadding">11dp</item> <item name="subContentStartPadding">11dp</item>
<!-- Padding for indeterminate progress bar -->
<item name="progressBarStartPadding">12dp</item>
<item name="progressBarEndPadding">16dp</item>
</style> </style>
<style name="DisclaimerPositiveButton" parent="@style/SudGlifButton.Primary"> <style name="DisclaimerPositiveButton" parent="@style/SudGlifButton.Primary">

View File

@@ -228,10 +228,14 @@ public class MediaOutputSlice implements CustomSliceable {
} }
listBuilder.addRow(builder); listBuilder.addRow(builder);
} }
} else {
if (device.getState() == LocalMediaManager.MediaDeviceState.STATE_CONNECTING) {
listBuilder.addRange(getTransferringMediaDeviceRow(device));
} else { } else {
listBuilder.addRow(getMediaDeviceRow(device)); listBuilder.addRow(getMediaDeviceRow(device));
} }
} }
}
private PendingIntent getSliderInputAction(int requestCode, String id) { private PendingIntent getSliderInputAction(int requestCode, String id) {
final Intent intent = new Intent(getUri().toString()) final Intent intent = new Intent(getUri().toString())
@@ -279,6 +283,19 @@ public class MediaOutputSlice implements CustomSliceable {
return devices; return devices;
} }
private ListBuilder.RangeBuilder getTransferringMediaDeviceRow(MediaDevice device) {
final IconCompat deviceIcon = getDeviceIconCompat(device);
final SliceAction sliceAction = SliceAction.create(getBroadcastIntent(mContext,
device.getId(), device.hashCode()), deviceIcon, ListBuilder.ICON_IMAGE,
mContext.getText(R.string.media_output_switching));
return new ListBuilder.RangeBuilder()
.setTitleItem(deviceIcon, ListBuilder.ICON_IMAGE)
.setMode(ListBuilder.RANGE_MODE_INDETERMINATE)
.setTitle(device.getName())
.setPrimaryAction(sliceAction);
}
private ListBuilder.RowBuilder getMediaDeviceRow(MediaDevice device) { private ListBuilder.RowBuilder getMediaDeviceRow(MediaDevice device) {
final String deviceName = device.getName(); final String deviceName = device.getName();
final PendingIntent broadcastAction = final PendingIntent broadcastAction =
@@ -290,15 +307,11 @@ public class MediaOutputSlice implements CustomSliceable {
if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE
&& !device.isConnected()) { && !device.isConnected()) {
final int state = device.getState(); final int state = device.getState();
if (state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING if (state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED) {
|| state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED) {
rowBuilder.setTitle(deviceName); rowBuilder.setTitle(deviceName);
rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon, rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
ListBuilder.ICON_IMAGE, deviceName)); ListBuilder.ICON_IMAGE, deviceName));
rowBuilder.setSubtitle( rowBuilder.setSubtitle(mContext.getText(R.string.bluetooth_connect_failed));
(state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING)
? mContext.getText(R.string.media_output_switching)
: mContext.getText(R.string.bluetooth_connect_failed));
} else { } else {
// Append status to title only for the disconnected Bluetooth device. // Append status to title only for the disconnected Bluetooth device.
final SpannableString spannableTitle = new SpannableString( final SpannableString spannableTitle = new SpannableString(
@@ -316,14 +329,8 @@ public class MediaOutputSlice implements CustomSliceable {
rowBuilder.setTitle(deviceName); rowBuilder.setTitle(deviceName);
rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon, rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
ListBuilder.ICON_IMAGE, deviceName)); ListBuilder.ICON_IMAGE, deviceName));
switch (device.getState()) { if (device.getState() == LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED) {
case LocalMediaManager.MediaDeviceState.STATE_CONNECTING: rowBuilder.setSubtitle(mContext.getText(R.string.media_output_switch_error_text));
rowBuilder.setSubtitle(mContext.getText(R.string.media_output_switching));
break;
case LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED:
rowBuilder.setSubtitle(mContext.getText(
R.string.media_output_switch_error_text));
break;
} }
} }