Also rely on enabled notification listeners for RemoteController registration
Registration of a RemoteController may succeed only if: - the caller has the MEDIA_CONTENT_CONTROL permission, - or if the RemoteController.OnClientUpdateListener it registers if one of the enabled notification listeners. For using the "enabled notification listener" functionality, the CL involved: - making OnClientUpdateListener an interface so a 3rd-party application may have its implementation extend NotificationListenerService, which is required for a listener to be enabled by the user. - add the concept of "enabled" status in an IRemoteControlDisplay, so a RemoteController (which encapsulates the IRemoteControlDisplay implementation) may be registered, but later temporarily disabled by the user, as a result of a user action in the security settings, or a user switch. - making MediaFocusControl, the component tied to AudioService, monitor changes in enabled notification listeners, and act upon enable/disable changes. Bug 8209392 Change-Id: Ia8dfa2156c65668b2b0d4ae92048005912652d84
This commit is contained in:
@ -139,6 +139,11 @@ public class Media extends BaseCommand {
|
||||
+ " intent=" + clientMediaIntent + " clearing=" + clearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEnabled(boolean enabled) {
|
||||
System.out.println("New enable state= " + (enabled ? "enabled" : "disabled"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlaybackState(int generationId, int state, long stateChangeTimeMs,
|
||||
long currentPosMs, float speed) {
|
||||
|
Reference in New Issue
Block a user