.class Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21; .super Ljava/lang/Object; .source "MediaBrowserCompat.java" # interfaces .implements Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImpl; .implements Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserServiceCallbackImpl; .implements Landroid/support/v4/media/MediaBrowserCompat$ConnectionCallback$ConnectionCallbackInternal; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroid/support/v4/media/MediaBrowserCompat; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x8 name = "MediaBrowserImplApi21" .end annotation # static fields .field private static final DBG:Z # instance fields .field protected mBrowserObj:Ljava/lang/Object; .field private mCallbacksMessenger:Landroid/os/Messenger; .field private final mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; .field private mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; .field private final mServiceComponent:Landroid/content/ComponentName; .field private final mSubscriptions:Landroid/support/v4/util/ArrayMap; .annotation system Ldalvik/annotation/Signature; value = { "Landroid/support/v4/util/ArrayMap", "<", "Ljava/lang/String;", "Landroid/support/v4/media/MediaBrowserCompat$Subscription;", ">;" } .end annotation .end field # direct methods .method public constructor (Landroid/content/Context;Landroid/content/ComponentName;Landroid/support/v4/media/MediaBrowserCompat$ConnectionCallback;Landroid/os/Bundle;)V .locals 1 .param p1, "context" # Landroid/content/Context; .param p2, "serviceComponent" # Landroid/content/ComponentName; .param p3, "callback" # Landroid/support/v4/media/MediaBrowserCompat$ConnectionCallback; .param p4, "rootHints" # Landroid/os/Bundle; .prologue .line 1231 invoke-direct {p0}, Ljava/lang/Object;->()V .line 1224 new-instance v0, Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; invoke-direct {v0, p0}, Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler;->(Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserServiceCallbackImpl;)V iput-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; .line 1225 new-instance v0, Landroid/support/v4/util/ArrayMap; invoke-direct {v0}, Landroid/support/v4/util/ArrayMap;->()V iput-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mSubscriptions:Landroid/support/v4/util/ArrayMap; .line 1232 iput-object p2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceComponent:Landroid/content/ComponentName; .line 1233 invoke-virtual {p3, p0}, Landroid/support/v4/media/MediaBrowserCompat$ConnectionCallback;->setInternalConnectionCallback(Landroid/support/v4/media/MediaBrowserCompat$ConnectionCallback$ConnectionCallbackInternal;)V .line 1234 iget-object v0, p3, Landroid/support/v4/media/MediaBrowserCompat$ConnectionCallback;->mConnectionCallbackObj:Ljava/lang/Object; invoke-static {p1, p2, v0, p4}, Landroid/support/v4/media/MediaBrowserCompatApi21;->createBrowser(Landroid/content/Context;Landroid/content/ComponentName;Ljava/lang/Object;Landroid/os/Bundle;)Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; .line 1236 return-void .end method # virtual methods .method public connect()V .locals 1 .prologue .line 1240 iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompatApi21;->connect(Ljava/lang/Object;)V .line 1241 return-void .end method .method public disconnect()V .locals 1 .prologue .line 1245 iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompatApi21;->disconnect(Ljava/lang/Object;)V .line 1246 return-void .end method .method public getExtras()Landroid/os/Bundle; .locals 1 .annotation build Landroid/support/annotation/Nullable; .end annotation .prologue .line 1267 iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompatApi21;->getExtras(Ljava/lang/Object;)Landroid/os/Bundle; move-result-object v0 return-object v0 .end method .method public getItem(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserCompat$ItemCallback;)V .locals 5 .param p1, "mediaId" # Ljava/lang/String; .annotation build Landroid/support/annotation/NonNull; .end annotation .end param .param p2, "cb" # Landroid/support/v4/media/MediaBrowserCompat$ItemCallback; .annotation build Landroid/support/annotation/NonNull; .end annotation .end param .prologue .line 1339 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 if-eqz v2, :cond_0 .line 1340 new-instance v2, Ljava/lang/IllegalArgumentException; const-string v3, "mediaId is empty." invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v2 .line 1342 :cond_0 if-nez p2, :cond_1 .line 1343 new-instance v2, Ljava/lang/IllegalArgumentException; const-string v3, "cb is null." invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v2 .line 1345 :cond_1 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v2}, Landroid/support/v4/media/MediaBrowserCompatApi21;->isConnected(Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_2 .line 1346 const-string v2, "MediaBrowserCompat" const-string v3, "Not connected, unable to retrieve the MediaItem." invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 1347 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; new-instance v3, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21$1; invoke-direct {v3, p0, p2, p1}, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21$1;->(Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;Landroid/support/v4/media/MediaBrowserCompat$ItemCallback;Ljava/lang/String;)V invoke-virtual {v2, v3}, Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler;->post(Ljava/lang/Runnable;)Z .line 1377 :goto_0 return-void .line 1355 :cond_2 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; if-nez v2, :cond_3 .line 1356 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; new-instance v3, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21$2; invoke-direct {v3, p0, p2}, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21$2;->(Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;Landroid/support/v4/media/MediaBrowserCompat$ItemCallback;)V invoke-virtual {v2, v3}, Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler;->post(Ljava/lang/Runnable;)Z goto :goto_0 .line 1365 :cond_3 new-instance v1, Landroid/support/v4/media/MediaBrowserCompat$ItemReceiver; iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; invoke-direct {v1, p1, p2, v2}, Landroid/support/v4/media/MediaBrowserCompat$ItemReceiver;->(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserCompat$ItemCallback;Landroid/os/Handler;)V .line 1367 .local v1, "receiver":Landroid/support/v4/os/ResultReceiver; :try_start_0 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; invoke-virtual {v2, p1, v1}, Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper;->getMediaItem(Ljava/lang/String;Landroid/support/v4/os/ResultReceiver;)V :try_end_0 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 .line 1368 :catch_0 move-exception v0 .line 1369 .local v0, "e":Landroid/os/RemoteException; const-string v2, "MediaBrowserCompat" new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "Remote error getting media item: " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 1370 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; new-instance v3, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21$3; invoke-direct {v3, p0, p2, p1}, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21$3;->(Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;Landroid/support/v4/media/MediaBrowserCompat$ItemCallback;Ljava/lang/String;)V invoke-virtual {v2, v3}, Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler;->post(Ljava/lang/Runnable;)Z goto :goto_0 .end method .method public getRoot()Ljava/lang/String; .locals 1 .annotation build Landroid/support/annotation/NonNull; .end annotation .prologue .line 1261 iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompatApi21;->getRoot(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getServiceComponent()Landroid/content/ComponentName; .locals 1 .prologue .line 1255 iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompatApi21;->getServiceComponent(Ljava/lang/Object;)Landroid/content/ComponentName; move-result-object v0 return-object v0 .end method .method public getSessionToken()Landroid/support/v4/media/session/MediaSessionCompat$Token; .locals 1 .annotation build Landroid/support/annotation/NonNull; .end annotation .prologue .line 1273 iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompatApi21;->getSessionToken(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 invoke-static {v0}, Landroid/support/v4/media/session/MediaSessionCompat$Token;->fromToken(Ljava/lang/Object;)Landroid/support/v4/media/session/MediaSessionCompat$Token; move-result-object v0 return-object v0 .end method .method public isConnected()Z .locals 1 .prologue .line 1250 iget-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompatApi21;->isConnected(Ljava/lang/Object;)Z move-result v0 return v0 .end method .method public onConnected()V .locals 6 .prologue const/4 v5, 0x0 .line 1381 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v3}, Landroid/support/v4/media/MediaBrowserCompatApi21;->getExtras(Ljava/lang/Object;)Landroid/os/Bundle; move-result-object v1 .line 1382 .local v1, "extras":Landroid/os/Bundle; if-nez v1, :cond_1 .line 1397 :cond_0 :goto_0 return-void .line 1385 :cond_1 const-string v3, "extra_messenger" invoke-static {v1, v3}, Landroid/support/v4/app/BundleCompat;->getBinder(Landroid/os/Bundle;Ljava/lang/String;)Landroid/os/IBinder; move-result-object v2 .line 1386 .local v2, "serviceBinder":Landroid/os/IBinder; if-eqz v2, :cond_0 .line 1387 new-instance v3, Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; invoke-direct {v3, v2}, Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper;->(Landroid/os/IBinder;)V iput-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; .line 1388 new-instance v3, Landroid/os/Messenger; iget-object v4, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; invoke-direct {v3, v4}, Landroid/os/Messenger;->(Landroid/os/Handler;)V iput-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; .line 1389 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mHandler:Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler; iget-object v4, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; invoke-virtual {v3, v4}, Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler;->setCallbacksMessenger(Landroid/os/Messenger;)V .line 1391 :try_start_0 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; iget-object v4, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; invoke-virtual {v3, v4}, Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper;->registerCallbackMessenger(Landroid/os/Messenger;)V :try_end_0 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0 .line 1395 :goto_1 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; invoke-virtual {p0, v3, v5, v5, v5}, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->onServiceConnected(Landroid/os/Messenger;Ljava/lang/String;Landroid/support/v4/media/session/MediaSessionCompat$Token;Landroid/os/Bundle;)V goto :goto_0 .line 1392 :catch_0 move-exception v0 .line 1393 .local v0, "e":Landroid/os/RemoteException; const-string v3, "MediaBrowserCompat" const-string v4, "Remote error registering client messenger." invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_1 .end method .method public onConnectionFailed()V .locals 0 .prologue .line 1408 return-void .end method .method public onConnectionFailed(Landroid/os/Messenger;)V .locals 0 .param p1, "callback" # Landroid/os/Messenger; .prologue .line 1443 return-void .end method .method public onConnectionSuspended()V .locals 1 .prologue const/4 v0, 0x0 .line 1401 iput-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; .line 1402 iput-object v0, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; .line 1403 return-void .end method .method public onLoadChildren(Landroid/os/Messenger;Ljava/lang/String;Ljava/util/List;Landroid/os/Bundle;)V .locals 3 .param p1, "callback" # Landroid/os/Messenger; .param p2, "parentId" # Ljava/lang/String; .param p3, "list" # Ljava/util/List; .param p4, "options" # Landroid/os/Bundle; .annotation build Landroid/support/annotation/NonNull; .end annotation .end param .prologue .line 1448 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; if-eq v2, p1, :cond_1 .line 1468 :cond_0 :goto_0 return-void .line 1452 :cond_1 move-object v0, p3 .line 1458 .local v0, "data":Ljava/util/List;, "Ljava/util/List;" iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mSubscriptions:Landroid/support/v4/util/ArrayMap; invoke-virtual {v2, p2}, Landroid/support/v4/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/support/v4/media/MediaBrowserCompat$Subscription; .line 1459 .local v1, "subscription":Landroid/support/v4/media/MediaBrowserCompat$Subscription; if-eqz v1, :cond_0 .line 1467 invoke-virtual {v1, p4}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->getCallback(Landroid/os/Bundle;)Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallback; move-result-object v2 invoke-virtual {v2, p2, v0, p4}, Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallback;->onChildrenLoaded(Ljava/lang/String;Ljava/util/List;Landroid/os/Bundle;)V goto :goto_0 .end method .method public onServiceConnected(Landroid/os/Messenger;Ljava/lang/String;Landroid/support/v4/media/session/MediaSessionCompat$Token;Landroid/os/Bundle;)V .locals 11 .param p1, "callback" # Landroid/os/Messenger; .param p2, "root" # Ljava/lang/String; .param p3, "session" # Landroid/support/v4/media/session/MediaSessionCompat$Token; .param p4, "extra" # Landroid/os/Bundle; .prologue .line 1416 iget-object v8, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mSubscriptions:Landroid/support/v4/util/ArrayMap; invoke-virtual {v8}, Landroid/support/v4/util/ArrayMap;->entrySet()Ljava/util/Set; move-result-object v8 invoke-interface {v8}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v3 .local v3, "i$":Ljava/util/Iterator; :cond_0 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z move-result v8 if-eqz v8, :cond_2 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v7 check-cast v7, Ljava/util/Map$Entry; .line 1417 .local v7, "subscriptionEntry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" invoke-interface {v7}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/String; .line 1418 .local v4, "id":Ljava/lang/String; invoke-interface {v7}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v6 check-cast v6, Landroid/support/v4/media/MediaBrowserCompat$Subscription; .line 1419 .local v6, "sub":Landroid/support/v4/media/MediaBrowserCompat$Subscription; invoke-virtual {v6}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->getOptionsList()Ljava/util/List; move-result-object v5 .line 1420 .local v5, "optionsList":Ljava/util/List;, "Ljava/util/List;" invoke-virtual {v6}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->getCallbacks()Ljava/util/List; move-result-object v0 .line 1421 .local v0, "callbackList":Ljava/util/List;, "Ljava/util/List;" const/4 v2, 0x0 .local v2, "i":I :goto_0 invoke-interface {v5}, Ljava/util/List;->size()I move-result v8 if-ge v2, v8, :cond_0 .line 1422 invoke-interface {v5, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v8 if-nez v8, :cond_1 .line 1423 iget-object v9, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v8 check-cast v8, Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21; invoke-static {v8}, Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21;->access$1800(Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21;)Ljava/lang/Object; move-result-object v8 invoke-static {v9, v4, v8}, Landroid/support/v4/media/MediaBrowserCompatApi21;->subscribe(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V .line 1421 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 1428 :cond_1 :try_start_0 iget-object v9, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; invoke-interface {v5, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v8 check-cast v8, Landroid/os/Bundle; iget-object v10, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; invoke-virtual {v9, v4, v8, v10}, Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper;->addSubscription(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Messenger;)V :try_end_0 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_1 .line 1430 :catch_0 move-exception v1 .line 1433 .local v1, "e":Landroid/os/RemoteException; const-string v8, "MediaBrowserCompat" new-instance v9, Ljava/lang/StringBuilder; invoke-direct {v9}, Ljava/lang/StringBuilder;->()V const-string v10, "addSubscription failed with RemoteException parentId=" invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v9 invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I goto :goto_1 .line 1438 .end local v0 # "callbackList":Ljava/util/List;, "Ljava/util/List;" .end local v1 # "e":Landroid/os/RemoteException; .end local v2 # "i":I .end local v4 # "id":Ljava/lang/String; .end local v5 # "optionsList":Ljava/util/List;, "Ljava/util/List;" .end local v6 # "sub":Landroid/support/v4/media/MediaBrowserCompat$Subscription; .end local v7 # "subscriptionEntry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry;" :cond_2 return-void .end method .method public subscribe(Ljava/lang/String;Landroid/os/Bundle;Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallback;)V .locals 6 .param p1, "parentId" # Ljava/lang/String; .annotation build Landroid/support/annotation/NonNull; .end annotation .end param .param p2, "options" # Landroid/os/Bundle; .param p3, "callback" # Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallback; .annotation build Landroid/support/annotation/NonNull; .end annotation .end param .prologue .line 1281 new-instance v0, Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21; invoke-direct {v0, p3, p2}, Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21;->(Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallback;Landroid/os/Bundle;)V .line 1282 .local v0, "cb21":Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21; iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mSubscriptions:Landroid/support/v4/util/ArrayMap; invoke-virtual {v3, p1}, Landroid/support/v4/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroid/support/v4/media/MediaBrowserCompat$Subscription; .line 1283 .local v2, "sub":Landroid/support/v4/media/MediaBrowserCompat$Subscription; if-nez v2, :cond_0 .line 1284 new-instance v2, Landroid/support/v4/media/MediaBrowserCompat$Subscription; .end local v2 # "sub":Landroid/support/v4/media/MediaBrowserCompat$Subscription; invoke-direct {v2}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->()V .line 1285 .restart local v2 # "sub":Landroid/support/v4/media/MediaBrowserCompat$Subscription; iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mSubscriptions:Landroid/support/v4/util/ArrayMap; invoke-virtual {v3, p1, v2}, Landroid/support/v4/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 1287 :cond_0 invoke-virtual {v2, v0, p2}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->setCallbackForOptions(Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallback;Landroid/os/Bundle;)V .line 1288 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v3}, Landroid/support/v4/media/MediaBrowserCompatApi21;->isConnected(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_2 .line 1289 if-eqz p2, :cond_1 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; if-nez v3, :cond_3 .line 1290 :cond_1 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v0}, Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21;->access$1800(Landroid/support/v4/media/MediaBrowserCompat$SubscriptionCallbackApi21;)Ljava/lang/Object; move-result-object v4 invoke-static {v3, p1, v4}, Landroid/support/v4/media/MediaBrowserCompatApi21;->subscribe(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V .line 1303 :cond_2 :goto_0 return-void .line 1294 :cond_3 :try_start_0 iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; iget-object v4, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; invoke-virtual {v3, p1, p2, v4}, Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper;->addSubscription(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Messenger;)V :try_end_0 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 .line 1296 :catch_0 move-exception v1 .line 1299 .local v1, "e":Landroid/os/RemoteException; const-string v3, "MediaBrowserCompat" new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V const-string v5, "Remote error subscribing media item: " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 .end method .method public unsubscribe(Ljava/lang/String;Landroid/os/Bundle;)V .locals 5 .param p1, "parentId" # Ljava/lang/String; .annotation build Landroid/support/annotation/NonNull; .end annotation .end param .param p2, "options" # Landroid/os/Bundle; .prologue .line 1308 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 if-eqz v2, :cond_0 .line 1309 new-instance v2, Ljava/lang/IllegalArgumentException; const-string v3, "parentId is empty." invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v2 .line 1313 :cond_0 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mSubscriptions:Landroid/support/v4/util/ArrayMap; invoke-virtual {v2, p1}, Landroid/support/v4/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/support/v4/media/MediaBrowserCompat$Subscription; .line 1314 .local v1, "sub":Landroid/support/v4/media/MediaBrowserCompat$Subscription; if-eqz v1, :cond_3 invoke-virtual {v1, p2}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->remove(Landroid/os/Bundle;)Z move-result v2 if-eqz v2, :cond_3 .line 1316 if-eqz p2, :cond_1 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; if-nez v2, :cond_5 .line 1317 :cond_1 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; if-nez v2, :cond_2 invoke-virtual {v1}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->isEmpty()Z move-result v2 if-eqz v2, :cond_3 .line 1318 :cond_2 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mBrowserObj:Ljava/lang/Object; invoke-static {v2, p1}, Landroid/support/v4/media/MediaBrowserCompatApi21;->unsubscribe(Ljava/lang/Object;Ljava/lang/String;)V .line 1332 :cond_3 :goto_0 if-eqz v1, :cond_4 invoke-virtual {v1}, Landroid/support/v4/media/MediaBrowserCompat$Subscription;->isEmpty()Z move-result v2 if-eqz v2, :cond_4 .line 1333 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mSubscriptions:Landroid/support/v4/util/ArrayMap; invoke-virtual {v2, p1}, Landroid/support/v4/util/ArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; .line 1335 :cond_4 return-void .line 1320 :cond_5 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; if-nez v2, :cond_3 .line 1322 :try_start_0 iget-object v2, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mServiceBinderWrapper:Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper; iget-object v3, p0, Landroid/support/v4/media/MediaBrowserCompat$MediaBrowserImplApi21;->mCallbacksMessenger:Landroid/os/Messenger; invoke-virtual {v2, p1, p2, v3}, Landroid/support/v4/media/MediaBrowserCompat$ServiceBinderWrapper;->removeSubscription(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Messenger;)V :try_end_0 .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 .line 1324 :catch_0 move-exception v0 .line 1327 .local v0, "e":Landroid/os/RemoteException; const-string v2, "MediaBrowserCompat" new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "removeSubscription failed with RemoteException parentId=" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 .end method