VoIPBaseService$2.smali

.class Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;
.super Landroid/content/BroadcastReceiver;
.source "VoIPBaseService.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lim/tpelyyftgw/messenger/voip/VoIPBaseService;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation


# instance fields
.field final synthetic this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method constructor <init>(Lim/tpelyyftgw/messenger/voip/VoIPBaseService;)V
    .registers 2
    .param p1, "this$0"    # Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    .line 167
    iput-object p1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V

    return-void
.end method


# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
    .registers 9
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "intent"    # Landroid/content/Intent;

    .line 170
    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    const-string v1, "android.intent.action.HEADSET_PLUG"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    const-string/jumbo v1, "state"

    const/4 v2, 0x1

    const/4 v3, 0x0

    if-eqz v0, :cond_45

    .line 171
    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    invoke-virtual {p2, v1, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v1

    if-ne v1, v2, :cond_1a

    goto :goto_1b

    :cond_1a
    const/4 v2, 0x0

    :goto_1b
    iput-boolean v2, v0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->isHeadsetPlugged:Z

    .line 172
    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-boolean v0, v0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->isHeadsetPlugged:Z

    if-eqz v0, :cond_3a

    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-object v0, v0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->proximityWakelock:Landroid/os/PowerManager$WakeLock;

    if-eqz v0, :cond_3a

    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-object v0, v0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->proximityWakelock:Landroid/os/PowerManager$WakeLock;

    invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->isHeld()Z

    move-result v0

    if-eqz v0, :cond_3a

    .line 173
    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-object v0, v0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->proximityWakelock:Landroid/os/PowerManager$WakeLock;

    invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->release()V

    .line 175
    :cond_3a
    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iput-boolean v3, v0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->isProximityNear:Z

    .line 176
    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->updateOutputGainControlState()V

    goto/16 :goto_13f

    .line 177
    :cond_45
    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    const-string v4, "android.net.conn.CONNECTIVITY_CHANGE"

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_58

    .line 178
    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->updateNetworkType()V

    goto/16 :goto_13f

    .line 179
    :cond_58
    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    const-string v4, "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED"

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    const/4 v4, 0x2

    if-eqz v0, :cond_92

    .line 180
    sget-boolean v0, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z

    const-string v1, "android.bluetooth.profile.extra.STATE"

    if-eqz v0, :cond_83

    .line 181
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "bt headset state = "

    invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2, v1, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)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

    invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V

    .line 182
    :cond_83
    iget-object v0, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    invoke-virtual {p2, v1, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v1

    if-ne v1, v4, :cond_8c

    goto :goto_8d

    :cond_8c
    const/4 v2, 0x0

    :goto_8d
    invoke-virtual {v0, v2}, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->updateBluetoothHeadsetState(Z)V

    goto/16 :goto_13f

    .line 183
    :cond_92
    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    const-string v5, "android.media.ACTION_SCO_AUDIO_STATE_UPDATED"

    invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_120

    .line 184
    const-string v0, "android.media.extra.SCO_AUDIO_STATE"

    invoke-virtual {p2, v0, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v0

    .line 185
    .local v0, "state":I
    sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z

    if-eqz v1, :cond_bc

    .line 186
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "Bluetooth SCO state updated: "

    invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V

    .line 187
    :cond_bc
    if-nez v0, :cond_de

    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-boolean v1, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->isBtHeadsetConnected:Z

    if-eqz v1, :cond_de

    .line 188
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-object v1, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->btAdapter:Landroid/bluetooth/BluetoothAdapter;

    invoke-virtual {v1}, Landroid/bluetooth/BluetoothAdapter;->isEnabled()Z

    move-result v1

    if-eqz v1, :cond_d8

    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-object v1, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->btAdapter:Landroid/bluetooth/BluetoothAdapter;

    invoke-virtual {v1, v2}, Landroid/bluetooth/BluetoothAdapter;->getProfileConnectionState(I)I

    move-result v1

    if-eq v1, v4, :cond_de

    .line 189
    :cond_d8
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    invoke-virtual {v1, v3}, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->updateBluetoothHeadsetState(Z)V

    .line 190
    return-void

    .line 193
    :cond_de
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    if-ne v0, v2, :cond_e4

    const/4 v4, 0x1

    goto :goto_e5

    :cond_e4
    const/4 v4, 0x0

    :goto_e5
    iput-boolean v4, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->bluetoothScoActive:Z

    .line 194
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-boolean v1, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->bluetoothScoActive:Z

    if-eqz v1, :cond_107

    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-boolean v1, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->needSwitchToBluetoothAfterScoActivates:Z

    if-eqz v1, :cond_107

    .line 195
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iput-boolean v3, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->needSwitchToBluetoothAfterScoActivates:Z

    .line 196
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    const-string v4, "audio"

    invoke-virtual {v1, v4}, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/media/AudioManager;

    .line 197
    .local v1, "am":Landroid/media/AudioManager;
    invoke-virtual {v1, v3}, Landroid/media/AudioManager;->setSpeakerphoneOn(Z)V

    .line 198
    invoke-virtual {v1, v2}, Landroid/media/AudioManager;->setBluetoothScoOn(Z)V

    .line 200
    .end local v1    # "am":Landroid/media/AudioManager;
    :cond_107
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    iget-object v1, v1, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->stateListeners:Ljava/util/ArrayList;

    invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_10f
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_11f

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$StateListener;

    .line 201
    .local v2, "l":Lim/tpelyyftgw/messenger/voip/VoIPBaseService$StateListener;
    invoke-interface {v2}, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$StateListener;->onAudioSettingsChanged()V

    .end local v2    # "l":Lim/tpelyyftgw/messenger/voip/VoIPBaseService$StateListener;
    goto :goto_10f

    .line 200
    .end local v0    # "state":I
    :cond_11f
    goto :goto_13e

    .line 202
    :cond_120
    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    const-string v2, "android.intent.action.PHONE_STATE"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_13e

    .line 203
    invoke-virtual {p2, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 204
    .local v0, "state":Ljava/lang/String;
    sget-object v1, Landroid/telephony/TelephonyManager;->EXTRA_STATE_OFFHOOK:Ljava/lang/String;

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_13f

    .line 205
    iget-object v1, p0, Lim/tpelyyftgw/messenger/voip/VoIPBaseService$2;->this$0:Lim/tpelyyftgw/messenger/voip/VoIPBaseService;

    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/voip/VoIPBaseService;->hangUp()V

    goto :goto_13f

    .line 202
    .end local v0    # "state":Ljava/lang/String;
    :cond_13e
    :goto_13e
    nop

    .line 208
    :cond_13f
    :goto_13f
    return-void
.end method