Merge "Apply RangeBuilder amination for media transferring" into rvc-dev am: 359d3ac829

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/10987459

Change-Id: Ic22de77b2dae64bf64b7f0be29abad135e85c70b
This commit is contained in:
tim peng
2020-06-11 06:09:38 +00:00
committed by Automerger Merge Worker
2 changed files with 26 additions and 15 deletions

View File

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

View File

@@ -229,7 +229,11 @@ public class MediaOutputSlice implements CustomSliceable {
listBuilder.addRow(builder);
}
} else {
listBuilder.addRow(getMediaDeviceRow(device));
if (device.getState() == LocalMediaManager.MediaDeviceState.STATE_CONNECTING) {
listBuilder.addRange(getTransferringMediaDeviceRow(device));
} else {
listBuilder.addRow(getMediaDeviceRow(device));
}
}
}
@@ -279,6 +283,19 @@ public class MediaOutputSlice implements CustomSliceable {
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) {
final String deviceName = device.getName();
final PendingIntent broadcastAction =
@@ -290,15 +307,11 @@ public class MediaOutputSlice implements CustomSliceable {
if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE
&& !device.isConnected()) {
final int state = device.getState();
if (state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING
|| state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED) {
if (state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED) {
rowBuilder.setTitle(deviceName);
rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
ListBuilder.ICON_IMAGE, deviceName));
rowBuilder.setSubtitle(
(state == LocalMediaManager.MediaDeviceState.STATE_CONNECTING)
? mContext.getText(R.string.media_output_switching)
: mContext.getText(R.string.bluetooth_connect_failed));
rowBuilder.setSubtitle(mContext.getText(R.string.bluetooth_connect_failed));
} else {
// Append status to title only for the disconnected Bluetooth device.
final SpannableString spannableTitle = new SpannableString(
@@ -316,14 +329,8 @@ public class MediaOutputSlice implements CustomSliceable {
rowBuilder.setTitle(deviceName);
rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
ListBuilder.ICON_IMAGE, deviceName));
switch (device.getState()) {
case LocalMediaManager.MediaDeviceState.STATE_CONNECTING:
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;
if (device.getState() == LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED) {
rowBuilder.setSubtitle(mContext.getText(R.string.media_output_switch_error_text));
}
}