From 7ffb73f8ff3909e824936e7b09e36f16069981f7 Mon Sep 17 00:00:00 2001 From: Jin Seok Park Date: Thu, 7 Jan 2021 15:51:57 +0900 Subject: [PATCH] [Media ML] Unhide dispatch key event APIs When dispatching key events, PhoneWindowManager and AudioManager uses MediaSessionLegacyHelper, which in turn uses MediaSessionManager. This CL exposes the MediaSessionManager APIs as system API since MediaSessionLegacyHelper will not be moved to mainline. Bug: 176953066 Test: m update-api Change-Id: Ib7b06f076904ea464c31314279a2ced451f4c46e --- core/api/module-lib-current.txt | 3 +++ media/java/android/media/session/MediaSessionManager.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index f22b0f4b22ad4..ef6c8b713c2cc 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -109,8 +109,11 @@ package android.media.session { public final class MediaSessionManager { method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName, int, @Nullable android.os.Handler); + method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent); + method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent, boolean); method public void dispatchMediaKeyEventAsSystemService(@NonNull android.view.KeyEvent); method public boolean dispatchMediaKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token); + method public void dispatchVolumeKeyEvent(@NonNull android.view.KeyEvent, int, boolean); method public void dispatchVolumeKeyEventAsSystemService(@NonNull android.view.KeyEvent, int); method public void dispatchVolumeKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token); method @NonNull public java.util.List getActiveSessionsForUser(@Nullable android.content.ComponentName, int); diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java index f22bcd88f8c30..1fd132d00f10d 100644 --- a/media/java/android/media/session/MediaSessionManager.java +++ b/media/java/android/media/session/MediaSessionManager.java @@ -547,6 +547,7 @@ public final class MediaSessionManager { * @param keyEvent the key event to send * @hide */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public void dispatchMediaKeyEvent(@NonNull KeyEvent keyEvent) { dispatchMediaKeyEventInternal(keyEvent, /*asSystemService=*/false, /*needWakeLock=*/false); } @@ -558,6 +559,7 @@ public final class MediaSessionManager { * @param needWakeLock true if a wake lock should be held while sending the key * @hide */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public void dispatchMediaKeyEvent(@NonNull KeyEvent keyEvent, boolean needWakeLock) { dispatchMediaKeyEventInternal(keyEvent, /*asSystemService=*/false, needWakeLock); } @@ -630,6 +632,7 @@ public final class MediaSessionManager { * @param musicOnly true if key event should only be sent to music stream * @hide */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public void dispatchVolumeKeyEvent(@NonNull KeyEvent keyEvent, int streamType, boolean musicOnly) { dispatchVolumeKeyEventInternal(keyEvent, streamType, musicOnly, /*asSystemService=*/false);