.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 private 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 .locals 3 .line 845 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 842 iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; .line 846 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v2, 0x18 if-lt v1, v2, :cond_0 .line 847 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; goto :goto_0 .line 848 :cond_0 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v2, 0x17 if-lt v1, v2, :cond_1 .line 849 new-instance v0, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi23; invoke-direct {v0, p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi23;->(Landroid/support/v4/media/session/MediaSessionCompat$Callback;)V invoke-static {v0}, Landroid/support/v4/media/session/MediaSessionCompatApi23;->createCallback(Landroid/support/v4/media/session/MediaSessionCompatApi23$Callback;)Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackObj:Ljava/lang/Object; goto :goto_0 .line 850 :cond_1 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v2, 0x15 if-lt v1, v2, :cond_2 .line 851 new-instance v0, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi21; invoke-direct {v0, p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi21;->(Landroid/support/v4/media/session/MediaSessionCompat$Callback;)V invoke-static {v0}, Landroid/support/v4/media/session/MediaSessionCompatApi21;->createCallback(Landroid/support/v4/media/session/MediaSessionCompatApi21$Callback;)Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackObj:Ljava/lang/Object; goto :goto_0 .line 853 :cond_2 iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackObj:Ljava/lang/Object; :goto_0 return-void .end method .method static synthetic access$000(Landroid/support/v4/media/session/MediaSessionCompat$Callback;)V .locals 0 .line 839 invoke-direct {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseKeySingleTapIfPending()V return-void .end method .method static synthetic access$100(Landroid/support/v4/media/session/MediaSessionCompat$Callback;)Ljava/lang/ref/WeakReference; .locals 0 .line 839 iget-object p0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mSessionImpl:Ljava/lang/ref/WeakReference; return-object p0 .end method .method static synthetic access$300(Landroid/support/v4/media/session/MediaSessionCompat$Callback;Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V .locals 0 .line 839 invoke-direct {p0, p1, p2}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->setSessionImpl(Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V return-void .end method .method private handleMediaPlayPauseKeySingleTapIfPending()V .locals 10 .line 929 iget-boolean v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z if-nez v0, :cond_0 return-void :cond_0 const/4 v0, 0x0 .line 932 iput-boolean v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z .line 933 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 935 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_1 return-void .line 939 :cond_1 invoke-interface {v1}, Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;->getPlaybackState()Landroid/support/v4/media/session/PlaybackStateCompat; move-result-object v1 const-wide/16 v3, 0x0 if-nez v1, :cond_2 move-wide v5, v3 goto :goto_0 .line 940 :cond_2 invoke-virtual {v1}, Landroid/support/v4/media/session/PlaybackStateCompat;->getActions()J move-result-wide v5 :goto_0 if-eqz v1, :cond_3 .line 942 invoke-virtual {v1}, Landroid/support/v4/media/session/PlaybackStateCompat;->getState()I move-result v1 const/4 v7, 0x3 if-ne v1, v7, :cond_3 const/4 v1, 0x1 goto :goto_1 :cond_3 const/4 v1, 0x0 :goto_1 const-wide/16 v7, 0x204 and-long/2addr v7, v5 cmp-long v9, v7, v3 if-eqz v9, :cond_4 const/4 v7, 0x1 goto :goto_2 :cond_4 const/4 v7, 0x0 :goto_2 const-wide/16 v8, 0x202 and-long/2addr v5, v8 cmp-long v8, v5, v3 if-eqz v8, :cond_5 const/4 v0, 0x1 :cond_5 if-eqz v1, :cond_6 if-eqz v0, :cond_6 .line 948 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onPause()V goto :goto_3 :cond_6 if-nez v1, :cond_7 if-eqz v7, :cond_7 .line 950 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onPlay()V :cond_7 :goto_3 return-void .end method .method private setSessionImpl(Landroid/support/v4/media/session/MediaSessionCompat$MediaSessionImpl;Landroid/os/Handler;)V .locals 1 .line 858 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 859 iget-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; if-eqz p1, :cond_0 .line 860 iget-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; const/4 v0, 0x0 invoke-virtual {p1, v0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V .line 862 :cond_0 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 # virtual methods .method public onAddQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;)V .locals 0 return-void .end method .method public onAddQueueItem(Landroid/support/v4/media/MediaDescriptionCompat;I)V .locals 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 .line 887 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; const/4 v1, 0x0 if-eqz v0, :cond_8 .line 888 iget-object v2, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; if-nez v2, :cond_0 goto :goto_3 :cond_0 const-string v2, "android.intent.extra.KEY_EVENT" .line 891 invoke-virtual {p1, v2}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object p1 check-cast p1, Landroid/view/KeyEvent; if-eqz p1, :cond_7 .line 892 invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I move-result v2 if-eqz v2, :cond_1 goto :goto_2 .line 895 :cond_1 invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I move-result v2 const/16 v3, 0x4f if-eq v2, v3, :cond_2 const/16 v3, 0x55 if-eq v2, v3, :cond_2 .line 922 invoke-direct {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseKeySingleTapIfPending()V return v1 .line 899 :cond_2 invoke-virtual {p1}, Landroid/view/KeyEvent;->getRepeatCount()I move-result p1 const/4 v2, 0x1 if-lez p1, :cond_3 .line 901 invoke-direct {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseKeySingleTapIfPending()V goto :goto_1 .line 902 :cond_3 iget-boolean p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z if-eqz p1, :cond_5 .line 903 iget-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; invoke-virtual {p1, v2}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->removeMessages(I)V .line 905 iput-boolean v1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z .line 906 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_4 move-wide v3, v0 goto :goto_0 .line 907 :cond_4 invoke-virtual {p1}, Landroid/support/v4/media/session/PlaybackStateCompat;->getActions()J move-result-wide v3 :goto_0 const-wide/16 v5, 0x20 and-long/2addr v3, v5 cmp-long p1, v3, v0 if-eqz p1, :cond_6 .line 910 invoke-virtual {p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->onSkipToNext()V goto :goto_1 .line 913 :cond_5 iput-boolean v2, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mMediaPlayPauseKeyPending:Z .line 914 iget-object p1, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler; .line 916 invoke-static {}, Landroid/view/ViewConfiguration;->getDoubleTapTimeout()I move-result v0 int-to-long v0, v0 .line 914 invoke-virtual {p1, v2, v0, v1}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;->sendEmptyMessageDelayed(IJ)Z :cond_6 :goto_1 return v2 :cond_7 :goto_2 return v1 :cond_8 :goto_3 return v1 .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 onSetRating(Landroid/support/v4/media/RatingCompat;)V .locals 0 return-void .end method .method public onSetRating(Landroid/support/v4/media/RatingCompat;Landroid/os/Bundle;)V .locals 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