Add Intentfilter BasePreferenceController

For settings which can change in the framework, outside of
the settings app and a slice, a Slice needs to be able to
register a listener for these changes.

Adding a getter for an IntentFilter in BasePreferenceControllers
allows us to use the SliceBroadcastRelay in SysUi to listen for
these changes.

Test: robotests
Bug: 78138654
Change-Id: Ifa05b651aaa3458c54866f71469964b1a070e458
This commit is contained in:
Matthew Fritze
2018-05-11 08:35:42 -07:00
parent 9dd27e3125
commit 097dc80fc1
5 changed files with 60 additions and 7 deletions

View File

@@ -17,6 +17,8 @@
package com.android.settings.notification;
import android.content.Context;
import android.content.IntentFilter;
import android.media.AudioManager;
import android.os.UserHandle;
import android.os.UserManager;
import androidx.preference.Preference;
@@ -57,4 +59,12 @@ public abstract class AdjustVolumeRestrictedPreferenceController extends
UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
}
@Override
public IntentFilter getIntentFilter() {
final IntentFilter filter = new IntentFilter();
filter.addAction(AudioManager.VOLUME_CHANGED_ACTION);
filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION);
filter.addAction(AudioManager.MASTER_MUTE_CHANGED_ACTION);
return filter;
}
}