MediaSessionCompat$Callback.smali
.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 <init>()V
.registers 4
.line 977
invoke-direct {p0}, Ljava/lang/Object;-><init>()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 978
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x18
if-lt v1, v2, :cond_18
.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;-><init>(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_3e
.line 980
:cond_18
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x17
if-lt v1, v2, :cond_2a
.line 981
new-instance v0, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi23;
invoke-direct {v0, p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi23;-><init>(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_3e
.line 982
:cond_2a
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x15
if-lt v1, v2, :cond_3c
.line 983
new-instance v0, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi21;
invoke-direct {v0, p0}, Landroid/support/v4/media/session/MediaSessionCompat$Callback$StubApi21;-><init>(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_3e
.line 985
:cond_3c
iput-object v0, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackObj:Ljava/lang/Object;
:goto_3e
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
const/4 v3, 0x1
goto :goto_33
:cond_32
const/4 v3, 0x0
:goto_33
const-wide/16 v8, 0x204
and-long/2addr v8, v6
cmp-long v10, v8, v4
if-eqz v10, :cond_3c
const/4 v8, 0x1
goto :goto_3d
:cond_3c
const/4 v8, 0x0
:goto_3d
const-wide/16 v9, 0x202
and-long/2addr v6, v9
cmp-long v9, v6, v4
if-eqz v9, :cond_45
const/4 v0, 0x1
.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/4 v1, 0x0
const/16 v2, 0x1b
if-lt v0, v2, :cond_8
return v1
.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 v2, p0, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->mCallbackHandler:Landroid/support/v4/media/session/MediaSessionCompat$Callback$CallbackHandler;
if-nez v2, :cond_17
goto :goto_7c
:cond_17
const-string v2, "android.intent.extra.KEY_EVENT"
.line 1032
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_7c
.line 1033
invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I
move-result v2
if-eqz v2, :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 v2
.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, v2}, Landroid/support/v4/media/session/MediaSessionCompat$Callback;->handleMediaPlayPauseKeySingleTapIfPending(Landroidx/media/MediaSessionManager$RemoteUserInfo;)V
return v1
.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, v2}, 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 v1, 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, v2}, 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 v1
.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;-><init>(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;-><init>(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