diff options
author | Zhizhi Liu <zhizhiliu@google.com> | 2022-04-05 02:17:46 +0000 |
---|---|---|
committer | Zhizhi Liu <zhizhiliu@google.com> | 2022-04-05 05:54:55 +0000 |
commit | 4c2e79180ef7ac2a3a560041f8e145f1b4bbe540 (patch) | |
tree | c7f571ca73275caae949586b48dcad118b97e195 /libraries | |
parent | 4b0a0140fc90549dd03dfcfa019fa0c3e409e364 (diff) | |
download | atv-4c2e79180ef7ac2a3a560041f8e145f1b4bbe540.tar.gz |
Fix the rendering bug in response activity.
Use setData() api to create new PendingIntent instead of reusing
existing one.
Bug: 226589576
Test: make -j, check "remotes & accessoires" behavior when
disconnecting, forgetting device.
Change-Id: Ia7b139f0e2f890cdad2ace5365f44d6a49ac7799
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/BluetoothServices/src/com/google/android/tv/btservices/settings/ConnectedDevicesSliceProvider.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libraries/BluetoothServices/src/com/google/android/tv/btservices/settings/ConnectedDevicesSliceProvider.java b/libraries/BluetoothServices/src/com/google/android/tv/btservices/settings/ConnectedDevicesSliceProvider.java index 08f7e5f..6b8ada0 100644 --- a/libraries/BluetoothServices/src/com/google/android/tv/btservices/settings/ConnectedDevicesSliceProvider.java +++ b/libraries/BluetoothServices/src/com/google/android/tv/btservices/settings/ConnectedDevicesSliceProvider.java @@ -100,7 +100,7 @@ public class ConnectedDevicesSliceProvider extends SliceProvider implements private final Map<Uri, Integer> pinnedUris = new ArrayMap<>(); static final String KEY_EXTRAS_DEVICE = "key_extras_device"; - + private static final String SCHEME_CONTENT = "content://"; private final Handler mHandler = new Handler(Looper.getMainLooper()); private final ServiceConnection mBtDeviceServiceConnection = @@ -434,7 +434,8 @@ public class ConnectedDevicesSliceProvider extends SliceProvider implements null, ResponseFragment.DEFAULT_CHOICE_UNDEFINED ); - i.putExtras(extras).putExtra(KEY_EXTRAS_DEVICE, device); + i.putExtras(extras).putExtra(KEY_EXTRAS_DEVICE, device) + .setData(Uri.parse(SCHEME_CONTENT + device.getAddress())); List<String> updatedUris = Arrays.asList(GENERAL_SLICE_URI.toString(), sliceUri.toString()); PendingIntent updateSliceIntent = updateSliceIntent(getContext(), 0, @@ -491,7 +492,8 @@ public class ConnectedDevicesSliceProvider extends SliceProvider implements isConnected ? 1 /* default to NO (index 1) */ : 0 /* default to YES */ ); i.putExtras(extras) - .putExtra(KEY_EXTRAS_DEVICE, device); + .putExtra(KEY_EXTRAS_DEVICE, device) + .setData(Uri.parse(SCHEME_CONTENT + device.getAddress())); List<String> updatedUris = Arrays.asList(GENERAL_SLICE_URI.toString(), sliceUri.toString()); PendingIntent updateSliceIntent = backAndUpdateSliceIntent(getContext(), 1, @@ -522,7 +524,8 @@ public class ConnectedDevicesSliceProvider extends SliceProvider implements ); i = new Intent(context, ResponseActivity.class) .putExtra(KEY_EXTRAS_DEVICE, device) - .putExtras(extras); + .putExtras(extras) + .setData(Uri.parse(SCHEME_CONTENT + device.getAddress())); List<String> updatedUris = Arrays.asList(GENERAL_SLICE_URI.toString(), sliceUri.toString()); PendingIntent updateSliceIntent = updateSliceIntent(getContext(), 2, new ArrayList<>(updatedUris)); @@ -550,7 +553,8 @@ public class ConnectedDevicesSliceProvider extends SliceProvider implements deviceName, 1 /* default to NO (index 1) */ ); - i.putExtras(extras).putExtra(KEY_EXTRAS_DEVICE, device); + i.putExtras(extras).putExtra(KEY_EXTRAS_DEVICE, device) + .setData(Uri.parse(SCHEME_CONTENT + device.getAddress())); updatedUris = Arrays.asList(GENERAL_SLICE_URI.toString(), sliceUri.toString()); updateSliceIntent = backAndUpdateSliceIntent(getContext(), 3, new ArrayList<>(updatedUris), sliceUri.toString()); |