Fix non responding slice toggling problem.

The issue happens when users are toggling slices. Sometimes the toggle
doesn't work as expected because the pending intent of the toggle action
seems to be canceled for some reasons.

Hence, we replace FLAG_CANCEL_CURRENT with FLAG_UPDATE_CURRENT to prevent from
getting PendingIntent.CancelExcpetion from SliceActionView when toggling
slices.

Note that this change would only apply on Wifi, MobileData, Flashlight
and Bluetooth Slices.

Bug: 140719905
Test: rebuild and switch toggles
Change-Id: Iddbb16ddcbcf97b6f6e680b43645c04fbc061f39
This commit is contained in:
Yi-Ling Chuang
2019-09-27 12:21:59 +08:00
parent ccd0c91498
commit f8eb30800a
2 changed files with 2 additions and 2 deletions

View File

@@ -136,6 +136,6 @@ public class BluetoothSliceBuilder {
final Intent intent = new Intent(ACTION_BLUETOOTH_SLICE_CHANGED) final Intent intent = new Intent(ACTION_BLUETOOTH_SLICE_CHANGED)
.setClass(context, SliceBroadcastReceiver.class); .setClass(context, SliceBroadcastReceiver.class);
return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent.FLAG_UPDATE_CURRENT);
} }
} }

View File

@@ -95,7 +95,7 @@ public interface CustomSliceable extends Sliceable {
.setData(getUri()) .setData(getUri())
.setClass(context, SliceBroadcastReceiver.class); .setClass(context, SliceBroadcastReceiver.class);
return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent.FLAG_UPDATE_CURRENT);
} }
@Override @Override