.class public abstract Landroid/support/v4/media/session/MediaSessionCompat$Callback; .super Ljava/lang/Object; .source "SourceFile" # 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$MediaSessionCallbackApi21;, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; } .end annotation # instance fields .field final mCallbackFwk:Landroid/media/session/MediaSession$Callback; .field mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .end field .field final mLock:Ljava/lang/Object; .field private mMediaPlayPausePendingOnHandler:Z .field mSessionImpl:Ljava/lang/ref/WeakReference; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .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 .locals 2 .line 1149 invoke-direct {p0}, Ljava/lang/Object;->()V .line 1139 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mLock:Ljava/lang/Object; .line 1151 new-instance v0, Landroid/support/v4/media/session/MediaSessionCompat$Callback$MediaSessionCallbackApi21; invoke-direct {v0, p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$MediaSessionCallbackApi21;->(Landroid/support/v4/media/session/MediaSessionCompat$Callback;)V iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackFwk:Landroid/media/session/MediaSession$Callback; .line 1155 new-instance v0, Ljava/lang/ref/WeakReference; const/4 v1, 0x0 invoke-direct {v0, v1}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mSessionImpl:Ljava/lang/ref/WeakReference; return-void .end method # virtual methods .method public handleMediaPlayPauseIfPendingOnHandler(Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V .locals 8 iget-boolean v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPausePendingOnHandler:Z if-nez v0, :cond_0 return-void :cond_0 const/4 v0, 0x0 iput-boolean v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPausePendingOnHandler:Z const/4 v1, 0x1 .line 1256 invoke-virtual {p2, v1}, Landroid/os/Handler;->removeMessages(I)V .line 1258 invoke-interface {p1}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->getPlaybackState()Landroid/support/v4/media/session/PlaybackStateCompat; move-result-object p1 const-wide/16 v2, 0x0 if-nez p1, :cond_1 move-wide v4, v2 goto :goto_0 .line 1259 :cond_1 invoke-virtual {p1}, Landroid/support/v4/media/session/PlaybackStateCompat;->getActions()J move-result-wide v4 :goto_0 if-eqz p1, :cond_2 .line 1261 invoke-virtual {p1}, Landroid/support/v4/media/session/PlaybackStateCompat;->getState()I move-result p1 const/4 p2, 0x3 if-ne p1, p2, :cond_2 move p1, v1 goto :goto_1 :cond_2 move p1, v0 :goto_1 const-wide/16 v6, 0x204 and-long/2addr v6, v4 cmp-long p2, v6, v2 if-eqz p2, :cond_3 move p2, v1 goto :goto_2 :cond_3 move p2, v0 :goto_2 const-wide/16 v6, 0x202 and-long/2addr v4, v6 cmp-long v2, v4, v2 if-eqz v2, :cond_4 move v0, v1 :cond_4 if-eqz p1, :cond_5 if-eqz v0, :cond_5 .line 1267 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onPause()V goto :goto_3 :cond_5 if-nez p1, :cond_6 if-eqz p2, :cond_6 .line 1269 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onPlay()V :cond_6 :goto_3 return-void .end method .method public onAddQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;)V .locals 0 .line 0 return-void .end method .method public onAddQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;I)V .locals 0 .line 0 return-void .end method .method public onCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V .locals 0 return-void .end method .method public onCustomAction(Ljava/lang/String;Landroid/os/Bundle;)V .locals 0 return-void .end method .method public onFastForward()V .locals 0 return-void .end method .method public onMediaButtonEvent(Landroid/content/Intent;)Z .locals 7 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1b const/4 v2, 0x0 if-lt v0, v1, :cond_0 return v2 :cond_0 iget-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mLock:Ljava/lang/Object; .line 1202 monitor-enter v0 :try_start_0 iget-object v1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mSessionImpl:Ljava/lang/ref/WeakReference; .line 1203 invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl; iget-object v3, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; .line 1205 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v1, :cond_8 if-nez v3, :cond_1 goto :goto_2 :cond_1 const-string v0, "android.intent.extra.KEY_EVENT" .line 1209 invoke-virtual {p1, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object p1 check-cast p1, Landroid/view/KeyEvent; if-eqz p1, :cond_8 .line 1210 invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I move-result v0 if-eqz v0, :cond_2 goto :goto_2 .line 1213 :cond_2 invoke-interface {v1}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->getCurrentControllerInfo()Landroidx/media/MediaSessionManager$RemoteUserInfo; move-result-object v0 .line 1214 invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I move-result v4 const/16 v5, 0x4f if-eq v4, v5, :cond_3 const/16 v5, 0x55 if-eq v4, v5, :cond_3 .line 1244 invoke-virtual {p0, v1, v3}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseIfPendingOnHandler(Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V return v2 .line 1218 :cond_3 invoke-virtual {p1}, Landroid/view/KeyEvent;->getRepeatCount()I move-result p1 const/4 v4, 0x1 if-nez p1, :cond_6 iget-boolean p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPausePendingOnHandler:Z if-eqz p1, :cond_5 .line 1220 invoke-virtual {v3, v4}, Landroid/os/Handler;->removeMessages(I)V iput-boolean v2, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPausePendingOnHandler:Z .line 1223 invoke-interface {v1}, 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_4 move-wide v2, v0 goto :goto_0 .line 1224 :cond_4 invoke-virtual {p1}, Landroid/support/v4/media/session/PlaybackStateCompat;->getActions()J move-result-wide v2 :goto_0 const-wide/16 v5, 0x20 and-long/2addr v2, v5 cmp-long p1, v2, v0 if-eqz p1, :cond_7 .line 1227 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onSkipToNext()V goto :goto_1 :cond_5 iput-boolean v4, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPausePendingOnHandler:Z .line 1231 invoke-virtual {v3, v4, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object p1 .line 1234 invoke-static {}, Landroid/view/ViewConfiguration;->getDoubleTapTimeout()I move-result v0 int-to-long v0, v0 .line 1231 invoke-virtual {v3, p1, v0, v1}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z goto :goto_1 .line 1238 :cond_6 invoke-virtual {p0, v1, v3}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseIfPendingOnHandler(Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V :cond_7 :goto_1 return v4 :cond_8 :goto_2 return v2 :catchall_0 move-exception p1 .line 1205 :try_start_1 monitor-exit v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p1 .end method .method public onPause()V .locals 0 return-void .end method .method public onPlay()V .locals 0 return-void .end method .method public onPlayFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V .locals 0 return-void .end method .method public onPlayFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V .locals 0 return-void .end method .method public onPlayFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V .locals 0 return-void .end method .method public onPrepare()V .locals 0 return-void .end method .method public onPrepareFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V .locals 0 return-void .end method .method public onPrepareFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V .locals 0 return-void .end method .method public onPrepareFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V .locals 0 return-void .end method .method public onRemoveQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;)V .locals 0 return-void .end method .method public onRemoveQueueItemAt(I)V .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation return-void .end method .method public onRewind()V .locals 0 return-void .end method .method public onSeekTo(J)V .locals 0 return-void .end method .method public onSetCaptioningEnabled(Z)V .locals 0 return-void .end method .method public onSetPlaybackSpeed(F)V .locals 0 return-void .end method .method public onSetRating(Landroid/support/v4/media/RatingCompat;)V .locals 0 .line 0 return-void .end method .method public onSetRating(Landroid/support/v4/media/RatingCompat;Landroid/os/Bundle;)V .locals 0 .line 0 return-void .end method .method public onSetRepeatMode(I)V .locals 0 return-void .end method .method public onSetShuffleMode(I)V .locals 0 return-void .end method .method public onSkipToNext()V .locals 0 return-void .end method .method public onSkipToPrevious()V .locals 0 return-void .end method .method public onSkipToQueueItem(J)V .locals 0 return-void .end method .method public onStop()V .locals 0 return-void .end method .method public setSessionImpl(Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V .locals 3 iget-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mLock:Ljava/lang/Object; .line 1159 monitor-enter v0 .line 1160 :try_start_0 new-instance v1, Ljava/lang/ref/WeakReference; invoke-direct {v1, p1}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V iput-object v1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mSessionImpl:Ljava/lang/ref/WeakReference; iget-object v1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; const/4 v2, 0x0 if-eqz v1, :cond_0 .line 1162 invoke-virtual {v1, v2}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V goto :goto_0 :catchall_0 move-exception p1 goto :goto_2 :cond_0 :goto_0 if-eqz p1, :cond_2 if-nez p2, :cond_1 goto :goto_1 .line 1165 :cond_1 new-instance v2, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; invoke-virtual {p2}, Landroid/os/Handler;->getLooper()Landroid/os/Looper; move-result-object p1 invoke-direct {v2, p0, p1}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->(Landroid/support/v4/media/session/MediaSessionCompat$Callback;Landroid/os/Looper;)V :cond_2 :goto_1 iput-object v2, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; .line 1166 monitor-exit v0 return-void :goto_2 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method