.class Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21; .super Ljava/lang/Object; .source "MediaControllerCompat.java" # interfaces .implements Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImpl; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroid/support/v4/media/session/MediaControllerCompat; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x8 name = "MediaControllerImplApi21" .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraCallback;, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraBinderRequestResultReceiver; } .end annotation # instance fields .field private mCallbackMap:Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashMap<", "Landroid/support/v4/media/session/MediaControllerCompat$Callback;", "Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraCallback;", ">;" } .end annotation .end field .field protected final mControllerObj:Ljava/lang/Object; .field final mLock:Ljava/lang/Object; .field private final mPendingCallbacks:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroid/support/v4/media/session/MediaControllerCompat$Callback;", ">;" } .end annotation .end field .field final mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; # direct methods .method public constructor (Landroid/content/Context;Landroid/support/v4/media/session/MediaSessionCompat$Token;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Landroid/os/RemoteException; } .end annotation .line 1961 invoke-direct {p0}, Ljava/lang/Object;->()V .line 1951 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V iput-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mLock:Ljava/lang/Object; .line 1953 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mPendingCallbacks:Ljava/util/List; .line 1956 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V iput-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mCallbackMap:Ljava/util/HashMap; .line 1962 iput-object p2, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; .line 1964 invoke-virtual {p2}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getToken()Ljava/lang/Object; move-result-object v0 .line 1963 invoke-static {p1, v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->fromToken(Landroid/content/Context;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 iput-object p1, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; if-eqz p1, :cond_30 .line 1966 invoke-virtual {p2}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object p1 if-nez p1, :cond_2f .line 1967 invoke-direct {p0}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->requestExtraBinder()V :cond_2f return-void .line 1965 :cond_30 new-instance p1, Landroid/os/RemoteException; invoke-direct {p1}, Landroid/os/RemoteException;->()V throw p1 .end method .method private requestExtraBinder()V .registers 4 .line 2198 new-instance v0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraBinderRequestResultReceiver; invoke-direct {v0, p0}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraBinderRequestResultReceiver;->(Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;)V const-string v1, "android.support.v4.media.session.command.GET_EXTRA_BINDER" const/4 v2, 0x0 invoke-virtual {p0, v1, v2, v0}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->sendCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V return-void .end method # virtual methods .method public addQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;)V .registers 6 .line 2053 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->getFlags()J move-result-wide v0 const-wide/16 v2, 0x4 and-long/2addr v0, v2 const-wide/16 v2, 0x0 cmp-long v0, v0, v2 if-eqz v0, :cond_1e .line 2058 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V .line 2059 const-string v1, "android.support.v4.media.session.command.ARGUMENT_MEDIA_DESCRIPTION" invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V .line 2060 const-string p1, "android.support.v4.media.session.command.ADD_QUEUE_ITEM" const/4 v1, 0x0 invoke-virtual {p0, p1, v0, v1}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->sendCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V return-void .line 2055 :cond_1e new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "This session doesn\'t support queue management operations" invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public addQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;I)V .registers 7 .line 2065 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->getFlags()J move-result-wide v0 const-wide/16 v2, 0x4 and-long/2addr v0, v2 const-wide/16 v2, 0x0 cmp-long v0, v0, v2 if-eqz v0, :cond_23 .line 2070 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V .line 2071 const-string v1, "android.support.v4.media.session.command.ARGUMENT_MEDIA_DESCRIPTION" invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V .line 2072 const-string p1, "android.support.v4.media.session.command.ARGUMENT_INDEX" invoke-virtual {v0, p1, p2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V .line 2073 const-string p1, "android.support.v4.media.session.command.ADD_QUEUE_ITEM_AT" const/4 p2, 0x0 invoke-virtual {p0, p1, v0, p2}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->sendCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V return-void .line 2067 :cond_23 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string p2, "This session doesn\'t support queue management operations" invoke-direct {p1, p2}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public adjustVolume(II)V .registers 4 .line 2174 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0, p1, p2}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->adjustVolume(Ljava/lang/Object;II)V return-void .end method .method public dispatchMediaButtonEvent(Landroid/view/KeyEvent;)Z .registers 3 .line 2017 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0, p1}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->dispatchMediaButtonEvent(Ljava/lang/Object;Landroid/view/KeyEvent;)Z move-result p1 return p1 .end method .method public getExtras()Landroid/os/Bundle; .registers 2 .line 2095 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getExtras(Ljava/lang/Object;)Landroid/os/Bundle; move-result-object v0 return-object v0 .end method .method public getFlags()J .registers 3 .line 2148 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getFlags(Ljava/lang/Object;)J move-result-wide v0 return-wide v0 .end method .method public getMediaController()Ljava/lang/Object; .registers 2 .line 2194 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; return-object v0 .end method .method public getMetadata()Landroid/support/v4/media/MediaMetadataCompat; .registers 2 .line 2041 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getMetadata(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_d .line 2042 invoke-static {v0}, Landroid/support/v4/media/MediaMetadataCompat;->fromMediaMetadata(Ljava/lang/Object;)Landroid/support/v4/media/MediaMetadataCompat; move-result-object v0 goto :goto_e :cond_d const/4 v0, 0x0 :goto_e return-object v0 .end method .method public getPackageName()Ljava/lang/String; .registers 2 .line 2189 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getPackageName(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getPlaybackInfo()Landroid/support/v4/media/session/MediaControllerCompat$PlaybackInfo; .registers 9 .line 2153 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getPlaybackInfo(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_23 .line 2154 new-instance v7, Landroid/support/v4/media/session/MediaControllerCompat$PlaybackInfo; .line 2155 invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21$PlaybackInfo;->getPlaybackType(Ljava/lang/Object;)I move-result v2 .line 2156 invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21$PlaybackInfo;->getLegacyAudioStream(Ljava/lang/Object;)I move-result v3 .line 2157 invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21$PlaybackInfo;->getVolumeControl(Ljava/lang/Object;)I move-result v4 .line 2158 invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21$PlaybackInfo;->getMaxVolume(Ljava/lang/Object;)I move-result v5 .line 2159 invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21$PlaybackInfo;->getCurrentVolume(Ljava/lang/Object;)I move-result v6 move-object v1, v7 invoke-direct/range {v1 .. v6}, Landroid/support/v4/media/session/MediaControllerCompat$PlaybackInfo;->(IIIII)V goto :goto_24 :cond_23 const/4 v7, 0x0 :goto_24 return-object v7 .end method .method public getPlaybackState()Landroid/support/v4/media/session/PlaybackStateCompat; .registers 4 .line 2028 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 if-eqz v0, :cond_1b .line 2030 :try_start_8 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 invoke-interface {v0}, Landroid/support/v4/media/session/IMediaSession;->getPlaybackState()Landroid/support/v4/media/session/PlaybackStateCompat; move-result-object v0 :try_end_12 .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_12} :catch_13 return-object v0 :catch_13 move-exception v0 .line 2032 const-string v1, "MediaControllerCompat" const-string v2, "Dead object in getPlaybackState." invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I .line 2035 :cond_1b iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getPlaybackState(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_28 .line 2036 invoke-static {v0}, Landroid/support/v4/media/session/PlaybackStateCompat;->fromPlaybackState(Ljava/lang/Object;)Landroid/support/v4/media/session/PlaybackStateCompat; move-result-object v0 goto :goto_29 :cond_28 const/4 v0, 0x0 :goto_29 return-object v0 .end method .method public getQueue()Ljava/util/List; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Landroid/support/v4/media/session/MediaSessionCompat$QueueItem;", ">;" } .end annotation .line 2047 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getQueue(Ljava/lang/Object;)Ljava/util/List; move-result-object v0 if-eqz v0, :cond_d .line 2048 invoke-static {v0}, Landroid/support/v4/media/session/MediaSessionCompat$QueueItem;->fromQueueItemList(Ljava/util/List;)Ljava/util/List; move-result-object v0 goto :goto_e :cond_d const/4 v0, 0x0 :goto_e return-object v0 .end method .method public getQueueTitle()Ljava/lang/CharSequence; .registers 2 .line 2090 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getQueueTitle(Ljava/lang/Object;)Ljava/lang/CharSequence; move-result-object v0 return-object v0 .end method .method public getRatingType()I .registers 2 .line 2107 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getRatingType(Ljava/lang/Object;)I move-result v0 return v0 .end method .method public getRepeatMode()I .registers 4 .line 2124 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 if-eqz v0, :cond_1b .line 2126 :try_start_8 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 invoke-interface {v0}, Landroid/support/v4/media/session/IMediaSession;->getRepeatMode()I move-result v0 :try_end_12 .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_12} :catch_13 return v0 :catch_13 move-exception v0 .line 2128 const-string v1, "MediaControllerCompat" const-string v2, "Dead object in getRepeatMode." invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_1b const/4 v0, -0x1 return v0 .end method .method public getSessionActivity()Landroid/app/PendingIntent; .registers 2 .line 2164 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getSessionActivity(Ljava/lang/Object;)Landroid/app/PendingIntent; move-result-object v0 return-object v0 .end method .method public getShuffleMode()I .registers 4 .line 2136 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 if-eqz v0, :cond_1b .line 2138 :try_start_8 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 invoke-interface {v0}, Landroid/support/v4/media/session/IMediaSession;->getShuffleMode()I move-result v0 :try_end_12 .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_12} :catch_13 return v0 :catch_13 move-exception v0 .line 2140 const-string v1, "MediaControllerCompat" const-string v2, "Dead object in getShuffleMode." invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_1b const/4 v0, -0x1 return v0 .end method .method public getTransportControls()Landroid/support/v4/media/session/MediaControllerCompat$TransportControls; .registers 3 .line 2022 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->getTransportControls(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_e .line 2023 new-instance v1, Landroid/support/v4/media/session/MediaControllerCompat$TransportControlsApi21; invoke-direct {v1, v0}, Landroid/support/v4/media/session/MediaControllerCompat$TransportControlsApi21;->(Ljava/lang/Object;)V goto :goto_f :cond_e const/4 v1, 0x0 :goto_f return-object v1 .end method .method public isCaptioningEnabled()Z .registers 4 .line 2112 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 if-eqz v0, :cond_1b .line 2114 :try_start_8 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 invoke-interface {v0}, Landroid/support/v4/media/session/IMediaSession;->isCaptioningEnabled()Z move-result v0 :try_end_12 .catch Landroid/os/RemoteException; {:try_start_8 .. :try_end_12} :catch_13 return v0 :catch_13 move-exception v0 .line 2116 const-string v1, "MediaControllerCompat" const-string v2, "Dead object in isCaptioningEnabled." invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_1b const/4 v0, 0x0 return v0 .end method .method public isSessionReady()Z .registers 2 .line 2184 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 if-eqz v0, :cond_a const/4 v0, 0x1 goto :goto_b :cond_a const/4 v0, 0x0 :goto_b return v0 .end method .method processPendingCallbacksLocked()V .registers 5 .line 2203 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 if-nez v0, :cond_9 return-void .line 2206 :cond_9 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mPendingCallbacks:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_f invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_3f invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/support/v4/media/session/MediaControllerCompat$Callback; .line 2207 new-instance v2, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraCallback; invoke-direct {v2, v1}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraCallback;->(Landroid/support/v4/media/session/MediaControllerCompat$Callback;)V .line 2208 iget-object v3, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mCallbackMap:Ljava/util/HashMap; invoke-virtual {v3, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 2209 iput-object v2, v1, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->mIControllerCallback:Landroid/support/v4/media/session/IMediaControllerCallback; .line 2211 :try_start_27 iget-object v3, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v3}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v3 invoke-interface {v3, v2}, Landroid/support/v4/media/session/IMediaSession;->registerCallbackListener(Landroid/support/v4/media/session/IMediaControllerCallback;)V :try_end_30 .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_30} :catch_37 const/16 v2, 0xd const/4 v3, 0x0 .line 2216 invoke-virtual {v1, v2, v3, v3}, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->postToHandler(ILjava/lang/Object;Landroid/os/Bundle;)V goto :goto_f :catch_37 move-exception v0 .line 2213 const-string v1, "MediaControllerCompat" const-string v2, "Dead object in registerCallback." invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I .line 2218 :cond_3f iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mPendingCallbacks:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->clear()V return-void .end method .method public final registerCallback(Landroid/support/v4/media/session/MediaControllerCompat$Callback;Landroid/os/Handler;)V .registers 6 .line 1973 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; iget-object v1, p1, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->mCallbackObj:Ljava/lang/Object; invoke-static {v0, v1, p2}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->registerCallback(Ljava/lang/Object;Ljava/lang/Object;Landroid/os/Handler;)V .line 1975 iget-object p2, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mLock:Ljava/lang/Object; monitor-enter p2 .line 1976 :try_start_a iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_37 .line 1977 new-instance v0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraCallback; invoke-direct {v0, p1}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraCallback;->(Landroid/support/v4/media/session/MediaControllerCompat$Callback;)V .line 1978 iget-object v2, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mCallbackMap:Ljava/util/HashMap; invoke-virtual {v2, p1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 1979 iput-object v0, p1, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->mIControllerCallback:Landroid/support/v4/media/session/IMediaControllerCallback; :try_end_1f .catchall {:try_start_a .. :try_end_1f} :catchall_40 .line 1981 :try_start_1f iget-object v2, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v2}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v2 invoke-interface {v2, v0}, Landroid/support/v4/media/session/IMediaSession;->registerCallbackListener(Landroid/support/v4/media/session/IMediaControllerCallback;)V const/16 v0, 0xd .line 1982 invoke-virtual {p1, v0, v1, v1}, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->postToHandler(ILjava/lang/Object;Landroid/os/Bundle;)V :try_end_2d .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_2d} :catch_2e .catchall {:try_start_1f .. :try_end_2d} :catchall_40 goto :goto_3e :catch_2e move-exception p1 .line 1985 :try_start_2f const-string v0, "MediaControllerCompat" const-string v1, "Dead object in registerCallback." invoke-static {v0, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_3e .line 1988 :cond_37 iput-object v1, p1, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->mIControllerCallback:Landroid/support/v4/media/session/IMediaControllerCallback; .line 1989 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mPendingCallbacks:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 1991 :goto_3e monitor-exit p2 return-void :catchall_40 move-exception p1 monitor-exit p2 :try_end_42 .catchall {:try_start_2f .. :try_end_42} :catchall_40 throw p1 .end method .method public removeQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;)V .registers 6 .line 2078 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->getFlags()J move-result-wide v0 const-wide/16 v2, 0x4 and-long/2addr v0, v2 const-wide/16 v2, 0x0 cmp-long v0, v0, v2 if-eqz v0, :cond_1e .line 2083 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V .line 2084 const-string v1, "android.support.v4.media.session.command.ARGUMENT_MEDIA_DESCRIPTION" invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V .line 2085 const-string p1, "android.support.v4.media.session.command.REMOVE_QUEUE_ITEM" const/4 v1, 0x0 invoke-virtual {p0, p1, v0, v1}, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->sendCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V return-void .line 2080 :cond_1e new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "This session doesn\'t support queue management operations" invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public sendCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V .registers 5 .line 2179 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0, p1, p2, p3}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->sendCommand(Ljava/lang/Object;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V return-void .end method .method public setVolumeTo(II)V .registers 4 .line 2169 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; invoke-static {v0, p1, p2}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->setVolumeTo(Ljava/lang/Object;II)V return-void .end method .method public final unregisterCallback(Landroid/support/v4/media/session/MediaControllerCompat$Callback;)V .registers 5 .line 1996 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mControllerObj:Ljava/lang/Object; iget-object v1, p1, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->mCallbackObj:Ljava/lang/Object; invoke-static {v0, v1}, Landroid/support/v4/media/session/MediaControllerCompatApi21;->unregisterCallback(Ljava/lang/Object;Ljava/lang/Object;)V .line 1997 iget-object v0, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mLock:Ljava/lang/Object; monitor-enter v0 .line 1998 :try_start_a iget-object v1, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {v1}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object v1 :try_end_10 .catchall {:try_start_a .. :try_end_10} :catchall_39 if-eqz v1, :cond_32 .line 2000 :try_start_12 iget-object v1, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mCallbackMap:Ljava/util/HashMap; invoke-virtual {v1, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21$ExtraCallback; if-eqz v1, :cond_37 const/4 v2, 0x0 .line 2002 iput-object v2, p1, Landroid/support/v4/media/session/MediaControllerCompat$Callback;->mIControllerCallback:Landroid/support/v4/media/session/IMediaControllerCallback; .line 2003 iget-object p1, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mSessionToken:Landroid/support/v4/media/session/MediaSessionCompat$Token; invoke-virtual {p1}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->getExtraBinder()Landroid/support/v4/media/session/IMediaSession; move-result-object p1 invoke-interface {p1, v1}, Landroid/support/v4/media/session/IMediaSession;->unregisterCallbackListener(Landroid/support/v4/media/session/IMediaControllerCallback;)V :try_end_28 .catch Landroid/os/RemoteException; {:try_start_12 .. :try_end_28} :catch_29 .catchall {:try_start_12 .. :try_end_28} :catchall_39 goto :goto_37 :catch_29 move-exception p1 .line 2007 :try_start_2a const-string v1, "MediaControllerCompat" const-string v2, "Dead object in unregisterCallback." invoke-static {v1, v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_37 .line 2010 :cond_32 iget-object v1, p0, Landroid/support/v4/media/session/MediaControllerCompat$MediaControllerImplApi21;->mPendingCallbacks:Ljava/util/List; invoke-interface {v1, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z .line 2012 :cond_37 :goto_37 monitor-exit v0 return-void :catchall_39 move-exception p1 monitor-exit v0 :try_end_3b .catchall {:try_start_2a .. :try_end_3b} :catchall_39 throw p1 .end method