1539 lines
42 KiB
Smali
1539 lines
42 KiB
Smali
#
|
|
# Copyright (C) 2006 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
.class public Lcom/android/internal/telephony/dataconnection/DataConnection;
|
|
.super Lcom/android/internal/util/StateMachine;
|
|
.source "DataConnection.java"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;,
|
|
Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;,
|
|
Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;,
|
|
Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field static final BASE:I = 0x40000
|
|
|
|
.field private static final CMD_TO_STRING_COUNT:B = 0x18
|
|
|
|
.field private static final DBG:Z = true
|
|
|
|
.field static final EVENT_BW_REFRESH_RESPONSE:S = 0x4000e
|
|
|
|
.field static final EVENT_CONNECT:I = 0x40000
|
|
|
|
.field static final EVENT_DATA_CONNECTION_DRS_OR_RAT_CHANGED:I = 0x4000b
|
|
|
|
.field static final EVENT_DATA_CONNECTION_VOICE_CALL_STARTED:I = 0x4000f
|
|
|
|
.field static final EVENT_DEACTIVATE_DONE:I = 0x40003
|
|
|
|
.field static final EVENT_DISCONNECT:F = 636.6886188221E12
|
|
|
|
.field static final EVENT_DISCONNECT_ALL:D = 98.58E-23D
|
|
|
|
.field static final EVENT_KEEPALIVE_STARTED:D = -Infinity
|
|
|
|
.field static final EVENT_KEEPALIVE_START_REQUEST:F = NaN
|
|
|
|
.field static final EVENT_KEEPALIVE_STATUS:I = 0x40012
|
|
|
|
.field static final EVENT_LOST_CONNECTION:J = 0x40009EEF
|
|
|
|
.field static final EVENT_RIL_CONNECTED:I = 0x40005
|
|
|
|
.field static final EVENT_SETUP_DATA_CONNECTION_DONE:I = 0x40001
|
|
|
|
.field static final EVENT_TEAR_DOWN_NOW:C = '\n'
|
|
|
|
.field private static final NETWORK_TYPE:Ljava/lang/String; = "MOBILE"
|
|
|
|
.field private static final NULL_IP:Ljava/lang/String; = "0.0.0.0"
|
|
|
|
.field private static final TCP_BUFFER_SIZES_1XRTT:Ljava/lang/String; = "16384,32768,131072,4096,16384,102400"
|
|
|
|
.field private static final TCP_BUFFER_SIZES_EDGE:Ljava/lang/String; = "4093,26280,70800,4096,16384,70800"
|
|
|
|
.field private static final TCP_BUFFER_SIZES_UMTS:Ljava/lang/String; = "58254,349525,1048576,58254,349525,1048576"
|
|
|
|
.field private static final VDBG:Z = false
|
|
|
|
.field private static mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
.field private static sCmdToString:[Ljava/lang/String;
|
|
|
|
|
|
# instance fields
|
|
.field private mAc:Lcom/android/internal/util/AsyncChannel;
|
|
|
|
.field private mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
|
|
|
|
.field private mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
|
|
|
|
.field public mApnContexts:Ljava/util/HashMap;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/HashMap<",
|
|
"Lcom/android/internal/telephony/dataconnection/ApnContext;",
|
|
"Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
.field public mCid:I
|
|
|
|
.field private mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
|
|
|
|
.field private mCreateTime:J
|
|
|
|
.field private mDataRegState:I
|
|
|
|
.field private mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
|
|
|
|
.field private mDcController:Lcom/android/internal/telephony/dataconnection/DcController;
|
|
|
|
.field private mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
|
|
|
|
.field private mId:I
|
|
|
|
.field private mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
|
|
|
|
.field private mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
|
|
|
|
.field private mLastFailTime:J
|
|
|
|
.field private mLinkProperties:Landroid/net/LinkProperties;
|
|
|
|
.field private mNetCapsLocalLog:Landroid/util/LocalLog;
|
|
|
|
.field private mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
|
|
|
|
.field private mNetworkInfo:Landroid/net/NetworkInfo;
|
|
|
|
.field protected mPcscfAddr:[Ljava/lang/String;
|
|
|
|
.field private mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
.field mReconnectIntent:Landroid/app/PendingIntent;
|
|
|
|
.field private mRestrictedNetworkOverride:Z
|
|
|
|
.field private mRilRat:I
|
|
|
|
.field private mSubscriptionOverride:I
|
|
|
|
.field mTag:I
|
|
|
|
.field private mUserData:Ljava/lang/Object;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.registers 3
|
|
|
|
.line 109
|
|
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
|
|
|
|
sput-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
.line 227
|
|
const/16 v0, 0x18
|
|
|
|
new-array v0, v0, [Ljava/lang/String;
|
|
|
|
sput-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
|
|
|
|
.line 229
|
|
sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
|
|
|
|
const-string v2, "EVENT_CONNECT"
|
|
|
|
aput-object v2, v0, v1
|
|
|
|
.line 255
|
|
sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
|
|
|
|
const-string v1, "EVENT_LINK_CAPACITY_CHANGED"
|
|
|
|
const/16 v2, 0x17
|
|
|
|
aput-object v1, v0, v2
|
|
|
|
.line 256
|
|
return-void
|
|
.end method
|
|
|
|
.method private constructor <init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)V
|
|
.registers 10
|
|
|
|
.line 466
|
|
invoke-virtual {p7}, Lcom/android/internal/telephony/dataconnection/DcController;->getHandler()Landroid/os/Handler;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p0, p2, v0}, Lcom/android/internal/util/StateMachine;-><init>(Ljava/lang/String;Landroid/os/Handler;)V
|
|
|
|
.line 113
|
|
const/4 p2, 0x0
|
|
|
|
iput-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
|
|
|
|
.line 180
|
|
new-instance v0, Landroid/net/LinkProperties;
|
|
|
|
invoke-direct {v0}, Landroid/net/LinkProperties;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
|
|
|
|
.line 187
|
|
const v0, 0x7fffffff
|
|
|
|
iput v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
|
|
|
|
.line 188
|
|
iput v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
|
|
|
|
.line 191
|
|
new-instance v0, Landroid/util/LocalLog;
|
|
|
|
const/16 v1, 0x32
|
|
|
|
invoke-direct {v0, v1}, Landroid/util/LocalLog;-><init>(I)V
|
|
|
|
iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog;
|
|
|
|
.line 195
|
|
iput-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
|
|
|
|
.line 196
|
|
iput-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mReconnectIntent:Landroid/app/PendingIntent;
|
|
|
|
.line 909
|
|
const/4 v0, 0x0
|
|
|
|
iput-boolean v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
|
|
|
|
.line 1440
|
|
new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
|
|
|
|
invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;-><init>(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V
|
|
|
|
iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
|
|
|
|
.line 467
|
|
const/16 p2, 0x12c
|
|
|
|
invoke-virtual {p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setLogRecSize(I)V
|
|
|
|
.line 468
|
|
const/4 p2, 0x1
|
|
|
|
invoke-virtual {p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setLogOnlyTransitions(Z)V
|
|
|
|
.line 469
|
|
const-string v1, "DataConnection created"
|
|
|
|
invoke-virtual {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 471
|
|
iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
.line 476
|
|
iput p3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mId:I
|
|
|
|
.line 477
|
|
const/4 p1, -0x1
|
|
|
|
iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
|
|
|
|
.line 478
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
invoke-virtual {p1}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
|
|
|
|
move-result-object p1
|
|
|
|
.line 479
|
|
invoke-virtual {p1}, Landroid/telephony/ServiceState;->getRilDataRadioTechnology()I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
|
|
|
|
.line 480
|
|
iget-object p3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
invoke-virtual {p3}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p3}, Landroid/telephony/ServiceState;->getDataRegState()I
|
|
|
|
move-result p3
|
|
|
|
iput p3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
|
|
|
|
.line 481
|
|
invoke-virtual {p1}, Landroid/telephony/ServiceState;->getDataNetworkType()I
|
|
|
|
move-result p3
|
|
|
|
.line 482
|
|
new-instance p4, Landroid/net/NetworkInfo;
|
|
|
|
const-string p5, "MOBILE"
|
|
|
|
.line 483
|
|
invoke-static {p3}, Landroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String;
|
|
|
|
move-result-object p6
|
|
|
|
invoke-direct {p4, v0, p3, p5, p6}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
|
|
|
|
iput-object p4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
|
|
|
|
.line 484
|
|
iget-object p3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
|
|
|
|
invoke-virtual {p1}, Landroid/telephony/ServiceState;->getDataRoaming()Z
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {p3, p1}, Landroid/net/NetworkInfo;->setRoaming(Z)V
|
|
|
|
.line 485
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
|
|
|
|
invoke-virtual {p1, p2}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
|
|
|
|
.line 487
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;)V
|
|
|
|
.line 493
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setInitialState(Lcom/android/internal/util/State;)V
|
|
|
|
.line 495
|
|
new-instance p1, Ljava/util/HashMap;
|
|
|
|
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
|
|
|
|
iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
|
|
|
|
.line 496
|
|
return-void
|
|
.end method
|
|
|
|
.method static synthetic access$000(Landroid/os/Message;)Ljava/lang/String;
|
|
.registers 1
|
|
|
|
.line 97
|
|
invoke-static {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->msgToString(Landroid/os/Message;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method static synthetic access$902(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/Object;)Ljava/lang/Object;
|
|
.registers 2
|
|
|
|
.line 97
|
|
iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mUserData:Ljava/lang/Object;
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method private checkSetMtu(Lcom/android/internal/telephony/dataconnection/ApnSetting;Landroid/net/LinkProperties;)V
|
|
.registers 4
|
|
|
|
.local v0, getMtu:Landroid/net/LinkProperties;
|
|
|
|
.line 438
|
|
if-nez p2, :cond_3
|
|
|
|
return-void
|
|
|
|
.line 440
|
|
:cond_3
|
|
if-eqz p1, :cond_74
|
|
|
|
if-nez p2, :cond_8
|
|
|
|
goto :goto_74
|
|
|
|
.line 442
|
|
:cond_8
|
|
invoke-virtual {p2}, Landroid/net/LinkProperties;->getMtu()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_27
|
|
|
|
.restart local v0 # getMtu:Landroid/net/LinkProperties;
|
|
|
|
.line 443
|
|
new-instance p1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
.end local v0 # getMtu:Landroid/net/LinkProperties;
|
|
|
|
const-string v0, "MTU set by call response to: "
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2}, Landroid/net/LinkProperties;->getMtu()I
|
|
|
|
invoke-static {v3, v4}, Ljava/lang/String;->format([Ljava/lang/String;[[Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {p0, v3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(I[[D[Ljava/lang/String;)V
|
|
|
|
invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
|
|
|
|
.line 444
|
|
return-void
|
|
|
|
.line 447
|
|
:cond_27
|
|
if-eqz p1, :cond_49
|
|
|
|
iget v0, p1, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mtu:I
|
|
|
|
if-eqz v0, :cond_49
|
|
|
|
.line 448
|
|
iget v0, p1, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mtu:I
|
|
|
|
invoke-virtual {p2, v0}, Landroid/net/LinkProperties;->setMtu(I)V
|
|
|
|
.line 449
|
|
new-instance p2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v0, "MTU set by APN to: "
|
|
|
|
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget p1, p1, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mtu:I
|
|
|
|
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 450
|
|
return-void
|
|
|
|
.line 453
|
|
:cond_49
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
invoke-virtual {p1}, Lcom/android/internal/telephony/Phone;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
|
|
|
|
move-result-object p1
|
|
|
|
const v0, 0x10e0066
|
|
|
|
invoke-virtual {p1, v0}, Landroid/content/res/Resources;->getInteger(I)I
|
|
|
|
move-result p1
|
|
|
|
.line 455
|
|
if-eqz p1, :cond_73
|
|
|
|
.line 456
|
|
invoke-virtual {p2, p1}, Landroid/net/LinkProperties;->setMtu(I)V
|
|
|
|
.line 457
|
|
new-instance p2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v0, "MTU set by config resource to: "
|
|
|
|
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 459
|
|
:cond_73
|
|
return-void
|
|
|
|
.line 440
|
|
:cond_74
|
|
:goto_74
|
|
return-void
|
|
.end method
|
|
|
|
.method private clearSettings()V
|
|
.registers 3
|
|
|
|
.line 723
|
|
const-string v0, "clearSettings"
|
|
|
|
invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 725
|
|
const-wide/16 v0, -0x1
|
|
|
|
iput-wide v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
|
|
|
|
.line 726
|
|
iput-wide v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
|
|
|
|
.line 727
|
|
sget-object v0, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
|
|
|
|
iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
|
|
|
|
.line 728
|
|
const/4 v0, -0x1
|
|
|
|
iput v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
|
|
|
|
.line 730
|
|
const/4 v0, 0x5
|
|
|
|
new-array v0, v0, [Ljava/lang/String;
|
|
|
|
iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPcscfAddr:[Ljava/lang/String;
|
|
|
|
.line 732
|
|
new-instance v0, Landroid/net/LinkProperties;
|
|
|
|
invoke-direct {v0}, Landroid/net/LinkProperties;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
|
|
|
|
.line 733
|
|
iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
|
|
|
|
invoke-virtual {v0}, Ljava/util/HashMap;->clear()V
|
|
|
|
.line 734
|
|
const/4 v0, 0x0
|
|
|
|
iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
.line 736
|
|
return-void
|
|
.end method
|
|
|
|
.method static cmdToString(I)Ljava/lang/String;
|
|
.registers 4
|
|
|
|
.param p0, cmd
|
|
|
|
.prologue
|
|
|
|
.line 260
|
|
const/high16 v0, 0x40000
|
|
|
|
sub-int/2addr p0, v0
|
|
|
|
.line 261
|
|
if-ltz p0, :cond_f
|
|
|
|
sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
|
|
|
|
array-length v1, v1
|
|
|
|
if-ge p0, v1, :cond_f
|
|
|
|
.line 262
|
|
sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
|
|
|
|
aget-object v1, v1, p0
|
|
|
|
goto :goto_15
|
|
|
|
.line 264
|
|
:cond_f
|
|
add-int v1, p0, v0
|
|
|
|
invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;->cmdToString(I)Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
.line 266
|
|
:goto_15
|
|
if-nez v1, :cond_2d
|
|
|
|
.line 267
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v2, "0x"
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
add-int/2addr p0, v0
|
|
|
|
invoke-static {p0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
.line 269
|
|
:cond_2d
|
|
return-object v1
|
|
.end method
|
|
|
|
.method private dumpToLog()V
|
|
.registers 4
|
|
|
|
.line 2489
|
|
new-instance v0, Lcom/android/internal/telephony/dataconnection/DataConnection$1;
|
|
|
|
new-instance v1, Ljava/io/StringWriter;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
invoke-direct {v1, v2}, Ljava/io/StringWriter;-><init>(I)V
|
|
|
|
invoke-direct {v0, p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$1;-><init>(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/io/Writer;)V
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {p0, v1, v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
|
|
|
|
.line 2499
|
|
return-void
|
|
.end method
|
|
|
|
.method private getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J
|
|
.registers 4
|
|
|
|
.line 2331
|
|
invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getSuggestedRetryTime()I
|
|
|
|
move-result v0
|
|
|
|
if-gez v0, :cond_e
|
|
|
|
.line 2332
|
|
const-string p1, "No suggested retry delay."
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 2333
|
|
const-wide/16 v0, -0x2
|
|
|
|
return-wide v0
|
|
|
|
.line 2336
|
|
:cond_e
|
|
invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getSuggestedRetryTime()I
|
|
|
|
move-result v0
|
|
|
|
const v1, 0x7fffffff
|
|
|
|
if-ne v0, v1, :cond_1f
|
|
|
|
.line 2337
|
|
const-string p1, "Modem suggested not retrying."
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 2338
|
|
const-wide/16 v0, -0x1
|
|
|
|
return-wide v0
|
|
|
|
.line 2343
|
|
:cond_1f
|
|
invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getSuggestedRetryTime()I
|
|
|
|
move-result p1
|
|
|
|
int-to-long v0, p1
|
|
|
|
return-wide v0
|
|
.end method
|
|
|
|
.method private initConnection(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z
|
|
.registers 6
|
|
|
|
.line 1168
|
|
iget-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
|
|
|
|
.line 1169
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
if-nez v1, :cond_c
|
|
|
|
.line 1174
|
|
:cond_c
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
if-eqz v1, :cond_5f
|
|
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/ApnContext;->getApnType()Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v1, v2}, Lcom/android/internal/telephony/dataconnection/ApnSetting;->canHandleType(Ljava/lang/String;)Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1d
|
|
|
|
goto :goto_5f
|
|
|
|
.line 1181
|
|
:cond_1d
|
|
iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
|
|
|
|
const/4 v2, 0x1
|
|
|
|
add-int/2addr v1, v2
|
|
|
|
iput v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
|
|
|
|
.line 1182
|
|
iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
|
|
|
|
.line 1183
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
|
|
|
|
iget v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
|
|
|
|
iput v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I
|
|
|
|
.line 1187
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
|
|
|
|
invoke-virtual {v1, v0, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 1190
|
|
new-instance p1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v0, "initConnection: RefCount="
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
|
|
|
|
.line 1191
|
|
invoke-virtual {v0}, Ljava/util/HashMap;->size()I
|
|
|
|
move-result v0
|
|
|
|
const-string v0, " mConnectionParams="
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
.line 1190
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 1195
|
|
return v2
|
|
|
|
.line 1176
|
|
:cond_5f
|
|
:goto_5f
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "initConnection: incompatible apnSetting in ConnectionParams cp="
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, " dc="
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 1179
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method private isDnsOk([Ljava/lang/String;)Z
|
|
.registers 6
|
|
|
|
.line 780
|
|
const-string v0, "0.0.0.0"
|
|
|
|
const/4 v1, 0x0
|
|
|
|
aget-object v2, p1, v1
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-eqz v0, :cond_65
|
|
|
|
const-string v0, "0.0.0.0"
|
|
|
|
aget-object p1, p1, v2
|
|
|
|
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_65
|
|
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
.line 781
|
|
invoke-virtual {p1}, Lcom/android/internal/telephony/Phone;->isDnsCheckDisabled()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_65
|
|
|
|
.line 787
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
iget-object p1, p1, Lcom/android/internal/telephony/dataconnection/ApnSetting;->types:[Ljava/lang/String;
|
|
|
|
aget-object p1, p1, v1
|
|
|
|
const-string v0, "mms"
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_36
|
|
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
iget-object p1, p1, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String;
|
|
|
|
.line 788
|
|
invoke-static {p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->isIpAddress(Ljava/lang/String;)Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_65
|
|
|
|
.line 789
|
|
:cond_36
|
|
const-string p1, "isDnsOk: return false apn.types[0]=%s APN_TYPE_MMS=%s isIpAddress(%s)=%s"
|
|
|
|
const/4 v0, 0x4
|
|
|
|
new-array v0, v0, [Ljava/lang/Object;
|
|
|
|
iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->types:[Ljava/lang/String;
|
|
|
|
aget-object v3, v3, v1
|
|
|
|
aput-object v3, v0, v1
|
|
|
|
const-string v3, "mms"
|
|
|
|
aput-object v3, v0, v2
|
|
|
|
const/4 v2, 0x2
|
|
|
|
.line 792
|
|
invoke-static {v3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->isIpAddress(Ljava/lang/String;)Z
|
|
|
|
move-result v3
|
|
|
|
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
|
|
|
|
move-result-object v3
|
|
|
|
aput-object v3, v0, v2
|
|
|
|
.line 789
|
|
invoke-static {p1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 793
|
|
return v1
|
|
|
|
.line 796
|
|
:cond_65
|
|
return v2
|
|
.end method
|
|
|
|
.method private setNetworkRestriction()V
|
|
.registers 5
|
|
|
|
.line 914
|
|
const/4 v0, 0x0
|
|
|
|
iput-boolean v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
|
|
|
|
.line 916
|
|
nop
|
|
|
|
.line 917
|
|
iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
|
|
|
|
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
|
|
|
|
move-result-object v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
move v2, v1
|
|
|
|
:goto_10
|
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_22
|
|
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
move-result-object v3
|
|
|
|
check-cast v3, Lcom/android/internal/telephony/dataconnection/ApnContext;
|
|
|
|
.line 918
|
|
invoke-virtual {v3, v1}, Lcom/android/internal/telephony/dataconnection/ApnContext;->hasNoRestrictedRequests(Z)Z
|
|
|
|
move-result v3
|
|
|
|
and-int/2addr v2, v3
|
|
|
|
.line 919
|
|
goto :goto_10
|
|
|
|
.line 920
|
|
:cond_22
|
|
if-eqz v2, :cond_25
|
|
|
|
.line 921
|
|
return-void
|
|
|
|
.line 926
|
|
:cond_25
|
|
iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
invoke-virtual {v0, v2}, Lcom/android/internal/telephony/dataconnection/ApnSetting;->isMetered(Lcom/android/internal/telephony/Phone;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_30
|
|
|
|
.line 927
|
|
return-void
|
|
|
|
.line 931
|
|
:cond_30
|
|
iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:LDataconnection/DcTracker;
|
|
|
|
invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/DcTracker;->isDataEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
xor-int/2addr v0, v1
|
|
|
|
iput-boolean v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
|
|
|
|
.line 932
|
|
return-void
|
|
.end method
|
|
|
|
.method static slog(LData/String;)V
|
|
.registers 2
|
|
|
|
.line 2396
|
|
const-string v0, "DC"
|
|
|
|
invoke-static {v0, p0}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 2397
|
|
return-void
|
|
.end method
|
|
|
|
.method private updateTcpBufferSizes(I)V
|
|
.registers 10
|
|
|
|
.line 812
|
|
nop
|
|
|
|
.line 813
|
|
const/16 v0, 0x13
|
|
|
|
if-ne p1, v0, :cond_7
|
|
|
|
.line 816
|
|
const/16 p1, 0xe
|
|
|
|
.line 818
|
|
:cond_7
|
|
invoke-static {p1}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
sget-object v2, Ljava/util/Locale;->ROOT:Ljava/util/Locale;
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
.line 821
|
|
const/4 v2, 0x7
|
|
|
|
if-eq p1, v2, :cond_1c
|
|
|
|
const/16 v2, 0x8
|
|
|
|
if-eq p1, v2, :cond_1c
|
|
|
|
const/16 v2, 0xc
|
|
|
|
if-ne p1, v2, :cond_1e
|
|
|
|
.line 824
|
|
:cond_1c
|
|
const-string v1, "evdo"
|
|
|
|
.line 828
|
|
:cond_1e
|
|
iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
invoke-virtual {v2}, Lcom/android/internal/telephony/Phone;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
|
|
|
|
move-result-object v2
|
|
|
|
const v3, 0x1070039
|
|
|
|
invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
.line 830
|
|
const/4 v3, 0x0
|
|
|
|
move v4, v3
|
|
|
|
:goto_31
|
|
array-length v5, v2
|
|
|
|
if-ge v4, v5, :cond_4f
|
|
|
|
.line 831
|
|
aget-object v5, v2, v4
|
|
|
|
const-string v6, ":"
|
|
|
|
invoke-virtual {v5, v6}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
|
|
|
|
move-result-object v5
|
|
|
|
.line 832
|
|
aget-object v6, v5, v3
|
|
|
|
invoke-virtual {v1, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v6
|
|
|
|
if-eqz v6, :cond_4c
|
|
|
|
array-length v6, v5
|
|
|
|
const/4 v7, 0x2
|
|
|
|
if-ne v6, v7, :cond_4c
|
|
|
|
.line 833
|
|
const/4 v1, 0x1
|
|
|
|
aget-object v1, v5, v1
|
|
|
|
.line 834
|
|
goto :goto_50
|
|
|
|
.line 830
|
|
:cond_4c
|
|
add-int/lit8 v4, v4, 0x1
|
|
|
|
goto :goto_31
|
|
|
|
.line 838
|
|
:cond_4f
|
|
const/4 v1, 0x0
|
|
|
|
:goto_50
|
|
if-nez v1, :cond_79
|
|
|
|
.line 842
|
|
if-eq p1, v0, :cond_76
|
|
|
|
packed-switch p1, :pswitch_data_80
|
|
|
|
packed-switch p1, :pswitch_data_8a
|
|
|
|
goto :goto_79
|
|
|
|
.line 875
|
|
:pswitch_5b
|
|
const-string v1, "122334,734003,2202010,32040,192239,576717"
|
|
|
|
.line 845
|
|
goto :goto_79
|
|
|
|
.line 872
|
|
:cond_76
|
|
:pswitch_76
|
|
const-string v1, "524288,1048576,2097152,262144,524288,1048576"
|
|
|
|
.line 873
|
|
nop
|
|
|
|
.line 882
|
|
:cond_79
|
|
:goto_79
|
|
iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
|
|
|
|
invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->setTcpBufferSizes(Ljava/lang/String;)V
|
|
|
|
.line 883
|
|
return-void
|
|
|
|
nop
|
|
|
|
:pswitch_data_80
|
|
.packed-switch 0x1
|
|
:pswitch_73
|
|
:pswitch_70
|
|
:pswitch_6d
|
|
.end packed-switch
|
|
|
|
:pswitch_data_8a
|
|
.packed-switch 0x6
|
|
:pswitch_6a
|
|
:pswitch_67
|
|
:pswitch_67
|
|
:pswitch_64
|
|
:pswitch_61
|
|
:pswitch_61
|
|
:pswitch_67
|
|
:pswitch_5e
|
|
:pswitch_76
|
|
:pswitch_5b
|
|
.end packed-switch
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method dispose()V
|
|
.registers 2
|
|
|
|
.line 292
|
|
const-string v0, "dispose: call quiteNow()"
|
|
|
|
invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
|
|
|
|
.line 293
|
|
invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->quitNow()V
|
|
|
|
.line 294
|
|
return-void
|
|
.end method
|
|
|
|
.method public dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
|
|
.registers 7
|
|
|
|
.line 2510
|
|
new-instance v0, Lcom/android/internal/util/IndentingPrintWriter;
|
|
|
|
const-string v1, " "
|
|
|
|
invoke-direct {v0, p2, v1}, Lcom/android/internal/util/IndentingPrintWriter;-><init>(Ljava/io/Writer;Ljava/lang/String;)V
|
|
|
|
.line 2543
|
|
invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V
|
|
|
|
.line 2544
|
|
return-void
|
|
.end method
|
|
|
|
.method public getDataConnectionId()I
|
|
.registers 2
|
|
|
|
.line 710
|
|
iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mId:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method getNetworkCapabilities()Landroid/net/NetworkCapabilities;
|
|
.registers 16
|
|
|
|
.line 935
|
|
new-instance v0, Landroid/net/NetworkCapabilities;
|
|
|
|
invoke-direct {v0}, Landroid/net/NetworkCapabilities;-><init>()V
|
|
|
|
.line 936
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addTransportType(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 938
|
|
iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
const/16 v3, 0xb
|
|
|
|
const/4 v4, 0x2
|
|
|
|
const/4 v5, 0x1
|
|
|
|
:sswitch_b7
|
|
const-string v10, "*"
|
|
|
|
invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v8
|
|
|
|
if-eqz v8, :cond_c1
|
|
|
|
move v8, v1
|
|
|
|
goto :goto_c2
|
|
|
|
:cond_c1
|
|
:goto_c1
|
|
move v8, v9
|
|
|
|
:goto_c2
|
|
const/16 v9, 0xc
|
|
|
|
packed-switch v8, :pswitch_data_1f6
|
|
|
|
goto :goto_107
|
|
|
|
.line 964
|
|
goto :goto_107
|
|
|
|
.line 959
|
|
:pswitch_ea
|
|
invoke-virtual {v0, v9}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 960
|
|
goto :goto_107
|
|
|
|
.line 948
|
|
:pswitch_ee
|
|
invoke-virtual {v0, v9}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 956
|
|
nop
|
|
|
|
.line 939
|
|
:goto_107
|
|
add-int/lit8 v7, v7, 0x1
|
|
|
|
goto/16 :goto_17
|
|
|
|
.line 1001
|
|
:cond_10b
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
|
|
|
|
if-eqz v1, :cond_119
|
|
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
|
|
|
|
iget-boolean v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mUnmeteredUseOnly:Z
|
|
|
|
if-eqz v1, :cond_119
|
|
|
|
iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
|
|
|
|
if-eqz v1, :cond_123
|
|
|
|
:cond_119
|
|
iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
|
|
|
|
iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
.line 1003
|
|
invoke-virtual {v1, v2}, Lcom/android/internal/telephony/dataconnection/ApnSetting;->isMetered(Lcom/android/internal/telephony/Phone;)Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_127
|
|
|
|
.line 1004
|
|
:cond_123
|
|
invoke-virtual {v0, v3}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
goto :goto_12a
|
|
|
|
.line 1006
|
|
:cond_127
|
|
invoke-virtual {v0, v3}, Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1009
|
|
:goto_12a
|
|
invoke-virtual {v0}, Landroid/net/NetworkCapabilities;->maybeMarkCapabilitiesRestricted()V
|
|
|
|
.line 1011
|
|
:cond_12d
|
|
iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
|
|
|
|
if-eqz v1, :cond_139
|
|
|
|
.line 1012
|
|
const/16 v1, 0xd
|
|
|
|
invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1014
|
|
invoke-virtual {v0, v4}, Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1017
|
|
:cond_139
|
|
nop
|
|
|
|
.line 1018
|
|
nop
|
|
|
|
.line 1019
|
|
iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
|
|
|
|
const/16 v2, 0x13
|
|
|
|
const/16 v6, 0x733
|
|
|
|
const/16 v7, 0x99
|
|
|
|
const v8, 0x19000
|
|
|
|
const v9, 0xc800
|
|
|
|
const/16 v10, 0x3800
|
|
|
|
const/16 v11, 0xe
|
|
|
|
if-eq v1, v2, :cond_18a
|
|
|
|
packed-switch v1, :pswitch_data_20e
|
|
|
|
.line 1038
|
|
:goto_152
|
|
move v6, v11
|
|
|
|
move v8, v6
|
|
|
|
goto :goto_18b
|
|
|
|
.line 1035
|
|
:pswitch_155
|
|
const/16 v6, 0x2c00
|
|
|
|
const v8, 0xa800
|
|
|
|
goto :goto_18b
|
|
|
|
.line 1032
|
|
:pswitch_15b
|
|
nop
|
|
|
|
.line 1038
|
|
:goto_15c
|
|
move v6, v9
|
|
|
|
goto :goto_18b
|
|
|
|
.line 1033
|
|
:cond_18a
|
|
goto :goto_15c
|
|
|
|
.line 1038
|
|
:goto_18b
|
|
invoke-virtual {v0, v6}, Landroid/net/NetworkCapabilities;->setLinkUpstreamBandwidthKbps(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1039
|
|
invoke-virtual {v0, v8}, Landroid/net/NetworkCapabilities;->setLinkDownstreamBandwidthKbps(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1041
|
|
new-instance v1, Landroid/net/StringNetworkSpecifier;
|
|
|
|
iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
invoke-virtual {v2}, Lcom/android/internal/telephony/Phone;->getSubId()I
|
|
|
|
move-result v2
|
|
|
|
invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-direct {v1, v2}, Landroid/net/StringNetworkSpecifier;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->setNetworkSpecifier(Landroid/net/NetworkSpecifier;)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1043
|
|
const/16 v1, 0x12
|
|
|
|
iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
|
|
|
|
.line 1044
|
|
invoke-virtual {v2}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v2}, Landroid/telephony/ServiceState;->getDataRoaming()Z
|
|
|
|
move-result v2
|
|
|
|
.line 1043
|
|
xor-int/2addr v2, v5
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroid/net/NetworkCapabilities;->setCapability(IZ)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1046
|
|
const/16 v1, 0x14
|
|
|
|
invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1049
|
|
iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
|
|
|
|
and-int/2addr v1, v5
|
|
|
|
if-eqz v1, :cond_1c0
|
|
|
|
.line 1050
|
|
invoke-virtual {v0, v3}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1052
|
|
:cond_1c0
|
|
iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
|
|
|
|
and-int/2addr v1, v4
|
|
|
|
if-eqz v1, :cond_1ca
|
|
|
|
.line 1053
|
|
const/16 v1, 0x14
|
|
|
|
invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
|
|
|
|
.line 1056
|
|
:cond_1ca
|
|
return-object v0
|
|
|
|
nop
|
|
|
|
:sswitch_data_1cc
|
|
.sparse-switch
|
|
0x2a -> :sswitch_b7
|
|
0xd18 -> :sswitch_ac
|
|
0x17ff4 -> :sswitch_a2
|
|
0x185fd -> :sswitch_98
|
|
0x197cf -> :sswitch_8e
|
|
0x1a6d3 -> :sswitch_84
|
|
0x300cf6 -> :sswitch_7a
|
|
0x360bde -> :sswitch_70
|
|
0x5c13d641 -> :sswitch_66
|
|
0x6118c591 -> :sswitch_5a
|
|
.end sparse-switch
|
|
|
|
:pswitch_data_1f6
|
|
.packed-switch 0x0
|
|
:pswitch_ee
|
|
:pswitch_ea
|
|
:pswitch_e6
|
|
:pswitch_d2
|
|
:pswitch_ce
|
|
:pswitch_c8
|
|
.end packed-switch
|
|
|
|
:pswitch_data_20e
|
|
.packed-switch 0x1
|
|
:pswitch_185
|
|
:pswitch_180
|
|
:pswitch_17b
|
|
:pswitch_17a
|
|
:pswitch_164
|
|
:pswitch_161
|
|
:pswitch_15e
|
|
:pswitch_15b
|
|
:pswitch_155
|
|
.end packed-switch
|
|
.end method
|