From e8d66bb783094af4df6161677303e450634f9ffe 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: 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 | 1 + .../slices/SliceRelayReceiverTest.java | 72 +++++++++++++++++++ 6 files changed, 122 insertions(+), 12 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 d4357318c8a..22ab12df505 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -3137,10 +3137,15 @@ - - - + android:name=".slices.SliceBroadcastReceiver" + android:exported="false"> + + + +