r$b.smali
.class public final Lcom/tencent/liteav/audio/route/r$b;
.super Lcom/tencent/liteav/audio/route/r$a;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/tencent/liteav/audio/route/r;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "b"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/liteav/audio/route/r$b$a;
}
.end annotation
# instance fields
.field private i:I
# direct methods
.method public constructor <init>(Landroid/media/AudioManager;Landroid/os/Handler;Lcom/tencent/liteav/audio/route/a;)V
.registers 4
.line 212
invoke-direct {p0, p1, p2, p3}, Lcom/tencent/liteav/audio/route/r$a;-><init>(Landroid/media/AudioManager;Landroid/os/Handler;Lcom/tencent/liteav/audio/route/a;)V
.line 208
sget p1, Lcom/tencent/liteav/audio/route/r$b$a;->b:I
iput p1, p0, Lcom/tencent/liteav/audio/route/r$b;->i:I
.line 213
sget-object p1, Lcom/tencent/liteav/audio/route/b$a;->e:Lcom/tencent/liteav/audio/route/b$a;
iput-object p1, p0, Lcom/tencent/liteav/audio/route/r$b;->c:Lcom/tencent/liteav/audio/route/b$a;
return-void
.end method
.method private f()V
.registers 6
const/4 v0, 0x0
new-array v1, v0, [Ljava/lang/Object;
const-string v2, "AudioRouteSwitcher"
const-string v3, "stopBluetoothSco"
.line 313
invoke-static {v2, v3, v1}, Lcom/tencent/liteav/base/Log;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 315
:try_start_a
iget-object v1, p0, Lcom/tencent/liteav/audio/route/r$b;->a:Landroid/media/AudioManager;
invoke-virtual {v1}, Landroid/media/AudioManager;->stopBluetoothSco()V
.line 316
iget-object v1, p0, Lcom/tencent/liteav/audio/route/r$b;->a:Landroid/media/AudioManager;
invoke-virtual {v1, v0}, Landroid/media/AudioManager;->setBluetoothScoOn(Z)V
:try_end_14
.catchall {:try_start_a .. :try_end_14} :catchall_15
return-void
:catchall_15
move-exception v1
.line 318
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "stop bluetooth sco exception "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
new-array v0, v0, [Ljava/lang/Object;
invoke-static {v2, v1, v0}, Lcom/tencent/liteav/base/Log;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public final a(Lcom/tencent/liteav/audio/route/a;)V
.registers 4
.line 219
iget-object v0, p0, Lcom/tencent/liteav/audio/route/r$b;->d:Lcom/tencent/liteav/audio/route/a;
invoke-virtual {v0}, Lcom/tencent/liteav/audio/route/a;->a()Z
move-result v0
invoke-virtual {p1}, Lcom/tencent/liteav/audio/route/a;->a()Z
move-result v1
if-eq v0, v1, :cond_10
const/4 v0, 0x0
.line 220
invoke-virtual {p0, v0}, Lcom/tencent/liteav/audio/route/r$b;->a(Z)V
.line 222
:cond_10
invoke-super {p0, p1}, Lcom/tencent/liteav/audio/route/r$a;->a(Lcom/tencent/liteav/audio/route/a;)V
return-void
.end method
.method public final a(Z)V
.registers 2
if-eqz p1, :cond_5
.line 227
sget p1, Lcom/tencent/liteav/audio/route/r$b$a;->a:I
goto :goto_7
:cond_5
sget p1, Lcom/tencent/liteav/audio/route/r$b$a;->b:I
:goto_7
iput p1, p0, Lcom/tencent/liteav/audio/route/r$b;->i:I
return-void
.end method
.method protected final c()V
.registers 4
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Object;
const-string v1, "AudioRouteSwitcher"
const-string v2, "beforeStop: stop bluetooth SCO"
.line 233
invoke-static {v1, v2, v0}, Lcom/tencent/liteav/base/Log;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 234
invoke-direct {p0}, Lcom/tencent/liteav/audio/route/r$b;->f()V
return-void
.end method
.method protected final e()J
.registers 10
.line 239
iget-object v0, p0, Lcom/tencent/liteav/audio/route/r$b;->d:Lcom/tencent/liteav/audio/route/a;
invoke-virtual {v0}, Lcom/tencent/liteav/audio/route/a;->a()Z
move-result v0
const-wide/16 v1, -0x1
const-string v3, "AudioRouteSwitcher"
const/4 v4, 0x0
if-nez v0, :cond_32
.line 240
new-instance v0, Ljava/lang/StringBuilder;
const-string v5, "BluetoothHeadsetSwitcher stop sco, mCurrentIOScene: "
invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v5, p0, Lcom/tencent/liteav/audio/route/r$b;->d:Lcom/tencent/liteav/audio/route/a;
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v5, ", AudioMode: "
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 242
invoke-virtual {p0}, Lcom/tencent/liteav/audio/route/r$b;->d()I
move-result v5
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-array v4, v4, [Ljava/lang/Object;
.line 240
invoke-static {v3, v0, v4}, Lcom/tencent/liteav/base/Log;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 243
invoke-direct {p0}, Lcom/tencent/liteav/audio/route/r$b;->f()V
return-wide v1
.line 247
:cond_32
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v5, 0x1e
const/4 v6, 0x1
if-le v0, v5, :cond_71
.line 249
invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 248
invoke-static {v0}, Lcom/tencent/liteav/audio/route/s;->a(Landroid/content/Context;)Z
move-result v0
if-nez v0, :cond_71
.line 250
iget v0, p0, Lcom/tencent/liteav/audio/route/r$b;->f:I
if-lez v0, :cond_71
.line 1288
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
.line 1289
invoke-static {}, Lcom/tencent/liteav/base/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const/4 v5, 0x0
new-instance v7, Landroid/content/IntentFilter;
const-string v8, "android.media.ACTION_SCO_AUDIO_STATE_UPDATED"
invoke-direct {v7, v8}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v5, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
move-result-object v0
if-eqz v0, :cond_6a
const-string v5, "android.media.extra.SCO_AUDIO_STATE"
.line 1294
invoke-virtual {v0, v5, v4}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v0
if-ne v0, v6, :cond_6a
move v0, v6
goto :goto_6b
:cond_6a
move v0, v4
:goto_6b
if-eqz v0, :cond_71
.line 252
sget v0, Lcom/tencent/liteav/audio/route/r$b$a;->a:I
iput v0, p0, Lcom/tencent/liteav/audio/route/r$b;->i:I
.line 256
:cond_71
sget-object v0, Lcom/tencent/liteav/audio/route/r$1;->b:[I
iget v5, p0, Lcom/tencent/liteav/audio/route/r$b;->i:I
sub-int/2addr v5, v6
aget v0, v0, v5
if-eq v0, v6, :cond_d1
const/4 v5, 0x2
const-wide/16 v7, 0xfa0
if-eq v0, v5, :cond_8e
const/4 v5, 0x3
if-eq v0, v5, :cond_8e
const/4 v3, 0x4
if-eq v0, v3, :cond_86
return-wide v1
.line 279
:cond_86
invoke-direct {p0}, Lcom/tencent/liteav/audio/route/r$b;->f()V
.line 280
sget v0, Lcom/tencent/liteav/audio/route/r$b$a;->d:I
iput v0, p0, Lcom/tencent/liteav/audio/route/r$b;->i:I
return-wide v7
.line 265
:cond_8e
iget v0, p0, Lcom/tencent/liteav/audio/route/r$b;->f:I
const/4 v5, 0x5
if-le v0, v5, :cond_a2
new-array v0, v4, [Ljava/lang/Object;
const-string v4, "Bluetooth headset connection failed for 3 times, give it up"
.line 268
invoke-static {v3, v4, v0}, Lcom/tencent/liteav/base/Log;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 269
iget-object v0, p0, Lcom/tencent/liteav/audio/route/r$b;->e:Lcom/tencent/liteav/audio/route/r$a$a;
iget-object v3, p0, Lcom/tencent/liteav/audio/route/r$b;->c:Lcom/tencent/liteav/audio/route/b$a;
invoke-interface {v0, v3}, Lcom/tencent/liteav/audio/route/r$a$a;->b(Lcom/tencent/liteav/audio/route/b$a;)V
return-wide v1
:cond_a2
new-array v0, v4, [Ljava/lang/Object;
const-string v1, "BluetoothHeadsetSwitcher start bluetooth SCO mode"
.line 1303
invoke-static {v3, v1, v0}, Lcom/tencent/liteav/base/Log;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 1305
:try_start_a9
iget-object v0, p0, Lcom/tencent/liteav/audio/route/r$b;->a:Landroid/media/AudioManager;
invoke-virtual {v0, v6}, Landroid/media/AudioManager;->setBluetoothScoOn(Z)V
.line 1306
iget-object v0, p0, Lcom/tencent/liteav/audio/route/r$b;->a:Landroid/media/AudioManager;
invoke-virtual {v0}, Landroid/media/AudioManager;->startBluetoothSco()V
:try_end_b3
.catchall {:try_start_a9 .. :try_end_b3} :catchall_b4
goto :goto_cc
:catchall_b4
move-exception v0
.line 1308
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "start bluetooth sco exception "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-array v1, v4, [Ljava/lang/Object;
invoke-static {v3, v0, v1}, Lcom/tencent/liteav/base/Log;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 274
:goto_cc
sget v0, Lcom/tencent/liteav/audio/route/r$b$a;->c:I
iput v0, p0, Lcom/tencent/liteav/audio/route/r$b;->i:I
return-wide v7
.line 259
:cond_d1
new-instance v0, Ljava/lang/StringBuilder;
const-string v5, "Bluetooth Headset is connected, isBluetoothScoOn:"
invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v5, p0, Lcom/tencent/liteav/audio/route/r$b;->a:Landroid/media/AudioManager;
.line 261
invoke-virtual {v5}, Landroid/media/AudioManager;->isBluetoothScoOn()Z
move-result v5
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-array v4, v4, [Ljava/lang/Object;
.line 259
invoke-static {v3, v0, v4}, Lcom/tencent/liteav/base/Log;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
return-wide v1
.end method