• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 2014 The Android Open Source Project
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *      http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 package android.media.session;
17 
18 import android.content.ComponentName;
19 import android.content.pm.ParceledListSlice;
20 import android.media.IRemoteVolumeController;
21 import android.media.Session2Token;
22 import android.media.session.IActiveSessionsListener;
23 import android.media.session.ICallback;
24 import android.media.session.IOnMediaKeyListener;
25 import android.media.session.IOnVolumeKeyLongPressListener;
26 import android.media.session.ISession;
27 import android.media.session.ISessionCallback;
28 import android.media.session.ISession2TokensListener;
29 import android.media.session.MediaSession;
30 import android.os.Bundle;
31 import android.view.KeyEvent;
32 
33 /**
34  * Interface to the MediaSessionManagerService
35  * @hide
36  */
37 interface ISessionManager {
createSession(String packageName, in ISessionCallback sessionCb, String tag, in Bundle sessionInfo, int userId)38     ISession createSession(String packageName, in ISessionCallback sessionCb, String tag,
39             in Bundle sessionInfo, int userId);
notifySession2Created(in Session2Token sessionToken)40     void notifySession2Created(in Session2Token sessionToken);
getSessions(in ComponentName compName, int userId)41     List<MediaSession.Token> getSessions(in ComponentName compName, int userId);
getSession2Tokens(int userId)42     ParceledListSlice getSession2Tokens(int userId);
dispatchMediaKeyEvent(String packageName, boolean asSystemService, in KeyEvent keyEvent, boolean needWakeLock)43     void dispatchMediaKeyEvent(String packageName, boolean asSystemService, in KeyEvent keyEvent,
44             boolean needWakeLock);
dispatchMediaKeyEventToSessionAsSystemService(String packageName, in MediaSession.Token sessionToken, in KeyEvent keyEvent)45     boolean dispatchMediaKeyEventToSessionAsSystemService(String packageName,
46             in MediaSession.Token sessionToken, in KeyEvent keyEvent);
dispatchVolumeKeyEvent(String packageName, String opPackageName, boolean asSystemService, in KeyEvent keyEvent, int stream, boolean musicOnly)47     void dispatchVolumeKeyEvent(String packageName, String opPackageName, boolean asSystemService,
48             in KeyEvent keyEvent, int stream, boolean musicOnly);
dispatchVolumeKeyEventToSessionAsSystemService(String packageName, String opPackageName, in MediaSession.Token sessionToken, in KeyEvent keyEvent)49     void dispatchVolumeKeyEventToSessionAsSystemService(String packageName, String opPackageName,
50             in MediaSession.Token sessionToken, in KeyEvent keyEvent);
dispatchAdjustVolume(String packageName, String opPackageName, int suggestedStream, int delta, int flags)51     void dispatchAdjustVolume(String packageName, String opPackageName, int suggestedStream,
52             int delta, int flags);
addSessionsListener(in IActiveSessionsListener listener, in ComponentName compName, int userId)53     void addSessionsListener(in IActiveSessionsListener listener, in ComponentName compName,
54             int userId);
removeSessionsListener(in IActiveSessionsListener listener)55     void removeSessionsListener(in IActiveSessionsListener listener);
addSession2TokensListener(in ISession2TokensListener listener, int userId)56     void addSession2TokensListener(in ISession2TokensListener listener, int userId);
removeSession2TokensListener(in ISession2TokensListener listener)57     void removeSession2TokensListener(in ISession2TokensListener listener);
58 
registerRemoteVolumeController(in IRemoteVolumeController rvc)59     void registerRemoteVolumeController(in IRemoteVolumeController rvc);
unregisterRemoteVolumeController(in IRemoteVolumeController rvc)60     void unregisterRemoteVolumeController(in IRemoteVolumeController rvc);
61 
62     // For PhoneWindowManager to precheck media keys
isGlobalPriorityActive()63     boolean isGlobalPriorityActive();
64 
setCallback(in ICallback callback)65     void setCallback(in ICallback callback);
setOnVolumeKeyLongPressListener(in IOnVolumeKeyLongPressListener listener)66     void setOnVolumeKeyLongPressListener(in IOnVolumeKeyLongPressListener listener);
setOnMediaKeyListener(in IOnMediaKeyListener listener)67     void setOnMediaKeyListener(in IOnMediaKeyListener listener);
68 
isTrusted(String controllerPackageName, int controllerPid, int controllerUid)69     boolean isTrusted(String controllerPackageName, int controllerPid, int controllerUid);
70 }
71