soul-browser/app/smali/androidx/mediarouter/media/MediaRouter2Utils.smali
KaKi87 550ddb0413
Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1)
* Decompile and recreate Soul Browser v1.4.85 with APK CI builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix CI build: include bundled google.jks and remove PR trigger

The apktool build failed in CI because app/unknown/.../google.jks was
excluded by the *.jks gitignore rule. Whitelist app-bundled JKS files
and commit the missing resource.

Also remove the redundant pull_request workflow trigger.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Change package ID to com.github.kaki87.soulbrowser

Rename the application ID so the rebuilt APK can be installed
alongside the original Soul Browser from Google Play.

- Update AndroidManifest package, permissions, providers, and actions
- Update R class references in smali (com/github/kaki87/soulbrowser/R)
- Update shortcuts.xml targetPackage
- Rename app label to "Soul Rebuild" for easy identification

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install compatibility: remove split APK metadata and bundle native libs

The rebuilt APK still declared requiredSplitTypes and Play Store split
metadata, causing Android to reject standalone installs as incompatible.

- Remove requiredSplitTypes and split-related manifest meta-data
- Merge native libs from all ABI splits with uncompressed storage
- Page-align before signing for extractNativeLibs=false
- Add .so to apktool doNotCompress list

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install failure: use apksigner v2/v3 and bundle arm64 native libs

Target SDK 36 requires APK Signature Scheme v2+, but jarsigner only
produces v1 signatures, causing Android to reject the install.

- Sign with apksigner (v1+v2+v3) instead of jarsigner
- Add arm64-v8a native libraries from universal Soul Browser 1.4.79
- Set extractNativeLibs=true for reliable sideload installs
- Commit stable debug keystore for consistent signatures across builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Add committed debug keystore for consistent APK signatures

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix startup crash: use original classes2.dex desugar libraries

Apktool recompiles smali_classes2 into a broken classes2.dex, causing
ClassNotFoundException for j$.com.android.tools.r8.a at ML Kit init.

Inject the original classes2.dex (Java 8+ desugar libs) after apktool
build instead of using the recompiled version.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix missing drawable resources from density split APKs

The base APK is an app bundle module; density-specific drawables like
seek_thumb_nor_b live in config.xhdpi.apk and were missing after rebuild,
causing Resources$NotFoundException at runtime.

- Merge non-9-patch resources from split APKs before apktool build
- Sync public.xml IDs from R smali only when backing files exist
- Add 713 density-specific resource IDs to public.xml

Co-authored-by: KaKi87 <KaKi87@pm.me>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-10 16:07:14 +02:00

1336 lines
23 KiB
Smali

.class Landroidx/mediarouter/media/MediaRouter2Utils;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/mediarouter/media/MediaRouter2Utils$Api34Impl;
}
.end annotation
# direct methods
.method public static a(Ljava/util/List;)Ljava/util/ArrayList;
.locals 2
.line 1
if-nez p0, :cond_0
.line 2
.line 3
new-instance p0, Ljava/util/ArrayList;
.line 4
.line 5
invoke-direct {p0}, Ljava/util/ArrayList;-><init>()V
.line 6
.line 7
.line 8
return-object p0
.line 9
:cond_0
new-instance v0, Ljava/util/ArrayList;
.line 10
.line 11
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 12
.line 13
.line 14
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
.line 15
.line 16
.line 17
move-result-object p0
.line 18
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
.line 19
.line 20
.line 21
move-result v1
.line 22
if-eqz v1, :cond_2
.line 23
.line 24
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
.line 25
.line 26
.line 27
move-result-object v1
.line 28
check-cast v1, Landroid/media/MediaRoute2Info;
.line 29
.line 30
if-nez v1, :cond_1
.line 31
.line 32
goto :goto_0
.line 33
:cond_1
invoke-virtual {v1}, Landroid/media/MediaRoute2Info;->getId()Ljava/lang/String;
.line 34
.line 35
.line 36
move-result-object v1
.line 37
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 38
.line 39
.line 40
goto :goto_0
.line 41
:cond_2
return-object v0
.end method
.method public static b(Landroid/media/MediaRoute2Info;)Landroidx/mediarouter/media/MediaRouteDescriptor;
.locals 13
.line 1
const/4 v0, 0x0
.line 2
if-nez p0, :cond_0
.line 3
.line 4
goto/16 :goto_7
.line 5
.line 6
:cond_0
new-instance v1, Landroidx/mediarouter/media/MediaRouteDescriptor$Builder;
.line 7
.line 8
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getId()Ljava/lang/String;
.line 9
.line 10
.line 11
move-result-object v2
.line 12
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getName()Ljava/lang/CharSequence;
.line 13
.line 14
.line 15
move-result-object v3
.line 16
invoke-interface {v3}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
.line 17
.line 18
.line 19
move-result-object v3
.line 20
invoke-direct {v1, v2, v3}, Landroidx/mediarouter/media/MediaRouteDescriptor$Builder;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 21
.line 22
.line 23
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getConnectionState()I
.line 24
.line 25
.line 26
move-result v2
.line 27
const-string v3, "connectionState"
.line 28
.line 29
iget-object v4, v1, Landroidx/mediarouter/media/MediaRouteDescriptor$Builder;->a:Landroid/os/Bundle;
.line 30
.line 31
invoke-virtual {v4, v3, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
.line 32
.line 33
.line 34
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getVolumeHandling()I
.line 35
.line 36
.line 37
move-result v2
.line 38
const-string v3, "volumeHandling"
.line 39
.line 40
invoke-virtual {v4, v3, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
.line 41
.line 42
.line 43
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getVolumeMax()I
.line 44
.line 45
.line 46
move-result v2
.line 47
const-string v3, "volumeMax"
.line 48
.line 49
invoke-virtual {v4, v3, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
.line 50
.line 51
.line 52
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getVolume()I
.line 53
.line 54
.line 55
move-result v2
.line 56
const-string v3, "volume"
.line 57
.line 58
invoke-virtual {v4, v3, v2}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
.line 59
.line 60
.line 61
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getExtras()Landroid/os/Bundle;
.line 62
.line 63
.line 64
move-result-object v2
.line 65
const-string v3, "extras"
.line 66
.line 67
if-nez v2, :cond_1
.line 68
.line 69
invoke-virtual {v4, v3, v0}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 70
.line 71
.line 72
goto :goto_0
.line 73
:cond_1
new-instance v5, Landroid/os/Bundle;
.line 74
.line 75
invoke-direct {v5, v2}, Landroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
.line 76
.line 77
.line 78
invoke-virtual {v4, v3, v5}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 79
.line 80
.line 81
:goto_0
const-string v2, "enabled"
.line 82
.line 83
const/4 v5, 0x1
.line 84
invoke-virtual {v4, v2, v5}, Landroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
.line 85
.line 86
.line 87
const-string v2, "canDisconnect"
.line 88
.line 89
const/4 v6, 0x0
.line 90
invoke-virtual {v4, v2, v6}, Landroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
.line 91
.line 92
.line 93
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
.line 94
.line 95
const/16 v7, 0x22
.line 96
.line 97
if-lt v2, v7, :cond_a
.line 98
.line 99
invoke-static {p0}, Landroidx/mediarouter/media/MediaRouter2Utils$Api34Impl;->a(Landroid/media/MediaRoute2Info;)Ljava/util/Set;
.line 100
.line 101
.line 102
move-result-object v2
.line 103
new-instance v7, Ljava/util/ArrayList;
.line 104
.line 105
invoke-direct {v7, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
.line 106
.line 107
.line 108
const-string v2, "deduplicationIds"
.line 109
.line 110
invoke-virtual {v4, v2, v7}, Landroid/os/Bundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
.line 111
.line 112
.line 113
invoke-static {p0}, Landroidx/mediarouter/media/MediaRouter2Utils$Api34Impl;->b(Landroid/media/MediaRoute2Info;)I
.line 114
.line 115
.line 116
move-result v2
.line 117
const/4 v7, 0x2
.line 118
if-eq v2, v7, :cond_9
.line 119
.line 120
const/4 v8, 0x3
.line 121
if-eq v2, v8, :cond_8
.line 122
.line 123
const/4 v9, 0x4
.line 124
if-eq v2, v9, :cond_7
.line 125
.line 126
const/16 v10, 0x16
.line 127
.line 128
if-eq v2, v10, :cond_6
.line 129
.line 130
const/16 v11, 0x17
.line 131
.line 132
if-eq v2, v11, :cond_5
.line 133
.line 134
const/16 v12, 0x1a
.line 135
.line 136
if-eq v2, v12, :cond_4
.line 137
.line 138
const/16 v10, 0x1d
.line 139
.line 140
if-eq v2, v10, :cond_3
.line 141
.line 142
const/16 v10, 0x7d0
.line 143
.line 144
if-eq v2, v10, :cond_2
.line 145
.line 146
packed-switch v2, :pswitch_data_0
.line 147
.line 148
.line 149
packed-switch v2, :pswitch_data_1
.line 150
.line 151
.line 152
goto :goto_1
.line 153
:pswitch_0
const/16 v7, 0xb
.line 154
.line 155
goto :goto_2
.line 156
:pswitch_1
const/16 v7, 0xa
.line 157
.line 158
goto :goto_2
.line 159
:pswitch_2
const/16 v7, 0x9
.line 160
.line 161
goto :goto_2
.line 162
:pswitch_3
const/16 v7, 0x8
.line 163
.line 164
goto :goto_2
.line 165
:pswitch_4
const/4 v7, 0x7
.line 166
goto :goto_2
.line 167
:pswitch_5
const/4 v7, 0x6
.line 168
goto :goto_2
.line 169
:pswitch_6
const/4 v7, 0x5
.line 170
goto :goto_2
.line 171
:pswitch_7
move v7, v9
.line 172
goto :goto_2
.line 173
:pswitch_8
move v7, v5
.line 174
goto :goto_2
.line 175
:pswitch_9
const/16 v7, 0x13
.line 176
.line 177
goto :goto_2
.line 178
:pswitch_a
const/16 v7, 0x12
.line 179
.line 180
goto :goto_2
.line 181
:pswitch_b
const/16 v7, 0x11
.line 182
.line 183
goto :goto_2
.line 184
:pswitch_c
move v7, v11
.line 185
goto :goto_2
.line 186
:pswitch_d
const/16 v7, 0x10
.line 187
.line 188
goto :goto_2
.line 189
:pswitch_e
move v7, v8
.line 190
goto :goto_2
.line 191
:cond_2
const/16 v7, 0x3e8
.line 192
.line 193
goto :goto_2
.line 194
:cond_3
const/16 v7, 0x18
.line 195
.line 196
goto :goto_2
.line 197
:cond_4
move v7, v10
.line 198
goto :goto_2
.line 199
:cond_5
const/16 v7, 0x15
.line 200
.line 201
goto :goto_2
.line 202
:cond_6
const/16 v7, 0x14
.line 203
.line 204
goto :goto_2
.line 205
:cond_7
const/16 v7, 0xe
.line 206
.line 207
goto :goto_2
.line 208
:cond_8
const/16 v7, 0xd
.line 209
.line 210
goto :goto_2
.line 211
:cond_9
const/16 v7, 0xc
.line 212
.line 213
goto :goto_2
.line 214
:cond_a
:goto_1
move v7, v6
.line 215
:goto_2
:pswitch_f
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getDescription()Ljava/lang/CharSequence;
.line 216
.line 217
.line 218
move-result-object v2
.line 219
if-eqz v2, :cond_b
.line 220
.line 221
invoke-interface {v2}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
.line 222
.line 223
.line 224
move-result-object v2
.line 225
const-string v8, "status"
.line 226
.line 227
invoke-virtual {v4, v8, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 228
.line 229
.line 230
:cond_b
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getIconUri()Landroid/net/Uri;
.line 231
.line 232
.line 233
move-result-object v2
.line 234
if-eqz v2, :cond_c
.line 235
.line 236
const-string v8, "iconUri"
.line 237
.line 238
invoke-virtual {v2}, Landroid/net/Uri;->toString()Ljava/lang/String;
.line 239
.line 240
.line 241
move-result-object v2
.line 242
invoke-virtual {v4, v8, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 243
.line 244
.line 245
:cond_c
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getExtras()Landroid/os/Bundle;
.line 246
.line 247
.line 248
move-result-object v2
.line 249
if-eqz v2, :cond_15
.line 250
.line 251
const-string v8, "androidx.mediarouter.media.KEY_EXTRAS"
.line 252
.line 253
invoke-virtual {v2, v8}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
.line 254
.line 255
.line 256
move-result v9
.line 257
if-eqz v9, :cond_15
.line 258
.line 259
const-string v9, "androidx.mediarouter.media.KEY_DEVICE_TYPE"
.line 260
.line 261
invoke-virtual {v2, v9}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
.line 262
.line 263
.line 264
move-result v10
.line 265
if-eqz v10, :cond_15
.line 266
.line 267
const-string v10, "androidx.mediarouter.media.KEY_CONTROL_FILTERS"
.line 268
.line 269
invoke-virtual {v2, v10}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
.line 270
.line 271
.line 272
move-result v11
.line 273
if-nez v11, :cond_d
.line 274
.line 275
goto :goto_7
.line 276
:cond_d
invoke-virtual {v2, v8}, Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
.line 277
.line 278
.line 279
move-result-object v8
.line 280
if-nez v8, :cond_e
.line 281
.line 282
invoke-virtual {v4, v3, v0}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 283
.line 284
.line 285
goto :goto_3
.line 286
:cond_e
new-instance v0, Landroid/os/Bundle;
.line 287
.line 288
invoke-direct {v0, v8}, Landroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
.line 289
.line 290
.line 291
invoke-virtual {v4, v3, v0}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 292
.line 293
.line 294
:goto_3
if-eqz v7, :cond_f
.line 295
.line 296
goto :goto_4
.line 297
:cond_f
invoke-virtual {v2, v9, v6}, Landroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I
.line 298
.line 299
.line 300
move-result v7
.line 301
:goto_4
const-string v0, "deviceType"
.line 302
.line 303
invoke-virtual {v4, v0, v7}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
.line 304
.line 305
.line 306
const-string v0, "androidx.mediarouter.media.KEY_PLAYBACK_TYPE"
.line 307
.line 308
invoke-virtual {v2, v0, v5}, Landroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I
.line 309
.line 310
.line 311
move-result v0
.line 312
const-string v3, "playbackType"
.line 313
.line 314
invoke-virtual {v4, v3, v0}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
.line 315
.line 316
.line 317
invoke-virtual {v2, v10}, Landroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
.line 318
.line 319
.line 320
move-result-object v0
.line 321
if-eqz v0, :cond_10
.line 322
.line 323
invoke-virtual {v1, v0}, Landroidx/mediarouter/media/MediaRouteDescriptor$Builder;->a(Ljava/util/ArrayList;)V
.line 324
.line 325
.line 326
:cond_10
invoke-virtual {p0}, Landroid/media/MediaRoute2Info;->getFeatures()Ljava/util/List;
.line 327
.line 328
.line 329
move-result-object p0
.line 330
const-string v0, "android.media.route.feature.REMOTE_DYNAMIC_GROUP_ROUTE"
.line 331
.line 332
invoke-interface {p0, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
.line 333
.line 334
.line 335
move-result v0
.line 336
if-eqz v0, :cond_11
.line 337
.line 338
const-string v0, "isDynamicGroupRoute"
.line 339
.line 340
invoke-virtual {v4, v0, v5}, Landroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
.line 341
.line 342
.line 343
:cond_11
const-string v0, "android.media.route.feature.REMOTE_GROUP_PLAYBACK"
.line 344
.line 345
invoke-interface {p0, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
.line 346
.line 347
.line 348
move-result p0
.line 349
if-eqz p0, :cond_14
.line 350
.line 351
const-string p0, "androidx.mediarouter.media.KEY_GROUP_MEMBER_IDS"
.line 352
.line 353
invoke-virtual {v2, p0}, Landroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
.line 354
.line 355
.line 356
move-result-object p0
.line 357
if-eqz p0, :cond_13
.line 358
.line 359
invoke-virtual {p0}, Ljava/util/ArrayList;->isEmpty()Z
.line 360
.line 361
.line 362
move-result v0
.line 363
if-eqz v0, :cond_12
.line 364
.line 365
goto :goto_5
.line 366
:cond_12
invoke-virtual {v1, p0}, Landroidx/mediarouter/media/MediaRouteDescriptor$Builder;->b(Ljava/util/ArrayList;)V
.line 367
.line 368
.line 369
goto :goto_6
.line 370
:cond_13
:goto_5
const-string p0, "MediaRouter2Utils"
.line 371
.line 372
const-string v0, "Invalid feature of a group without members"
.line 373
.line 374
invoke-static {p0, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 375
.line 376
.line 377
:cond_14
:goto_6
invoke-virtual {v1}, Landroidx/mediarouter/media/MediaRouteDescriptor$Builder;->c()Landroidx/mediarouter/media/MediaRouteDescriptor;
.line 378
.line 379
.line 380
move-result-object p0
.line 381
return-object p0
.line 382
:cond_15
:goto_7
return-object v0
.line 383
:pswitch_data_0
.packed-switch 0x8
:pswitch_e
:pswitch_d
:pswitch_c
:pswitch_b
:pswitch_a
:pswitch_9
.end packed-switch
.line 384
.line 385
.line 386
.line 387
.line 388
.line 389
.line 390
.line 391
.line 392
.line 393
.line 394
.line 395
.line 396
.line 397
.line 398
.line 399
:pswitch_data_1
.packed-switch 0x3e9
:pswitch_8
:pswitch_f
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method public static c(Landroid/media/RouteDiscoveryPreference;)Landroidx/mediarouter/media/MediaRouteDiscoveryRequest;
.locals 5
.line 1
new-instance v0, Ljava/util/ArrayList;
.line 2
.line 3
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 4
.line 5
.line 6
invoke-virtual {p0}, Landroid/media/RouteDiscoveryPreference;->getPreferredFeatures()Ljava/util/List;
.line 7
.line 8
.line 9
move-result-object v1
.line 10
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
.line 11
.line 12
.line 13
move-result-object v1
.line 14
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
.line 15
.line 16
.line 17
move-result v2
.line 18
if-eqz v2, :cond_5
.line 19
.line 20
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
.line 21
.line 22
.line 23
move-result-object v2
.line 24
check-cast v2, Ljava/lang/String;
.line 25
.line 26
invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
.line 27
.line 28
.line 29
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
.line 30
.line 31
.line 32
move-result v3
.line 33
const/4 v4, -0x1
.line 34
sparse-switch v3, :sswitch_data_0
.line 35
.line 36
.line 37
goto :goto_1
.line 38
:sswitch_0
const-string v3, "android.media.route.feature.LIVE_VIDEO"
.line 39
.line 40
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
.line 41
.line 42
.line 43
move-result v3
.line 44
if-nez v3, :cond_0
.line 45
.line 46
goto :goto_1
.line 47
:cond_0
const/4 v4, 0x4
.line 48
goto :goto_1
.line 49
:sswitch_1
const-string v3, "android.media.route.feature.LIVE_AUDIO"
.line 50
.line 51
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
.line 52
.line 53
.line 54
move-result v3
.line 55
if-nez v3, :cond_1
.line 56
.line 57
goto :goto_1
.line 58
:cond_1
const/4 v4, 0x3
.line 59
goto :goto_1
.line 60
:sswitch_2
const-string v3, "android.media.route.feature.REMOTE_PLAYBACK"
.line 61
.line 62
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
.line 63
.line 64
.line 65
move-result v3
.line 66
if-nez v3, :cond_2
.line 67
.line 68
goto :goto_1
.line 69
:cond_2
const/4 v4, 0x2
.line 70
goto :goto_1
.line 71
:sswitch_3
const-string v3, "android.media.route.feature.REMOTE_VIDEO_PLAYBACK"
.line 72
.line 73
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
.line 74
.line 75
.line 76
move-result v3
.line 77
if-nez v3, :cond_3
.line 78
.line 79
goto :goto_1
.line 80
:cond_3
const/4 v4, 0x1
.line 81
goto :goto_1
.line 82
:sswitch_4
const-string v3, "android.media.route.feature.REMOTE_AUDIO_PLAYBACK"
.line 83
.line 84
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
.line 85
.line 86
.line 87
move-result v3
.line 88
if-nez v3, :cond_4
.line 89
.line 90
goto :goto_1
.line 91
:cond_4
const/4 v4, 0x0
.line 92
:goto_1
packed-switch v4, :pswitch_data_0
.line 93
.line 94
.line 95
goto :goto_2
.line 96
:pswitch_0
const-string v2, "android.media.intent.category.LIVE_VIDEO"
.line 97
.line 98
goto :goto_2
.line 99
:pswitch_1
const-string v2, "android.media.intent.category.LIVE_AUDIO"
.line 100
.line 101
goto :goto_2
.line 102
:pswitch_2
const-string v2, "android.media.intent.category.REMOTE_PLAYBACK"
.line 103
.line 104
goto :goto_2
.line 105
:pswitch_3
const-string v2, "android.media.intent.category.REMOTE_VIDEO_PLAYBACK"
.line 106
.line 107
goto :goto_2
.line 108
:pswitch_4
const-string v2, "android.media.intent.category.REMOTE_AUDIO_PLAYBACK"
.line 109
.line 110
:goto_2
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 111
.line 112
.line 113
goto :goto_0
.line 114
:cond_5
new-instance v1, Landroidx/mediarouter/media/MediaRouteSelector$Builder;
.line 115
.line 116
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
.line 117
.line 118
.line 119
invoke-virtual {v1, v0}, Landroidx/mediarouter/media/MediaRouteSelector$Builder;->a(Ljava/util/ArrayList;)V
.line 120
.line 121
.line 122
invoke-virtual {v1}, Landroidx/mediarouter/media/MediaRouteSelector$Builder;->c()Landroidx/mediarouter/media/MediaRouteSelector;
.line 123
.line 124
.line 125
move-result-object v0
.line 126
new-instance v1, Landroidx/mediarouter/media/MediaRouteDiscoveryRequest;
.line 127
.line 128
invoke-virtual {p0}, Landroid/media/RouteDiscoveryPreference;->shouldPerformActiveScan()Z
.line 129
.line 130
.line 131
move-result p0
.line 132
invoke-direct {v1, v0, p0}, Landroidx/mediarouter/media/MediaRouteDiscoveryRequest;-><init>(Landroidx/mediarouter/media/MediaRouteSelector;Z)V
.line 133
.line 134
.line 135
return-object v1
.line 136
nop
.line 137
:sswitch_data_0
.sparse-switch
-0x4c6e9209 -> :sswitch_4
-0x46f4210e -> :sswitch_3
0x5a1e5ce -> :sswitch_2
0x4f366289 -> :sswitch_1
0x5058db2e -> :sswitch_0
.end sparse-switch
.line 138
.line 139
.line 140
.line 141
.line 142
.line 143
.line 144
.line 145
.line 146
.line 147
.line 148
.line 149
.line 150
.line 151
.line 152
.line 153
.line 154
.line 155
.line 156
.line 157
.line 158
.line 159
:pswitch_data_0
.packed-switch 0x0
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method