.class public abstract Landroid/support/v4/media/session/MediaSessionCompat$Callback; .super Ljava/lang/Object; .source "MediaSessionCompat.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroid/support/v4/media/session/MediaSessionCompat; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x409 name = "Callback" .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi24;, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi23;, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi21;, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; } .end annotation # instance fields .field private mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; .field final mCallbackObj:Ljava/lang/Object; .field private mMediaPlayPauseKeyPending:Z .field mSessionImpl:Ljava/lang/ref/WeakReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ref/WeakReference<", "Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;", ">;" } .end annotation .end field # direct methods .method public constructor ()V .registers 2 .line 977 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 974 iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; .line 979 new-instance v0, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi24; invoke-direct {v0, p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi24;->(Landroid/support/v4/media/session/MediaSessionCompat$Callback;)V invoke-static {v0}, Landroid/support/v4/media/session/MediaSessionCompatApi24;->createCallback(Landroid/support/v4/media/session/MediaSessionCompatApi24$Callback;)Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackObj:Ljava/lang/Object; return-void .end method # virtual methods .method handleMediaPlayPauseKeySingleTapIfPending(Landroidx/media/MediaSessionManager$RemoteUserInfo;)V .registers 13 .line 1072 iget-boolean v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z if-nez v0, :cond_5 return-void :cond_5 const/4 v0, 0x0 .line 1075 iput-boolean v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z .line 1076 iget-object v1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; const/4 v2, 0x1 invoke-virtual {v1, v2}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->removeMessages(I)V .line 1078 iget-object v1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mSessionImpl:Ljava/lang/ref/WeakReference; invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl; if-nez v1, :cond_19 return-void .line 1082 :cond_19 invoke-interface {v1}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->getPlaybackState()Landroid/support/v4/media/session/PlaybackStateCompat; move-result-object v3 const-wide/16 v4, 0x0 if-nez v3, :cond_23 move-wide v6, v4 goto :goto_27 .line 1083 :cond_23 invoke-virtual {v3}, Landroid/support/v4/media/session/PlaybackStateCompat;->getActions()J move-result-wide v6 :goto_27 if-eqz v3, :cond_32 .line 1085 invoke-virtual {v3}, Landroid/support/v4/media/session/PlaybackStateCompat;->getState()I move-result v3 const/4 v8, 0x3 if-ne v3, v8, :cond_32 move v3, v2 goto :goto_33 :cond_32 move v3, v0 :goto_33 const-wide/16 v8, 0x204 and-long/2addr v8, v6 cmp-long v8, v8, v4 if-eqz v8, :cond_3c move v8, v2 goto :goto_3d :cond_3c move v8, v0 :goto_3d const-wide/16 v9, 0x202 and-long/2addr v6, v9 cmp-long v4, v6, v4 if-eqz v4, :cond_45 move v0, v2 .line 1090 :cond_45 invoke-interface {v1, p1}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->setCurrentControllerInfo(Landroidx/media/MediaSessionManager$RemoteUserInfo;)V if-eqz v3, :cond_50 if-eqz v0, :cond_50 .line 1092 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onPause()V goto :goto_57 :cond_50 if-nez v3, :cond_57 if-eqz v8, :cond_57 .line 1094 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onPlay()V :cond_57 :goto_57 const/4 p1, 0x0 .line 1096 invoke-interface {v1, p1}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->setCurrentControllerInfo(Landroidx/media/MediaSessionManager$RemoteUserInfo;)V return-void .end method .method public onAddQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;)V .registers 2 return-void .end method .method public onAddQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;I)V .registers 3 return-void .end method .method public onCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V .registers 4 return-void .end method .method public onCustomAction(Ljava/lang/String;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onFastForward()V .registers 1 return-void .end method .method public onMediaButtonEvent(Landroid/content/Intent;)Z .registers 10 .line 1021 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1b const/4 v2, 0x0 if-lt v0, v1, :cond_8 return v2 .line 1028 :cond_8 iget-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mSessionImpl:Ljava/lang/ref/WeakReference; invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl; if-eqz v0, :cond_7c .line 1029 iget-object v1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; if-nez v1, :cond_17 goto :goto_7c .line 1032 :cond_17 const-string v1, "android.intent.extra.KEY_EVENT" invoke-virtual {p1, v1}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object p1 check-cast p1, Landroid/view/KeyEvent; if-eqz p1, :cond_7c .line 1033 invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I move-result v1 if-eqz v1, :cond_28 goto :goto_7c .line 1036 :cond_28 invoke-interface {v0}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->getCurrentControllerInfo()Landroidx/media/MediaSessionManager$RemoteUserInfo; move-result-object v1 .line 1037 invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I move-result v3 const/16 v4, 0x4f if-eq v3, v4, :cond_3c const/16 v4, 0x55 if-eq v3, v4, :cond_3c .line 1065 invoke-virtual {p0, v1}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseKeySingleTapIfPending(Landroidx/media/MediaSessionManager$RemoteUserInfo;)V return v2 .line 1041 :cond_3c invoke-virtual {p1}, Landroid/view/KeyEvent;->getRepeatCount()I move-result p1 const/4 v3, 0x1 if-lez p1, :cond_47 .line 1043 invoke-virtual {p0, v1}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseKeySingleTapIfPending(Landroidx/media/MediaSessionManager$RemoteUserInfo;)V goto :goto_7b .line 1044 :cond_47 iget-boolean p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z if-eqz p1, :cond_6b .line 1045 iget-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; invoke-virtual {p1, v3}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->removeMessages(I)V .line 1047 iput-boolean v2, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z .line 1048 invoke-interface {v0}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->getPlaybackState()Landroid/support/v4/media/session/PlaybackStateCompat; move-result-object p1 const-wide/16 v0, 0x0 if-nez p1, :cond_5c move-wide v4, v0 goto :goto_60 .line 1049 :cond_5c invoke-virtual {p1}, Landroid/support/v4/media/session/PlaybackStateCompat;->getActions()J move-result-wide v4 :goto_60 const-wide/16 v6, 0x20 and-long/2addr v4, v6 cmp-long p1, v4, v0 if-eqz p1, :cond_7b .line 1052 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onSkipToNext()V goto :goto_7b .line 1055 :cond_6b iput-boolean v3, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z .line 1056 iget-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; invoke-virtual {p1, v3, v1}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 .line 1059 invoke-static {}, Landroid/view/ViewConfiguration;->getDoubleTapTimeout()I move-result v1 int-to-long v1, v1 .line 1056 invoke-virtual {p1, v0, v1, v2}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->sendMessageDelayed(Landroid/os/Message;J)Z :cond_7b :goto_7b return v3 :cond_7c :goto_7c return v2 .end method .method public onPause()V .registers 1 return-void .end method .method public onPlay()V .registers 1 return-void .end method .method public onPlayFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onPlayFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onPlayFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onPrepare()V .registers 1 return-void .end method .method public onPrepareFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onPrepareFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onPrepareFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onRemoveQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;)V .registers 2 return-void .end method .method public onRemoveQueueItemAt(I)V .registers 2 .annotation runtime Ljava/lang/Deprecated; .end annotation return-void .end method .method public onRewind()V .registers 1 return-void .end method .method public onSeekTo(J)V .registers 3 return-void .end method .method public onSetCaptioningEnabled(Z)V .registers 2 return-void .end method .method public onSetRating(Landroid/support/v4/media/RatingCompat;)V .registers 2 return-void .end method .method public onSetRating(Landroid/support/v4/media/RatingCompat;Landroid/os/Bundle;)V .registers 3 return-void .end method .method public onSetRepeatMode(I)V .registers 2 return-void .end method .method public onSetShuffleMode(I)V .registers 2 return-void .end method .method public onSkipToNext()V .registers 1 return-void .end method .method public onSkipToPrevious()V .registers 1 return-void .end method .method public onSkipToQueueItem(J)V .registers 3 return-void .end method .method public onStop()V .registers 1 return-void .end method .method setSessionImpl(Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V .registers 4 .line 990 new-instance v0, Ljava/lang/ref/WeakReference; invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mSessionImpl:Ljava/lang/ref/WeakReference; .line 991 iget-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; if-eqz p1, :cond_f const/4 v0, 0x0 .line 992 invoke-virtual {p1, v0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V .line 994 :cond_f new-instance p1, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; invoke-virtual {p2}, Landroid/os/Handler;->getLooper()Landroid/os/Looper; move-result-object p2 invoke-direct {p1, p0, p2}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->(Landroid/support/v4/media/session/MediaSessionCompat$Callback;Landroid/os/Looper;)V iput-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; return-void .end method