101fe661ae5da3739215d93922412df4b24c859a2RoboErik/* Copyright (C) 2014 The Android Open Source Project 201fe661ae5da3739215d93922412df4b24c859a2RoboErik * 301fe661ae5da3739215d93922412df4b24c859a2RoboErik * Licensed under the Apache License, Version 2.0 (the "License"); 401fe661ae5da3739215d93922412df4b24c859a2RoboErik * you may not use this file except in compliance with the License. 501fe661ae5da3739215d93922412df4b24c859a2RoboErik * You may obtain a copy of the License at 601fe661ae5da3739215d93922412df4b24c859a2RoboErik * 701fe661ae5da3739215d93922412df4b24c859a2RoboErik * http://www.apache.org/licenses/LICENSE-2.0 801fe661ae5da3739215d93922412df4b24c859a2RoboErik * 901fe661ae5da3739215d93922412df4b24c859a2RoboErik * Unless required by applicable law or agreed to in writing, software 1001fe661ae5da3739215d93922412df4b24c859a2RoboErik * distributed under the License is distributed on an "AS IS" BASIS, 1101fe661ae5da3739215d93922412df4b24c859a2RoboErik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1201fe661ae5da3739215d93922412df4b24c859a2RoboErik * See the License for the specific language governing permissions and 1301fe661ae5da3739215d93922412df4b24c859a2RoboErik * limitations under the License. 1401fe661ae5da3739215d93922412df4b24c859a2RoboErik */ 1501fe661ae5da3739215d93922412df4b24c859a2RoboErik 162f5b057da7d05d5d699a272aa24fd7c97cdda820RoboErikpackage android.media.session; 1701fe661ae5da3739215d93922412df4b24c859a2RoboErik 18e7880d8eb1903d42e4e2a90c99b58e2240e01e82RoboErikimport android.content.ComponentName; 1919c9518f6a817d53d5234de0020313cab6950b2fRoboErikimport android.media.IRemoteVolumeController; 202e7a9167aeefeb451f8d8c769175b9a0163744f3RoboErikimport android.media.session.IActiveSessionsListener; 2107c7077c54717dbbf2c401ea32d00fa6df6d77c6RoboErikimport android.media.session.ISession; 2207c7077c54717dbbf2c401ea32d00fa6df6d77c6RoboErikimport android.media.session.ISessionCallback; 2301fe661ae5da3739215d93922412df4b24c859a2RoboErikimport android.os.Bundle; 248a2cfc309ab9126e90022916967c65a793c034f0RoboErikimport android.view.KeyEvent; 2501fe661ae5da3739215d93922412df4b24c859a2RoboErik 2601fe661ae5da3739215d93922412df4b24c859a2RoboErik/** 2701fe661ae5da3739215d93922412df4b24c859a2RoboErik * Interface to the MediaSessionManagerService 2801fe661ae5da3739215d93922412df4b24c859a2RoboErik * @hide 2901fe661ae5da3739215d93922412df4b24c859a2RoboErik */ 3007c7077c54717dbbf2c401ea32d00fa6df6d77c6RoboErikinterface ISessionManager { 31a5b02329209be355eafadbdf9ee685ffa58d3148RoboErik ISession createSession(String packageName, in ISessionCallback cb, String tag, int userId); 32a5b02329209be355eafadbdf9ee685ffa58d3148RoboErik List<IBinder> getSessions(in ComponentName compName, int userId); 338a2cfc309ab9126e90022916967c65a793c034f0RoboErik void dispatchMediaKeyEvent(in KeyEvent keyEvent, boolean needWakeLock); 341ff5b1648a051e9650614f0c0f1b3f449777db81RoboErik void dispatchAdjustVolume(int suggestedStream, int delta, int flags); 352e7a9167aeefeb451f8d8c769175b9a0163744f3RoboErik void addSessionsListener(in IActiveSessionsListener listener, in ComponentName compName, 362e7a9167aeefeb451f8d8c769175b9a0163744f3RoboErik int userId); 372e7a9167aeefeb451f8d8c769175b9a0163744f3RoboErik void removeSessionsListener(in IActiveSessionsListener listener); 3819c9518f6a817d53d5234de0020313cab6950b2fRoboErik 3919c9518f6a817d53d5234de0020313cab6950b2fRoboErik // This is for the system volume UI only 4019c9518f6a817d53d5234de0020313cab6950b2fRoboErik void setRemoteVolumeController(in IRemoteVolumeController rvc); 41de9ba39c1714f5bc9e1785d8224ad26c132b6293RoboErik 42de9ba39c1714f5bc9e1785d8224ad26c132b6293RoboErik // For PhoneWindowManager to precheck media keys 43de9ba39c1714f5bc9e1785d8224ad26c132b6293RoboErik boolean isGlobalPriorityActive(); 4401fe661ae5da3739215d93922412df4b24c859a2RoboErik}