From 6409cf5c94cc1feb72dc078e84e66362fbecd6d5 Mon Sep 17 00:00:00 2001 From: Matthew Fritze Date: Mon, 30 Jul 2018 14:12:50 -0700 Subject: [PATCH] Hide SettingsSlice provider Explicitly set the Settings SliceBroadcastReceiver to be non-exported and remove the intent-filter. Add a second provider: SliceRelayReceiver to receive broadcasts from SysUI to alert Settings to potential changes to bound Settings Slices. The new receiver is exported, but only notifies changes to Settings, and doesn't make any changes itself. Change-Id: I422c0b07a61efa8996e9fdfa398eee84bbc1796f Merged-In: I80d070f7636614135ebe4f57a16f12a3eb6dee81 Fixes: 111330641 Test: boot, robolectric, Slicebrowser --- AndroidManifest.xml | 13 ++-- .../slices/SettingsSliceProvider.java | 2 +- .../slices/SliceBroadcastReceiver.java | 7 -- .../settings/slices/SliceRelayReceiver.java | 39 ++++++++++ .../slices/SliceBroadcastReceiverTest.java | 8 ++- .../slices/SliceRelayReceiverTest.java | 72 +++++++++++++++++++ 6 files changed, 127 insertions(+), 14 deletions(-) create mode 100644 src/com/android/settings/slices/SliceRelayReceiver.java create mode 100644 tests/robotests/src/com/android/settings/slices/SliceRelayReceiverTest.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index fb74bf96f09..2c5f8465114 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -3314,10 +3314,15 @@ - - - + android:name=".slices.SliceBroadcastReceiver" + android:exported="false"> + + + +