Track and destroy inline URI grants separately from Notification URIs.

Bug: 142492493
Bug: 137398133

Test: Unit tests pass. Manual testing with an app configured to receive images via RemoteInput can access and display image URIs after the notification has been canceled, but before the notification entry has been removed from the shade.

Change-Id: If64ae7eff7293df3317a1f629977aaaccd866b32
This commit is contained in:
Aran Ink
2019-10-24 16:09:45 -04:00
parent 3e900e92c5
commit 979c9766df
17 changed files with 408 additions and 85 deletions

View File

@@ -89,6 +89,7 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.statusbar.tv.TvStatusBar;
@@ -277,7 +278,8 @@ public abstract class CarSystemUIBinder {
DozeScrimController dozeScrimController,
CommandQueue commandQueue,
PluginManager pluginManager,
CarNavigationBarController carNavigationBarController) {
CarNavigationBarController carNavigationBarController,
RemoteInputUriController remoteInputUriController) {
return new CarStatusBar(
context,
featureFlags,
@@ -344,6 +346,7 @@ public abstract class CarSystemUIBinder {
dozeScrimController,
commandQueue,
pluginManager,
remoteInputUriController,
carNavigationBarController);
}
}

View File

@@ -128,6 +128,7 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.util.InjectionInflationController;
@@ -301,7 +302,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
DozeScrimController dozeScrimController,
CommandQueue commandQueue,
PluginManager pluginManager,
RemoteInputUriController remoteInputUriController,
/* Car Settings injected components. */
CarNavigationBarController carNavigationBarController) {
super(
@@ -370,7 +371,8 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
powerManager,
dozeScrimController,
commandQueue,
pluginManager);
pluginManager,
remoteInputUriController);
mScrimController = scrimController;
mCarNavigationBarController = carNavigationBarController;
}