MediaBrowserServiceCompat.smali 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966
  1. .class public abstract Landroid/support/v4/media/MediaBrowserServiceCompat;
  2. .super Landroid/app/Service;
  3. .source "MediaBrowserServiceCompat.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/MemberClasses;
  6. value = {
  7. Landroid/support/v4/media/MediaBrowserServiceCompat$BrowserRoot;,
  8. Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceCallbacksApi21;,
  9. Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceCallbacksCompat;,
  10. Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceCallbacks;,
  11. Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceImplApi23;,
  12. Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceImplApi21;,
  13. Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceImpl;,
  14. Landroid/support/v4/media/MediaBrowserServiceCompat$Result;,
  15. Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;,
  16. Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;,
  17. Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplApi23;,
  18. Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplApi21;,
  19. Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplBase;,
  20. Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;,
  21. Landroid/support/v4/media/MediaBrowserServiceCompat$ResultFlags;
  22. }
  23. .end annotation
  24. # static fields
  25. .field private static final DBG:Z = false
  26. .field public static final KEY_MEDIA_ITEM:Ljava/lang/String; = "media_item"
  27. .field private static final RESULT_FLAG_OPTION_NOT_HANDLED:I = 0x1
  28. .field public static final SERVICE_INTERFACE:Ljava/lang/String; = "android.media.browse.MediaBrowserService"
  29. .field private static final TAG:Ljava/lang/String; = "MediaBrowserServiceCompat"
  30. # instance fields
  31. .field private final mConnections:Landroid/support/v4/util/ArrayMap;
  32. .annotation system Ldalvik/annotation/Signature;
  33. value = {
  34. "Landroid/support/v4/util/ArrayMap",
  35. "<",
  36. "Landroid/os/IBinder;",
  37. "Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;",
  38. ">;"
  39. }
  40. .end annotation
  41. .end field
  42. .field private final mHandler:Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;
  43. .field private mImpl:Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;
  44. .field mSession:Landroid/support/v4/media/session/MediaSessionCompat$Token;
  45. # direct methods
  46. .method public constructor <init>()V
  47. .locals 2
  48. .prologue
  49. .line 73
  50. invoke-direct {p0}, Landroid/app/Service;-><init>()V
  51. .line 98
  52. new-instance v0, Landroid/support/v4/util/ArrayMap;
  53. invoke-direct {v0}, Landroid/support/v4/util/ArrayMap;-><init>()V
  54. iput-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mConnections:Landroid/support/v4/util/ArrayMap;
  55. .line 99
  56. new-instance v0, Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;
  57. const/4 v1, 0x0
  58. invoke-direct {v0, p0, v1}, Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;Landroid/support/v4/media/MediaBrowserServiceCompat$1;)V
  59. iput-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mHandler:Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;
  60. .line 933
  61. return-void
  62. .end method
  63. .method static synthetic access$100(Landroid/support/v4/media/MediaBrowserServiceCompat;)Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;
  64. .locals 1
  65. .param p0, "x0" # Landroid/support/v4/media/MediaBrowserServiceCompat;
  66. .prologue
  67. .line 73
  68. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mHandler:Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;
  69. return-object v0
  70. .end method
  71. .method static synthetic access$1000(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)V
  72. .locals 0
  73. .param p0, "x0" # Landroid/support/v4/media/MediaBrowserServiceCompat;
  74. .param p1, "x1" # Ljava/lang/String;
  75. .param p2, "x2" # Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;
  76. .param p3, "x3" # Landroid/os/Bundle;
  77. .prologue
  78. .line 73
  79. invoke-direct {p0, p1, p2, p3}, Landroid/support/v4/media/MediaBrowserServiceCompat;->performLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)V
  80. return-void
  81. .end method
  82. .method static synthetic access$400(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/String;I)Z
  83. .locals 1
  84. .param p0, "x0" # Landroid/support/v4/media/MediaBrowserServiceCompat;
  85. .param p1, "x1" # Ljava/lang/String;
  86. .param p2, "x2" # I
  87. .prologue
  88. .line 73
  89. invoke-direct {p0, p1, p2}, Landroid/support/v4/media/MediaBrowserServiceCompat;->isValidPackage(Ljava/lang/String;I)Z
  90. move-result v0
  91. return v0
  92. .end method
  93. .method static synthetic access$500(Landroid/support/v4/media/MediaBrowserServiceCompat;)Landroid/support/v4/util/ArrayMap;
  94. .locals 1
  95. .param p0, "x0" # Landroid/support/v4/media/MediaBrowserServiceCompat;
  96. .prologue
  97. .line 73
  98. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mConnections:Landroid/support/v4/util/ArrayMap;
  99. return-object v0
  100. .end method
  101. .method static synthetic access$700(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)V
  102. .locals 0
  103. .param p0, "x0" # Landroid/support/v4/media/MediaBrowserServiceCompat;
  104. .param p1, "x1" # Ljava/lang/String;
  105. .param p2, "x2" # Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;
  106. .param p3, "x3" # Landroid/os/Bundle;
  107. .prologue
  108. .line 73
  109. invoke-direct {p0, p1, p2, p3}, Landroid/support/v4/media/MediaBrowserServiceCompat;->addSubscription(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)V
  110. return-void
  111. .end method
  112. .method static synthetic access$800(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)Z
  113. .locals 1
  114. .param p0, "x0" # Landroid/support/v4/media/MediaBrowserServiceCompat;
  115. .param p1, "x1" # Ljava/lang/String;
  116. .param p2, "x2" # Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;
  117. .param p3, "x3" # Landroid/os/Bundle;
  118. .prologue
  119. .line 73
  120. invoke-direct {p0, p1, p2, p3}, Landroid/support/v4/media/MediaBrowserServiceCompat;->removeSubscription(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)Z
  121. move-result v0
  122. return v0
  123. .end method
  124. .method static synthetic access$900(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/String;Landroid/support/v4/os/ResultReceiver;)V
  125. .locals 0
  126. .param p0, "x0" # Landroid/support/v4/media/MediaBrowserServiceCompat;
  127. .param p1, "x1" # Ljava/lang/String;
  128. .param p2, "x2" # Landroid/support/v4/os/ResultReceiver;
  129. .prologue
  130. .line 73
  131. invoke-direct {p0, p1, p2}, Landroid/support/v4/media/MediaBrowserServiceCompat;->performLoadItem(Ljava/lang/String;Landroid/support/v4/os/ResultReceiver;)V
  132. return-void
  133. .end method
  134. .method private addSubscription(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)V
  135. .locals 4
  136. .param p1, "id" # Ljava/lang/String;
  137. .param p2, "connection" # Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;
  138. .param p3, "options" # Landroid/os/Bundle;
  139. .prologue
  140. .line 812
  141. iget-object v3, p2, Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;->subscriptions:Ljava/util/HashMap;
  142. invoke-virtual {v3, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  143. move-result-object v2
  144. check-cast v2, Ljava/util/List;
  145. .line 813
  146. .local v2, "optionsList":Ljava/util/List;, "Ljava/util/List<Landroid/os/Bundle;>;"
  147. if-nez v2, :cond_0
  148. .line 814
  149. new-instance v2, Ljava/util/ArrayList;
  150. .end local v2 # "optionsList":Ljava/util/List;, "Ljava/util/List<Landroid/os/Bundle;>;"
  151. invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
  152. .line 816
  153. .restart local v2 # "optionsList":Ljava/util/List;, "Ljava/util/List<Landroid/os/Bundle;>;"
  154. :cond_0
  155. invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
  156. move-result-object v1
  157. .local v1, "i$":Ljava/util/Iterator;
  158. :cond_1
  159. invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
  160. move-result v3
  161. if-eqz v3, :cond_2
  162. invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  163. move-result-object v0
  164. check-cast v0, Landroid/os/Bundle;
  165. .line 817
  166. .local v0, "bundle":Landroid/os/Bundle;
  167. invoke-static {p3, v0}, Landroid/support/v4/media/MediaBrowserCompatUtils;->areSameOptions(Landroid/os/Bundle;Landroid/os/Bundle;)Z
  168. move-result v3
  169. if-eqz v3, :cond_1
  170. .line 825
  171. .end local v0 # "bundle":Landroid/os/Bundle;
  172. :goto_0
  173. return-void
  174. .line 821
  175. :cond_2
  176. invoke-interface {v2, p3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
  177. .line 822
  178. iget-object v3, p2, Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;->subscriptions:Ljava/util/HashMap;
  179. invoke-virtual {v3, p1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  180. .line 824
  181. invoke-direct {p0, p1, p2, p3}, Landroid/support/v4/media/MediaBrowserServiceCompat;->performLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)V
  182. goto :goto_0
  183. .end method
  184. .method private applyOptions(Ljava/util/List;Landroid/os/Bundle;)Ljava/util/List;
  185. .locals 7
  186. .param p2, "options" # Landroid/os/Bundle;
  187. .annotation system Ldalvik/annotation/Signature;
  188. value = {
  189. "(",
  190. "Ljava/util/List",
  191. "<",
  192. "Landroid/support/v4/media/MediaBrowserCompat$MediaItem;",
  193. ">;",
  194. "Landroid/os/Bundle;",
  195. ")",
  196. "Ljava/util/List",
  197. "<",
  198. "Landroid/support/v4/media/MediaBrowserCompat$MediaItem;",
  199. ">;"
  200. }
  201. .end annotation
  202. .prologue
  203. .local p1, "list":Ljava/util/List;, "Ljava/util/List<Landroid/support/v4/media/MediaBrowserCompat$MediaItem;>;"
  204. const/4 v6, 0x1
  205. const/4 v5, -0x1
  206. .line 894
  207. const-string v4, "android.media.browse.extra.PAGE"
  208. invoke-virtual {p2, v4, v5}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
  209. move-result v1
  210. .line 895
  211. .local v1, "page":I
  212. const-string v4, "android.media.browse.extra.PAGE_SIZE"
  213. invoke-virtual {p2, v4, v5}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
  214. move-result v2
  215. .line 896
  216. .local v2, "pageSize":I
  217. if-ne v1, v5, :cond_0
  218. if-ne v2, v5, :cond_0
  219. .line 907
  220. .end local p1 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/support/v4/media/MediaBrowserCompat$MediaItem;>;"
  221. :goto_0
  222. return-object p1
  223. .line 899
  224. .restart local p1 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/support/v4/media/MediaBrowserCompat$MediaItem;>;"
  225. :cond_0
  226. add-int/lit8 v4, v1, -0x1
  227. mul-int v0, v2, v4
  228. .line 900
  229. .local v0, "fromIndex":I
  230. add-int v3, v0, v2
  231. .line 901
  232. .local v3, "toIndex":I
  233. if-lt v1, v6, :cond_1
  234. if-lt v2, v6, :cond_1
  235. invoke-interface {p1}, Ljava/util/List;->size()I
  236. move-result v4
  237. if-lt v0, v4, :cond_2
  238. .line 902
  239. :cond_1
  240. invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
  241. move-result-object p1
  242. goto :goto_0
  243. .line 904
  244. :cond_2
  245. invoke-interface {p1}, Ljava/util/List;->size()I
  246. move-result v4
  247. if-le v3, v4, :cond_3
  248. .line 905
  249. invoke-interface {p1}, Ljava/util/List;->size()I
  250. move-result v3
  251. .line 907
  252. :cond_3
  253. invoke-interface {p1, v0, v3}, Ljava/util/List;->subList(II)Ljava/util/List;
  254. move-result-object p1
  255. goto :goto_0
  256. .end method
  257. .method private isValidPackage(Ljava/lang/String;I)Z
  258. .locals 6
  259. .param p1, "pkg" # Ljava/lang/String;
  260. .param p2, "uid" # I
  261. .prologue
  262. const/4 v4, 0x0
  263. .line 793
  264. if-nez p1, :cond_1
  265. .line 804
  266. :cond_0
  267. :goto_0
  268. return v4
  269. .line 796
  270. :cond_1
  271. invoke-virtual {p0}, Landroid/support/v4/media/MediaBrowserServiceCompat;->getPackageManager()Landroid/content/pm/PackageManager;
  272. move-result-object v3
  273. .line 797
  274. .local v3, "pm":Landroid/content/pm/PackageManager;
  275. invoke-virtual {v3, p2}, Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
  276. move-result-object v2
  277. .line 798
  278. .local v2, "packages":[Ljava/lang/String;
  279. array-length v0, v2
  280. .line 799
  281. .local v0, "N":I
  282. const/4 v1, 0x0
  283. .local v1, "i":I
  284. :goto_1
  285. if-ge v1, v0, :cond_0
  286. .line 800
  287. aget-object v5, v2, v1
  288. invoke-virtual {v5, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  289. move-result v5
  290. if-eqz v5, :cond_2
  291. .line 801
  292. const/4 v4, 0x1
  293. goto :goto_0
  294. .line 799
  295. :cond_2
  296. add-int/lit8 v1, v1, 0x1
  297. goto :goto_1
  298. .end method
  299. .method private notifyChildrenChangedInternal(Ljava/lang/String;Landroid/os/Bundle;)V
  300. .locals 2
  301. .param p1, "parentId" # Ljava/lang/String;
  302. .param p2, "options" # Landroid/os/Bundle;
  303. .prologue
  304. .line 767
  305. if-nez p1, :cond_0
  306. .line 768
  307. new-instance v0, Ljava/lang/IllegalArgumentException;
  308. const-string v1, "parentId cannot be null in notifyChildrenChanged"
  309. invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  310. throw v0
  311. .line 770
  312. :cond_0
  313. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mHandler:Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;
  314. new-instance v1, Landroid/support/v4/media/MediaBrowserServiceCompat$2;
  315. invoke-direct {v1, p0, p1, p2}, Landroid/support/v4/media/MediaBrowserServiceCompat$2;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/String;Landroid/os/Bundle;)V
  316. invoke-virtual {v0, v1}, Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;->post(Ljava/lang/Runnable;)Z
  317. .line 787
  318. return-void
  319. .end method
  320. .method private performLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)V
  321. .locals 6
  322. .param p1, "parentId" # Ljava/lang/String;
  323. .param p2, "connection" # Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;
  324. .param p3, "options" # Landroid/os/Bundle;
  325. .prologue
  326. .line 855
  327. new-instance v0, Landroid/support/v4/media/MediaBrowserServiceCompat$3;
  328. move-object v1, p0
  329. move-object v2, p1
  330. move-object v3, p2
  331. move-object v4, p1
  332. move-object v5, p3
  333. invoke-direct/range {v0 .. v5}, Landroid/support/v4/media/MediaBrowserServiceCompat$3;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/Object;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Ljava/lang/String;Landroid/os/Bundle;)V
  334. .line 880
  335. .local v0, "result":Landroid/support/v4/media/MediaBrowserServiceCompat$Result;, "Landroid/support/v4/media/MediaBrowserServiceCompat$Result<Ljava/util/List<Landroid/support/v4/media/MediaBrowserCompat$MediaItem;>;>;"
  336. if-nez p3, :cond_0
  337. .line 881
  338. invoke-virtual {p0, p1, v0}, Landroid/support/v4/media/MediaBrowserServiceCompat;->onLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$Result;)V
  339. .line 886
  340. :goto_0
  341. invoke-virtual {v0}, Landroid/support/v4/media/MediaBrowserServiceCompat$Result;->isDone()Z
  342. move-result v1
  343. if-nez v1, :cond_1
  344. .line 887
  345. new-instance v1, Ljava/lang/IllegalStateException;
  346. new-instance v2, Ljava/lang/StringBuilder;
  347. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  348. const-string v3, "onLoadChildren must call detach() or sendResult() before returning for package="
  349. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  350. move-result-object v2
  351. iget-object v3, p2, Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;->pkg:Ljava/lang/String;
  352. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  353. move-result-object v2
  354. const-string v3, " id="
  355. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  356. move-result-object v2
  357. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  358. move-result-object v2
  359. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  360. move-result-object v2
  361. invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  362. throw v1
  363. .line 883
  364. :cond_0
  365. invoke-virtual {p0, p1, v0, p3}, Landroid/support/v4/media/MediaBrowserServiceCompat;->onLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$Result;Landroid/os/Bundle;)V
  366. goto :goto_0
  367. .line 890
  368. :cond_1
  369. return-void
  370. .end method
  371. .method private performLoadItem(Ljava/lang/String;Landroid/support/v4/os/ResultReceiver;)V
  372. .locals 4
  373. .param p1, "itemId" # Ljava/lang/String;
  374. .param p2, "receiver" # Landroid/support/v4/os/ResultReceiver;
  375. .prologue
  376. .line 911
  377. new-instance v0, Landroid/support/v4/media/MediaBrowserServiceCompat$4;
  378. invoke-direct {v0, p0, p1, p2}, Landroid/support/v4/media/MediaBrowserServiceCompat$4;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;Ljava/lang/Object;Landroid/support/v4/os/ResultReceiver;)V
  379. .line 921
  380. .local v0, "result":Landroid/support/v4/media/MediaBrowserServiceCompat$Result;, "Landroid/support/v4/media/MediaBrowserServiceCompat$Result<Landroid/support/v4/media/MediaBrowserCompat$MediaItem;>;"
  381. invoke-virtual {p0, p1, v0}, Landroid/support/v4/media/MediaBrowserServiceCompat;->onLoadItem(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$Result;)V
  382. .line 923
  383. invoke-virtual {v0}, Landroid/support/v4/media/MediaBrowserServiceCompat$Result;->isDone()Z
  384. move-result v1
  385. if-nez v1, :cond_0
  386. .line 924
  387. new-instance v1, Ljava/lang/IllegalStateException;
  388. new-instance v2, Ljava/lang/StringBuilder;
  389. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  390. const-string v3, "onLoadItem must call detach() or sendResult() before returning for id="
  391. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  392. move-result-object v2
  393. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  394. move-result-object v2
  395. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  396. move-result-object v2
  397. invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  398. throw v1
  399. .line 927
  400. :cond_0
  401. return-void
  402. .end method
  403. .method private removeSubscription(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;Landroid/os/Bundle;)Z
  404. .locals 5
  405. .param p1, "id" # Ljava/lang/String;
  406. .param p2, "connection" # Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;
  407. .param p3, "options" # Landroid/os/Bundle;
  408. .prologue
  409. .line 831
  410. const/4 v3, 0x0
  411. .line 832
  412. .local v3, "removed":Z
  413. iget-object v4, p2, Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;->subscriptions:Ljava/util/HashMap;
  414. invoke-virtual {v4, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  415. move-result-object v2
  416. check-cast v2, Ljava/util/List;
  417. .line 833
  418. .local v2, "optionsList":Ljava/util/List;, "Ljava/util/List<Landroid/os/Bundle;>;"
  419. if-eqz v2, :cond_2
  420. .line 834
  421. invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
  422. move-result-object v1
  423. .local v1, "i$":Ljava/util/Iterator;
  424. :cond_0
  425. invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
  426. move-result v4
  427. if-eqz v4, :cond_1
  428. invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  429. move-result-object v0
  430. check-cast v0, Landroid/os/Bundle;
  431. .line 835
  432. .local v0, "bundle":Landroid/os/Bundle;
  433. invoke-static {p3, v0}, Landroid/support/v4/media/MediaBrowserCompatUtils;->areSameOptions(Landroid/os/Bundle;Landroid/os/Bundle;)Z
  434. move-result v4
  435. if-eqz v4, :cond_0
  436. .line 836
  437. const/4 v3, 0x1
  438. .line 837
  439. invoke-interface {v2, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
  440. .line 841
  441. .end local v0 # "bundle":Landroid/os/Bundle;
  442. :cond_1
  443. invoke-interface {v2}, Ljava/util/List;->size()I
  444. move-result v4
  445. if-nez v4, :cond_2
  446. .line 842
  447. iget-object v4, p2, Landroid/support/v4/media/MediaBrowserServiceCompat$ConnectionRecord;->subscriptions:Ljava/util/HashMap;
  448. invoke-virtual {v4, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
  449. .line 845
  450. .end local v1 # "i$":Ljava/util/Iterator;
  451. :cond_2
  452. return v3
  453. .end method
  454. # virtual methods
  455. .method public dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
  456. .locals 0
  457. .param p1, "fd" # Ljava/io/FileDescriptor;
  458. .param p2, "writer" # Ljava/io/PrintWriter;
  459. .param p3, "args" # [Ljava/lang/String;
  460. .prologue
  461. .line 604
  462. return-void
  463. .end method
  464. .method public getSessionToken()Landroid/support/v4/media/session/MediaSessionCompat$Token;
  465. .locals 1
  466. .annotation build Landroid/support/annotation/Nullable;
  467. .end annotation
  468. .prologue
  469. .line 732
  470. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mSession:Landroid/support/v4/media/session/MediaSessionCompat$Token;
  471. return-object v0
  472. .end method
  473. .method public notifyChildrenChanged(Ljava/lang/String;)V
  474. .locals 1
  475. .param p1, "parentId" # Ljava/lang/String;
  476. .annotation build Landroid/support/annotation/NonNull;
  477. .end annotation
  478. .end param
  479. .prologue
  480. .line 744
  481. const/4 v0, 0x0
  482. invoke-direct {p0, p1, v0}, Landroid/support/v4/media/MediaBrowserServiceCompat;->notifyChildrenChangedInternal(Ljava/lang/String;Landroid/os/Bundle;)V
  483. .line 745
  484. return-void
  485. .end method
  486. .method public notifyChildrenChanged(Ljava/lang/String;Landroid/os/Bundle;)V
  487. .locals 2
  488. .param p1, "parentId" # Ljava/lang/String;
  489. .annotation build Landroid/support/annotation/NonNull;
  490. .end annotation
  491. .end param
  492. .param p2, "options" # Landroid/os/Bundle;
  493. .annotation build Landroid/support/annotation/NonNull;
  494. .end annotation
  495. .end param
  496. .prologue
  497. .line 760
  498. if-nez p2, :cond_0
  499. .line 761
  500. new-instance v0, Ljava/lang/IllegalArgumentException;
  501. const-string v1, "options cannot be null in notifyChildrenChanged"
  502. invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  503. throw v0
  504. .line 763
  505. :cond_0
  506. invoke-direct {p0, p1, p2}, Landroid/support/v4/media/MediaBrowserServiceCompat;->notifyChildrenChangedInternal(Ljava/lang/String;Landroid/os/Bundle;)V
  507. .line 764
  508. return-void
  509. .end method
  510. .method public onBind(Landroid/content/Intent;)Landroid/os/IBinder;
  511. .locals 1
  512. .param p1, "intent" # Landroid/content/Intent;
  513. .prologue
  514. .line 599
  515. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mImpl:Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;
  516. invoke-interface {v0, p1}, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
  517. move-result-object v0
  518. return-object v0
  519. .end method
  520. .method public onCreate()V
  521. .locals 2
  522. .prologue
  523. .line 586
  524. invoke-super {p0}, Landroid/app/Service;->onCreate()V
  525. .line 587
  526. sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
  527. const/16 v1, 0x17
  528. if-lt v0, v1, :cond_0
  529. .line 588
  530. new-instance v0, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplApi23;
  531. invoke-direct {v0, p0}, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplApi23;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;)V
  532. iput-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mImpl:Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;
  533. .line 594
  534. :goto_0
  535. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mImpl:Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;
  536. invoke-interface {v0}, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;->onCreate()V
  537. .line 595
  538. return-void
  539. .line 589
  540. :cond_0
  541. sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
  542. const/16 v1, 0x15
  543. if-lt v0, v1, :cond_1
  544. .line 590
  545. new-instance v0, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplApi21;
  546. invoke-direct {v0, p0}, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplApi21;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;)V
  547. iput-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mImpl:Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;
  548. goto :goto_0
  549. .line 592
  550. :cond_1
  551. new-instance v0, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplBase;
  552. invoke-direct {v0, p0}, Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImplBase;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;)V
  553. iput-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mImpl:Landroid/support/v4/media/MediaBrowserServiceCompat$MediaBrowserServiceImpl;
  554. goto :goto_0
  555. .end method
  556. .method public abstract onGetRoot(Ljava/lang/String;ILandroid/os/Bundle;)Landroid/support/v4/media/MediaBrowserServiceCompat$BrowserRoot;
  557. .param p1 # Ljava/lang/String;
  558. .annotation build Landroid/support/annotation/NonNull;
  559. .end annotation
  560. .end param
  561. .param p3 # Landroid/os/Bundle;
  562. .annotation build Landroid/support/annotation/Nullable;
  563. .end annotation
  564. .end param
  565. .annotation build Landroid/support/annotation/Nullable;
  566. .end annotation
  567. .end method
  568. .method public abstract onLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$Result;)V
  569. .param p1 # Ljava/lang/String;
  570. .annotation build Landroid/support/annotation/NonNull;
  571. .end annotation
  572. .end param
  573. .param p2 # Landroid/support/v4/media/MediaBrowserServiceCompat$Result;
  574. .annotation build Landroid/support/annotation/NonNull;
  575. .end annotation
  576. .end param
  577. .annotation system Ldalvik/annotation/Signature;
  578. value = {
  579. "(",
  580. "Ljava/lang/String;",
  581. "Landroid/support/v4/media/MediaBrowserServiceCompat$Result",
  582. "<",
  583. "Ljava/util/List",
  584. "<",
  585. "Landroid/support/v4/media/MediaBrowserCompat$MediaItem;",
  586. ">;>;)V"
  587. }
  588. .end annotation
  589. .end method
  590. .method public onLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$Result;Landroid/os/Bundle;)V
  591. .locals 1
  592. .param p1, "parentId" # Ljava/lang/String;
  593. .annotation build Landroid/support/annotation/NonNull;
  594. .end annotation
  595. .end param
  596. .param p2 # Landroid/support/v4/media/MediaBrowserServiceCompat$Result;
  597. .annotation build Landroid/support/annotation/NonNull;
  598. .end annotation
  599. .end param
  600. .param p3, "options" # Landroid/os/Bundle;
  601. .annotation build Landroid/support/annotation/NonNull;
  602. .end annotation
  603. .end param
  604. .annotation system Ldalvik/annotation/Signature;
  605. value = {
  606. "(",
  607. "Ljava/lang/String;",
  608. "Landroid/support/v4/media/MediaBrowserServiceCompat$Result",
  609. "<",
  610. "Ljava/util/List",
  611. "<",
  612. "Landroid/support/v4/media/MediaBrowserCompat$MediaItem;",
  613. ">;>;",
  614. "Landroid/os/Bundle;",
  615. ")V"
  616. }
  617. .end annotation
  618. .prologue
  619. .line 670
  620. .local p2, "result":Landroid/support/v4/media/MediaBrowserServiceCompat$Result;, "Landroid/support/v4/media/MediaBrowserServiceCompat$Result<Ljava/util/List<Landroid/support/v4/media/MediaBrowserCompat$MediaItem;>;>;"
  621. const/4 v0, 0x1
  622. invoke-virtual {p2, v0}, Landroid/support/v4/media/MediaBrowserServiceCompat$Result;->setFlags(I)V
  623. .line 671
  624. invoke-virtual {p0, p1, p2}, Landroid/support/v4/media/MediaBrowserServiceCompat;->onLoadChildren(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$Result;)V
  625. .line 672
  626. return-void
  627. .end method
  628. .method public onLoadItem(Ljava/lang/String;Landroid/support/v4/media/MediaBrowserServiceCompat$Result;)V
  629. .locals 1
  630. .param p1, "itemId" # Ljava/lang/String;
  631. .annotation system Ldalvik/annotation/Signature;
  632. value = {
  633. "(",
  634. "Ljava/lang/String;",
  635. "Landroid/support/v4/media/MediaBrowserServiceCompat$Result",
  636. "<",
  637. "Landroid/support/v4/media/MediaBrowserCompat$MediaItem;",
  638. ">;)V"
  639. }
  640. .end annotation
  641. .prologue
  642. .line 691
  643. .local p2, "result":Landroid/support/v4/media/MediaBrowserServiceCompat$Result;, "Landroid/support/v4/media/MediaBrowserServiceCompat$Result<Landroid/support/v4/media/MediaBrowserCompat$MediaItem;>;"
  644. const/4 v0, 0x0
  645. invoke-virtual {p2, v0}, Landroid/support/v4/media/MediaBrowserServiceCompat$Result;->sendResult(Ljava/lang/Object;)V
  646. .line 692
  647. return-void
  648. .end method
  649. .method public setSessionToken(Landroid/support/v4/media/session/MediaSessionCompat$Token;)V
  650. .locals 2
  651. .param p1, "token" # Landroid/support/v4/media/session/MediaSessionCompat$Token;
  652. .prologue
  653. .line 703
  654. if-nez p1, :cond_0
  655. .line 704
  656. new-instance v0, Ljava/lang/IllegalArgumentException;
  657. const-string v1, "Session token may not be null."
  658. invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  659. throw v0
  660. .line 706
  661. :cond_0
  662. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mSession:Landroid/support/v4/media/session/MediaSessionCompat$Token;
  663. if-eqz v0, :cond_1
  664. .line 707
  665. new-instance v0, Ljava/lang/IllegalStateException;
  666. const-string v1, "The session token has already been set."
  667. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  668. throw v0
  669. .line 709
  670. :cond_1
  671. iput-object p1, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mSession:Landroid/support/v4/media/session/MediaSessionCompat$Token;
  672. .line 710
  673. iget-object v0, p0, Landroid/support/v4/media/MediaBrowserServiceCompat;->mHandler:Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;
  674. new-instance v1, Landroid/support/v4/media/MediaBrowserServiceCompat$1;
  675. invoke-direct {v1, p0, p1}, Landroid/support/v4/media/MediaBrowserServiceCompat$1;-><init>(Landroid/support/v4/media/MediaBrowserServiceCompat;Landroid/support/v4/media/session/MediaSessionCompat$Token;)V
  676. invoke-virtual {v0, v1}, Landroid/support/v4/media/MediaBrowserServiceCompat$ServiceHandler;->post(Ljava/lang/Runnable;)Z
  677. .line 725
  678. return-void
  679. .end method