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; 21bd16f457a181b8dd32305cedc71ea492a3450739Jaewan Kimimport android.media.session.ICallback; 226e2b01ce75fb1d5647d5d788d8a5644c30cb3068Jaewan Kimimport android.media.session.IOnMediaKeyListener; 23bd16f457a181b8dd32305cedc71ea492a3450739Jaewan Kimimport android.media.session.IOnVolumeKeyLongPressListener; 2407c7077c54717dbbf2c401ea32d00fa6df6d77c6RoboErikimport android.media.session.ISession; 2507c7077c54717dbbf2c401ea32d00fa6df6d77c6RoboErikimport android.media.session.ISessionCallback; 2601fe661ae5da3739215d93922412df4b24c859a2RoboErikimport android.os.Bundle; 278a2cfc309ab9126e90022916967c65a793c034f0RoboErikimport android.view.KeyEvent; 2801fe661ae5da3739215d93922412df4b24c859a2RoboErik 2901fe661ae5da3739215d93922412df4b24c859a2RoboErik/** 3001fe661ae5da3739215d93922412df4b24c859a2RoboErik * Interface to the MediaSessionManagerService 3101fe661ae5da3739215d93922412df4b24c859a2RoboErik * @hide 3201fe661ae5da3739215d93922412df4b24c859a2RoboErik */ 3307c7077c54717dbbf2c401ea32d00fa6df6d77c6RoboErikinterface ISessionManager { 34a5b02329209be355eafadbdf9ee685ffa58d3148RoboErik ISession createSession(String packageName, in ISessionCallback cb, String tag, int userId); 35a5b02329209be355eafadbdf9ee685ffa58d3148RoboErik List<IBinder> getSessions(in ComponentName compName, int userId); 368a2cfc309ab9126e90022916967c65a793c034f0RoboErik void dispatchMediaKeyEvent(in KeyEvent keyEvent, boolean needWakeLock); 375026936e49540449165fd5881231f8970a29ea91Jaewan Kim void dispatchVolumeKeyEvent(in KeyEvent keyEvent, int stream, boolean musicOnly); 381ff5b1648a051e9650614f0c0f1b3f449777db81RoboErik void dispatchAdjustVolume(int suggestedStream, int delta, int flags); 392e7a9167aeefeb451f8d8c769175b9a0163744f3RoboErik void addSessionsListener(in IActiveSessionsListener listener, in ComponentName compName, 402e7a9167aeefeb451f8d8c769175b9a0163744f3RoboErik int userId); 412e7a9167aeefeb451f8d8c769175b9a0163744f3RoboErik void removeSessionsListener(in IActiveSessionsListener listener); 4219c9518f6a817d53d5234de0020313cab6950b2fRoboErik 4319c9518f6a817d53d5234de0020313cab6950b2fRoboErik // This is for the system volume UI only 4419c9518f6a817d53d5234de0020313cab6950b2fRoboErik void setRemoteVolumeController(in IRemoteVolumeController rvc); 45de9ba39c1714f5bc9e1785d8224ad26c132b6293RoboErik 46de9ba39c1714f5bc9e1785d8224ad26c132b6293RoboErik // For PhoneWindowManager to precheck media keys 47de9ba39c1714f5bc9e1785d8224ad26c132b6293RoboErik boolean isGlobalPriorityActive(); 485026936e49540449165fd5881231f8970a29ea91Jaewan Kim 49bd16f457a181b8dd32305cedc71ea492a3450739Jaewan Kim void setCallback(in ICallback callback); 505026936e49540449165fd5881231f8970a29ea91Jaewan Kim void setOnVolumeKeyLongPressListener(in IOnVolumeKeyLongPressListener listener); 516e2b01ce75fb1d5647d5d788d8a5644c30cb3068Jaewan Kim void setOnMediaKeyListener(in IOnMediaKeyListener listener); 525026936e49540449165fd5881231f8970a29ea91Jaewan Kim} 53