1*344a7f5eSAndroid Build Coastguard Worker// Signature format: 2.0 2*344a7f5eSAndroid Build Coastguard Workerpackage android.media { 3*344a7f5eSAndroid Build Coastguard Worker 4*344a7f5eSAndroid Build Coastguard Worker public final class ApplicationMediaCapabilities implements android.os.Parcelable { 5*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.media.ApplicationMediaCapabilities createFromXml(@NonNull org.xmlpull.v1.XmlPullParser); 6*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 7*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<java.lang.String> getSupportedHdrTypes(); 8*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<java.lang.String> getSupportedVideoMimeTypes(); 9*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<java.lang.String> getUnsupportedHdrTypes(); 10*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<java.lang.String> getUnsupportedVideoMimeTypes(); 11*344a7f5eSAndroid Build Coastguard Worker method public boolean isFormatSpecified(@NonNull String); 12*344a7f5eSAndroid Build Coastguard Worker method public boolean isHdrTypeSupported(@NonNull String); 13*344a7f5eSAndroid Build Coastguard Worker method public boolean isVideoMimeTypeSupported(@NonNull String); 14*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 15*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.media.ApplicationMediaCapabilities> CREATOR; 16*344a7f5eSAndroid Build Coastguard Worker } 17*344a7f5eSAndroid Build Coastguard Worker 18*344a7f5eSAndroid Build Coastguard Worker public static final class ApplicationMediaCapabilities.Builder { 19*344a7f5eSAndroid Build Coastguard Worker ctor public ApplicationMediaCapabilities.Builder(); 20*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedHdrType(@NonNull String); 21*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedVideoMimeType(@NonNull String); 22*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedHdrType(@NonNull String); 23*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedVideoMimeType(@NonNull String); 24*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.ApplicationMediaCapabilities build(); 25*344a7f5eSAndroid Build Coastguard Worker } 26*344a7f5eSAndroid Build Coastguard Worker 27*344a7f5eSAndroid Build Coastguard Worker public class MediaCommunicationManager { 28*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens(); 29*344a7f5eSAndroid Build Coastguard Worker method @IntRange(from=1) public int getVersion(); 30*344a7f5eSAndroid Build Coastguard Worker } 31*344a7f5eSAndroid Build Coastguard Worker 32*344a7f5eSAndroid Build Coastguard Worker public class MediaController2 implements java.lang.AutoCloseable { 33*344a7f5eSAndroid Build Coastguard Worker method public void cancelSessionCommand(@NonNull Object); 34*344a7f5eSAndroid Build Coastguard Worker method public void close(); 35*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.media.Session2Token getConnectedToken(); 36*344a7f5eSAndroid Build Coastguard Worker method public boolean isPlaybackActive(); 37*344a7f5eSAndroid Build Coastguard Worker method @NonNull public Object sendSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle); 38*344a7f5eSAndroid Build Coastguard Worker } 39*344a7f5eSAndroid Build Coastguard Worker 40*344a7f5eSAndroid Build Coastguard Worker public static final class MediaController2.Builder { 41*344a7f5eSAndroid Build Coastguard Worker ctor public MediaController2.Builder(@NonNull android.content.Context, @NonNull android.media.Session2Token); 42*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaController2 build(); 43*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaController2.Builder setConnectionHints(@NonNull android.os.Bundle); 44*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaController2.Builder setControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaController2.ControllerCallback); 45*344a7f5eSAndroid Build Coastguard Worker } 46*344a7f5eSAndroid Build Coastguard Worker 47*344a7f5eSAndroid Build Coastguard Worker public abstract static class MediaController2.ControllerCallback { 48*344a7f5eSAndroid Build Coastguard Worker ctor public MediaController2.ControllerCallback(); 49*344a7f5eSAndroid Build Coastguard Worker method public void onCommandResult(@NonNull android.media.MediaController2, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result); 50*344a7f5eSAndroid Build Coastguard Worker method public void onConnected(@NonNull android.media.MediaController2, @NonNull android.media.Session2CommandGroup); 51*344a7f5eSAndroid Build Coastguard Worker method public void onDisconnected(@NonNull android.media.MediaController2); 52*344a7f5eSAndroid Build Coastguard Worker method public void onPlaybackActiveChanged(@NonNull android.media.MediaController2, boolean); 53*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaController2, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); 54*344a7f5eSAndroid Build Coastguard Worker } 55*344a7f5eSAndroid Build Coastguard Worker 56*344a7f5eSAndroid Build Coastguard Worker public final class MediaFeature { 57*344a7f5eSAndroid Build Coastguard Worker ctor public MediaFeature(); 58*344a7f5eSAndroid Build Coastguard Worker } 59*344a7f5eSAndroid Build Coastguard Worker 60*344a7f5eSAndroid Build Coastguard Worker public static final class MediaFeature.HdrType { 61*344a7f5eSAndroid Build Coastguard Worker field public static final String DOLBY_VISION = "android.media.feature.hdr.dolby_vision"; 62*344a7f5eSAndroid Build Coastguard Worker field public static final String HDR10 = "android.media.feature.hdr.hdr10"; 63*344a7f5eSAndroid Build Coastguard Worker field public static final String HDR10_PLUS = "android.media.feature.hdr.hdr10_plus"; 64*344a7f5eSAndroid Build Coastguard Worker field public static final String HLG = "android.media.feature.hdr.hlg"; 65*344a7f5eSAndroid Build Coastguard Worker } 66*344a7f5eSAndroid Build Coastguard Worker 67*344a7f5eSAndroid Build Coastguard Worker public final class MediaParser { 68*344a7f5eSAndroid Build Coastguard Worker method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException; 69*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...); 70*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer); 71*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.metrics.LogSessionId getLogSessionId(); 72*344a7f5eSAndroid Build Coastguard Worker method @NonNull public String getParserName(); 73*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat); 74*344a7f5eSAndroid Build Coastguard Worker method public void release(); 75*344a7f5eSAndroid Build Coastguard Worker method public void seek(@NonNull android.media.MediaParser.SeekPoint); 76*344a7f5eSAndroid Build Coastguard Worker method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId); 77*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaParser setParameter(@NonNull String, @NonNull Object); 78*344a7f5eSAndroid Build Coastguard Worker method public boolean supportsParameter(@NonNull String); 79*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_ADTS_ENABLE_CBR_SEEKING = "android.media.mediaparser.adts.enableCbrSeeking"; 80*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_AMR_ENABLE_CBR_SEEKING = "android.media.mediaparser.amr.enableCbrSeeking"; 81*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_FLAC_DISABLE_ID3 = "android.media.mediaparser.flac.disableId3"; 82*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_MATROSKA_DISABLE_CUES_SEEKING = "android.media.mediaparser.matroska.disableCuesSeeking"; 83*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_MP3_DISABLE_ID3 = "android.media.mediaparser.mp3.disableId3"; 84*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_MP3_ENABLE_CBR_SEEKING = "android.media.mediaparser.mp3.enableCbrSeeking"; 85*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_MP3_ENABLE_INDEX_SEEKING = "android.media.mediaparser.mp3.enableIndexSeeking"; 86*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_MP4_IGNORE_EDIT_LISTS = "android.media.mediaparser.mp4.ignoreEditLists"; 87*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_MP4_IGNORE_TFDT_BOX = "android.media.mediaparser.mp4.ignoreTfdtBox"; 88*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES = "android.media.mediaparser.mp4.treatVideoFramesAsKeyframes"; 89*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES = "android.media.mediaparser.ts.allowNonIdrAvcKeyframes"; 90*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_TS_DETECT_ACCESS_UNITS = "android.media.mediaparser.ts.ignoreDetectAccessUnits"; 91*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS = "android.media.mediaparser.ts.enableHdmvDtsAudioStreams"; 92*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_TS_IGNORE_AAC_STREAM = "android.media.mediaparser.ts.ignoreAacStream"; 93*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_TS_IGNORE_AVC_STREAM = "android.media.mediaparser.ts.ignoreAvcStream"; 94*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM = "android.media.mediaparser.ts.ignoreSpliceInfoStream"; 95*344a7f5eSAndroid Build Coastguard Worker field public static final String PARAMETER_TS_MODE = "android.media.mediaparser.ts.mode"; 96*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_AC3 = "android.media.mediaparser.Ac3Parser"; 97*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_AC4 = "android.media.mediaparser.Ac4Parser"; 98*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_ADTS = "android.media.mediaparser.AdtsParser"; 99*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_AMR = "android.media.mediaparser.AmrParser"; 100*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_FLAC = "android.media.mediaparser.FlacParser"; 101*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_FLV = "android.media.mediaparser.FlvParser"; 102*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser"; 103*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser"; 104*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_MP3 = "android.media.mediaparser.Mp3Parser"; 105*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser"; 106*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser"; 107*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser"; 108*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser"; 109*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN"; 110*344a7f5eSAndroid Build Coastguard Worker field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser"; 111*344a7f5eSAndroid Build Coastguard Worker field public static final int SAMPLE_FLAG_DECODE_ONLY = -2147483648; // 0x80000000 112*344a7f5eSAndroid Build Coastguard Worker field public static final int SAMPLE_FLAG_ENCRYPTED = 1073741824; // 0x40000000 113*344a7f5eSAndroid Build Coastguard Worker field public static final int SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA = 268435456; // 0x10000000 114*344a7f5eSAndroid Build Coastguard Worker field public static final int SAMPLE_FLAG_KEY_FRAME = 1; // 0x1 115*344a7f5eSAndroid Build Coastguard Worker field public static final int SAMPLE_FLAG_LAST_SAMPLE = 536870912; // 0x20000000 116*344a7f5eSAndroid Build Coastguard Worker } 117*344a7f5eSAndroid Build Coastguard Worker 118*344a7f5eSAndroid Build Coastguard Worker public static interface MediaParser.InputReader { 119*344a7f5eSAndroid Build Coastguard Worker method public long getLength(); 120*344a7f5eSAndroid Build Coastguard Worker method public long getPosition(); 121*344a7f5eSAndroid Build Coastguard Worker method public int read(@NonNull byte[], int, int) throws java.io.IOException; 122*344a7f5eSAndroid Build Coastguard Worker } 123*344a7f5eSAndroid Build Coastguard Worker 124*344a7f5eSAndroid Build Coastguard Worker public static interface MediaParser.OutputConsumer { 125*344a7f5eSAndroid Build Coastguard Worker method public void onSampleCompleted(int, long, int, int, int, @Nullable android.media.MediaCodec.CryptoInfo); 126*344a7f5eSAndroid Build Coastguard Worker method public void onSampleDataFound(int, @NonNull android.media.MediaParser.InputReader) throws java.io.IOException; 127*344a7f5eSAndroid Build Coastguard Worker method public void onSeekMapFound(@NonNull android.media.MediaParser.SeekMap); 128*344a7f5eSAndroid Build Coastguard Worker method public void onTrackCountFound(int); 129*344a7f5eSAndroid Build Coastguard Worker method public void onTrackDataFound(int, @NonNull android.media.MediaParser.TrackData); 130*344a7f5eSAndroid Build Coastguard Worker } 131*344a7f5eSAndroid Build Coastguard Worker 132*344a7f5eSAndroid Build Coastguard Worker public static final class MediaParser.ParsingException extends java.io.IOException { 133*344a7f5eSAndroid Build Coastguard Worker } 134*344a7f5eSAndroid Build Coastguard Worker 135*344a7f5eSAndroid Build Coastguard Worker public static final class MediaParser.SeekMap { 136*344a7f5eSAndroid Build Coastguard Worker method public long getDurationMicros(); 137*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint> getSeekPoints(long); 138*344a7f5eSAndroid Build Coastguard Worker method public boolean isSeekable(); 139*344a7f5eSAndroid Build Coastguard Worker field public static final int UNKNOWN_DURATION = -2147483648; // 0x80000000 140*344a7f5eSAndroid Build Coastguard Worker } 141*344a7f5eSAndroid Build Coastguard Worker 142*344a7f5eSAndroid Build Coastguard Worker public static final class MediaParser.SeekPoint { 143*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.media.MediaParser.SeekPoint START; 144*344a7f5eSAndroid Build Coastguard Worker field public final long position; 145*344a7f5eSAndroid Build Coastguard Worker field public final long timeMicros; 146*344a7f5eSAndroid Build Coastguard Worker } 147*344a7f5eSAndroid Build Coastguard Worker 148*344a7f5eSAndroid Build Coastguard Worker public static interface MediaParser.SeekableInputReader extends android.media.MediaParser.InputReader { 149*344a7f5eSAndroid Build Coastguard Worker method public void seekToPosition(long); 150*344a7f5eSAndroid Build Coastguard Worker } 151*344a7f5eSAndroid Build Coastguard Worker 152*344a7f5eSAndroid Build Coastguard Worker public static final class MediaParser.TrackData { 153*344a7f5eSAndroid Build Coastguard Worker field @Nullable public final android.media.DrmInitData drmInitData; 154*344a7f5eSAndroid Build Coastguard Worker field @NonNull public final android.media.MediaFormat mediaFormat; 155*344a7f5eSAndroid Build Coastguard Worker } 156*344a7f5eSAndroid Build Coastguard Worker 157*344a7f5eSAndroid Build Coastguard Worker public static final class MediaParser.UnrecognizedInputFormatException extends java.io.IOException { 158*344a7f5eSAndroid Build Coastguard Worker } 159*344a7f5eSAndroid Build Coastguard Worker 160*344a7f5eSAndroid Build Coastguard Worker public class MediaSession2 implements java.lang.AutoCloseable { 161*344a7f5eSAndroid Build Coastguard Worker method public void broadcastSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle); 162*344a7f5eSAndroid Build Coastguard Worker method public void cancelSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object); 163*344a7f5eSAndroid Build Coastguard Worker method public void close(); 164*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.media.MediaSession2.ControllerInfo> getConnectedControllers(); 165*344a7f5eSAndroid Build Coastguard Worker method @NonNull public String getId(); 166*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.Session2Token getToken(); 167*344a7f5eSAndroid Build Coastguard Worker method public boolean isPlaybackActive(); 168*344a7f5eSAndroid Build Coastguard Worker method @NonNull public Object sendSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); 169*344a7f5eSAndroid Build Coastguard Worker method public void setPlaybackActive(boolean); 170*344a7f5eSAndroid Build Coastguard Worker } 171*344a7f5eSAndroid Build Coastguard Worker 172*344a7f5eSAndroid Build Coastguard Worker public static final class MediaSession2.Builder { 173*344a7f5eSAndroid Build Coastguard Worker ctor public MediaSession2.Builder(@NonNull android.content.Context); 174*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaSession2 build(); 175*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaSession2.Builder setExtras(@NonNull android.os.Bundle); 176*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaSession2.Builder setId(@NonNull String); 177*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaSession2.Builder setSessionActivity(@Nullable android.app.PendingIntent); 178*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.MediaSession2.Builder setSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaSession2.SessionCallback); 179*344a7f5eSAndroid Build Coastguard Worker } 180*344a7f5eSAndroid Build Coastguard Worker 181*344a7f5eSAndroid Build Coastguard Worker public static final class MediaSession2.ControllerInfo { 182*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.os.Bundle getConnectionHints(); 183*344a7f5eSAndroid Build Coastguard Worker method @NonNull public String getPackageName(); 184*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.session.MediaSessionManager.RemoteUserInfo getRemoteUserInfo(); 185*344a7f5eSAndroid Build Coastguard Worker method public int getUid(); 186*344a7f5eSAndroid Build Coastguard Worker } 187*344a7f5eSAndroid Build Coastguard Worker 188*344a7f5eSAndroid Build Coastguard Worker public abstract static class MediaSession2.SessionCallback { 189*344a7f5eSAndroid Build Coastguard Worker ctor public MediaSession2.SessionCallback(); 190*344a7f5eSAndroid Build Coastguard Worker method public void onCommandResult(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result); 191*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.media.Session2CommandGroup onConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); 192*344a7f5eSAndroid Build Coastguard Worker method public void onDisconnected(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); 193*344a7f5eSAndroid Build Coastguard Worker method public void onPostConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); 194*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); 195*344a7f5eSAndroid Build Coastguard Worker } 196*344a7f5eSAndroid Build Coastguard Worker 197*344a7f5eSAndroid Build Coastguard Worker public abstract class MediaSession2Service extends android.app.Service { 198*344a7f5eSAndroid Build Coastguard Worker ctor public MediaSession2Service(); 199*344a7f5eSAndroid Build Coastguard Worker method public final void addSession(@NonNull android.media.MediaSession2); 200*344a7f5eSAndroid Build Coastguard Worker method @NonNull public final java.util.List<android.media.MediaSession2> getSessions(); 201*344a7f5eSAndroid Build Coastguard Worker method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); 202*344a7f5eSAndroid Build Coastguard Worker method @Nullable public abstract android.media.MediaSession2 onGetSession(@NonNull android.media.MediaSession2.ControllerInfo); 203*344a7f5eSAndroid Build Coastguard Worker method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2); 204*344a7f5eSAndroid Build Coastguard Worker method public final void removeSession(@NonNull android.media.MediaSession2); 205*344a7f5eSAndroid Build Coastguard Worker field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service"; 206*344a7f5eSAndroid Build Coastguard Worker } 207*344a7f5eSAndroid Build Coastguard Worker 208*344a7f5eSAndroid Build Coastguard Worker public static class MediaSession2Service.MediaNotification { 209*344a7f5eSAndroid Build Coastguard Worker ctor public MediaSession2Service.MediaNotification(int, @NonNull android.app.Notification); 210*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.app.Notification getNotification(); 211*344a7f5eSAndroid Build Coastguard Worker method public int getNotificationId(); 212*344a7f5eSAndroid Build Coastguard Worker } 213*344a7f5eSAndroid Build Coastguard Worker 214*344a7f5eSAndroid Build Coastguard Worker public final class Session2Command implements android.os.Parcelable { 215*344a7f5eSAndroid Build Coastguard Worker ctor public Session2Command(int); 216*344a7f5eSAndroid Build Coastguard Worker ctor public Session2Command(@NonNull String, @Nullable android.os.Bundle); 217*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 218*344a7f5eSAndroid Build Coastguard Worker method public int getCommandCode(); 219*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getCustomAction(); 220*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.os.Bundle getCustomExtras(); 221*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 222*344a7f5eSAndroid Build Coastguard Worker field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0 223*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Command> CREATOR; 224*344a7f5eSAndroid Build Coastguard Worker } 225*344a7f5eSAndroid Build Coastguard Worker 226*344a7f5eSAndroid Build Coastguard Worker public static final class Session2Command.Result { 227*344a7f5eSAndroid Build Coastguard Worker ctor public Session2Command.Result(int, @Nullable android.os.Bundle); 228*344a7f5eSAndroid Build Coastguard Worker method public int getResultCode(); 229*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.os.Bundle getResultData(); 230*344a7f5eSAndroid Build Coastguard Worker field public static final int RESULT_ERROR_UNKNOWN_ERROR = -1; // 0xffffffff 231*344a7f5eSAndroid Build Coastguard Worker field public static final int RESULT_INFO_SKIPPED = 1; // 0x1 232*344a7f5eSAndroid Build Coastguard Worker field public static final int RESULT_SUCCESS = 0; // 0x0 233*344a7f5eSAndroid Build Coastguard Worker } 234*344a7f5eSAndroid Build Coastguard Worker 235*344a7f5eSAndroid Build Coastguard Worker public final class Session2CommandGroup implements android.os.Parcelable { 236*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 237*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.Set<android.media.Session2Command> getCommands(); 238*344a7f5eSAndroid Build Coastguard Worker method public boolean hasCommand(@NonNull android.media.Session2Command); 239*344a7f5eSAndroid Build Coastguard Worker method public boolean hasCommand(int); 240*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 241*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2CommandGroup> CREATOR; 242*344a7f5eSAndroid Build Coastguard Worker } 243*344a7f5eSAndroid Build Coastguard Worker 244*344a7f5eSAndroid Build Coastguard Worker public static final class Session2CommandGroup.Builder { 245*344a7f5eSAndroid Build Coastguard Worker ctor public Session2CommandGroup.Builder(); 246*344a7f5eSAndroid Build Coastguard Worker ctor public Session2CommandGroup.Builder(@NonNull android.media.Session2CommandGroup); 247*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.Session2CommandGroup.Builder addCommand(@NonNull android.media.Session2Command); 248*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.Session2CommandGroup build(); 249*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.media.Session2CommandGroup.Builder removeCommand(@NonNull android.media.Session2Command); 250*344a7f5eSAndroid Build Coastguard Worker } 251*344a7f5eSAndroid Build Coastguard Worker 252*344a7f5eSAndroid Build Coastguard Worker public final class Session2Token implements android.os.Parcelable { 253*344a7f5eSAndroid Build Coastguard Worker ctor public Session2Token(@NonNull android.content.Context, @NonNull android.content.ComponentName); 254*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 255*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.os.Bundle getExtras(); 256*344a7f5eSAndroid Build Coastguard Worker method @NonNull public String getPackageName(); 257*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getServiceName(); 258*344a7f5eSAndroid Build Coastguard Worker method public int getType(); 259*344a7f5eSAndroid Build Coastguard Worker method public int getUid(); 260*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 261*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Token> CREATOR; 262*344a7f5eSAndroid Build Coastguard Worker field public static final int TYPE_SESSION = 0; // 0x0 263*344a7f5eSAndroid Build Coastguard Worker field public static final int TYPE_SESSION_SERVICE = 1; // 0x1 264*344a7f5eSAndroid Build Coastguard Worker } 265*344a7f5eSAndroid Build Coastguard Worker 266*344a7f5eSAndroid Build Coastguard Worker} 267*344a7f5eSAndroid Build Coastguard Worker 268