Loading AndroidManifest.xml +9 −4 Original line number Diff line number Diff line Loading @@ -3314,10 +3314,15 @@ </provider> <receiver android:name=".slices.SliceBroadcastReceiver" > <intent-filter> <action android:name="com.android.settings.slice.action.WIFI_CHANGED"/> </intent-filter> android:name=".slices.SliceBroadcastReceiver" android:exported="false"> </receiver> <receiver android:name=".slices.SliceRelayReceiver" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true"> </receiver> <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send Loading src/com/android/settings/slices/SettingsSliceProvider.java +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ public class SettingsSliceProvider extends SliceProvider { void registerIntentToUri(IntentFilter intentFilter, Uri sliceUri) { Log.d(TAG, "Registering Uri for broadcast relay: " + sliceUri); mRegisteredUris.add(sliceUri); SliceBroadcastRelay.registerReceiver(getContext(), sliceUri, SliceBroadcastReceiver.class, SliceBroadcastRelay.registerReceiver(getContext(), sliceUri, SliceRelayReceiver.class, intentFilter); } Loading src/com/android/settings/slices/SliceBroadcastReceiver.java +0 −7 Original line number Diff line number Diff line Loading @@ -44,7 +44,6 @@ import com.android.settings.core.TogglePreferenceController; import com.android.settings.notification.ZenModeSliceBuilder; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wifi.WifiSliceBuilder; import com.android.settingslib.SliceBroadcastRelay; /** * Responds to actions performed on slices and notifies slices of updates in state changes. Loading Loading @@ -84,12 +83,6 @@ public class SliceBroadcastReceiver extends BroadcastReceiver { case ACTION_ZEN_MODE_SLICE_CHANGED: ZenModeSliceBuilder.handleUriChange(context, intent); break; default: final String uriString = intent.getStringExtra(SliceBroadcastRelay.EXTRA_URI); if (!TextUtils.isEmpty(uriString)) { final Uri uri = Uri.parse(uriString); context.getContentResolver().notifyChange(uri, null /* observer */); } } } Loading src/com/android/settings/slices/SliceRelayReceiver.java 0 → 100644 +39 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License */ package com.android.settings.slices; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.text.TextUtils; import com.android.settingslib.SliceBroadcastRelay; /** * Receives broadcasts to notify that Settings Slices are potentially stale. */ public class SliceRelayReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final String uriString = intent.getStringExtra(SliceBroadcastRelay.EXTRA_URI); if (!TextUtils.isEmpty(uriString)) { final Uri uri = Uri.parse(uriString); context.getContentResolver().notifyChange(uri, null /* observer */); } } } No newline at end of file tests/robotests/src/com/android/settings/slices/SliceBroadcastReceiverTest.java +6 −2 Original line number Diff line number Diff line Loading @@ -159,8 +159,12 @@ public class SliceBroadcastReceiverTest { assertThat(fakeToggleController.isChecked()).isFalse(); final Uri expectedUri = SliceBuilderUtils.getUri( SettingsSlicesContract.PATH_SETTING_ACTION + "/" + key, false); final Uri expectedUri = new Uri.Builder() .scheme(ContentResolver.SCHEME_CONTENT) .authority(SettingsSliceProvider.SLICE_AUTHORITY) .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) .appendPath(key) .build(); verify(resolver).notifyChange(eq(expectedUri), eq(null)); } Loading Loading
AndroidManifest.xml +9 −4 Original line number Diff line number Diff line Loading @@ -3314,10 +3314,15 @@ </provider> <receiver android:name=".slices.SliceBroadcastReceiver" > <intent-filter> <action android:name="com.android.settings.slice.action.WIFI_CHANGED"/> </intent-filter> android:name=".slices.SliceBroadcastReceiver" android:exported="false"> </receiver> <receiver android:name=".slices.SliceRelayReceiver" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true"> </receiver> <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send Loading
src/com/android/settings/slices/SettingsSliceProvider.java +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ public class SettingsSliceProvider extends SliceProvider { void registerIntentToUri(IntentFilter intentFilter, Uri sliceUri) { Log.d(TAG, "Registering Uri for broadcast relay: " + sliceUri); mRegisteredUris.add(sliceUri); SliceBroadcastRelay.registerReceiver(getContext(), sliceUri, SliceBroadcastReceiver.class, SliceBroadcastRelay.registerReceiver(getContext(), sliceUri, SliceRelayReceiver.class, intentFilter); } Loading
src/com/android/settings/slices/SliceBroadcastReceiver.java +0 −7 Original line number Diff line number Diff line Loading @@ -44,7 +44,6 @@ import com.android.settings.core.TogglePreferenceController; import com.android.settings.notification.ZenModeSliceBuilder; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wifi.WifiSliceBuilder; import com.android.settingslib.SliceBroadcastRelay; /** * Responds to actions performed on slices and notifies slices of updates in state changes. Loading Loading @@ -84,12 +83,6 @@ public class SliceBroadcastReceiver extends BroadcastReceiver { case ACTION_ZEN_MODE_SLICE_CHANGED: ZenModeSliceBuilder.handleUriChange(context, intent); break; default: final String uriString = intent.getStringExtra(SliceBroadcastRelay.EXTRA_URI); if (!TextUtils.isEmpty(uriString)) { final Uri uri = Uri.parse(uriString); context.getContentResolver().notifyChange(uri, null /* observer */); } } } Loading
src/com/android/settings/slices/SliceRelayReceiver.java 0 → 100644 +39 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License */ package com.android.settings.slices; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.text.TextUtils; import com.android.settingslib.SliceBroadcastRelay; /** * Receives broadcasts to notify that Settings Slices are potentially stale. */ public class SliceRelayReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final String uriString = intent.getStringExtra(SliceBroadcastRelay.EXTRA_URI); if (!TextUtils.isEmpty(uriString)) { final Uri uri = Uri.parse(uriString); context.getContentResolver().notifyChange(uri, null /* observer */); } } } No newline at end of file
tests/robotests/src/com/android/settings/slices/SliceBroadcastReceiverTest.java +6 −2 Original line number Diff line number Diff line Loading @@ -159,8 +159,12 @@ public class SliceBroadcastReceiverTest { assertThat(fakeToggleController.isChecked()).isFalse(); final Uri expectedUri = SliceBuilderUtils.getUri( SettingsSlicesContract.PATH_SETTING_ACTION + "/" + key, false); final Uri expectedUri = new Uri.Builder() .scheme(ContentResolver.SCHEME_CONTENT) .authority(SettingsSliceProvider.SLICE_AUTHORITY) .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) .appendPath(key) .build(); verify(resolver).notifyChange(eq(expectedUri), eq(null)); } Loading