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
Fixes: 78138654

Change-Id: I579375069ca98fd21b60cd3a69c1a122cabf96e2
Merged-In: Ifa05b651aaa3458c54866f71469964b1a070e458
This commit is contained in:
Matthew Fritze
2018-05-11 08:35:42 -07:00
parent 6dc6462a54
commit 4a6f058552
5 changed files with 60 additions and 9 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 android.support.v7.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;
}
}