diff --git a/autotests/folding/test.smali.fold b/autotests/folding/test.smali.fold new file mode 100644 --- /dev/null +++ b/autotests/folding/test.smali.fold @@ -0,0 +1,5946 @@ +# +# 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$DcActiveState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;, + Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;, + 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_OVERRIDE_CHANGED:I = 0x40011 + +.field static final EVENT_DATA_CONNECTION_ROAM_OFF:I = 0x4000d + +.field static final EVENT_DATA_CONNECTION_ROAM_ON:I = 0x4000c + +.field static final EVENT_DATA_CONNECTION_VOICE_CALL_ENDED:I = 0x40010 + +.field static final EVENT_DATA_CONNECTION_VOICE_CALL_STARTED:I = 0x4000f + +.field static final EVENT_DATA_STATE_CHANGED:I = 0x40007 + +.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_KEEPALIVE_STOPPED:I = 0x40014 + +.field static final EVENT_KEEPALIVE_STOP_REQUEST:I = 0x40016 + +.field static final EVENT_LINK_CAPACITY_CHANGED:I = 0x40017 + +.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_EHRPD:Ljava/lang/String; = "131072,262144,1048576,4096,16384,524288" + +.field private static final TCP_BUFFER_SIZES_EVDO:Ljava/lang/String; = "4094,87380,262144,4096,16384,262144" + +.field private static final TCP_BUFFER_SIZES_GPRS:Ljava/lang/String; = "4092,8760,48000,4096,8760,48000" + +.field private static final TCP_BUFFER_SIZES_HSDPA:Ljava/lang/String; = "61167,367002,1101005,8738,52429,262114" + +.field private static final TCP_BUFFER_SIZES_HSPA:Ljava/lang/String; = "40778,244668,734003,16777,100663,301990" + +.field private static final TCP_BUFFER_SIZES_HSPAP:Ljava/lang/String; = "122334,734003,2202010,32040,192239,576717" + +.field private static final TCP_BUFFER_SIZES_LTE:Ljava/lang/String; = "524288,1048576,2097152,262144,524288,1048576" + +.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 mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + +.field private mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + +.field private mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + +.field private mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + +.field private mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + +.field private mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + +.field private mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + +.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 ()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;->(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 230 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_SETUP_DATA_CONNECTION_DONE" + + const/4 v2, 0x1 + + aput-object v1, v0, v2 + + .line 232 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DEACTIVATE_DONE" + + const/4 v2, 0x3 + + aput-object v1, v0, v2 + + .line 233 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DISCONNECT" + + const/4 v2, 0x4 + + aput-object v1, v0, v2 + + .line 234 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_RIL_CONNECTED" + + const/4 v2, 0x5 + + aput-object v1, v0, v2 + + .line 235 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DISCONNECT_ALL" + + const/4 v2, 0x6 + + aput-object v1, v0, v2 + + .line 236 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_STATE_CHANGED" + + const/4 v2, 0x7 + + aput-object v1, v0, v2 + + .line 237 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_TEAR_DOWN_NOW" + + const/16 v2, 0x8 + + aput-object v1, v0, v2 + + .line 238 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_LOST_CONNECTION" + + const/16 v2, 0x9 + + aput-object v1, v0, v2 + + .line 239 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_DRS_OR_RAT_CHANGED" + + const/16 v2, 0xb + + aput-object v1, v0, v2 + + .line 241 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_ROAM_ON" + + const/16 v2, 0xc + + aput-object v1, v0, v2 + + .line 242 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_ROAM_OFF" + + const/16 v2, 0xd + + aput-object v1, v0, v2 + + .line 243 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_BW_REFRESH_RESPONSE" + + const/16 v2, 0xe + + aput-object v1, v0, v2 + + .line 244 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_STARTED" + + const/16 v2, 0xf + + aput-object v1, v0, v2 + + .line 246 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_ENDED" + + const/16 v2, 0x10 + + aput-object v1, v0, v2 + + .line 248 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_OVERRIDE_CHANGED" + + const/16 v2, 0x11 + + aput-object v1, v0, v2 + + .line 250 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STATUS" + + const/16 v2, 0x12 + + aput-object v1, v0, v2 + + .line 251 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STARTED" + + const/16 v2, 0x13 + + aput-object v1, v0, v2 + + .line 252 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STOPPED" + + const/16 v2, 0x14 + + aput-object v1, v0, v2 + + .line 253 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_START_REQUEST" + + const/16 v2, 0x15 + + aput-object v1, v0, v2 + + .line 254 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STOP_REQUEST" + + const/16 v2, 0x16 + + aput-object v1, v0, v2 + + .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 (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;->(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;->()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;->(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;->(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 1562 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + .line 1676 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + .line 1991 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + .line 2049 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + .line 2102 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + .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 472 + iput-object p4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + .line 473 + iput-object p5, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + .line 474 + iput-object p6, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + .line 475 + iput-object p7, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController; + + .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;->(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 488 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 489 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 490 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 491 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 492 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;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;->()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$100(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/Phone; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + return-object p0 +.end method + +.method static synthetic access$1002(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;)Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + return-object p1 +.end method + +.method static synthetic access$102(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/Phone; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + return-object p1 +.end method + +.method static synthetic access$1100(Lcom/android/internal/telephony/dataconnection/DataConnection;)I + .registers 1 + + .line 97 + iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mId:I + + return p0 +.end method + +.method static synthetic access$1200(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->dumpToLog()V + + return-void +.end method + +.method static synthetic access$1300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + return-object p0 +.end method + +.method static synthetic access$1302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + return-object p1 +.end method + +.method static synthetic access$1400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + return-object p0 +.end method + +.method static synthetic access$1500(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V + .registers 4 + + .line 97 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V + + return-void +.end method + +.method static synthetic access$1600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V + .registers 2 + + .line 97 + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->logAndAddLogRec(Ljava/lang/String;)V + + return-void +.end method + +.method static synthetic access$1700(Lcom/android/internal/telephony/dataconnection/DataConnection;)I + .registers 1 + + .line 97 + iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I + + return p0 +.end method + +.method static synthetic access$1702(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I + .registers 2 + + .line 97 + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I + + return p1 +.end method + +.method static synthetic access$1800(Lcom/android/internal/telephony/dataconnection/DataConnection;)I + .registers 1 + + .line 97 + iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + return p0 +.end method + +.method static synthetic access$1802(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I + .registers 2 + + .line 97 + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + return p1 +.end method + +.method static synthetic access$1900(Lcom/android/internal/telephony/dataconnection/DataConnection;I)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V + + return-void +.end method + +.method static synthetic access$200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcController; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController; + + return-object p0 +.end method + +.method static synthetic access$2000(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfo()V + + return-void +.end method + +.method static synthetic access$202(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DcController; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController; + + return-object p1 +.end method + +.method static synthetic access$2100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfoSuspendState()V + + return-void +.end method + +.method static synthetic access$2200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/NetworkInfo; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + return-object p0 +.end method + +.method static synthetic access$2400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + return-object p0 +.end method + +.method static synthetic access$2402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + return-object p1 +.end method + +.method static synthetic access$2500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + return-object p0 +.end method + +.method static synthetic access$2502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + return-object p1 +.end method + +.method static synthetic access$2600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcFailCause; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + return-object p0 +.end method + +.method static synthetic access$2602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + return-object p1 +.end method + +.method static synthetic access$2700(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V + .registers 3 + + .line 97 + invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V + + return-void +.end method + +.method static synthetic access$2800(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V + + return-void +.end method + +.method static synthetic access$2900(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->clearSettings()V + + return-void +.end method + +.method static synthetic access$300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/util/AsyncChannel; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel; + + return-object p0 +.end method + +.method static synthetic access$3000(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->initConnection(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z + + move-result p0 + + return p0 +.end method + +.method static synthetic access$302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/util/AsyncChannel;)Lcom/android/internal/util/AsyncChannel; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel; + + return-object p1 +.end method + +.method static synthetic access$3100(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V + + return-void +.end method + +.method static synthetic access$3200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + return-object p0 +.end method + +.method static synthetic access$3400(Lcom/android/internal/telephony/dataconnection/DataConnection;ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + .registers 4 + + .line 97 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + move-result-object p0 + + return-object p0 +.end method + +.method static synthetic access$3500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + return-object p0 +.end method + +.method static synthetic access$3600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/Object;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->tearDownData(Ljava/lang/Object;)V + + return-void +.end method + +.method static synthetic access$3700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + return-object p0 +.end method + +.method static synthetic access$3800(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/telephony/data/DataCallResponse;)J + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J + + move-result-wide p0 + + return-wide p0 +.end method + +.method static synthetic access$400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcTracker; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + return-object p0 +.end method + +.method static synthetic access$4000(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllOfConnected(Ljava/lang/String;)V + + return-void +.end method + +.method static synthetic access$402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTracker;)Lcom/android/internal/telephony/dataconnection/DcTracker; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + return-object p1 +.end method + +.method static synthetic access$4100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setNetworkRestriction()V + + return-void +.end method + +.method static synthetic access$4200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Z + .registers 1 + + .line 97 + iget-boolean p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z + + return p0 +.end method + +.method static synthetic access$4300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + return-object p0 +.end method + +.method static synthetic access$4800(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/util/LocalLog; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog; + + return-object p0 +.end method + +.method static synthetic access$500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/ApnSetting; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + return-object p0 +.end method + +.method static synthetic access$502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/ApnSetting;)Lcom/android/internal/telephony/dataconnection/ApnSetting; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + return-object p1 +.end method + +.method static synthetic access$600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataServiceManager; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + return-object p0 +.end method + +.method static synthetic access$602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataServiceManager;)Lcom/android/internal/telephony/dataconnection/DataServiceManager; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + return-object p1 +.end method + +.method static synthetic access$700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/LinkProperties; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + return-object p0 +.end method + +.method static synthetic access$702(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/net/LinkProperties;)Landroid/net/LinkProperties; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + return-object p1 +.end method + +.method static synthetic access$802(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + return-object p1 +.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;->()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 + + move-result p2 + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 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;->()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;->()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, 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 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;->()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 735 + iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .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;->()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; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + 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;->(I)V + + invoke-direct {v0, p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$1;->(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 1172 + invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/ApnContext;->getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting; + + move-result-object v1 + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + .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;->()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 + + invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v0, " mApnList=" + + 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; + + invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + 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;->()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=" + + invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, 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 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, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + 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 + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String; + + aput-object v3, v0, v2 + + const/4 v2, 0x3 + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String; + + .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 public static isIpAddress(Ljava/lang/String;)Z + .registers 1 + .annotation build Lcom/android/internal/annotations/VisibleForTesting; + .end annotation + + .line 1064 + if-nez p0, :cond_4 + + const/4 p0, 0x0 + + return p0 + + .line 1066 + :cond_4 + invoke-static {p0}, Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z + + move-result p0 + + return p0 +.end method + +.method public static makeDataConnection(Lcom/android/internal/telephony/Phone;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DataConnection; + .registers 15 + + .line 283 + new-instance v8, Lcom/android/internal/telephony/dataconnection/DataConnection; + + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "DC-" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger; + + .line 284 + invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I + + move-result v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v2 + + move-object v0, v8 + + move-object v1, p0 + + move v3, p1 + + move-object v4, p2 + + move-object v5, p3 + + move-object v6, p4 + + move-object v7, p5 + + invoke-direct/range {v0 .. v7}, Lcom/android/internal/telephony/dataconnection/DataConnection;->(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 + + .line 286 + invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->start()V + + .line 287 + new-instance p0, Ljava/lang/StringBuilder; + + invoke-direct {p0}, Ljava/lang/StringBuilder;->()V + + const-string p1, "Made " + + invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object p1 + + invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + invoke-virtual {v8, p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 288 + return-object v8 +.end method + +.method private static msgToString(Landroid/os/Message;)Ljava/lang/String; + .registers 6 + + .line 2356 + if-nez p0, :cond_5 + + .line 2357 + const-string p0, "null" + + goto :goto_72 + + .line 2359 + :cond_5 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + .line 2361 + const-string v1, "{what=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2362 + iget v1, p0, Landroid/os/Message;->what:I + + invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2364 + const-string v1, " when=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2365 + invoke-virtual {p0}, Landroid/os/Message;->getWhen()J + + move-result-wide v1 + + invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J + + move-result-wide v3 + + sub-long/2addr v1, v3 + + invoke-static {v1, v2, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V + + .line 2367 + iget v1, p0, Landroid/os/Message;->arg1:I + + if-eqz v1, :cond_37 + + .line 2368 + const-string v1, " arg1=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2369 + iget v1, p0, Landroid/os/Message;->arg1:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + .line 2372 + :cond_37 + iget v1, p0, Landroid/os/Message;->arg2:I + + if-eqz v1, :cond_45 + + .line 2373 + const-string v1, " arg2=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2374 + iget v1, p0, Landroid/os/Message;->arg2:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + .line 2377 + :cond_45 + iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object; + + if-eqz v1, :cond_53 + + .line 2378 + const-string v1, " obj=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2379 + iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + .line 2382 + :cond_53 + const-string v1, " target=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2383 + invoke-virtual {p0}, Landroid/os/Message;->getTarget()Landroid/os/Handler; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + .line 2385 + const-string v1, " replyTo=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2386 + iget-object p0, p0, Landroid/os/Message;->replyTo:Landroid/os/Messenger; + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + .line 2388 + const-string p0, "}" + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2390 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + .line 2392 + :goto_72 + return-object p0 +.end method + +.method private notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V + .registers 4 + + .line 610 + invoke-virtual {p1}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object p1 + + const/4 v0, 0x0 + + const v1, 0x4200f + + invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 611 + return-void +.end method + +.method private notifyAllOfConnected(Ljava/lang/String;)V + .registers 4 + + .line 603 + const/4 v0, 0x0 + + const v1, 0x42000 + + invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 604 + return-void +.end method + +.method private notifyAllOfDisconnectDcRetrying(Ljava/lang/String;)V + .registers 4 + + .line 607 + const/4 v0, 0x0 + + const v1, 0x42022 + + invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 608 + return-void +.end method + +.method private notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + .registers 8 + + .line 588 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + invoke-virtual {v1}, Landroid/net/NetworkInfo;->getDetailedState()Landroid/net/NetworkInfo$DetailedState; + + move-result-object v1 + + iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 589 + invoke-virtual {v2}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v2 + + .line 588 + invoke-virtual {v0, v1, p3, v2}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + .line 590 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {v0}, Ljava/util/HashMap;->values()Ljava/util/Collection; + + move-result-object v0 + + invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_1b + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_49 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + .line 591 + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 592 + if-ne v2, p1, :cond_2c + + goto :goto_1b + + .line 593 + :cond_2c + if-eqz p3, :cond_31 + + invoke-virtual {v2, p3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->setReason(Ljava/lang/String;)V + + .line 594 + :cond_31 + new-instance v3, Landroid/util/Pair; + + iget v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mConnectionGeneration:I + + .line 595 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; + + move-result-object v1 + + invoke-direct {v3, v2, v1}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V + + .line 596 + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + invoke-virtual {v1, p2, v3}, Lcom/android/internal/telephony/dataconnection/DcTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; + + move-result-object v1 + + .line 597 + invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult; + + .line 598 + invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V + + .line 599 + goto :goto_1b + + .line 600 + :cond_49 + return-void +.end method + +.method private notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V + .registers 9 + + .line 622 + nop + + .line 624 + const/4 v0, 0x0 + + if-eqz p1, :cond_5f + + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message; + + if-eqz v1, :cond_5f + + .line 626 + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 627 + iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 628 + iget-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 630 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J + + move-result-wide v2 + + .line 631 + iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + iput p1, v1, Landroid/os/Message;->arg1:I + + .line 633 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + if-ne p2, p1, :cond_20 + + .line 634 + iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + .line 635 + invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult; + + goto :goto_34 + + .line 637 + :cond_20 + iput-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .line 638 + iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + .line 641 + if-nez p2, :cond_28 + + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .line 642 + :cond_28 + new-instance p1, Ljava/lang/Throwable; + + .line 643 + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object v4 + + invoke-direct {p1, v4}, Ljava/lang/Throwable;->(Ljava/lang/String;)V + + .line 642 + invoke-static {v1, p2, p1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; + + .line 646 + :goto_34 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v4, "notifyConnectCompleted at " + + invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + const-string v2, " cause=" + + invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v2, " connectionCompletedMsg=" + + invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 647 + invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->msgToString(Landroid/os/Message;)Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + .line 646 + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 650 + invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V + + .line 652 + :cond_5f + if-eqz p3, :cond_8b + + .line 653 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string p3, "Send to all. " + + invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string p3, " " + + invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object p3 + + invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 654 + const p1, 0x42023 + + .line 655 + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object p2 + + .line 654 + invoke-direct {p0, v0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 657 + :cond_8b + return-void +.end method + +.method private notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V + .registers 10 + + .line 665 + const-string v0, "NotifyDisconnectCompleted" + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 667 + nop + + .line 668 + nop + + .line 670 + const/4 v0, 0x0 + + if-eqz p1, :cond_4a + + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message; + + if-eqz v1, :cond_4a + + .line 672 + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 673 + iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 674 + iget-object v2, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + instance-of v2, v2, Lcom/android/internal/telephony/dataconnection/ApnContext; + + if-eqz v2, :cond_1c + + .line 675 + iget-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + check-cast v0, Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 677 + :cond_1c + iget-object v2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String; + + .line 679 + const-string v3, "msg=%s msg.obj=%s" + + const/4 v4, 0x2 + + new-array v4, v4, [Ljava/lang/Object; + + const/4 v5, 0x0 + + invoke-virtual {v1}, Landroid/os/Message;->toString()Ljava/lang/String; + + move-result-object v6 + + aput-object v6, v4, v5 + + const/4 v5, 0x1 + + .line 680 + iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + instance-of v6, v6, Ljava/lang/String; + + if-eqz v6, :cond_36 + + iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + check-cast v6, Ljava/lang/String; + + goto :goto_38 + + :cond_36 + const-string v6, "" + + :goto_38 + aput-object v6, v4, v5 + + .line 679 + 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 + + .line 682 + invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult; + + .line 683 + invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V + + .line 685 + move-object v1, v0 + + move-object v0, v2 + + goto :goto_4b + + :cond_4a + move-object v1, v0 + + :goto_4b + if-eqz p2, :cond_5b + + .line 686 + if-nez v0, :cond_55 + + .line 687 + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object v0 + + .line 689 + :cond_55 + const p2, 0x4200f + + invoke-direct {p0, v1, p2, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 691 + :cond_5b + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v0, "NotifyDisconnectCompleted DisconnectParams=" + + invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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 692 + return-void +.end method + +.method private onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V + .registers 21 + + move-object/from16 v0, p0 + + .line 506 + move-object/from16 v1, p1 + + new-instance v2, Ljava/lang/StringBuilder; + + invoke-direct {v2}, Ljava/lang/StringBuilder;->()V + + const-string v3, "onConnect: carrier=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->carrier:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\' APN=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->apn:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\' proxy=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->proxy:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\' port=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->port:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {v0, v2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 509 + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + if-eqz v2, :cond_50 + + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + const-string v3, "DataConnection.onConnect" + + invoke-virtual {v2, v3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V + + .line 512 + :cond_50 + iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + invoke-virtual {v2}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v2 + + iget v2, v2, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I + + const/4 v3, 0x1 + + const v4, 0x40001 + + if-lez v2, :cond_bd + + .line 513 + new-instance v2, Landroid/telephony/data/DataCallResponse; + + iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + .line 514 + invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v5 + + iget-object v5, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I + + move-result v6 + + iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + .line 515 + invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v5 + + iget v7, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mSuggestedRetryTime:I + + const/4 v8, 0x0 + + const/4 v9, 0x0 + + const-string v10, "" + + const-string v11, "" + + const/4 v12, 0x0 + + const/4 v13, 0x0 + + const/4 v14, 0x0 + + const/4 v15, 0x0 + + const/16 v16, 0x0 + + move-object v5, v2 + + invoke-direct/range {v5 .. v16}, Landroid/telephony/data/DataCallResponse;->(IIIILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V + + .line 518 + invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; + + move-result-object v1 + + .line 519 + const/4 v4, 0x0 + + invoke-static {v1, v2, v4}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; + + .line 520 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V + + .line 522 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v4, "onConnect: FailBringUpAll=" + + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v4 + + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v4, " send error response=" + + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 525 + iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v0 + + iget v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I + + sub-int/2addr v1, v3 + + iput v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I + + .line 526 + return-void + + .line 529 + :cond_bd + const-wide/16 v5, -0x1 + + iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + .line 530 + iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + .line 531 + sget-object v2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + iput-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .line 533 + invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; + + move-result-object v12 + + .line 534 + iput-object v1, v12, Landroid/os/Message;->obj:Ljava/lang/Object; + + .line 536 + iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget v4, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mProfileId:I + + invoke-static {v2, v4}, Lcom/android/internal/telephony/dataconnection/DcTracker;->createDataProfile(Lcom/android/internal/telephony/dataconnection/ApnSetting;I)Landroid/telephony/data/DataProfile; + + move-result-object v2 + + .line 541 + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState; + + move-result-object v4 + + invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoamingFromRegistration()Z + + move-result v8 + + .line 546 + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getDataRoamingEnabled()Z + + move-result v4 + + if-nez v4, :cond_f8 + + if-eqz v8, :cond_f6 + + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + .line 547 + invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState; + + move-result-object v4 + + invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoaming()Z + + move-result v4 + + if-nez v4, :cond_f6 + + goto :goto_f8 + + :cond_f6 + const/4 v3, 0x0 + + nop + + .line 549 + :cond_f8 + :goto_f8 + move v9, v3 + + iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + iget v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I + + .line 550 + invoke-static {v3}, Landroid/telephony/ServiceState;->rilRadioTechnologyToAccessNetworkType(I)I + + move-result v6 + + const/4 v10, 0x1 + + const/4 v11, 0x0 + + .line 549 + move-object v7, v2 + + invoke-virtual/range {v5 .. v12}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V + + .line 552 + invoke-static {}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->getInstance()Lcom/android/internal/telephony/metrics/TelephonyMetrics; + + move-result-object v13 + + iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getPhoneId()I + + move-result v14 + + iget v15, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I + + .line 553 + invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProfileId()I + + move-result v16 + + invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getApn()Ljava/lang/String; + + move-result-object v17 + + invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProtocol()Ljava/lang/String; + + move-result-object v18 + + .line 552 + invoke-virtual/range {v13 .. v18}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetupDataCall(IIILjava/lang/String;Ljava/lang/String;)V + + .line 554 + return-void +.end method + +.method private onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + .registers 6 + + .line 751 + iget v0, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + if-eq v0, v1, :cond_29 + + .line 753 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string p2, "onSetupConnectionCompleted stale cp.tag=" + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget p2, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string p2, ", mtag=" + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 755 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_STALE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + goto :goto_80 + + .line 756 + :cond_29 + const/4 p3, 0x4 + + if-ne p1, p3, :cond_33 + + .line 757 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 758 + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + goto :goto_80 + + .line 759 + :cond_33 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p1 + + if-eqz p1, :cond_59 + + .line 760 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p1 + + sget-object p3, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p3}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I + + move-result p3 + + if-ne p1, p3, :cond_4c + + .line 761 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 762 + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + goto :goto_80 + + .line 764 + :cond_4c + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 765 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p2 + + invoke-static {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->fromInt(I)Lcom/android/internal/telephony/dataconnection/DcFailCause; + + move-result-object p2 + + iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + goto :goto_80 + + .line 768 + :cond_59 + const-string p1, "onSetupConnectionCompleted received successful DataCallResponse" + + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 769 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getCallId()I + + move-result p1 + + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + .line 771 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List; + + move-result-object p1 + + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List; + + move-result-object p3 + + invoke-interface {p3}, Ljava/util/List;->size()I + + move-result p3 + + new-array p3, p3, [Ljava/lang/String; + + invoke-interface {p1, p3}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; + + move-result-object p1 + + check-cast p1, [Ljava/lang/String; + + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPcscfAddr:[Ljava/lang/String; + + .line 773 + invoke-virtual {p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult; + + move-result-object p1 + + iget-object p1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 776 + :goto_80 + return-object p1 +.end method + +.method private setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + .registers 10 + + .line 1072 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "net." + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, "." + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + .line 1073 + const/4 v1, 0x2 + + new-array v1, v1, [Ljava/lang/String; + + .line 1074 + new-instance v2, Ljava/lang/StringBuilder; + + invoke-direct {v2}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "dns1" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v2 + + invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v2 + + const/4 v3, 0x0 + + aput-object v2, v1, v3 + + .line 1075 + new-instance v2, Ljava/lang/StringBuilder; + + invoke-direct {v2}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v0, "dns2" + + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v0 + + const/4 v2, 0x1 + + aput-object v0, v1, v2 + + .line 1076 + invoke-direct {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->isDnsOk([Ljava/lang/String;)Z + + move-result v0 + + .line 1082 + invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V + + .line 1084 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result v2 + + sget-object v4, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I + + move-result v4 + + if-ne v2, v4, :cond_17c + + .line 1087 + :try_start_60 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V + + .line 1090 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List; + + move-result-object v2 + + invoke-interface {v2}, Ljava/util/List;->size()I + + move-result v2 + + if-lez v2, :cond_149 + + .line 1091 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List; + + move-result-object v2 + + invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator; + + move-result-object v2 + + :goto_79 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z + + move-result v4 + + if-eqz v4, :cond_b7 + + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v4 + + check-cast v4, Landroid/net/LinkAddress; + + .line 1092 + invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress; + + move-result-object v5 + + invoke-virtual {v5}, Ljava/net/InetAddress;->isAnyLocalAddress()Z + + move-result v5 + + if-nez v5, :cond_b6 + + .line 1094 + new-instance v5, Ljava/lang/StringBuilder; + + invoke-direct {v5}, Ljava/lang/StringBuilder;->()V + + const-string v6, "addr/pl=" + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress; + + move-result-object v6 + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v6, "/" + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 1095 + invoke-virtual {v4}, Landroid/net/LinkAddress;->getNetworkPrefixLength()I + + move-result v6 + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v5 + + .line 1094 + invoke-virtual {p0, v5}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 1097 + invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z + + .line 1099 + :cond_b6 + goto :goto_79 + + .line 1105 + :cond_b7 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List; + + move-result-object v2 + + invoke-interface {v2}, Ljava/util/List;->size()I + + move-result v2 + + if-lez v2, :cond_df + + .line 1106 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List; + + move-result-object v0 + + invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_c9 + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_11a + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 1107 + invoke-virtual {v1}, Ljava/net/InetAddress;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_de + + .line 1108 + invoke-virtual {p2, v1}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z + + .line 1110 + :cond_de + goto :goto_c9 + + .line 1111 + :cond_df + if-eqz v0, :cond_141 + + .line 1112 + array-length v0, v1 + + :goto_e2 + if-ge v3, v0, :cond_11a + + aget-object v2, v1, v3 + + .line 1113 + invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String; + + move-result-object v2 + + .line 1114 + invoke-virtual {v2}, Ljava/lang/String;->isEmpty()Z + + move-result v4 + :try_end_ee + .catch Ljava/net/UnknownHostException; {:try_start_60 .. :try_end_ee} :catch_164 + + if-eqz v4, :cond_f1 + + goto :goto_ff + + .line 1117 + :cond_f1 + :try_start_f1 + invoke-static {v2}, Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress; + + move-result-object v4 + :try_end_f5 + .catch Ljava/lang/IllegalArgumentException; {:try_start_f1 .. :try_end_f5} :catch_102 + .catch Ljava/net/UnknownHostException; {:try_start_f1 .. :try_end_f5} :catch_164 + + .line 1120 + nop + + .line 1121 + :try_start_f6 + invoke-virtual {v4}, Ljava/net/InetAddress;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_ff + + .line 1122 + invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z + + .line 1112 + :cond_ff + :goto_ff + add-int/lit8 v3, v3, 0x1 + + goto :goto_e2 + + .line 1118 + :catch_102 + move-exception v0 + + .line 1119 + new-instance v0, Ljava/net/UnknownHostException; + + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v3, "Non-numeric dns addr=" + + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-direct {v0, v1}, Ljava/net/UnknownHostException;->(Ljava/lang/String;)V + + throw v0 + + .line 1129 + :cond_11a + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getGateways()Ljava/util/List; + + move-result-object v0 + + invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_122 + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_137 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 1132 + new-instance v2, Landroid/net/RouteInfo; + + invoke-direct {v2, v1}, Landroid/net/RouteInfo;->(Ljava/net/InetAddress;)V + + invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z + + .line 1133 + goto :goto_122 + + .line 1137 + :cond_137 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getMtu()I + + move-result v0 + + invoke-virtual {p2, v0}, Landroid/net/LinkProperties;->setMtu(I)V + + .line 1139 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + goto :goto_17b + + .line 1126 + :cond_141 + new-instance v0, Ljava/net/UnknownHostException; + + const-string v1, "Empty dns response and no system default dns" + + invoke-direct {v0, v1}, Ljava/net/UnknownHostException;->(Ljava/lang/String;)V + + throw v0 + + .line 1101 + :cond_149 + new-instance v0, Ljava/net/UnknownHostException; + + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "no address for ifname=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-direct {v0, v1}, Ljava/net/UnknownHostException;->(Ljava/lang/String;)V + + throw v0 + :try_end_164 + .catch Ljava/net/UnknownHostException; {:try_start_f6 .. :try_end_164} :catch_164 + + .line 1140 + :catch_164 + move-exception v0 + + .line 1141 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "setLinkProperties: UnknownHostException " + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 1142 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_INVALID_ARG:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 1143 + :goto_17b + goto :goto_17e + + .line 1145 + :cond_17c + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 1149 + :goto_17e + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + if-eq v0, v1, :cond_1a5 + + .line 1151 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "setLinkProperties: error clearing LinkProperties status=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 1152 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p1 + + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string p1, " result=" + + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + .line 1151 + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 1154 + invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V + + .line 1157 + :cond_1a5 + return-object v0 +.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 tearDownData(Ljava/lang/Object;)V + .registers 8 + + .line 569 + nop + + .line 570 + nop + + .line 571 + const/4 v0, 0x1 + + if-eqz p1, :cond_24 + + instance-of v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + if-eqz v1, :cond_24 + + .line 572 + move-object v1, p1 + + check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + .line 573 + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 574 + iget-object v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String; + + const-string v4, "radioTurnedOff" + + invoke-static {v3, v4}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z + + move-result v3 + + if-nez v3, :cond_22 + + iget-object v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String; + + const-string v3, "pdpReset" + + .line 575 + invoke-static {v1, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z + + move-result v1 + + if-eqz v1, :cond_25 + + .line 576 + :cond_22 + const/4 v0, 0x2 + + goto :goto_25 + + .line 580 + :cond_24 + const/4 v2, 0x0 + + :cond_25 + :goto_25 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v3, "tearDownData. mCid=" + + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v3, ", reason=" + + invoke-virtual {v1, v3}, 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 + + .line 581 + invoke-virtual {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 582 + if-eqz v2, :cond_48 + + invoke-virtual {v2, v1}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V + + .line 583 + :cond_48 + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + iget v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + const v3, 0x40003 + + iget v4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + const/4 v5, 0x0 + + .line 584 + invoke-virtual {p0, v3, v4, v5, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message; + + move-result-object p1 + + .line 583 + invoke-virtual {v1, v2, v0, p1}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->deactivateDataCall(IILandroid/os/Message;)V + + .line 585 + return-void +.end method + +.method private updateNetworkInfo()V + .registers 5 + + .line 1408 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState; + + move-result-object v0 + + .line 1409 + invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataNetworkType()I + + move-result v1 + + .line 1410 + iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + invoke-static {v1}, Landroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String; + + move-result-object v3 + + invoke-virtual {v2, v1, v3}, Landroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V + + .line 1411 + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataRoaming()Z + + move-result v0 + + invoke-virtual {v1, v0}, Landroid/net/NetworkInfo;->setRoaming(Z)V + + .line 1412 + return-void +.end method + +.method private updateNetworkInfoSuspendState()V + .registers 5 + + .line 1416 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + if-nez v0, :cond_d + + .line 1417 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + const-string v1, "Setting suspend state without a NetworkAgent" + + invoke-static {v0, v1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I + + .line 1421 + :cond_d + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker; + + move-result-object v0 + + .line 1422 + invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->getCurrentDataConnectionState()I + + move-result v1 + + const/4 v2, 0x0 + + if-eqz v1, :cond_28 + + .line 1423 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState; + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 1424 + invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v3 + + .line 1423 + invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + goto :goto_57 + + .line 1427 + :cond_28 + invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->isConcurrentVoiceAndDataAllowed()Z + + move-result v0 + + if-nez v0, :cond_4a + + .line 1428 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getCallTracker()Lcom/android/internal/telephony/CallTracker; + + move-result-object v0 + + .line 1429 + invoke-virtual {v0}, Lcom/android/internal/telephony/CallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State; + + move-result-object v0 + + sget-object v1, Lcom/android/internal/telephony/PhoneConstants$State;->IDLE:Lcom/android/internal/telephony/PhoneConstants$State; + + if-eq v0, v1, :cond_4a + + .line 1430 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState; + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 1431 + invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v3 + + .line 1430 + invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + .line 1432 + return-void + + .line 1435 + :cond_4a + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + sget-object v1, Landroid/net/NetworkInfo$DetailedState;->CONNECTED:Landroid/net/NetworkInfo$DetailedState; + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 1436 + invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v3 + + .line 1435 + invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + .line 1438 + :goto_57 + 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 876 + goto :goto_79 + + .line 861 + :pswitch_5e + const-string v1, "131072,262144,1048576,4096,16384,524288" + + .line 862 + goto :goto_79 + + .line 868 + :pswitch_61 + const-string v1, "40778,244668,734003,16777,100663,301990" + + .line 869 + goto :goto_79 + + .line 864 + :pswitch_64 + const-string v1, "61167,367002,1101005,8738,52429,262114" + + .line 865 + goto :goto_79 + + .line 858 + :pswitch_67 + const-string v1, "4094,87380,262144,4096,16384,262144" + + .line 859 + goto :goto_79 + + .line 853 + :pswitch_6a + const-string v1, "16384,32768,131072,4096,16384,102400" + + .line 854 + goto :goto_79 + + .line 850 + :pswitch_6d + const-string v1, "58254,349525,1048576,58254,349525,1048576" + + .line 851 + goto :goto_79 + + .line 847 + :pswitch_70 + const-string v1, "4093,26280,70800,4096,16384,70800" + + .line 848 + goto :goto_79 + + .line 844 + :pswitch_73 + const-string v1, "4092,8760,48000,4096,8760,48000" + + .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;->(Ljava/io/Writer;Ljava/lang/String;)V + + .line 2511 + const-string p2, "DataConnection " + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->print(Ljava/lang/String;)V + + .line 2512 + invoke-super {p0, p1, v0, p3}, Lcom/android/internal/util/StateMachine;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V + + .line 2513 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V + + .line 2514 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2515 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mApnContexts.size=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {v1}, Ljava/util/HashMap;->size()I + + move-result v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2516 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mApnContexts=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2517 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDataConnectionTracker=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2518 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mApnSetting=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2519 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mTag=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2520 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mCid=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2521 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mConnectionParams=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2522 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDisconnectParams=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2523 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDcFailCause=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2524 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mPhone=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2525 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mLinkProperties=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2526 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V + + .line 2527 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDataRegState=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2528 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mRilRat=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2529 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mNetworkCapabilities=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2530 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mCreateTime=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2531 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mLastFailTime=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2532 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mLastFailCause=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2533 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mUserData=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mUserData:Ljava/lang/Object; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2534 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mSubscriptionOverride=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I + + invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2535 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mInstanceNumber=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2536 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mAc=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2537 + const-string p2, "Network capabilities changed history:" + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2538 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2539 + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog; + + invoke-virtual {p2, p1, v0, p3}, Landroid/util/LocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V + + .line 2540 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2541 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2542 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->println()V + + .line 2543 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V + + .line 2544 + return-void +.end method + +.method getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting; + .registers 2 + + .line 323 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + return-object v0 +.end method + +.method getCid()I + .registers 2 + + .line 319 + iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + return v0 +.end method + +.method getCopyLinkProperties()Landroid/net/LinkProperties; + .registers 3 + + .line 299 + new-instance v0, Landroid/net/LinkProperties; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-direct {v0, v1}, Landroid/net/LinkProperties;->(Landroid/net/LinkProperties;)V + + return-object v0 +.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;->()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 + + if-eqz v2, :cond_12d + + .line 939 + iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v2, v2, Lcom/android/internal/telephony/dataconnection/ApnSetting;->types:[Ljava/lang/String; + + array-length v6, v2 + + move v7, v1 + + :goto_17 + if-ge v7, v6, :cond_10b + + aget-object v8, v2, v7 + + .line 940 + iget-boolean v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z + + if-nez v9, :cond_4c + + iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + if-eqz v9, :cond_4c + + iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + iget-boolean v9, v9, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mUnmeteredUseOnly:Z + + if-eqz v9, :cond_4c + + iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + .line 942 + invoke-static {v8, v9}, Lcom/android/internal/telephony/dataconnection/ApnSetting;->isMeteredApnType(Ljava/lang/String;Lcom/android/internal/telephony/Phone;)Z + + move-result v9 + + if-eqz v9, :cond_4c + + .line 943 + new-instance v9, Ljava/lang/StringBuilder; + + invoke-direct {v9}, Ljava/lang/StringBuilder;->()V + + const-string v10, "Dropped the metered " + + invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v8, " for the unmetered data call." + + invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v8 + + invoke-virtual {p0, v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 944 + goto/16 :goto_107 + + .line 946 + :cond_4c + const/4 v9, -0x1 + + invoke-virtual {v8}, Ljava/lang/String;->hashCode()I + + move-result v10 + + const/4 v11, 0x7 + + const/4 v12, 0x4 + + const/4 v13, 0x5 + + const/4 v14, 0x3 + + sparse-switch v10, :sswitch_data_1cc + + goto/16 :goto_c1 + + :sswitch_5a + const-string v10, "emergency" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + const/16 v8, 0x9 + + goto/16 :goto_c2 + + :sswitch_66 + const-string v10, "default" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v5 + + goto :goto_c2 + + :sswitch_70 + const-string v10, "supl" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v14 + + goto :goto_c2 + + :sswitch_7a + const-string v10, "fota" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v13 + + goto :goto_c2 + + :sswitch_84 + const-string v10, "mms" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v4 + + goto :goto_c2 + + :sswitch_8e + const-string v10, "ims" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + const/4 v8, 0x6 + + goto :goto_c2 + + :sswitch_98 + const-string v10, "dun" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v12 + + goto :goto_c2 + + :sswitch_a2 + const-string v10, "cbs" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v11 + + goto :goto_c2 + + :sswitch_ac + const-string v10, "ia" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + const/16 v8, 0x8 + + goto :goto_c2 + + :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 991 + :pswitch_c8 + const/16 v8, 0xa + + invoke-virtual {v0, v8}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 992 + goto :goto_107 + + .line 987 + :pswitch_ce + invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 988 + goto :goto_107 + + .line 983 + :pswitch_d2 + invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 984 + goto :goto_107 + + .line 979 + :pswitch_d6 + invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 980 + goto :goto_107 + + .line 975 + :pswitch_da + invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 976 + goto :goto_107 + + .line 971 + :pswitch_de + invoke-virtual {v0, v4}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 972 + goto :goto_107 + + .line 967 + :pswitch_e2 + invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 968 + goto :goto_107 + + .line 963 + :pswitch_e6 + invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .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 949 + invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 950 + invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 951 + invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 952 + invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 953 + invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 954 + invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 955 + invoke-virtual {v0, v4}, 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 1034 + :pswitch_15e + const/16 v8, 0x9d4 + + goto :goto_173 + + .line 1031 + :pswitch_161 + const/16 v8, 0x1399 + + goto :goto_18b + + .line 1030 + :pswitch_164 + const/16 v6, 0x170a + + goto :goto_16c + + .line 1029 + :pswitch_167 + const/16 v6, 0x170a + + goto :goto_16c + + .line 1028 + :pswitch_16a + const/16 v6, 0x800 + + .line 1038 + :goto_16c + move v8, v10 + + goto :goto_18b + + .line 1026 + :pswitch_16e + const/16 v8, 0xc66 + + goto :goto_18b + + .line 1025 + :pswitch_171 + const/16 v8, 0x999 + + .line 1038 + :goto_173 + move v6, v7 + + goto :goto_18b + + .line 1027 + :pswitch_175 + const/16 v6, 0x64 + + const/16 v8, 0x64 + + goto :goto_18b + + .line 1024 + :pswitch_17a + goto :goto_152 + + .line 1022 + :pswitch_17b + const/16 v6, 0x180 + + const/16 v8, 0x180 + + goto :goto_18b + + .line 1021 + :pswitch_180 + const/16 v6, 0x3b + + const/16 v8, 0xec + + goto :goto_18b + + .line 1020 + :pswitch_185 + const/16 v6, 0x50 + + const/16 v8, 0x50 + + 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;->(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_e2 + :pswitch_de + :pswitch_da + :pswitch_d6 + :pswitch_d2 + :pswitch_ce + :pswitch_c8 + .end packed-switch + + :pswitch_data_20e + .packed-switch 0x1 + :pswitch_185 + :pswitch_180 + :pswitch_17b + :pswitch_17a + :pswitch_17a + :pswitch_175 + :pswitch_171 + :pswitch_16e + :pswitch_16a + :pswitch_167 + :pswitch_164 + :pswitch_161 + :pswitch_15e + :pswitch_15b + :pswitch_155 + .end packed-switch +.end method + +.method protected getWhatToString(I)Ljava/lang/String; + .registers 2 + + .line 2351 + invoke-static {p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String; + + move-result-object p1 + + return-object p1 +.end method + +.method isActivating()Z + .registers 3 + + .line 315 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method isActive()Z + .registers 3 + + .line 311 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method isDisconnecting()Z + .registers 3 + + .line 307 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method isInactive()Z + .registers 3 + + .line 303 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method public isIpv4Connected()Z + .registers 4 + + .line 363 + nop + + .line 364 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List; + + move-result-object v0 + + .line 366 + invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_b + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_38 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 367 + instance-of v2, v1, Ljava/net/Inet4Address; + + if-eqz v2, :cond_37 + + .line 368 + check-cast v1, Ljava/net/Inet4Address; + + .line 369 + invoke-virtual {v1}, Ljava/net/Inet4Address;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet4Address;->isLinkLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + .line 370 + invoke-virtual {v1}, Ljava/net/Inet4Address;->isLoopbackAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet4Address;->isMulticastAddress()Z + + move-result v1 + + if-nez v1, :cond_37 + + .line 371 + const/4 v0, 0x1 + + .line 372 + goto :goto_39 + + .line 375 + :cond_37 + goto :goto_b + + .line 376 + :cond_38 + const/4 v0, 0x0 + + :goto_39 + return v0 +.end method + +.method public isIpv6Connected()Z + .registers 4 + + .line 380 + nop + + .line 381 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List; + + move-result-object v0 + + .line 383 + invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_b + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_38 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 384 + instance-of v2, v1, Ljava/net/Inet6Address; + + if-eqz v2, :cond_37 + + .line 385 + check-cast v1, Ljava/net/Inet6Address; + + .line 386 + invoke-virtual {v1}, Ljava/net/Inet6Address;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet6Address;->isLinkLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + .line 387 + invoke-virtual {v1}, Ljava/net/Inet6Address;->isLoopbackAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet6Address;->isMulticastAddress()Z + + move-result v1 + + if-nez v1, :cond_37 + + .line 388 + const/4 v0, 0x1 + + .line 389 + goto :goto_39 + + .line 392 + :cond_37 + goto :goto_b + + .line 393 + :cond_38 + const/4 v0, 0x0 + + :goto_39 + return v0 +.end method + +.method protected log(Ljava/lang/String;)V + .registers 3 + + .line 2406 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I + + .line 2407 + return-void +.end method + +.method protected logd(Ljava/lang/String;)V + .registers 3 + + .line 2416 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I + + .line 2417 + return-void +.end method + +.method protected loge(Ljava/lang/String;)V + .registers 3 + + .line 2456 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I + + .line 2457 + return-void +.end method + +.method protected loge(Ljava/lang/String;Ljava/lang/Throwable;)V + .registers 4 + + .line 2467 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1, p2}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + .line 2468 + return-void +.end method + +.method protected logi(Ljava/lang/String;)V + .registers 3 + + .line 2436 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;)I + + .line 2437 + return-void +.end method + +.method protected logv(Ljava/lang/String;)V + .registers 3 + + .line 2426 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;)I + + .line 2427 + return-void +.end method + +.method protected logw(Ljava/lang/String;)V + .registers 3 + + .line 2446 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I + + .line 2447 + return-void +.end method + +.method public onSubscriptionOverride(II)V + .registers 5 + + .line 557 + iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I + + not-int v1, p1 + + and-int/2addr v0, v1 + + and-int/2addr p1, p2 + + or-int/2addr p1, v0 + + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I + + .line 559 + const p1, 0x40011 + + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message; + + move-result-object p1 + + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V + + .line 560 + return-void +.end method + +.method setLinkPropertiesHttpProxy(Landroid/net/ProxyInfo;)V + .registers 3 + + .line 327 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0, p1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V + + .line 328 + return-void +.end method + +.method tearDownNow()V + .registers 2 + + .line 2312 + const-string v0, "tearDownNow()" + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 2313 + const v0, 0x40008 + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message; + + move-result-object v0 + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V + + .line 2314 + return-void +.end method + +.method public toString()Ljava/lang/String; + .registers 3 + + .line 2485 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "{" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->toStringSimple()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, " mApnContexts=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, "}" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + return-object v0 +.end method + +.method public toStringSimple()Ljava/lang/String; + .registers 4 + + .line 2472 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, ": State=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v1 + + invoke-interface {v1}, Lcom/android/internal/util/IState;->getName()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, " mApnSetting=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " RefCount=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + .line 2473 + invoke-virtual {v1}, Ljava/util/HashMap;->size()I + + move-result v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v1, " mCid=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v1, " mCreateTime=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + const-string v1, " mLastastFailTime=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + const-string v1, " mLastFailCause=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " mTag=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v1, " mLinkProperties=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " linkCapabilities=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2479 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " mRestrictedNetworkOverride=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + .line 2472 + return-object v0 +.end method + +.method public updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult; + .registers 4 + .annotation build Lcom/android/internal/annotations/VisibleForTesting; + .end annotation + + .line 398 + new-instance v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-direct {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->(Landroid/net/LinkProperties;)V + + .line 400 + if-nez p1, :cond_a + + return-object v0 + + .line 402 + :cond_a + new-instance v1, Landroid/net/LinkProperties; + + invoke-direct {v1}, Landroid/net/LinkProperties;->()V + + iput-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + .line 405 + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + move-result-object p1 + + iput-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 406 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + if-eq p1, v1, :cond_36 + + .line 407 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v1, "updateLinkProperty failed : " + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 408 + return-object v0 + + .line 411 + :cond_36 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v1}, Landroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo; + + move-result-object v1 + + invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V + + .line 413 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->checkSetMtu(Lcom/android/internal/telephony/dataconnection/ApnSetting;Landroid/net/LinkProperties;)V + + .line 415 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + .line 417 + iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V + + .line 419 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z + + move-result p1 + + if-nez p1, :cond_87 + + .line 420 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v1, "updateLinkProperty old LP=" + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 421 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v1, "updateLinkProperty new LP=" + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 424 + :cond_87 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z + + move-result p1 + + if-nez p1, :cond_9c + + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + if-eqz p1, :cond_9c + + .line 426 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V + + .line 429 + :cond_9c + return-object v0 +.end method diff --git a/autotests/html/test.smali.html b/autotests/html/test.smali.html new file mode 100644 --- /dev/null +++ b/autotests/html/test.smali.html @@ -0,0 +1,5953 @@ + + + +test.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$DcActiveState;,
+        Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;,
+        Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;,
+        Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;,
+        Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;,
+        Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;,
+        Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;,
+        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_OVERRIDE_CHANGED:I = 0x40011
+
+.field static final EVENT_DATA_CONNECTION_ROAM_OFF:I = 0x4000d
+
+.field static final EVENT_DATA_CONNECTION_ROAM_ON:I = 0x4000c
+
+.field static final EVENT_DATA_CONNECTION_VOICE_CALL_ENDED:I = 0x40010
+
+.field static final EVENT_DATA_CONNECTION_VOICE_CALL_STARTED:I = 0x4000f
+
+.field static final EVENT_DATA_STATE_CHANGED:I = 0x40007
+
+.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_KEEPALIVE_STOPPED:I = 0x40014
+
+.field static final EVENT_KEEPALIVE_STOP_REQUEST:I = 0x40016
+
+.field static final EVENT_LINK_CAPACITY_CHANGED:I = 0x40017
+
+.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_EHRPD:Ljava/lang/String; = "131072,262144,1048576,4096,16384,524288"
+
+.field private static final TCP_BUFFER_SIZES_EVDO:Ljava/lang/String; = "4094,87380,262144,4096,16384,262144"
+
+.field private static final TCP_BUFFER_SIZES_GPRS:Ljava/lang/String; = "4092,8760,48000,4096,8760,48000"
+
+.field private static final TCP_BUFFER_SIZES_HSDPA:Ljava/lang/String; = "61167,367002,1101005,8738,52429,262114"
+
+.field private static final TCP_BUFFER_SIZES_HSPA:Ljava/lang/String; = "40778,244668,734003,16777,100663,301990"
+
+.field private static final TCP_BUFFER_SIZES_HSPAP:Ljava/lang/String; = "122334,734003,2202010,32040,192239,576717"
+
+.field private static final TCP_BUFFER_SIZES_LTE:Ljava/lang/String; = "524288,1048576,2097152,262144,524288,1048576"
+
+.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 mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+.field private mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+.field private mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+.field private mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+.field private mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+.field private mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+.field private mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+.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 230
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_SETUP_DATA_CONNECTION_DONE"
+
+    const/4 v2, 0x1
+
+    aput-object v1, v0, v2
+
+    .line 232
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DEACTIVATE_DONE"
+
+    const/4 v2, 0x3
+
+    aput-object v1, v0, v2
+
+    .line 233
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DISCONNECT"
+
+    const/4 v2, 0x4
+
+    aput-object v1, v0, v2
+
+    .line 234
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_RIL_CONNECTED"
+
+    const/4 v2, 0x5
+
+    aput-object v1, v0, v2
+
+    .line 235
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DISCONNECT_ALL"
+
+    const/4 v2, 0x6
+
+    aput-object v1, v0, v2
+
+    .line 236
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DATA_STATE_CHANGED"
+
+    const/4 v2, 0x7
+
+    aput-object v1, v0, v2
+
+    .line 237
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_TEAR_DOWN_NOW"
+
+    const/16 v2, 0x8
+
+    aput-object v1, v0, v2
+
+    .line 238
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_LOST_CONNECTION"
+
+    const/16 v2, 0x9
+
+    aput-object v1, v0, v2
+
+    .line 239
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DATA_CONNECTION_DRS_OR_RAT_CHANGED"
+
+    const/16 v2, 0xb
+
+    aput-object v1, v0, v2
+
+    .line 241
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DATA_CONNECTION_ROAM_ON"
+
+    const/16 v2, 0xc
+
+    aput-object v1, v0, v2
+
+    .line 242
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DATA_CONNECTION_ROAM_OFF"
+
+    const/16 v2, 0xd
+
+    aput-object v1, v0, v2
+
+    .line 243
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_BW_REFRESH_RESPONSE"
+
+    const/16 v2, 0xe
+
+    aput-object v1, v0, v2
+
+    .line 244
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_STARTED"
+
+    const/16 v2, 0xf
+
+    aput-object v1, v0, v2
+
+    .line 246
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_ENDED"
+
+    const/16 v2, 0x10
+
+    aput-object v1, v0, v2
+
+    .line 248
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_DATA_CONNECTION_OVERRIDE_CHANGED"
+
+    const/16 v2, 0x11
+
+    aput-object v1, v0, v2
+
+    .line 250
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_KEEPALIVE_STATUS"
+
+    const/16 v2, 0x12
+
+    aput-object v1, v0, v2
+
+    .line 251
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_KEEPALIVE_STARTED"
+
+    const/16 v2, 0x13
+
+    aput-object v1, v0, v2
+
+    .line 252
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_KEEPALIVE_STOPPED"
+
+    const/16 v2, 0x14
+
+    aput-object v1, v0, v2
+
+    .line 253
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_KEEPALIVE_START_REQUEST"
+
+    const/16 v2, 0x15
+
+    aput-object v1, v0, v2
+
+    .line 254
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+    const-string v1, "EVENT_KEEPALIVE_STOP_REQUEST"
+
+    const/16 v2, 0x16
+
+    aput-object v1, v0, v2
+
+    .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 1562
+    new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+    invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;-><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;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+    .line 1676
+    new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+    invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;-><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;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+    .line 1991
+    new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+    invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;-><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;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+    .line 2049
+    new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+    invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;-><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;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+    .line 2102
+    new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+    invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;-><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;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+    .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 472
+    iput-object p4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+    .line 473
+    iput-object p5, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+    .line 474
+    iput-object p6, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+    .line 475
+    iput-object p7, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController;
+
+    .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 488
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+    iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+    invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+    .line 489
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+    iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+    invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+    .line 490
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+    iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+    invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+    .line 491
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+    iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+    invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+    .line 492
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+    iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+    invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;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$100(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/Phone;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    return-object p0
+.end method
+
+.method static synthetic access$1002(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;)Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+    return-object p1
+.end method
+
+.method static synthetic access$102(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/Phone;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    return-object p1
+.end method
+
+.method static synthetic access$1100(Lcom/android/internal/telephony/dataconnection/DataConnection;)I
+    .registers 1
+
+    .line 97
+    iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mId:I
+
+    return p0
+.end method
+
+.method static synthetic access$1200(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+    .registers 1
+
+    .line 97
+    invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->dumpToLog()V
+
+    return-void
+.end method
+
+.method static synthetic access$1300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+    return-object p0
+.end method
+
+.method static synthetic access$1302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+    return-object p1
+.end method
+
+.method static synthetic access$1400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+    return-object p0
+.end method
+
+.method static synthetic access$1500(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V
+    .registers 4
+
+    .line 97
+    invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V
+
+    return-void
+.end method
+
+.method static synthetic access$1600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V
+    .registers 2
+
+    .line 97
+    invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->logAndAddLogRec(Ljava/lang/String;)V
+
+    return-void
+.end method
+
+.method static synthetic access$1700(Lcom/android/internal/telephony/dataconnection/DataConnection;)I
+    .registers 1
+
+    .line 97
+    iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
+
+    return p0
+.end method
+
+.method static synthetic access$1702(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I
+    .registers 2
+
+    .line 97
+    iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
+
+    return p1
+.end method
+
+.method static synthetic access$1800(Lcom/android/internal/telephony/dataconnection/DataConnection;)I
+    .registers 1
+
+    .line 97
+    iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+    return p0
+.end method
+
+.method static synthetic access$1802(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I
+    .registers 2
+
+    .line 97
+    iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+    return p1
+.end method
+
+.method static synthetic access$1900(Lcom/android/internal/telephony/dataconnection/DataConnection;I)V
+    .registers 2
+
+    .line 97
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V
+
+    return-void
+.end method
+
+.method static synthetic access$200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcController;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController;
+
+    return-object p0
+.end method
+
+.method static synthetic access$2000(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+    .registers 1
+
+    .line 97
+    invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfo()V
+
+    return-void
+.end method
+
+.method static synthetic access$202(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DcController;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController;
+
+    return-object p1
+.end method
+
+.method static synthetic access$2100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+    .registers 1
+
+    .line 97
+    invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfoSuspendState()V
+
+    return-void
+.end method
+
+.method static synthetic access$2200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/NetworkInfo;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    return-object p0
+.end method
+
+.method static synthetic access$2400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+    return-object p0
+.end method
+
+.method static synthetic access$2402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+    return-object p1
+.end method
+
+.method static synthetic access$2500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+    return-object p0
+.end method
+
+.method static synthetic access$2502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+    return-object p1
+.end method
+
+.method static synthetic access$2600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    return-object p0
+.end method
+
+.method static synthetic access$2602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    return-object p1
+.end method
+
+.method static synthetic access$2700(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
+    .registers 3
+
+    .line 97
+    invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
+
+    return-void
+.end method
+
+.method static synthetic access$2800(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
+    .registers 2
+
+    .line 97
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
+
+    return-void
+.end method
+
+.method static synthetic access$2900(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+    .registers 1
+
+    .line 97
+    invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->clearSettings()V
+
+    return-void
+.end method
+
+.method static synthetic access$300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/util/AsyncChannel;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel;
+
+    return-object p0
+.end method
+
+.method static synthetic access$3000(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z
+    .registers 2
+
+    .line 97
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->initConnection(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z
+
+    move-result p0
+
+    return p0
+.end method
+
+.method static synthetic access$302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/util/AsyncChannel;)Lcom/android/internal/util/AsyncChannel;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel;
+
+    return-object p1
+.end method
+
+.method static synthetic access$3100(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V
+    .registers 2
+
+    .line 97
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V
+
+    return-void
+.end method
+
+.method static synthetic access$3200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+    return-object p0
+.end method
+
+.method static synthetic access$3400(Lcom/android/internal/telephony/dataconnection/DataConnection;ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+    .registers 4
+
+    .line 97
+    invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    move-result-object p0
+
+    return-object p0
+.end method
+
+.method static synthetic access$3500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+    return-object p0
+.end method
+
+.method static synthetic access$3600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/Object;)V
+    .registers 2
+
+    .line 97
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->tearDownData(Ljava/lang/Object;)V
+
+    return-void
+.end method
+
+.method static synthetic access$3700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+    return-object p0
+.end method
+
+.method static synthetic access$3800(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/telephony/data/DataCallResponse;)J
+    .registers 2
+
+    .line 97
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J
+
+    move-result-wide p0
+
+    return-wide p0
+.end method
+
+.method static synthetic access$400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcTracker;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+    return-object p0
+.end method
+
+.method static synthetic access$4000(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V
+    .registers 2
+
+    .line 97
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllOfConnected(Ljava/lang/String;)V
+
+    return-void
+.end method
+
+.method static synthetic access$402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTracker;)Lcom/android/internal/telephony/dataconnection/DcTracker;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+    return-object p1
+.end method
+
+.method static synthetic access$4100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+    .registers 1
+
+    .line 97
+    invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setNetworkRestriction()V
+
+    return-void
+.end method
+
+.method static synthetic access$4200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Z
+    .registers 1
+
+    .line 97
+    iget-boolean p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+    return p0
+.end method
+
+.method static synthetic access$4300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+    return-object p0
+.end method
+
+.method static synthetic access$4800(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/util/LocalLog;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog;
+
+    return-object p0
+.end method
+
+.method static synthetic access$500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/ApnSetting;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    return-object p0
+.end method
+
+.method static synthetic access$502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/ApnSetting;)Lcom/android/internal/telephony/dataconnection/ApnSetting;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    return-object p1
+.end method
+
+.method static synthetic access$600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+    return-object p0
+.end method
+
+.method static synthetic access$602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataServiceManager;)Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+    return-object p1
+.end method
+
+.method static synthetic access$700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/LinkProperties;
+    .registers 1
+
+    .line 97
+    iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    return-object p0
+.end method
+
+.method static synthetic access$702(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/net/LinkProperties;)Landroid/net/LinkProperties;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    return-object p1
+.end method
+
+.method static synthetic access$802(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+    .registers 2
+
+    .line 97
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    return-object p1
+.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
+
+    move-result p2
+
+    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, 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 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, 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 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 735
+    iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    .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;
+
+    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    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 1172
+    invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/ApnContext;->getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    move-result-object v1
+
+    iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    .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
+
+    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    const-string v0, " mApnList="
+
+    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;
+
+    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    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="
+
+    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v0}, 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 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, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    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
+
+    iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String;
+
+    aput-object v3, v0, v2
+
+    const/4 v2, 0x3
+
+    iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String;
+
+    .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 public static isIpAddress(Ljava/lang/String;)Z
+    .registers 1
+    .annotation build Lcom/android/internal/annotations/VisibleForTesting;
+    .end annotation
+
+    .line 1064
+    if-nez p0, :cond_4
+
+    const/4 p0, 0x0
+
+    return p0
+
+    .line 1066
+    :cond_4
+    invoke-static {p0}, Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z
+
+    move-result p0
+
+    return p0
+.end method
+
+.method public static makeDataConnection(Lcom/android/internal/telephony/Phone;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DataConnection;
+    .registers 15
+
+    .line 283
+    new-instance v8, Lcom/android/internal/telephony/dataconnection/DataConnection;
+
+    new-instance v0, Ljava/lang/StringBuilder;
+
+    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "DC-"
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger;
+
+    .line 284
+    invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
+
+    move-result v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v2
+
+    move-object v0, v8
+
+    move-object v1, p0
+
+    move v3, p1
+
+    move-object v4, p2
+
+    move-object v5, p3
+
+    move-object v6, p4
+
+    move-object v7, p5
+
+    invoke-direct/range {v0 .. v7}, Lcom/android/internal/telephony/dataconnection/DataConnection;-><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
+
+    .line 286
+    invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->start()V
+
+    .line 287
+    new-instance p0, Ljava/lang/StringBuilder;
+
+    invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string p1, "Made "
+
+    invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object p1
+
+    invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p0
+
+    invoke-virtual {v8, p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 288
+    return-object v8
+.end method
+
+.method private static msgToString(Landroid/os/Message;)Ljava/lang/String;
+    .registers 6
+
+    .line 2356
+    if-nez p0, :cond_5
+
+    .line 2357
+    const-string p0, "null"
+
+    goto :goto_72
+
+    .line 2359
+    :cond_5
+    new-instance v0, Ljava/lang/StringBuilder;
+
+    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+    .line 2361
+    const-string v1, "{what="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2362
+    iget v1, p0, Landroid/os/Message;->what:I
+
+    invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2364
+    const-string v1, " when="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2365
+    invoke-virtual {p0}, Landroid/os/Message;->getWhen()J
+
+    move-result-wide v1
+
+    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
+
+    move-result-wide v3
+
+    sub-long/2addr v1, v3
+
+    invoke-static {v1, v2, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V
+
+    .line 2367
+    iget v1, p0, Landroid/os/Message;->arg1:I
+
+    if-eqz v1, :cond_37
+
+    .line 2368
+    const-string v1, " arg1="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2369
+    iget v1, p0, Landroid/os/Message;->arg1:I
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    .line 2372
+    :cond_37
+    iget v1, p0, Landroid/os/Message;->arg2:I
+
+    if-eqz v1, :cond_45
+
+    .line 2373
+    const-string v1, " arg2="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2374
+    iget v1, p0, Landroid/os/Message;->arg2:I
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    .line 2377
+    :cond_45
+    iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+    if-eqz v1, :cond_53
+
+    .line 2378
+    const-string v1, " obj="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2379
+    iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    .line 2382
+    :cond_53
+    const-string v1, " target="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2383
+    invoke-virtual {p0}, Landroid/os/Message;->getTarget()Landroid/os/Handler;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    .line 2385
+    const-string v1, " replyTo="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2386
+    iget-object p0, p0, Landroid/os/Message;->replyTo:Landroid/os/Messenger;
+
+    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    .line 2388
+    const-string p0, "}"
+
+    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2390
+    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p0
+
+    .line 2392
+    :goto_72
+    return-object p0
+.end method
+
+.method private notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
+    .registers 4
+
+    .line 610
+    invoke-virtual {p1}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+    move-result-object p1
+
+    const/4 v0, 0x0
+
+    const v1, 0x4200f
+
+    invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+    .line 611
+    return-void
+.end method
+
+.method private notifyAllOfConnected(Ljava/lang/String;)V
+    .registers 4
+
+    .line 603
+    const/4 v0, 0x0
+
+    const v1, 0x42000
+
+    invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+    .line 604
+    return-void
+.end method
+
+.method private notifyAllOfDisconnectDcRetrying(Ljava/lang/String;)V
+    .registers 4
+
+    .line 607
+    const/4 v0, 0x0
+
+    const v1, 0x42022
+
+    invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+    .line 608
+    return-void
+.end method
+
+.method private notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+    .registers 8
+
+    .line 588
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    invoke-virtual {v1}, Landroid/net/NetworkInfo;->getDetailedState()Landroid/net/NetworkInfo$DetailedState;
+
+    move-result-object v1
+
+    iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    .line 589
+    invoke-virtual {v2}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+    move-result-object v2
+
+    .line 588
+    invoke-virtual {v0, v1, p3, v2}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+    .line 590
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+    invoke-virtual {v0}, Ljava/util/HashMap;->values()Ljava/util/Collection;
+
+    move-result-object v0
+
+    invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+    move-result-object v0
+
+    :goto_1b
+    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_49
+
+    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+    move-result-object v1
+
+    check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+    .line 591
+    iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+    .line 592
+    if-ne v2, p1, :cond_2c
+
+    goto :goto_1b
+
+    .line 593
+    :cond_2c
+    if-eqz p3, :cond_31
+
+    invoke-virtual {v2, p3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->setReason(Ljava/lang/String;)V
+
+    .line 594
+    :cond_31
+    new-instance v3, Landroid/util/Pair;
+
+    iget v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mConnectionGeneration:I
+
+    .line 595
+    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+    move-result-object v1
+
+    invoke-direct {v3, v2, v1}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
+
+    .line 596
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+    invoke-virtual {v1, p2, v3}, Lcom/android/internal/telephony/dataconnection/DcTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
+
+    move-result-object v1
+
+    .line 597
+    invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
+
+    .line 598
+    invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
+
+    .line 599
+    goto :goto_1b
+
+    .line 600
+    :cond_49
+    return-void
+.end method
+
+.method private notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V
+    .registers 9
+
+    .line 622
+    nop
+
+    .line 624
+    const/4 v0, 0x0
+
+    if-eqz p1, :cond_5f
+
+    iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message;
+
+    if-eqz v1, :cond_5f
+
+    .line 626
+    iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message;
+
+    .line 627
+    iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message;
+
+    .line 628
+    iget-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+    .line 630
+    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+    move-result-wide v2
+
+    .line 631
+    iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+    iput p1, v1, Landroid/os/Message;->arg1:I
+
+    .line 633
+    sget-object p1, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    if-ne p2, p1, :cond_20
+
+    .line 634
+    iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+    .line 635
+    invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
+
+    goto :goto_34
+
+    .line 637
+    :cond_20
+    iput-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    .line 638
+    iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+    .line 641
+    if-nez p2, :cond_28
+
+    sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    .line 642
+    :cond_28
+    new-instance p1, Ljava/lang/Throwable;
+
+    .line 643
+    invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+    move-result-object v4
+
+    invoke-direct {p1, v4}, Ljava/lang/Throwable;-><init>(Ljava/lang/String;)V
+
+    .line 642
+    invoke-static {v1, p2, p1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult;
+
+    .line 646
+    :goto_34
+    new-instance p1, Ljava/lang/StringBuilder;
+
+    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v4, "notifyConnectCompleted at "
+
+    invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
+
+    const-string v2, " cause="
+
+    invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v2, " connectionCompletedMsg="
+
+    invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 647
+    invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->msgToString(Landroid/os/Message;)Ljava/lang/String;
+
+    move-result-object v2
+
+    invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p1
+
+    .line 646
+    invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 650
+    invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
+
+    .line 652
+    :cond_5f
+    if-eqz p3, :cond_8b
+
+    .line 653
+    new-instance p1, Ljava/lang/StringBuilder;
+
+    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string p3, "Send to all. "
+
+    invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string p3, " "
+
+    invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+    move-result-object p3
+
+    invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, 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 654
+    const p1, 0x42023
+
+    .line 655
+    invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    .line 654
+    invoke-direct {p0, v0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+    .line 657
+    :cond_8b
+    return-void
+.end method
+
+.method private notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
+    .registers 10
+
+    .line 665
+    const-string v0, "NotifyDisconnectCompleted"
+
+    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 667
+    nop
+
+    .line 668
+    nop
+
+    .line 670
+    const/4 v0, 0x0
+
+    if-eqz p1, :cond_4a
+
+    iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message;
+
+    if-eqz v1, :cond_4a
+
+    .line 672
+    iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message;
+
+    .line 673
+    iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message;
+
+    .line 674
+    iget-object v2, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+    instance-of v2, v2, Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+    if-eqz v2, :cond_1c
+
+    .line 675
+    iget-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+    check-cast v0, Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+    .line 677
+    :cond_1c
+    iget-object v2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String;
+
+    .line 679
+    const-string v3, "msg=%s msg.obj=%s"
+
+    const/4 v4, 0x2
+
+    new-array v4, v4, [Ljava/lang/Object;
+
+    const/4 v5, 0x0
+
+    invoke-virtual {v1}, Landroid/os/Message;->toString()Ljava/lang/String;
+
+    move-result-object v6
+
+    aput-object v6, v4, v5
+
+    const/4 v5, 0x1
+
+    .line 680
+    iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+    instance-of v6, v6, Ljava/lang/String;
+
+    if-eqz v6, :cond_36
+
+    iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+    check-cast v6, Ljava/lang/String;
+
+    goto :goto_38
+
+    :cond_36
+    const-string v6, "<no-reason>"
+
+    :goto_38
+    aput-object v6, v4, v5
+
+    .line 679
+    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
+
+    .line 682
+    invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
+
+    .line 683
+    invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
+
+    .line 685
+    move-object v1, v0
+
+    move-object v0, v2
+
+    goto :goto_4b
+
+    :cond_4a
+    move-object v1, v0
+
+    :goto_4b
+    if-eqz p2, :cond_5b
+
+    .line 686
+    if-nez v0, :cond_55
+
+    .line 687
+    sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+    move-result-object v0
+
+    .line 689
+    :cond_55
+    const p2, 0x4200f
+
+    invoke-direct {p0, v1, p2, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+    .line 691
+    :cond_5b
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v0, "NotifyDisconnectCompleted DisconnectParams="
+
+    invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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 692
+    return-void
+.end method
+
+.method private onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V
+    .registers 21
+
+    move-object/from16 v0, p0
+
+    .line 506
+    move-object/from16 v1, p1
+
+    new-instance v2, Ljava/lang/StringBuilder;
+
+    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v3, "onConnect: carrier=\'"
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->carrier:Ljava/lang/String;
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v3, "\' APN=\'"
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->apn:Ljava/lang/String;
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v3, "\' proxy=\'"
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->proxy:Ljava/lang/String;
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v3, "\' port=\'"
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->port:Ljava/lang/String;
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v3, "\'"
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v2
+
+    invoke-virtual {v0, v2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 509
+    iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+    if-eqz v2, :cond_50
+
+    iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+    const-string v3, "DataConnection.onConnect"
+
+    invoke-virtual {v2, v3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V
+
+    .line 512
+    :cond_50
+    iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+    invoke-virtual {v2}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+    move-result-object v2
+
+    iget v2, v2, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I
+
+    const/4 v3, 0x1
+
+    const v4, 0x40001
+
+    if-lez v2, :cond_bd
+
+    .line 513
+    new-instance v2, Landroid/telephony/data/DataCallResponse;
+
+    iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+    .line 514
+    invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+    move-result-object v5
+
+    iget-object v5, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I
+
+    move-result v6
+
+    iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+    .line 515
+    invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+    move-result-object v5
+
+    iget v7, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mSuggestedRetryTime:I
+
+    const/4 v8, 0x0
+
+    const/4 v9, 0x0
+
+    const-string v10, ""
+
+    const-string v11, ""
+
+    const/4 v12, 0x0
+
+    const/4 v13, 0x0
+
+    const/4 v14, 0x0
+
+    const/4 v15, 0x0
+
+    const/16 v16, 0x0
+
+    move-object v5, v2
+
+    invoke-direct/range {v5 .. v16}, Landroid/telephony/data/DataCallResponse;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V
+
+    .line 518
+    invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
+
+    move-result-object v1
+
+    .line 519
+    const/4 v4, 0x0
+
+    invoke-static {v1, v2, v4}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult;
+
+    .line 520
+    invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V
+
+    .line 522
+    new-instance v1, Ljava/lang/StringBuilder;
+
+    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v4, "onConnect: FailBringUpAll="
+
+    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+    invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+    move-result-object v4
+
+    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v4, " send error response="
+
+    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 525
+    iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+    invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+    move-result-object v0
+
+    iget v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I
+
+    sub-int/2addr v1, v3
+
+    iput v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I
+
+    .line 526
+    return-void
+
+    .line 529
+    :cond_bd
+    const-wide/16 v5, -0x1
+
+    iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+    .line 530
+    iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+    .line 531
+    sget-object v2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    iput-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    .line 533
+    invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
+
+    move-result-object v12
+
+    .line 534
+    iput-object v1, v12, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+    .line 536
+    iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget v4, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mProfileId:I
+
+    invoke-static {v2, v4}, Lcom/android/internal/telephony/dataconnection/DcTracker;->createDataProfile(Lcom/android/internal/telephony/dataconnection/ApnSetting;I)Landroid/telephony/data/DataProfile;
+
+    move-result-object v2
+
+    .line 541
+    iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoamingFromRegistration()Z
+
+    move-result v8
+
+    .line 546
+    iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getDataRoamingEnabled()Z
+
+    move-result v4
+
+    if-nez v4, :cond_f8
+
+    if-eqz v8, :cond_f6
+
+    iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    .line 547
+    invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoaming()Z
+
+    move-result v4
+
+    if-nez v4, :cond_f6
+
+    goto :goto_f8
+
+    :cond_f6
+    const/4 v3, 0x0
+
+    nop
+
+    .line 549
+    :cond_f8
+    :goto_f8
+    move v9, v3
+
+    iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+    iget v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I
+
+    .line 550
+    invoke-static {v3}, Landroid/telephony/ServiceState;->rilRadioTechnologyToAccessNetworkType(I)I
+
+    move-result v6
+
+    const/4 v10, 0x1
+
+    const/4 v11, 0x0
+
+    .line 549
+    move-object v7, v2
+
+    invoke-virtual/range {v5 .. v12}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V
+
+    .line 552
+    invoke-static {}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->getInstance()Lcom/android/internal/telephony/metrics/TelephonyMetrics;
+
+    move-result-object v13
+
+    iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getPhoneId()I
+
+    move-result v14
+
+    iget v15, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I
+
+    .line 553
+    invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProfileId()I
+
+    move-result v16
+
+    invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getApn()Ljava/lang/String;
+
+    move-result-object v17
+
+    invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProtocol()Ljava/lang/String;
+
+    move-result-object v18
+
+    .line 552
+    invoke-virtual/range {v13 .. v18}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetupDataCall(IIILjava/lang/String;Ljava/lang/String;)V
+
+    .line 554
+    return-void
+.end method
+
+.method private onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+    .registers 6
+
+    .line 751
+    iget v0, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+    if-eq v0, v1, :cond_29
+
+    .line 753
+    new-instance p1, Ljava/lang/StringBuilder;
+
+    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string p2, "onSetupConnectionCompleted stale cp.tag="
+
+    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget p2, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I
+
+    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    const-string p2, ", mtag="
+
+    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, 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 755
+    sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_STALE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    goto :goto_80
+
+    .line 756
+    :cond_29
+    const/4 p3, 0x4
+
+    if-ne p1, p3, :cond_33
+
+    .line 757
+    sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    .line 758
+    sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    goto :goto_80
+
+    .line 759
+    :cond_33
+    invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+    move-result p1
+
+    if-eqz p1, :cond_59
+
+    .line 760
+    invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+    move-result p1
+
+    sget-object p3, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    invoke-virtual {p3}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I
+
+    move-result p3
+
+    if-ne p1, p3, :cond_4c
+
+    .line 761
+    sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    .line 762
+    sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    goto :goto_80
+
+    .line 764
+    :cond_4c
+    sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    .line 765
+    invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+    move-result p2
+
+    invoke-static {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->fromInt(I)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    move-result-object p2
+
+    iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    goto :goto_80
+
+    .line 768
+    :cond_59
+    const-string p1, "onSetupConnectionCompleted received successful DataCallResponse"
+
+    invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 769
+    invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getCallId()I
+
+    move-result p1
+
+    iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+    .line 771
+    invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List;
+
+    move-result-object p1
+
+    invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List;
+
+    move-result-object p3
+
+    invoke-interface {p3}, Ljava/util/List;->size()I
+
+    move-result p3
+
+    new-array p3, p3, [Ljava/lang/String;
+
+    invoke-interface {p1, p3}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+
+    move-result-object p1
+
+    check-cast p1, [Ljava/lang/String;
+
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPcscfAddr:[Ljava/lang/String;
+
+    .line 773
+    invoke-virtual {p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
+
+    move-result-object p1
+
+    iget-object p1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    .line 776
+    :goto_80
+    return-object p1
+.end method
+
+.method private setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+    .registers 10
+
+    .line 1072
+    new-instance v0, Ljava/lang/StringBuilder;
+
+    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "net."
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v1, "."
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v0
+
+    .line 1073
+    const/4 v1, 0x2
+
+    new-array v1, v1, [Ljava/lang/String;
+
+    .line 1074
+    new-instance v2, Ljava/lang/StringBuilder;
+
+    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
+
+    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v3, "dns1"
+
+    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v2
+
+    invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
+
+    move-result-object v2
+
+    const/4 v3, 0x0
+
+    aput-object v2, v1, v3
+
+    .line 1075
+    new-instance v2, Ljava/lang/StringBuilder;
+
+    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
+
+    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v0, "dns2"
+
+    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
+
+    move-result-object v0
+
+    const/4 v2, 0x1
+
+    aput-object v0, v1, v2
+
+    .line 1076
+    invoke-direct {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->isDnsOk([Ljava/lang/String;)Z
+
+    move-result v0
+
+    .line 1082
+    invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V
+
+    .line 1084
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+    move-result v2
+
+    sget-object v4, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I
+
+    move-result v4
+
+    if-ne v2, v4, :cond_17c
+
+    .line 1087
+    :try_start_60
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String;
+
+    move-result-object v2
+
+    invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V
+
+    .line 1090
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List;
+
+    move-result-object v2
+
+    invoke-interface {v2}, Ljava/util/List;->size()I
+
+    move-result v2
+
+    if-lez v2, :cond_149
+
+    .line 1091
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List;
+
+    move-result-object v2
+
+    invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+    move-result-object v2
+
+    :goto_79
+    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
+
+    move-result v4
+
+    if-eqz v4, :cond_b7
+
+    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+    move-result-object v4
+
+    check-cast v4, Landroid/net/LinkAddress;
+
+    .line 1092
+    invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress;
+
+    move-result-object v5
+
+    invoke-virtual {v5}, Ljava/net/InetAddress;->isAnyLocalAddress()Z
+
+    move-result v5
+
+    if-nez v5, :cond_b6
+
+    .line 1094
+    new-instance v5, Ljava/lang/StringBuilder;
+
+    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v6, "addr/pl="
+
+    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress;
+
+    move-result-object v6
+
+    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v6, "/"
+
+    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 1095
+    invoke-virtual {v4}, Landroid/net/LinkAddress;->getNetworkPrefixLength()I
+
+    move-result v6
+
+    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v5
+
+    .line 1094
+    invoke-virtual {p0, v5}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 1097
+    invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z
+
+    .line 1099
+    :cond_b6
+    goto :goto_79
+
+    .line 1105
+    :cond_b7
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List;
+
+    move-result-object v2
+
+    invoke-interface {v2}, Ljava/util/List;->size()I
+
+    move-result v2
+
+    if-lez v2, :cond_df
+
+    .line 1106
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List;
+
+    move-result-object v0
+
+    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+    move-result-object v0
+
+    :goto_c9
+    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_11a
+
+    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+    move-result-object v1
+
+    check-cast v1, Ljava/net/InetAddress;
+
+    .line 1107
+    invoke-virtual {v1}, Ljava/net/InetAddress;->isAnyLocalAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_de
+
+    .line 1108
+    invoke-virtual {p2, v1}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z
+
+    .line 1110
+    :cond_de
+    goto :goto_c9
+
+    .line 1111
+    :cond_df
+    if-eqz v0, :cond_141
+
+    .line 1112
+    array-length v0, v1
+
+    :goto_e2
+    if-ge v3, v0, :cond_11a
+
+    aget-object v2, v1, v3
+
+    .line 1113
+    invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;
+
+    move-result-object v2
+
+    .line 1114
+    invoke-virtual {v2}, Ljava/lang/String;->isEmpty()Z
+
+    move-result v4
+    :try_end_ee
+    .catch Ljava/net/UnknownHostException; {:try_start_60 .. :try_end_ee} :catch_164
+
+    if-eqz v4, :cond_f1
+
+    goto :goto_ff
+
+    .line 1117
+    :cond_f1
+    :try_start_f1
+    invoke-static {v2}, Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress;
+
+    move-result-object v4
+    :try_end_f5
+    .catch Ljava/lang/IllegalArgumentException; {:try_start_f1 .. :try_end_f5} :catch_102
+    .catch Ljava/net/UnknownHostException; {:try_start_f1 .. :try_end_f5} :catch_164
+
+    .line 1120
+    nop
+
+    .line 1121
+    :try_start_f6
+    invoke-virtual {v4}, Ljava/net/InetAddress;->isAnyLocalAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_ff
+
+    .line 1122
+    invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z
+
+    .line 1112
+    :cond_ff
+    :goto_ff
+    add-int/lit8 v3, v3, 0x1
+
+    goto :goto_e2
+
+    .line 1118
+    :catch_102
+    move-exception v0
+
+    .line 1119
+    new-instance v0, Ljava/net/UnknownHostException;
+
+    new-instance v1, Ljava/lang/StringBuilder;
+
+    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v3, "Non-numeric dns addr="
+
+    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-direct {v0, v1}, Ljava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+
+    throw v0
+
+    .line 1129
+    :cond_11a
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getGateways()Ljava/util/List;
+
+    move-result-object v0
+
+    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+    move-result-object v0
+
+    :goto_122
+    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_137
+
+    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+    move-result-object v1
+
+    check-cast v1, Ljava/net/InetAddress;
+
+    .line 1132
+    new-instance v2, Landroid/net/RouteInfo;
+
+    invoke-direct {v2, v1}, Landroid/net/RouteInfo;-><init>(Ljava/net/InetAddress;)V
+
+    invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z
+
+    .line 1133
+    goto :goto_122
+
+    .line 1137
+    :cond_137
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getMtu()I
+
+    move-result v0
+
+    invoke-virtual {p2, v0}, Landroid/net/LinkProperties;->setMtu(I)V
+
+    .line 1139
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    goto :goto_17b
+
+    .line 1126
+    :cond_141
+    new-instance v0, Ljava/net/UnknownHostException;
+
+    const-string v1, "Empty dns response and no system default dns"
+
+    invoke-direct {v0, v1}, Ljava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+
+    throw v0
+
+    .line 1101
+    :cond_149
+    new-instance v0, Ljava/net/UnknownHostException;
+
+    new-instance v1, Ljava/lang/StringBuilder;
+
+    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v2, "no address for ifname="
+
+    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String;
+
+    move-result-object v2
+
+    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-direct {v0, v1}, Ljava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+
+    throw v0
+    :try_end_164
+    .catch Ljava/net/UnknownHostException; {:try_start_f6 .. :try_end_164} :catch_164
+
+    .line 1140
+    :catch_164
+    move-exception v0
+
+    .line 1141
+    new-instance v1, Ljava/lang/StringBuilder;
+
+    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v2, "setLinkProperties: UnknownHostException "
+
+    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 1142
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_INVALID_ARG:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    .line 1143
+    :goto_17b
+    goto :goto_17e
+
+    .line 1145
+    :cond_17c
+    sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    .line 1149
+    :goto_17e
+    sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    if-eq v0, v1, :cond_1a5
+
+    .line 1151
+    new-instance v1, Ljava/lang/StringBuilder;
+
+    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v2, "setLinkProperties: error clearing LinkProperties status="
+
+    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 1152
+    invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+    move-result p1
+
+    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    const-string p1, " result="
+
+    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p1
+
+    .line 1151
+    invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 1154
+    invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V
+
+    .line 1157
+    :cond_1a5
+    return-object v0
+.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 tearDownData(Ljava/lang/Object;)V
+    .registers 8
+
+    .line 569
+    nop
+
+    .line 570
+    nop
+
+    .line 571
+    const/4 v0, 0x1
+
+    if-eqz p1, :cond_24
+
+    instance-of v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+    if-eqz v1, :cond_24
+
+    .line 572
+    move-object v1, p1
+
+    check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+    .line 573
+    iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+    .line 574
+    iget-object v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String;
+
+    const-string v4, "radioTurnedOff"
+
+    invoke-static {v3, v4}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
+
+    move-result v3
+
+    if-nez v3, :cond_22
+
+    iget-object v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String;
+
+    const-string v3, "pdpReset"
+
+    .line 575
+    invoke-static {v1, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
+
+    move-result v1
+
+    if-eqz v1, :cond_25
+
+    .line 576
+    :cond_22
+    const/4 v0, 0x2
+
+    goto :goto_25
+
+    .line 580
+    :cond_24
+    const/4 v2, 0x0
+
+    :cond_25
+    :goto_25
+    new-instance v1, Ljava/lang/StringBuilder;
+
+    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v3, "tearDownData. mCid="
+
+    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    const-string v3, ", reason="
+
+    invoke-virtual {v1, v3}, 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
+
+    .line 581
+    invoke-virtual {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 582
+    if-eqz v2, :cond_48
+
+    invoke-virtual {v2, v1}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V
+
+    .line 583
+    :cond_48
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+    iget v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+    const v3, 0x40003
+
+    iget v4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+    const/4 v5, 0x0
+
+    .line 584
+    invoke-virtual {p0, v3, v4, v5, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
+
+    move-result-object p1
+
+    .line 583
+    invoke-virtual {v1, v2, v0, p1}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->deactivateDataCall(IILandroid/os/Message;)V
+
+    .line 585
+    return-void
+.end method
+
+.method private updateNetworkInfo()V
+    .registers 5
+
+    .line 1408
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
+
+    move-result-object v0
+
+    .line 1409
+    invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataNetworkType()I
+
+    move-result v1
+
+    .line 1410
+    iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    invoke-static {v1}, Landroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String;
+
+    move-result-object v3
+
+    invoke-virtual {v2, v1, v3}, Landroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V
+
+    .line 1411
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataRoaming()Z
+
+    move-result v0
+
+    invoke-virtual {v1, v0}, Landroid/net/NetworkInfo;->setRoaming(Z)V
+
+    .line 1412
+    return-void
+.end method
+
+.method private updateNetworkInfoSuspendState()V
+    .registers 5
+
+    .line 1416
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+    if-nez v0, :cond_d
+
+    .line 1417
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    const-string v1, "Setting suspend state without a NetworkAgent"
+
+    invoke-static {v0, v1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+    .line 1421
+    :cond_d
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;
+
+    move-result-object v0
+
+    .line 1422
+    invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->getCurrentDataConnectionState()I
+
+    move-result v1
+
+    const/4 v2, 0x0
+
+    if-eqz v1, :cond_28
+
+    .line 1423
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState;
+
+    iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    .line 1424
+    invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+    move-result-object v3
+
+    .line 1423
+    invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+    goto :goto_57
+
+    .line 1427
+    :cond_28
+    invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->isConcurrentVoiceAndDataAllowed()Z
+
+    move-result v0
+
+    if-nez v0, :cond_4a
+
+    .line 1428
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getCallTracker()Lcom/android/internal/telephony/CallTracker;
+
+    move-result-object v0
+
+    .line 1429
+    invoke-virtual {v0}, Lcom/android/internal/telephony/CallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
+
+    move-result-object v0
+
+    sget-object v1, Lcom/android/internal/telephony/PhoneConstants$State;->IDLE:Lcom/android/internal/telephony/PhoneConstants$State;
+
+    if-eq v0, v1, :cond_4a
+
+    .line 1430
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState;
+
+    iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    .line 1431
+    invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+    move-result-object v3
+
+    .line 1430
+    invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+    .line 1432
+    return-void
+
+    .line 1435
+    :cond_4a
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    sget-object v1, Landroid/net/NetworkInfo$DetailedState;->CONNECTED:Landroid/net/NetworkInfo$DetailedState;
+
+    iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+    .line 1436
+    invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+    move-result-object v3
+
+    .line 1435
+    invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+    .line 1438
+    :goto_57
+    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 876
+    goto :goto_79
+
+    .line 861
+    :pswitch_5e
+    const-string v1, "131072,262144,1048576,4096,16384,524288"
+
+    .line 862
+    goto :goto_79
+
+    .line 868
+    :pswitch_61
+    const-string v1, "40778,244668,734003,16777,100663,301990"
+
+    .line 869
+    goto :goto_79
+
+    .line 864
+    :pswitch_64
+    const-string v1, "61167,367002,1101005,8738,52429,262114"
+
+    .line 865
+    goto :goto_79
+
+    .line 858
+    :pswitch_67
+    const-string v1, "4094,87380,262144,4096,16384,262144"
+
+    .line 859
+    goto :goto_79
+
+    .line 853
+    :pswitch_6a
+    const-string v1, "16384,32768,131072,4096,16384,102400"
+
+    .line 854
+    goto :goto_79
+
+    .line 850
+    :pswitch_6d
+    const-string v1, "58254,349525,1048576,58254,349525,1048576"
+
+    .line 851
+    goto :goto_79
+
+    .line 847
+    :pswitch_70
+    const-string v1, "4093,26280,70800,4096,16384,70800"
+
+    .line 848
+    goto :goto_79
+
+    .line 844
+    :pswitch_73
+    const-string v1, "4092,8760,48000,4096,8760,48000"
+
+    .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 2511
+    const-string p2, "DataConnection "
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->print(Ljava/lang/String;)V
+
+    .line 2512
+    invoke-super {p0, p1, v0, p3}, Lcom/android/internal/util/StateMachine;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+
+    .line 2513
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V
+
+    .line 2514
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+    .line 2515
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mApnContexts.size="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+    invoke-virtual {v1}, Ljava/util/HashMap;->size()I
+
+    move-result v1
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2516
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mApnContexts="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2517
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mDataConnectionTracker="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2518
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mApnSetting="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2519
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mTag="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2520
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mCid="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2521
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mConnectionParams="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2522
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mDisconnectParams="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2523
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mDcFailCause="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2524
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mPhone="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2525
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mLinkProperties="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2526
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V
+
+    .line 2527
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mDataRegState="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2528
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mRilRat="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2529
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mNetworkCapabilities="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities;
+
+    move-result-object v1
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2530
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mCreateTime="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+    invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2531
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mLastFailTime="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+    invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2532
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mLastFailCause="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2533
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mUserData="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mUserData:Ljava/lang/Object;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2534
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mSubscriptionOverride="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
+
+    invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2535
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mInstanceNumber="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2536
+    new-instance p2, Ljava/lang/StringBuilder;
+
+    invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "mAc="
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel;
+
+    invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object p2
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2537
+    const-string p2, "Network capabilities changed history:"
+
+    invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+    .line 2538
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+    .line 2539
+    iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog;
+
+    invoke-virtual {p2, p1, v0, p3}, Landroid/util/LocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+
+    .line 2540
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+    .line 2541
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+    .line 2542
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->println()V
+
+    .line 2543
+    invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V
+
+    .line 2544
+    return-void
+.end method
+
+.method getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+    .registers 2
+
+    .line 323
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    return-object v0
+.end method
+
+.method getCid()I
+    .registers 2
+
+    .line 319
+    iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+    return v0
+.end method
+
+.method getCopyLinkProperties()Landroid/net/LinkProperties;
+    .registers 3
+
+    .line 299
+    new-instance v0, Landroid/net/LinkProperties;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-direct {v0, v1}, Landroid/net/LinkProperties;-><init>(Landroid/net/LinkProperties;)V
+
+    return-object v0
+.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
+
+    if-eqz v2, :cond_12d
+
+    .line 939
+    iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v2, v2, Lcom/android/internal/telephony/dataconnection/ApnSetting;->types:[Ljava/lang/String;
+
+    array-length v6, v2
+
+    move v7, v1
+
+    :goto_17
+    if-ge v7, v6, :cond_10b
+
+    aget-object v8, v2, v7
+
+    .line 940
+    iget-boolean v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+    if-nez v9, :cond_4c
+
+    iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+    if-eqz v9, :cond_4c
+
+    iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+    iget-boolean v9, v9, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mUnmeteredUseOnly:Z
+
+    if-eqz v9, :cond_4c
+
+    iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+    .line 942
+    invoke-static {v8, v9}, Lcom/android/internal/telephony/dataconnection/ApnSetting;->isMeteredApnType(Ljava/lang/String;Lcom/android/internal/telephony/Phone;)Z
+
+    move-result v9
+
+    if-eqz v9, :cond_4c
+
+    .line 943
+    new-instance v9, Ljava/lang/StringBuilder;
+
+    invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v10, "Dropped the metered "
+
+    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v8, " for the unmetered data call."
+
+    invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v8
+
+    invoke-virtual {p0, v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 944
+    goto/16 :goto_107
+
+    .line 946
+    :cond_4c
+    const/4 v9, -0x1
+
+    invoke-virtual {v8}, Ljava/lang/String;->hashCode()I
+
+    move-result v10
+
+    const/4 v11, 0x7
+
+    const/4 v12, 0x4
+
+    const/4 v13, 0x5
+
+    const/4 v14, 0x3
+
+    sparse-switch v10, :sswitch_data_1cc
+
+    goto/16 :goto_c1
+
+    :sswitch_5a
+    const-string v10, "emergency"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    const/16 v8, 0x9
+
+    goto/16 :goto_c2
+
+    :sswitch_66
+    const-string v10, "default"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    move v8, v5
+
+    goto :goto_c2
+
+    :sswitch_70
+    const-string v10, "supl"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    move v8, v14
+
+    goto :goto_c2
+
+    :sswitch_7a
+    const-string v10, "fota"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    move v8, v13
+
+    goto :goto_c2
+
+    :sswitch_84
+    const-string v10, "mms"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    move v8, v4
+
+    goto :goto_c2
+
+    :sswitch_8e
+    const-string v10, "ims"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    const/4 v8, 0x6
+
+    goto :goto_c2
+
+    :sswitch_98
+    const-string v10, "dun"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    move v8, v12
+
+    goto :goto_c2
+
+    :sswitch_a2
+    const-string v10, "cbs"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    move v8, v11
+
+    goto :goto_c2
+
+    :sswitch_ac
+    const-string v10, "ia"
+
+    invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+    move-result v8
+
+    if-eqz v8, :cond_c1
+
+    const/16 v8, 0x8
+
+    goto :goto_c2
+
+    :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 991
+    :pswitch_c8
+    const/16 v8, 0xa
+
+    invoke-virtual {v0, v8}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 992
+    goto :goto_107
+
+    .line 987
+    :pswitch_ce
+    invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 988
+    goto :goto_107
+
+    .line 983
+    :pswitch_d2
+    invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 984
+    goto :goto_107
+
+    .line 979
+    :pswitch_d6
+    invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 980
+    goto :goto_107
+
+    .line 975
+    :pswitch_da
+    invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 976
+    goto :goto_107
+
+    .line 971
+    :pswitch_de
+    invoke-virtual {v0, v4}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 972
+    goto :goto_107
+
+    .line 967
+    :pswitch_e2
+    invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 968
+    goto :goto_107
+
+    .line 963
+    :pswitch_e6
+    invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .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 949
+    invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 950
+    invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 951
+    invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 952
+    invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 953
+    invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 954
+    invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+    .line 955
+    invoke-virtual {v0, v4}, 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 1034
+    :pswitch_15e
+    const/16 v8, 0x9d4
+
+    goto :goto_173
+
+    .line 1031
+    :pswitch_161
+    const/16 v8, 0x1399
+
+    goto :goto_18b
+
+    .line 1030
+    :pswitch_164
+    const/16 v6, 0x170a
+
+    goto :goto_16c
+
+    .line 1029
+    :pswitch_167
+    const/16 v6, 0x170a
+
+    goto :goto_16c
+
+    .line 1028
+    :pswitch_16a
+    const/16 v6, 0x800
+
+    .line 1038
+    :goto_16c
+    move v8, v10
+
+    goto :goto_18b
+
+    .line 1026
+    :pswitch_16e
+    const/16 v8, 0xc66
+
+    goto :goto_18b
+
+    .line 1025
+    :pswitch_171
+    const/16 v8, 0x999
+
+    .line 1038
+    :goto_173
+    move v6, v7
+
+    goto :goto_18b
+
+    .line 1027
+    :pswitch_175
+    const/16 v6, 0x64
+
+    const/16 v8, 0x64
+
+    goto :goto_18b
+
+    .line 1024
+    :pswitch_17a
+    goto :goto_152
+
+    .line 1022
+    :pswitch_17b
+    const/16 v6, 0x180
+
+    const/16 v8, 0x180
+
+    goto :goto_18b
+
+    .line 1021
+    :pswitch_180
+    const/16 v6, 0x3b
+
+    const/16 v8, 0xec
+
+    goto :goto_18b
+
+    .line 1020
+    :pswitch_185
+    const/16 v6, 0x50
+
+    const/16 v8, 0x50
+
+    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_e2
+        :pswitch_de
+        :pswitch_da
+        :pswitch_d6
+        :pswitch_d2
+        :pswitch_ce
+        :pswitch_c8
+    .end packed-switch
+
+    :pswitch_data_20e
+    .packed-switch 0x1
+        :pswitch_185
+        :pswitch_180
+        :pswitch_17b
+        :pswitch_17a
+        :pswitch_17a
+        :pswitch_175
+        :pswitch_171
+        :pswitch_16e
+        :pswitch_16a
+        :pswitch_167
+        :pswitch_164
+        :pswitch_161
+        :pswitch_15e
+        :pswitch_15b
+        :pswitch_155
+    .end packed-switch
+.end method
+
+.method protected getWhatToString(I)Ljava/lang/String;
+    .registers 2
+
+    .line 2351
+    invoke-static {p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String;
+
+    move-result-object p1
+
+    return-object p1
+.end method
+
+.method isActivating()Z
+    .registers 3
+
+    .line 315
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+    move-result-object v0
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+    if-ne v0, v1, :cond_a
+
+    const/4 v0, 0x1
+
+    goto :goto_b
+
+    :cond_a
+    const/4 v0, 0x0
+
+    :goto_b
+    return v0
+.end method
+
+.method isActive()Z
+    .registers 3
+
+    .line 311
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+    move-result-object v0
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+    if-ne v0, v1, :cond_a
+
+    const/4 v0, 0x1
+
+    goto :goto_b
+
+    :cond_a
+    const/4 v0, 0x0
+
+    :goto_b
+    return v0
+.end method
+
+.method isDisconnecting()Z
+    .registers 3
+
+    .line 307
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+    move-result-object v0
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+    if-ne v0, v1, :cond_a
+
+    const/4 v0, 0x1
+
+    goto :goto_b
+
+    :cond_a
+    const/4 v0, 0x0
+
+    :goto_b
+    return v0
+.end method
+
+.method isInactive()Z
+    .registers 3
+
+    .line 303
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+    move-result-object v0
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+    if-ne v0, v1, :cond_a
+
+    const/4 v0, 0x1
+
+    goto :goto_b
+
+    :cond_a
+    const/4 v0, 0x0
+
+    :goto_b
+    return v0
+.end method
+
+.method public isIpv4Connected()Z
+    .registers 4
+
+    .line 363
+    nop
+
+    .line 364
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List;
+
+    move-result-object v0
+
+    .line 366
+    invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+    move-result-object v0
+
+    :goto_b
+    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_38
+
+    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+    move-result-object v1
+
+    check-cast v1, Ljava/net/InetAddress;
+
+    .line 367
+    instance-of v2, v1, Ljava/net/Inet4Address;
+
+    if-eqz v2, :cond_37
+
+    .line 368
+    check-cast v1, Ljava/net/Inet4Address;
+
+    .line 369
+    invoke-virtual {v1}, Ljava/net/Inet4Address;->isAnyLocalAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_37
+
+    invoke-virtual {v1}, Ljava/net/Inet4Address;->isLinkLocalAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_37
+
+    .line 370
+    invoke-virtual {v1}, Ljava/net/Inet4Address;->isLoopbackAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_37
+
+    invoke-virtual {v1}, Ljava/net/Inet4Address;->isMulticastAddress()Z
+
+    move-result v1
+
+    if-nez v1, :cond_37
+
+    .line 371
+    const/4 v0, 0x1
+
+    .line 372
+    goto :goto_39
+
+    .line 375
+    :cond_37
+    goto :goto_b
+
+    .line 376
+    :cond_38
+    const/4 v0, 0x0
+
+    :goto_39
+    return v0
+.end method
+
+.method public isIpv6Connected()Z
+    .registers 4
+
+    .line 380
+    nop
+
+    .line 381
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List;
+
+    move-result-object v0
+
+    .line 383
+    invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+    move-result-object v0
+
+    :goto_b
+    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_38
+
+    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+    move-result-object v1
+
+    check-cast v1, Ljava/net/InetAddress;
+
+    .line 384
+    instance-of v2, v1, Ljava/net/Inet6Address;
+
+    if-eqz v2, :cond_37
+
+    .line 385
+    check-cast v1, Ljava/net/Inet6Address;
+
+    .line 386
+    invoke-virtual {v1}, Ljava/net/Inet6Address;->isAnyLocalAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_37
+
+    invoke-virtual {v1}, Ljava/net/Inet6Address;->isLinkLocalAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_37
+
+    .line 387
+    invoke-virtual {v1}, Ljava/net/Inet6Address;->isLoopbackAddress()Z
+
+    move-result v2
+
+    if-nez v2, :cond_37
+
+    invoke-virtual {v1}, Ljava/net/Inet6Address;->isMulticastAddress()Z
+
+    move-result v1
+
+    if-nez v1, :cond_37
+
+    .line 388
+    const/4 v0, 0x1
+
+    .line 389
+    goto :goto_39
+
+    .line 392
+    :cond_37
+    goto :goto_b
+
+    .line 393
+    :cond_38
+    const/4 v0, 0x0
+
+    :goto_39
+    return v0
+.end method
+
+.method protected log(Ljava/lang/String;)V
+    .registers 3
+
+    .line 2406
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
+
+    .line 2407
+    return-void
+.end method
+
+.method protected logd(Ljava/lang/String;)V
+    .registers 3
+
+    .line 2416
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
+
+    .line 2417
+    return-void
+.end method
+
+.method protected loge(Ljava/lang/String;)V
+    .registers 3
+
+    .line 2456
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0, p1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+    .line 2457
+    return-void
+.end method
+
+.method protected loge(Ljava/lang/String;Ljava/lang/Throwable;)V
+    .registers 4
+
+    .line 2467
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0, p1, p2}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+
+    .line 2468
+    return-void
+.end method
+
+.method protected logi(Ljava/lang/String;)V
+    .registers 3
+
+    .line 2436
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0, p1}, Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;)I
+
+    .line 2437
+    return-void
+.end method
+
+.method protected logv(Ljava/lang/String;)V
+    .registers 3
+
+    .line 2426
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0, p1}, Landroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;)I
+
+    .line 2427
+    return-void
+.end method
+
+.method protected logw(Ljava/lang/String;)V
+    .registers 3
+
+    .line 2446
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v0
+
+    invoke-static {v0, p1}, Landroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I
+
+    .line 2447
+    return-void
+.end method
+
+.method public onSubscriptionOverride(II)V
+    .registers 5
+
+    .line 557
+    iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
+
+    not-int v1, p1
+
+    and-int/2addr v0, v1
+
+    and-int/2addr p1, p2
+
+    or-int/2addr p1, v0
+
+    iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
+
+    .line 559
+    const p1, 0x40011
+
+    invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message;
+
+    move-result-object p1
+
+    invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V
+
+    .line 560
+    return-void
+.end method
+
+.method setLinkPropertiesHttpProxy(Landroid/net/ProxyInfo;)V
+    .registers 3
+
+    .line 327
+    iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-virtual {v0, p1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
+
+    .line 328
+    return-void
+.end method
+
+.method tearDownNow()V
+    .registers 2
+
+    .line 2312
+    const-string v0, "tearDownNow()"
+
+    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+    .line 2313
+    const v0, 0x40008
+
+    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message;
+
+    move-result-object v0
+
+    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V
+
+    .line 2314
+    return-void
+.end method
+
+.method public toString()Ljava/lang/String;
+    .registers 3
+
+    .line 2485
+    new-instance v0, Ljava/lang/StringBuilder;
+
+    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "{"
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->toStringSimple()Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v1, " mApnContexts="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v1, "}"
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v0
+
+    return-object v0
+.end method
+
+.method public toStringSimple()Ljava/lang/String;
+    .registers 4
+
+    .line 2472
+    new-instance v0, Ljava/lang/StringBuilder;
+
+    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v1, ": State="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+    move-result-object v1
+
+    invoke-interface {v1}, Lcom/android/internal/util/IState;->getName()Ljava/lang/String;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    const-string v1, " mApnSetting="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v1, " RefCount="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+    .line 2473
+    invoke-virtual {v1}, Ljava/util/HashMap;->size()I
+
+    move-result v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    const-string v1, " mCid="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    const-string v1, " mCreateTime="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
+
+    const-string v1, " mLastastFailTime="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
+
+    const-string v1, " mLastFailCause="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v1, " mTag="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+    const-string v1, " mLinkProperties="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v1, " linkCapabilities="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    .line 2479
+    invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities;
+
+    move-result-object v1
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    const-string v1, " mRestrictedNetworkOverride="
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
+
+    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+    move-result-object v0
+
+    .line 2472
+    return-object v0
+.end method
+
+.method public updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
+    .registers 4
+    .annotation build Lcom/android/internal/annotations/VisibleForTesting;
+    .end annotation
+
+    .line 398
+    new-instance v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-direct {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;-><init>(Landroid/net/LinkProperties;)V
+
+    .line 400
+    if-nez p1, :cond_a
+
+    return-object v0
+
+    .line 402
+    :cond_a
+    new-instance v1, Landroid/net/LinkProperties;
+
+    invoke-direct {v1}, Landroid/net/LinkProperties;-><init>()V
+
+    iput-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    .line 405
+    iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    move-result-object p1
+
+    iput-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    .line 406
+    iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    if-eq p1, v1, :cond_36
+
+    .line 407
+    new-instance p1, Ljava/lang/StringBuilder;
+
+    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "updateLinkProperty failed : "
+
+    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, 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 408
+    return-object v0
+
+    .line 411
+    :cond_36
+    iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-virtual {v1}, Landroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo;
+
+    move-result-object v1
+
+    invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
+
+    .line 413
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+    iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->checkSetMtu(Lcom/android/internal/telephony/dataconnection/ApnSetting;Landroid/net/LinkProperties;)V
+
+    .line 415
+    iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    .line 417
+    iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+    invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V
+
+    .line 419
+    iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties;
+
+    iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z
+
+    move-result p1
+
+    if-nez p1, :cond_87
+
+    .line 420
+    new-instance p1, Ljava/lang/StringBuilder;
+
+    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "updateLinkProperty old LP="
+
+    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties;
+
+    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, 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 421
+    new-instance p1, Ljava/lang/StringBuilder;
+
+    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+    const-string v1, "updateLinkProperty new LP="
+
+    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+    iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+    invoke-virtual {p1}, 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 424
+    :cond_87
+    iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+    iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties;
+
+    invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z
+
+    move-result p1
+
+    if-nez p1, :cond_9c
+
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+    if-eqz p1, :cond_9c
+
+    .line 426
+    iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+    iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+    invoke-virtual {p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V
+
+    .line 429
+    :cond_9c
+    return-object v0
+.end method
+
diff --git a/autotests/input/test.smali b/autotests/input/test.smali new file mode 100644 --- /dev/null +++ b/autotests/input/test.smali @@ -0,0 +1,5946 @@ +# +# 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$DcActiveState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;, + Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;, + Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;, + Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;, + 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_OVERRIDE_CHANGED:I = 0x40011 + +.field static final EVENT_DATA_CONNECTION_ROAM_OFF:I = 0x4000d + +.field static final EVENT_DATA_CONNECTION_ROAM_ON:I = 0x4000c + +.field static final EVENT_DATA_CONNECTION_VOICE_CALL_ENDED:I = 0x40010 + +.field static final EVENT_DATA_CONNECTION_VOICE_CALL_STARTED:I = 0x4000f + +.field static final EVENT_DATA_STATE_CHANGED:I = 0x40007 + +.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_KEEPALIVE_STOPPED:I = 0x40014 + +.field static final EVENT_KEEPALIVE_STOP_REQUEST:I = 0x40016 + +.field static final EVENT_LINK_CAPACITY_CHANGED:I = 0x40017 + +.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_EHRPD:Ljava/lang/String; = "131072,262144,1048576,4096,16384,524288" + +.field private static final TCP_BUFFER_SIZES_EVDO:Ljava/lang/String; = "4094,87380,262144,4096,16384,262144" + +.field private static final TCP_BUFFER_SIZES_GPRS:Ljava/lang/String; = "4092,8760,48000,4096,8760,48000" + +.field private static final TCP_BUFFER_SIZES_HSDPA:Ljava/lang/String; = "61167,367002,1101005,8738,52429,262114" + +.field private static final TCP_BUFFER_SIZES_HSPA:Ljava/lang/String; = "40778,244668,734003,16777,100663,301990" + +.field private static final TCP_BUFFER_SIZES_HSPAP:Ljava/lang/String; = "122334,734003,2202010,32040,192239,576717" + +.field private static final TCP_BUFFER_SIZES_LTE:Ljava/lang/String; = "524288,1048576,2097152,262144,524288,1048576" + +.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 mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + +.field private mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + +.field private mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + +.field private mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + +.field private mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + +.field private mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + +.field private mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + +.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 ()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;->(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 230 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_SETUP_DATA_CONNECTION_DONE" + + const/4 v2, 0x1 + + aput-object v1, v0, v2 + + .line 232 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DEACTIVATE_DONE" + + const/4 v2, 0x3 + + aput-object v1, v0, v2 + + .line 233 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DISCONNECT" + + const/4 v2, 0x4 + + aput-object v1, v0, v2 + + .line 234 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_RIL_CONNECTED" + + const/4 v2, 0x5 + + aput-object v1, v0, v2 + + .line 235 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DISCONNECT_ALL" + + const/4 v2, 0x6 + + aput-object v1, v0, v2 + + .line 236 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_STATE_CHANGED" + + const/4 v2, 0x7 + + aput-object v1, v0, v2 + + .line 237 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_TEAR_DOWN_NOW" + + const/16 v2, 0x8 + + aput-object v1, v0, v2 + + .line 238 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_LOST_CONNECTION" + + const/16 v2, 0x9 + + aput-object v1, v0, v2 + + .line 239 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_DRS_OR_RAT_CHANGED" + + const/16 v2, 0xb + + aput-object v1, v0, v2 + + .line 241 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_ROAM_ON" + + const/16 v2, 0xc + + aput-object v1, v0, v2 + + .line 242 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_ROAM_OFF" + + const/16 v2, 0xd + + aput-object v1, v0, v2 + + .line 243 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_BW_REFRESH_RESPONSE" + + const/16 v2, 0xe + + aput-object v1, v0, v2 + + .line 244 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_STARTED" + + const/16 v2, 0xf + + aput-object v1, v0, v2 + + .line 246 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_ENDED" + + const/16 v2, 0x10 + + aput-object v1, v0, v2 + + .line 248 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_DATA_CONNECTION_OVERRIDE_CHANGED" + + const/16 v2, 0x11 + + aput-object v1, v0, v2 + + .line 250 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STATUS" + + const/16 v2, 0x12 + + aput-object v1, v0, v2 + + .line 251 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STARTED" + + const/16 v2, 0x13 + + aput-object v1, v0, v2 + + .line 252 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STOPPED" + + const/16 v2, 0x14 + + aput-object v1, v0, v2 + + .line 253 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_START_REQUEST" + + const/16 v2, 0x15 + + aput-object v1, v0, v2 + + .line 254 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String; + + const-string v1, "EVENT_KEEPALIVE_STOP_REQUEST" + + const/16 v2, 0x16 + + aput-object v1, v0, v2 + + .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 (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;->(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;->()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;->(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;->(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 1562 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + .line 1676 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + .line 1991 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + .line 2049 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + .line 2102 + new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;->(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$1;)V + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + .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 472 + iput-object p4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + .line 473 + iput-object p5, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + .line 474 + iput-object p6, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + .line 475 + iput-object p7, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController; + + .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;->(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 488 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 489 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 490 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 491 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V + + .line 492 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState; + + invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;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;->()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$100(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/Phone; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + return-object p0 +.end method + +.method static synthetic access$1002(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;)Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + return-object p1 +.end method + +.method static synthetic access$102(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/Phone; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + return-object p1 +.end method + +.method static synthetic access$1100(Lcom/android/internal/telephony/dataconnection/DataConnection;)I + .registers 1 + + .line 97 + iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mId:I + + return p0 +.end method + +.method static synthetic access$1200(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->dumpToLog()V + + return-void +.end method + +.method static synthetic access$1300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + return-object p0 +.end method + +.method static synthetic access$1302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + return-object p1 +.end method + +.method static synthetic access$1400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + return-object p0 +.end method + +.method static synthetic access$1500(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V + .registers 4 + + .line 97 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V + + return-void +.end method + +.method static synthetic access$1600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V + .registers 2 + + .line 97 + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->logAndAddLogRec(Ljava/lang/String;)V + + return-void +.end method + +.method static synthetic access$1700(Lcom/android/internal/telephony/dataconnection/DataConnection;)I + .registers 1 + + .line 97 + iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I + + return p0 +.end method + +.method static synthetic access$1702(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I + .registers 2 + + .line 97 + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I + + return p1 +.end method + +.method static synthetic access$1800(Lcom/android/internal/telephony/dataconnection/DataConnection;)I + .registers 1 + + .line 97 + iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + return p0 +.end method + +.method static synthetic access$1802(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I + .registers 2 + + .line 97 + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + return p1 +.end method + +.method static synthetic access$1900(Lcom/android/internal/telephony/dataconnection/DataConnection;I)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V + + return-void +.end method + +.method static synthetic access$200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcController; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController; + + return-object p0 +.end method + +.method static synthetic access$2000(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfo()V + + return-void +.end method + +.method static synthetic access$202(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DcController; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController; + + return-object p1 +.end method + +.method static synthetic access$2100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfoSuspendState()V + + return-void +.end method + +.method static synthetic access$2200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/NetworkInfo; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + return-object p0 +.end method + +.method static synthetic access$2400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + return-object p0 +.end method + +.method static synthetic access$2402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + return-object p1 +.end method + +.method static synthetic access$2500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + return-object p0 +.end method + +.method static synthetic access$2502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + return-object p1 +.end method + +.method static synthetic access$2600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcFailCause; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + return-object p0 +.end method + +.method static synthetic access$2602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + return-object p1 +.end method + +.method static synthetic access$2700(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V + .registers 3 + + .line 97 + invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V + + return-void +.end method + +.method static synthetic access$2800(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V + + return-void +.end method + +.method static synthetic access$2900(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->clearSettings()V + + return-void +.end method + +.method static synthetic access$300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/util/AsyncChannel; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel; + + return-object p0 +.end method + +.method static synthetic access$3000(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->initConnection(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z + + move-result p0 + + return p0 +.end method + +.method static synthetic access$302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/util/AsyncChannel;)Lcom/android/internal/util/AsyncChannel; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel; + + return-object p1 +.end method + +.method static synthetic access$3100(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V + + return-void +.end method + +.method static synthetic access$3200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + return-object p0 +.end method + +.method static synthetic access$3400(Lcom/android/internal/telephony/dataconnection/DataConnection;ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + .registers 4 + + .line 97 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + move-result-object p0 + + return-object p0 +.end method + +.method static synthetic access$3500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + return-object p0 +.end method + +.method static synthetic access$3600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/Object;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->tearDownData(Ljava/lang/Object;)V + + return-void +.end method + +.method static synthetic access$3700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection; + + return-object p0 +.end method + +.method static synthetic access$3800(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/telephony/data/DataCallResponse;)J + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J + + move-result-wide p0 + + return-wide p0 +.end method + +.method static synthetic access$400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcTracker; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + return-object p0 +.end method + +.method static synthetic access$4000(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V + .registers 2 + + .line 97 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllOfConnected(Ljava/lang/String;)V + + return-void +.end method + +.method static synthetic access$402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTracker;)Lcom/android/internal/telephony/dataconnection/DcTracker; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + return-object p1 +.end method + +.method static synthetic access$4100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V + .registers 1 + + .line 97 + invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setNetworkRestriction()V + + return-void +.end method + +.method static synthetic access$4200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Z + .registers 1 + + .line 97 + iget-boolean p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z + + return p0 +.end method + +.method static synthetic access$4300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + return-object p0 +.end method + +.method static synthetic access$4800(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/util/LocalLog; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog; + + return-object p0 +.end method + +.method static synthetic access$500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/ApnSetting; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + return-object p0 +.end method + +.method static synthetic access$502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/ApnSetting;)Lcom/android/internal/telephony/dataconnection/ApnSetting; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + return-object p1 +.end method + +.method static synthetic access$600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataServiceManager; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + return-object p0 +.end method + +.method static synthetic access$602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataServiceManager;)Lcom/android/internal/telephony/dataconnection/DataServiceManager; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + return-object p1 +.end method + +.method static synthetic access$700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/LinkProperties; + .registers 1 + + .line 97 + iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + return-object p0 +.end method + +.method static synthetic access$702(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/net/LinkProperties;)Landroid/net/LinkProperties; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + return-object p1 +.end method + +.method static synthetic access$802(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause; + .registers 2 + + .line 97 + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + return-object p1 +.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;->()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 + + move-result p2 + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 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;->()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;->()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, 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 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;->()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 735 + iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .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;->()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; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + 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;->(I)V + + invoke-direct {v0, p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$1;->(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 1172 + invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/ApnContext;->getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting; + + move-result-object v1 + + iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + .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;->()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 + + invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v0, " mApnList=" + + 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; + + invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + 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;->()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=" + + invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, 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 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, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + 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 + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String; + + aput-object v3, v0, v2 + + const/4 v2, 0x3 + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String; + + .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 public static isIpAddress(Ljava/lang/String;)Z + .registers 1 + .annotation build Lcom/android/internal/annotations/VisibleForTesting; + .end annotation + + .line 1064 + if-nez p0, :cond_4 + + const/4 p0, 0x0 + + return p0 + + .line 1066 + :cond_4 + invoke-static {p0}, Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z + + move-result p0 + + return p0 +.end method + +.method public static makeDataConnection(Lcom/android/internal/telephony/Phone;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DataConnection; + .registers 15 + + .line 283 + new-instance v8, Lcom/android/internal/telephony/dataconnection/DataConnection; + + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "DC-" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger; + + .line 284 + invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I + + move-result v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v2 + + move-object v0, v8 + + move-object v1, p0 + + move v3, p1 + + move-object v4, p2 + + move-object v5, p3 + + move-object v6, p4 + + move-object v7, p5 + + invoke-direct/range {v0 .. v7}, Lcom/android/internal/telephony/dataconnection/DataConnection;->(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 + + .line 286 + invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->start()V + + .line 287 + new-instance p0, Ljava/lang/StringBuilder; + + invoke-direct {p0}, Ljava/lang/StringBuilder;->()V + + const-string p1, "Made " + + invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object p1 + + invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + invoke-virtual {v8, p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 288 + return-object v8 +.end method + +.method private static msgToString(Landroid/os/Message;)Ljava/lang/String; + .registers 6 + + .line 2356 + if-nez p0, :cond_5 + + .line 2357 + const-string p0, "null" + + goto :goto_72 + + .line 2359 + :cond_5 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + .line 2361 + const-string v1, "{what=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2362 + iget v1, p0, Landroid/os/Message;->what:I + + invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2364 + const-string v1, " when=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2365 + invoke-virtual {p0}, Landroid/os/Message;->getWhen()J + + move-result-wide v1 + + invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J + + move-result-wide v3 + + sub-long/2addr v1, v3 + + invoke-static {v1, v2, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V + + .line 2367 + iget v1, p0, Landroid/os/Message;->arg1:I + + if-eqz v1, :cond_37 + + .line 2368 + const-string v1, " arg1=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2369 + iget v1, p0, Landroid/os/Message;->arg1:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + .line 2372 + :cond_37 + iget v1, p0, Landroid/os/Message;->arg2:I + + if-eqz v1, :cond_45 + + .line 2373 + const-string v1, " arg2=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2374 + iget v1, p0, Landroid/os/Message;->arg2:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + .line 2377 + :cond_45 + iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object; + + if-eqz v1, :cond_53 + + .line 2378 + const-string v1, " obj=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2379 + iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + .line 2382 + :cond_53 + const-string v1, " target=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2383 + invoke-virtual {p0}, Landroid/os/Message;->getTarget()Landroid/os/Handler; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + .line 2385 + const-string v1, " replyTo=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2386 + iget-object p0, p0, Landroid/os/Message;->replyTo:Landroid/os/Messenger; + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + .line 2388 + const-string p0, "}" + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2390 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + .line 2392 + :goto_72 + return-object p0 +.end method + +.method private notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V + .registers 4 + + .line 610 + invoke-virtual {p1}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object p1 + + const/4 v0, 0x0 + + const v1, 0x4200f + + invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 611 + return-void +.end method + +.method private notifyAllOfConnected(Ljava/lang/String;)V + .registers 4 + + .line 603 + const/4 v0, 0x0 + + const v1, 0x42000 + + invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 604 + return-void +.end method + +.method private notifyAllOfDisconnectDcRetrying(Ljava/lang/String;)V + .registers 4 + + .line 607 + const/4 v0, 0x0 + + const v1, 0x42022 + + invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 608 + return-void +.end method + +.method private notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + .registers 8 + + .line 588 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + invoke-virtual {v1}, Landroid/net/NetworkInfo;->getDetailedState()Landroid/net/NetworkInfo$DetailedState; + + move-result-object v1 + + iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 589 + invoke-virtual {v2}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v2 + + .line 588 + invoke-virtual {v0, v1, p3, v2}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + .line 590 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {v0}, Ljava/util/HashMap;->values()Ljava/util/Collection; + + move-result-object v0 + + invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_1b + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_49 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + .line 591 + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 592 + if-ne v2, p1, :cond_2c + + goto :goto_1b + + .line 593 + :cond_2c + if-eqz p3, :cond_31 + + invoke-virtual {v2, p3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->setReason(Ljava/lang/String;)V + + .line 594 + :cond_31 + new-instance v3, Landroid/util/Pair; + + iget v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mConnectionGeneration:I + + .line 595 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; + + move-result-object v1 + + invoke-direct {v3, v2, v1}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V + + .line 596 + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + invoke-virtual {v1, p2, v3}, Lcom/android/internal/telephony/dataconnection/DcTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; + + move-result-object v1 + + .line 597 + invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult; + + .line 598 + invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V + + .line 599 + goto :goto_1b + + .line 600 + :cond_49 + return-void +.end method + +.method private notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V + .registers 9 + + .line 622 + nop + + .line 624 + const/4 v0, 0x0 + + if-eqz p1, :cond_5f + + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message; + + if-eqz v1, :cond_5f + + .line 626 + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 627 + iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 628 + iget-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 630 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J + + move-result-wide v2 + + .line 631 + iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + iput p1, v1, Landroid/os/Message;->arg1:I + + .line 633 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + if-ne p2, p1, :cond_20 + + .line 634 + iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + .line 635 + invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult; + + goto :goto_34 + + .line 637 + :cond_20 + iput-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .line 638 + iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + .line 641 + if-nez p2, :cond_28 + + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .line 642 + :cond_28 + new-instance p1, Ljava/lang/Throwable; + + .line 643 + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object v4 + + invoke-direct {p1, v4}, Ljava/lang/Throwable;->(Ljava/lang/String;)V + + .line 642 + invoke-static {v1, p2, p1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; + + .line 646 + :goto_34 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v4, "notifyConnectCompleted at " + + invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + const-string v2, " cause=" + + invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v2, " connectionCompletedMsg=" + + invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 647 + invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->msgToString(Landroid/os/Message;)Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + .line 646 + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 650 + invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V + + .line 652 + :cond_5f + if-eqz p3, :cond_8b + + .line 653 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string p3, "Send to all. " + + invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string p3, " " + + invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object p3 + + invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 654 + const p1, 0x42023 + + .line 655 + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object p2 + + .line 654 + invoke-direct {p0, v0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 657 + :cond_8b + return-void +.end method + +.method private notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V + .registers 10 + + .line 665 + const-string v0, "NotifyDisconnectCompleted" + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 667 + nop + + .line 668 + nop + + .line 670 + const/4 v0, 0x0 + + if-eqz p1, :cond_4a + + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message; + + if-eqz v1, :cond_4a + + .line 672 + iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 673 + iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message; + + .line 674 + iget-object v2, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + instance-of v2, v2, Lcom/android/internal/telephony/dataconnection/ApnContext; + + if-eqz v2, :cond_1c + + .line 675 + iget-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + check-cast v0, Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 677 + :cond_1c + iget-object v2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String; + + .line 679 + const-string v3, "msg=%s msg.obj=%s" + + const/4 v4, 0x2 + + new-array v4, v4, [Ljava/lang/Object; + + const/4 v5, 0x0 + + invoke-virtual {v1}, Landroid/os/Message;->toString()Ljava/lang/String; + + move-result-object v6 + + aput-object v6, v4, v5 + + const/4 v5, 0x1 + + .line 680 + iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + instance-of v6, v6, Ljava/lang/String; + + if-eqz v6, :cond_36 + + iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object; + + check-cast v6, Ljava/lang/String; + + goto :goto_38 + + :cond_36 + const-string v6, "" + + :goto_38 + aput-object v6, v4, v5 + + .line 679 + 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 + + .line 682 + invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult; + + .line 683 + invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V + + .line 685 + move-object v1, v0 + + move-object v0, v2 + + goto :goto_4b + + :cond_4a + move-object v1, v0 + + :goto_4b + if-eqz p2, :cond_5b + + .line 686 + if-nez v0, :cond_55 + + .line 687 + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String; + + move-result-object v0 + + .line 689 + :cond_55 + const p2, 0x4200f + + invoke-direct {p0, v1, p2, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V + + .line 691 + :cond_5b + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v0, "NotifyDisconnectCompleted DisconnectParams=" + + invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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 692 + return-void +.end method + +.method private onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V + .registers 21 + + move-object/from16 v0, p0 + + .line 506 + move-object/from16 v1, p1 + + new-instance v2, Ljava/lang/StringBuilder; + + invoke-direct {v2}, Ljava/lang/StringBuilder;->()V + + const-string v3, "onConnect: carrier=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->carrier:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\' APN=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->apn:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\' proxy=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->proxy:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\' port=\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->port:Ljava/lang/String; + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "\'" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {v0, v2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 509 + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + if-eqz v2, :cond_50 + + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + const-string v3, "DataConnection.onConnect" + + invoke-virtual {v2, v3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V + + .line 512 + :cond_50 + iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + invoke-virtual {v2}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v2 + + iget v2, v2, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I + + const/4 v3, 0x1 + + const v4, 0x40001 + + if-lez v2, :cond_bd + + .line 513 + new-instance v2, Landroid/telephony/data/DataCallResponse; + + iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + .line 514 + invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v5 + + iget-object v5, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I + + move-result v6 + + iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + .line 515 + invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v5 + + iget v7, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mSuggestedRetryTime:I + + const/4 v8, 0x0 + + const/4 v9, 0x0 + + const-string v10, "" + + const-string v11, "" + + const/4 v12, 0x0 + + const/4 v13, 0x0 + + const/4 v14, 0x0 + + const/4 v15, 0x0 + + const/16 v16, 0x0 + + move-object v5, v2 + + invoke-direct/range {v5 .. v16}, Landroid/telephony/data/DataCallResponse;->(IIIILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V + + .line 518 + invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; + + move-result-object v1 + + .line 519 + const/4 v4, 0x0 + + invoke-static {v1, v2, v4}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; + + .line 520 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V + + .line 522 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v4, "onConnect: FailBringUpAll=" + + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v4 + + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v4, " send error response=" + + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 525 + iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll; + + invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp; + + move-result-object v0 + + iget v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I + + sub-int/2addr v1, v3 + + iput v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I + + .line 526 + return-void + + .line 529 + :cond_bd + const-wide/16 v5, -0x1 + + iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + .line 530 + iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + .line 531 + sget-object v2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + iput-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + .line 533 + invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; + + move-result-object v12 + + .line 534 + iput-object v1, v12, Landroid/os/Message;->obj:Ljava/lang/Object; + + .line 536 + iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget v4, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mProfileId:I + + invoke-static {v2, v4}, Lcom/android/internal/telephony/dataconnection/DcTracker;->createDataProfile(Lcom/android/internal/telephony/dataconnection/ApnSetting;I)Landroid/telephony/data/DataProfile; + + move-result-object v2 + + .line 541 + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState; + + move-result-object v4 + + invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoamingFromRegistration()Z + + move-result v8 + + .line 546 + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getDataRoamingEnabled()Z + + move-result v4 + + if-nez v4, :cond_f8 + + if-eqz v8, :cond_f6 + + iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + .line 547 + invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState; + + move-result-object v4 + + invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoaming()Z + + move-result v4 + + if-nez v4, :cond_f6 + + goto :goto_f8 + + :cond_f6 + const/4 v3, 0x0 + + nop + + .line 549 + :cond_f8 + :goto_f8 + move v9, v3 + + iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + iget v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I + + .line 550 + invoke-static {v3}, Landroid/telephony/ServiceState;->rilRadioTechnologyToAccessNetworkType(I)I + + move-result v6 + + const/4 v10, 0x1 + + const/4 v11, 0x0 + + .line 549 + move-object v7, v2 + + invoke-virtual/range {v5 .. v12}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V + + .line 552 + invoke-static {}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->getInstance()Lcom/android/internal/telephony/metrics/TelephonyMetrics; + + move-result-object v13 + + iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getPhoneId()I + + move-result v14 + + iget v15, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I + + .line 553 + invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProfileId()I + + move-result v16 + + invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getApn()Ljava/lang/String; + + move-result-object v17 + + invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProtocol()Ljava/lang/String; + + move-result-object v18 + + .line 552 + invoke-virtual/range {v13 .. v18}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetupDataCall(IIILjava/lang/String;Ljava/lang/String;)V + + .line 554 + return-void +.end method + +.method private onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + .registers 6 + + .line 751 + iget v0, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + if-eq v0, v1, :cond_29 + + .line 753 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string p2, "onSetupConnectionCompleted stale cp.tag=" + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget p2, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string p2, ", mtag=" + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 755 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_STALE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + goto :goto_80 + + .line 756 + :cond_29 + const/4 p3, 0x4 + + if-ne p1, p3, :cond_33 + + .line 757 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 758 + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + goto :goto_80 + + .line 759 + :cond_33 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p1 + + if-eqz p1, :cond_59 + + .line 760 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p1 + + sget-object p3, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p3}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I + + move-result p3 + + if-ne p1, p3, :cond_4c + + .line 761 + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 762 + sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + goto :goto_80 + + .line 764 + :cond_4c + sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 765 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p2 + + invoke-static {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->fromInt(I)Lcom/android/internal/telephony/dataconnection/DcFailCause; + + move-result-object p2 + + iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + goto :goto_80 + + .line 768 + :cond_59 + const-string p1, "onSetupConnectionCompleted received successful DataCallResponse" + + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 769 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getCallId()I + + move-result p1 + + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + .line 771 + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List; + + move-result-object p1 + + invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List; + + move-result-object p3 + + invoke-interface {p3}, Ljava/util/List;->size()I + + move-result p3 + + new-array p3, p3, [Ljava/lang/String; + + invoke-interface {p1, p3}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; + + move-result-object p1 + + check-cast p1, [Ljava/lang/String; + + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPcscfAddr:[Ljava/lang/String; + + .line 773 + invoke-virtual {p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult; + + move-result-object p1 + + iget-object p1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 776 + :goto_80 + return-object p1 +.end method + +.method private setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + .registers 10 + + .line 1072 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "net." + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, "." + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + .line 1073 + const/4 v1, 0x2 + + new-array v1, v1, [Ljava/lang/String; + + .line 1074 + new-instance v2, Ljava/lang/StringBuilder; + + invoke-direct {v2}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "dns1" + + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v2 + + invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v2 + + const/4 v3, 0x0 + + aput-object v2, v1, v3 + + .line 1075 + new-instance v2, Ljava/lang/StringBuilder; + + invoke-direct {v2}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v0, "dns2" + + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v0 + + const/4 v2, 0x1 + + aput-object v0, v1, v2 + + .line 1076 + invoke-direct {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->isDnsOk([Ljava/lang/String;)Z + + move-result v0 + + .line 1082 + invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V + + .line 1084 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result v2 + + sget-object v4, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I + + move-result v4 + + if-ne v2, v4, :cond_17c + + .line 1087 + :try_start_60 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V + + .line 1090 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List; + + move-result-object v2 + + invoke-interface {v2}, Ljava/util/List;->size()I + + move-result v2 + + if-lez v2, :cond_149 + + .line 1091 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List; + + move-result-object v2 + + invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator; + + move-result-object v2 + + :goto_79 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z + + move-result v4 + + if-eqz v4, :cond_b7 + + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v4 + + check-cast v4, Landroid/net/LinkAddress; + + .line 1092 + invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress; + + move-result-object v5 + + invoke-virtual {v5}, Ljava/net/InetAddress;->isAnyLocalAddress()Z + + move-result v5 + + if-nez v5, :cond_b6 + + .line 1094 + new-instance v5, Ljava/lang/StringBuilder; + + invoke-direct {v5}, Ljava/lang/StringBuilder;->()V + + const-string v6, "addr/pl=" + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress; + + move-result-object v6 + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v6, "/" + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 1095 + invoke-virtual {v4}, Landroid/net/LinkAddress;->getNetworkPrefixLength()I + + move-result v6 + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v5 + + .line 1094 + invoke-virtual {p0, v5}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 1097 + invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z + + .line 1099 + :cond_b6 + goto :goto_79 + + .line 1105 + :cond_b7 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List; + + move-result-object v2 + + invoke-interface {v2}, Ljava/util/List;->size()I + + move-result v2 + + if-lez v2, :cond_df + + .line 1106 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List; + + move-result-object v0 + + invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_c9 + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_11a + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 1107 + invoke-virtual {v1}, Ljava/net/InetAddress;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_de + + .line 1108 + invoke-virtual {p2, v1}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z + + .line 1110 + :cond_de + goto :goto_c9 + + .line 1111 + :cond_df + if-eqz v0, :cond_141 + + .line 1112 + array-length v0, v1 + + :goto_e2 + if-ge v3, v0, :cond_11a + + aget-object v2, v1, v3 + + .line 1113 + invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String; + + move-result-object v2 + + .line 1114 + invoke-virtual {v2}, Ljava/lang/String;->isEmpty()Z + + move-result v4 + :try_end_ee + .catch Ljava/net/UnknownHostException; {:try_start_60 .. :try_end_ee} :catch_164 + + if-eqz v4, :cond_f1 + + goto :goto_ff + + .line 1117 + :cond_f1 + :try_start_f1 + invoke-static {v2}, Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress; + + move-result-object v4 + :try_end_f5 + .catch Ljava/lang/IllegalArgumentException; {:try_start_f1 .. :try_end_f5} :catch_102 + .catch Ljava/net/UnknownHostException; {:try_start_f1 .. :try_end_f5} :catch_164 + + .line 1120 + nop + + .line 1121 + :try_start_f6 + invoke-virtual {v4}, Ljava/net/InetAddress;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_ff + + .line 1122 + invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z + + .line 1112 + :cond_ff + :goto_ff + add-int/lit8 v3, v3, 0x1 + + goto :goto_e2 + + .line 1118 + :catch_102 + move-exception v0 + + .line 1119 + new-instance v0, Ljava/net/UnknownHostException; + + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v3, "Non-numeric dns addr=" + + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-direct {v0, v1}, Ljava/net/UnknownHostException;->(Ljava/lang/String;)V + + throw v0 + + .line 1129 + :cond_11a + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getGateways()Ljava/util/List; + + move-result-object v0 + + invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_122 + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_137 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 1132 + new-instance v2, Landroid/net/RouteInfo; + + invoke-direct {v2, v1}, Landroid/net/RouteInfo;->(Ljava/net/InetAddress;)V + + invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z + + .line 1133 + goto :goto_122 + + .line 1137 + :cond_137 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getMtu()I + + move-result v0 + + invoke-virtual {p2, v0}, Landroid/net/LinkProperties;->setMtu(I)V + + .line 1139 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + goto :goto_17b + + .line 1126 + :cond_141 + new-instance v0, Ljava/net/UnknownHostException; + + const-string v1, "Empty dns response and no system default dns" + + invoke-direct {v0, v1}, Ljava/net/UnknownHostException;->(Ljava/lang/String;)V + + throw v0 + + .line 1101 + :cond_149 + new-instance v0, Ljava/net/UnknownHostException; + + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "no address for ifname=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String; + + move-result-object v2 + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-direct {v0, v1}, Ljava/net/UnknownHostException;->(Ljava/lang/String;)V + + throw v0 + :try_end_164 + .catch Ljava/net/UnknownHostException; {:try_start_f6 .. :try_end_164} :catch_164 + + .line 1140 + :catch_164 + move-exception v0 + + .line 1141 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "setLinkProperties: UnknownHostException " + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 1142 + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_INVALID_ARG:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 1143 + :goto_17b + goto :goto_17e + + .line 1145 + :cond_17c + sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 1149 + :goto_17e + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + if-eq v0, v1, :cond_1a5 + + .line 1151 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "setLinkProperties: error clearing LinkProperties status=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 1152 + invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I + + move-result p1 + + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string p1, " result=" + + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + .line 1151 + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 1154 + invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V + + .line 1157 + :cond_1a5 + return-object v0 +.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 tearDownData(Ljava/lang/Object;)V + .registers 8 + + .line 569 + nop + + .line 570 + nop + + .line 571 + const/4 v0, 0x1 + + if-eqz p1, :cond_24 + + instance-of v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + if-eqz v1, :cond_24 + + .line 572 + move-object v1, p1 + + check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + .line 573 + iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext; + + .line 574 + iget-object v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String; + + const-string v4, "radioTurnedOff" + + invoke-static {v3, v4}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z + + move-result v3 + + if-nez v3, :cond_22 + + iget-object v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String; + + const-string v3, "pdpReset" + + .line 575 + invoke-static {v1, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z + + move-result v1 + + if-eqz v1, :cond_25 + + .line 576 + :cond_22 + const/4 v0, 0x2 + + goto :goto_25 + + .line 580 + :cond_24 + const/4 v2, 0x0 + + :cond_25 + :goto_25 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v3, "tearDownData. mCid=" + + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v3, ", reason=" + + invoke-virtual {v1, v3}, 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 + + .line 581 + invoke-virtual {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 582 + if-eqz v2, :cond_48 + + invoke-virtual {v2, v1}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V + + .line 583 + :cond_48 + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager; + + iget v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + const v3, 0x40003 + + iget v4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + const/4 v5, 0x0 + + .line 584 + invoke-virtual {p0, v3, v4, v5, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message; + + move-result-object p1 + + .line 583 + invoke-virtual {v1, v2, v0, p1}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->deactivateDataCall(IILandroid/os/Message;)V + + .line 585 + return-void +.end method + +.method private updateNetworkInfo()V + .registers 5 + + .line 1408 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState; + + move-result-object v0 + + .line 1409 + invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataNetworkType()I + + move-result v1 + + .line 1410 + iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + invoke-static {v1}, Landroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String; + + move-result-object v3 + + invoke-virtual {v2, v1, v3}, Landroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V + + .line 1411 + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataRoaming()Z + + move-result v0 + + invoke-virtual {v1, v0}, Landroid/net/NetworkInfo;->setRoaming(Z)V + + .line 1412 + return-void +.end method + +.method private updateNetworkInfoSuspendState()V + .registers 5 + + .line 1416 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + if-nez v0, :cond_d + + .line 1417 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + const-string v1, "Setting suspend state without a NetworkAgent" + + invoke-static {v0, v1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I + + .line 1421 + :cond_d + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker; + + move-result-object v0 + + .line 1422 + invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->getCurrentDataConnectionState()I + + move-result v1 + + const/4 v2, 0x0 + + if-eqz v1, :cond_28 + + .line 1423 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState; + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 1424 + invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v3 + + .line 1423 + invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + goto :goto_57 + + .line 1427 + :cond_28 + invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->isConcurrentVoiceAndDataAllowed()Z + + move-result v0 + + if-nez v0, :cond_4a + + .line 1428 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getCallTracker()Lcom/android/internal/telephony/CallTracker; + + move-result-object v0 + + .line 1429 + invoke-virtual {v0}, Lcom/android/internal/telephony/CallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State; + + move-result-object v0 + + sget-object v1, Lcom/android/internal/telephony/PhoneConstants$State;->IDLE:Lcom/android/internal/telephony/PhoneConstants$State; + + if-eq v0, v1, :cond_4a + + .line 1430 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState; + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 1431 + invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v3 + + .line 1430 + invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + .line 1432 + return-void + + .line 1435 + :cond_4a + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + sget-object v1, Landroid/net/NetworkInfo$DetailedState;->CONNECTED:Landroid/net/NetworkInfo$DetailedState; + + iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo; + + .line 1436 + invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String; + + move-result-object v3 + + .line 1435 + invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V + + .line 1438 + :goto_57 + 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 876 + goto :goto_79 + + .line 861 + :pswitch_5e + const-string v1, "131072,262144,1048576,4096,16384,524288" + + .line 862 + goto :goto_79 + + .line 868 + :pswitch_61 + const-string v1, "40778,244668,734003,16777,100663,301990" + + .line 869 + goto :goto_79 + + .line 864 + :pswitch_64 + const-string v1, "61167,367002,1101005,8738,52429,262114" + + .line 865 + goto :goto_79 + + .line 858 + :pswitch_67 + const-string v1, "4094,87380,262144,4096,16384,262144" + + .line 859 + goto :goto_79 + + .line 853 + :pswitch_6a + const-string v1, "16384,32768,131072,4096,16384,102400" + + .line 854 + goto :goto_79 + + .line 850 + :pswitch_6d + const-string v1, "58254,349525,1048576,58254,349525,1048576" + + .line 851 + goto :goto_79 + + .line 847 + :pswitch_70 + const-string v1, "4093,26280,70800,4096,16384,70800" + + .line 848 + goto :goto_79 + + .line 844 + :pswitch_73 + const-string v1, "4092,8760,48000,4096,8760,48000" + + .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;->(Ljava/io/Writer;Ljava/lang/String;)V + + .line 2511 + const-string p2, "DataConnection " + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->print(Ljava/lang/String;)V + + .line 2512 + invoke-super {p0, p1, v0, p3}, Lcom/android/internal/util/StateMachine;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V + + .line 2513 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V + + .line 2514 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2515 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mApnContexts.size=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {v1}, Ljava/util/HashMap;->size()I + + move-result v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2516 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mApnContexts=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2517 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDataConnectionTracker=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2518 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mApnSetting=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2519 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mTag=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2520 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mCid=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2521 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mConnectionParams=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2522 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDisconnectParams=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2523 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDcFailCause=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2524 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mPhone=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2525 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mLinkProperties=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2526 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V + + .line 2527 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mDataRegState=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2528 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mRilRat=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2529 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mNetworkCapabilities=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2530 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mCreateTime=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2531 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mLastFailTime=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2532 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mLastFailCause=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2533 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mUserData=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mUserData:Ljava/lang/Object; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2534 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mSubscriptionOverride=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I + + invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2535 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mInstanceNumber=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2536 + new-instance p2, Ljava/lang/StringBuilder; + + invoke-direct {p2}, Ljava/lang/StringBuilder;->()V + + const-string v1, "mAc=" + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel; + + invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2537 + const-string p2, "Network capabilities changed history:" + + invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V + + .line 2538 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2539 + iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog; + + invoke-virtual {p2, p1, v0, p3}, Landroid/util/LocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V + + .line 2540 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2541 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter; + + .line 2542 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->println()V + + .line 2543 + invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V + + .line 2544 + return-void +.end method + +.method getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting; + .registers 2 + + .line 323 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + return-object v0 +.end method + +.method getCid()I + .registers 2 + + .line 319 + iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + return v0 +.end method + +.method getCopyLinkProperties()Landroid/net/LinkProperties; + .registers 3 + + .line 299 + new-instance v0, Landroid/net/LinkProperties; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-direct {v0, v1}, Landroid/net/LinkProperties;->(Landroid/net/LinkProperties;)V + + return-object v0 +.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;->()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 + + if-eqz v2, :cond_12d + + .line 939 + iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v2, v2, Lcom/android/internal/telephony/dataconnection/ApnSetting;->types:[Ljava/lang/String; + + array-length v6, v2 + + move v7, v1 + + :goto_17 + if-ge v7, v6, :cond_10b + + aget-object v8, v2, v7 + + .line 940 + iget-boolean v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z + + if-nez v9, :cond_4c + + iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + if-eqz v9, :cond_4c + + iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams; + + iget-boolean v9, v9, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mUnmeteredUseOnly:Z + + if-eqz v9, :cond_4c + + iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone; + + .line 942 + invoke-static {v8, v9}, Lcom/android/internal/telephony/dataconnection/ApnSetting;->isMeteredApnType(Ljava/lang/String;Lcom/android/internal/telephony/Phone;)Z + + move-result v9 + + if-eqz v9, :cond_4c + + .line 943 + new-instance v9, Ljava/lang/StringBuilder; + + invoke-direct {v9}, Ljava/lang/StringBuilder;->()V + + const-string v10, "Dropped the metered " + + invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v8, " for the unmetered data call." + + invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v8 + + invoke-virtual {p0, v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 944 + goto/16 :goto_107 + + .line 946 + :cond_4c + const/4 v9, -0x1 + + invoke-virtual {v8}, Ljava/lang/String;->hashCode()I + + move-result v10 + + const/4 v11, 0x7 + + const/4 v12, 0x4 + + const/4 v13, 0x5 + + const/4 v14, 0x3 + + sparse-switch v10, :sswitch_data_1cc + + goto/16 :goto_c1 + + :sswitch_5a + const-string v10, "emergency" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + const/16 v8, 0x9 + + goto/16 :goto_c2 + + :sswitch_66 + const-string v10, "default" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v5 + + goto :goto_c2 + + :sswitch_70 + const-string v10, "supl" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v14 + + goto :goto_c2 + + :sswitch_7a + const-string v10, "fota" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v13 + + goto :goto_c2 + + :sswitch_84 + const-string v10, "mms" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v4 + + goto :goto_c2 + + :sswitch_8e + const-string v10, "ims" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + const/4 v8, 0x6 + + goto :goto_c2 + + :sswitch_98 + const-string v10, "dun" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v12 + + goto :goto_c2 + + :sswitch_a2 + const-string v10, "cbs" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + move v8, v11 + + goto :goto_c2 + + :sswitch_ac + const-string v10, "ia" + + invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z + + move-result v8 + + if-eqz v8, :cond_c1 + + const/16 v8, 0x8 + + goto :goto_c2 + + :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 991 + :pswitch_c8 + const/16 v8, 0xa + + invoke-virtual {v0, v8}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 992 + goto :goto_107 + + .line 987 + :pswitch_ce + invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 988 + goto :goto_107 + + .line 983 + :pswitch_d2 + invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 984 + goto :goto_107 + + .line 979 + :pswitch_d6 + invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 980 + goto :goto_107 + + .line 975 + :pswitch_da + invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 976 + goto :goto_107 + + .line 971 + :pswitch_de + invoke-virtual {v0, v4}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 972 + goto :goto_107 + + .line 967 + :pswitch_e2 + invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 968 + goto :goto_107 + + .line 963 + :pswitch_e6 + invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .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 949 + invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 950 + invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 951 + invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 952 + invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 953 + invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 954 + invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; + + .line 955 + invoke-virtual {v0, v4}, 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 1034 + :pswitch_15e + const/16 v8, 0x9d4 + + goto :goto_173 + + .line 1031 + :pswitch_161 + const/16 v8, 0x1399 + + goto :goto_18b + + .line 1030 + :pswitch_164 + const/16 v6, 0x170a + + goto :goto_16c + + .line 1029 + :pswitch_167 + const/16 v6, 0x170a + + goto :goto_16c + + .line 1028 + :pswitch_16a + const/16 v6, 0x800 + + .line 1038 + :goto_16c + move v8, v10 + + goto :goto_18b + + .line 1026 + :pswitch_16e + const/16 v8, 0xc66 + + goto :goto_18b + + .line 1025 + :pswitch_171 + const/16 v8, 0x999 + + .line 1038 + :goto_173 + move v6, v7 + + goto :goto_18b + + .line 1027 + :pswitch_175 + const/16 v6, 0x64 + + const/16 v8, 0x64 + + goto :goto_18b + + .line 1024 + :pswitch_17a + goto :goto_152 + + .line 1022 + :pswitch_17b + const/16 v6, 0x180 + + const/16 v8, 0x180 + + goto :goto_18b + + .line 1021 + :pswitch_180 + const/16 v6, 0x3b + + const/16 v8, 0xec + + goto :goto_18b + + .line 1020 + :pswitch_185 + const/16 v6, 0x50 + + const/16 v8, 0x50 + + 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;->(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_e2 + :pswitch_de + :pswitch_da + :pswitch_d6 + :pswitch_d2 + :pswitch_ce + :pswitch_c8 + .end packed-switch + + :pswitch_data_20e + .packed-switch 0x1 + :pswitch_185 + :pswitch_180 + :pswitch_17b + :pswitch_17a + :pswitch_17a + :pswitch_175 + :pswitch_171 + :pswitch_16e + :pswitch_16a + :pswitch_167 + :pswitch_164 + :pswitch_161 + :pswitch_15e + :pswitch_15b + :pswitch_155 + .end packed-switch +.end method + +.method protected getWhatToString(I)Ljava/lang/String; + .registers 2 + + .line 2351 + invoke-static {p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String; + + move-result-object p1 + + return-object p1 +.end method + +.method isActivating()Z + .registers 3 + + .line 315 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method isActive()Z + .registers 3 + + .line 311 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method isDisconnecting()Z + .registers 3 + + .line 307 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method isInactive()Z + .registers 3 + + .line 303 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v0 + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState; + + if-ne v0, v1, :cond_a + + const/4 v0, 0x1 + + goto :goto_b + + :cond_a + const/4 v0, 0x0 + + :goto_b + return v0 +.end method + +.method public isIpv4Connected()Z + .registers 4 + + .line 363 + nop + + .line 364 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List; + + move-result-object v0 + + .line 366 + invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_b + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_38 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 367 + instance-of v2, v1, Ljava/net/Inet4Address; + + if-eqz v2, :cond_37 + + .line 368 + check-cast v1, Ljava/net/Inet4Address; + + .line 369 + invoke-virtual {v1}, Ljava/net/Inet4Address;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet4Address;->isLinkLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + .line 370 + invoke-virtual {v1}, Ljava/net/Inet4Address;->isLoopbackAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet4Address;->isMulticastAddress()Z + + move-result v1 + + if-nez v1, :cond_37 + + .line 371 + const/4 v0, 0x1 + + .line 372 + goto :goto_39 + + .line 375 + :cond_37 + goto :goto_b + + .line 376 + :cond_38 + const/4 v0, 0x0 + + :goto_39 + return v0 +.end method + +.method public isIpv6Connected()Z + .registers 4 + + .line 380 + nop + + .line 381 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List; + + move-result-object v0 + + .line 383 + invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; + + move-result-object v0 + + :goto_b + invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z + + move-result v1 + + if-eqz v1, :cond_38 + + invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/net/InetAddress; + + .line 384 + instance-of v2, v1, Ljava/net/Inet6Address; + + if-eqz v2, :cond_37 + + .line 385 + check-cast v1, Ljava/net/Inet6Address; + + .line 386 + invoke-virtual {v1}, Ljava/net/Inet6Address;->isAnyLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet6Address;->isLinkLocalAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + .line 387 + invoke-virtual {v1}, Ljava/net/Inet6Address;->isLoopbackAddress()Z + + move-result v2 + + if-nez v2, :cond_37 + + invoke-virtual {v1}, Ljava/net/Inet6Address;->isMulticastAddress()Z + + move-result v1 + + if-nez v1, :cond_37 + + .line 388 + const/4 v0, 0x1 + + .line 389 + goto :goto_39 + + .line 392 + :cond_37 + goto :goto_b + + .line 393 + :cond_38 + const/4 v0, 0x0 + + :goto_39 + return v0 +.end method + +.method protected log(Ljava/lang/String;)V + .registers 3 + + .line 2406 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I + + .line 2407 + return-void +.end method + +.method protected logd(Ljava/lang/String;)V + .registers 3 + + .line 2416 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I + + .line 2417 + return-void +.end method + +.method protected loge(Ljava/lang/String;)V + .registers 3 + + .line 2456 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I + + .line 2457 + return-void +.end method + +.method protected loge(Ljava/lang/String;Ljava/lang/Throwable;)V + .registers 4 + + .line 2467 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1, p2}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + .line 2468 + return-void +.end method + +.method protected logi(Ljava/lang/String;)V + .registers 3 + + .line 2436 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;)I + + .line 2437 + return-void +.end method + +.method protected logv(Ljava/lang/String;)V + .registers 3 + + .line 2426 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;)I + + .line 2427 + return-void +.end method + +.method protected logw(Ljava/lang/String;)V + .registers 3 + + .line 2446 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v0 + + invoke-static {v0, p1}, Landroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I + + .line 2447 + return-void +.end method + +.method public onSubscriptionOverride(II)V + .registers 5 + + .line 557 + iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I + + not-int v1, p1 + + and-int/2addr v0, v1 + + and-int/2addr p1, p2 + + or-int/2addr p1, v0 + + iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I + + .line 559 + const p1, 0x40011 + + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message; + + move-result-object p1 + + invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V + + .line 560 + return-void +.end method + +.method setLinkPropertiesHttpProxy(Landroid/net/ProxyInfo;)V + .registers 3 + + .line 327 + iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0, p1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V + + .line 328 + return-void +.end method + +.method tearDownNow()V + .registers 2 + + .line 2312 + const-string v0, "tearDownNow()" + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V + + .line 2313 + const v0, 0x40008 + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message; + + move-result-object v0 + + invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V + + .line 2314 + return-void +.end method + +.method public toString()Ljava/lang/String; + .registers 3 + + .line 2485 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "{" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->toStringSimple()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, " mApnContexts=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, "}" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + return-object v0 +.end method + +.method public toStringSimple()Ljava/lang/String; + .registers 4 + + .line 2472 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, ": State=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState; + + move-result-object v1 + + invoke-interface {v1}, Lcom/android/internal/util/IState;->getName()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, " mApnSetting=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " RefCount=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap; + + .line 2473 + invoke-virtual {v1}, Ljava/util/HashMap;->size()I + + move-result v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v1, " mCid=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v1, " mCreateTime=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J + + invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + const-string v1, " mLastastFailTime=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J + + invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + const-string v1, " mLastFailCause=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " mTag=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string v1, " mLinkProperties=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " linkCapabilities=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 2479 + invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + const-string v1, " mRestrictedNetworkOverride=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v0 + + .line 2472 + return-object v0 +.end method + +.method public updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult; + .registers 4 + .annotation build Lcom/android/internal/annotations/VisibleForTesting; + .end annotation + + .line 398 + new-instance v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-direct {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->(Landroid/net/LinkProperties;)V + + .line 400 + if-nez p1, :cond_a + + return-object v0 + + .line 402 + :cond_a + new-instance v1, Landroid/net/LinkProperties; + + invoke-direct {v1}, Landroid/net/LinkProperties;->()V + + iput-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + .line 405 + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + move-result-object p1 + + iput-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + .line 406 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + if-eq p1, v1, :cond_36 + + .line 407 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v1, "updateLinkProperty failed : " + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult; + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 408 + return-object v0 + + .line 411 + :cond_36 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {v1}, Landroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo; + + move-result-object v1 + + invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V + + .line 413 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->checkSetMtu(Lcom/android/internal/telephony/dataconnection/ApnSetting;Landroid/net/LinkProperties;)V + + .line 415 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + .line 417 + iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I + + invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V + + .line 419 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z + + move-result p1 + + if-nez p1, :cond_87 + + .line 420 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v1, "updateLinkProperty old LP=" + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 421 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v1, "updateLinkProperty new LP=" + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, 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 424 + :cond_87 + iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties; + + iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z + + move-result p1 + + if-nez p1, :cond_9c + + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + if-eqz p1, :cond_9c + + .line 426 + iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent; + + iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties; + + invoke-virtual {p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V + + .line 429 + :cond_9c + return-object v0 +.end method diff --git a/autotests/reference/test.smali.ref b/autotests/reference/test.smali.ref new file mode 100644 --- /dev/null +++ b/autotests/reference/test.smali.ref @@ -0,0 +1,5946 @@ +#
+# 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$DcActiveState;,
+ Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;,
+ Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;,
+ Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;,
+ Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;,
+ Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;,
+ Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;,
+ 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_OVERRIDE_CHANGED:I = 0x40011
+
+.field static final EVENT_DATA_CONNECTION_ROAM_OFF:I = 0x4000d
+
+.field static final EVENT_DATA_CONNECTION_ROAM_ON:I = 0x4000c
+
+.field static final EVENT_DATA_CONNECTION_VOICE_CALL_ENDED:I = 0x40010
+
+.field static final EVENT_DATA_CONNECTION_VOICE_CALL_STARTED:I = 0x4000f
+
+.field static final EVENT_DATA_STATE_CHANGED:I = 0x40007
+
+.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_KEEPALIVE_STOPPED:I = 0x40014
+
+.field static final EVENT_KEEPALIVE_STOP_REQUEST:I = 0x40016
+
+.field static final EVENT_LINK_CAPACITY_CHANGED:I = 0x40017
+
+.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_EHRPD:Ljava/lang/String; = "131072,262144,1048576,4096,16384,524288"
+
+.field private static final TCP_BUFFER_SIZES_EVDO:Ljava/lang/String; = "4094,87380,262144,4096,16384,262144"
+
+.field private static final TCP_BUFFER_SIZES_GPRS:Ljava/lang/String; = "4092,8760,48000,4096,8760,48000"
+
+.field private static final TCP_BUFFER_SIZES_HSDPA:Ljava/lang/String; = "61167,367002,1101005,8738,52429,262114"
+
+.field private static final TCP_BUFFER_SIZES_HSPA:Ljava/lang/String; = "40778,244668,734003,16777,100663,301990"
+
+.field private static final TCP_BUFFER_SIZES_HSPAP:Ljava/lang/String; = "122334,734003,2202010,32040,192239,576717"
+
+.field private static final TCP_BUFFER_SIZES_LTE:Ljava/lang/String; = "524288,1048576,2097152,262144,524288,1048576"
+
+.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 mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+.field private mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+.field private mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+.field private mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+.field private mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+.field private mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+.field private mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+.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 230
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_SETUP_DATA_CONNECTION_DONE"
+
+ const/4 v2, 0x1
+
+ aput-object v1, v0, v2
+
+ .line 232
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DEACTIVATE_DONE"
+
+ const/4 v2, 0x3
+
+ aput-object v1, v0, v2
+
+ .line 233
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DISCONNECT"
+
+ const/4 v2, 0x4
+
+ aput-object v1, v0, v2
+
+ .line 234
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_RIL_CONNECTED"
+
+ const/4 v2, 0x5
+
+ aput-object v1, v0, v2
+
+ .line 235
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DISCONNECT_ALL"
+
+ const/4 v2, 0x6
+
+ aput-object v1, v0, v2
+
+ .line 236
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DATA_STATE_CHANGED"
+
+ const/4 v2, 0x7
+
+ aput-object v1, v0, v2
+
+ .line 237
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_TEAR_DOWN_NOW"
+
+ const/16 v2, 0x8
+
+ aput-object v1, v0, v2
+
+ .line 238
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_LOST_CONNECTION"
+
+ const/16 v2, 0x9
+
+ aput-object v1, v0, v2
+
+ .line 239
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DATA_CONNECTION_DRS_OR_RAT_CHANGED"
+
+ const/16 v2, 0xb
+
+ aput-object v1, v0, v2
+
+ .line 241
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DATA_CONNECTION_ROAM_ON"
+
+ const/16 v2, 0xc
+
+ aput-object v1, v0, v2
+
+ .line 242
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DATA_CONNECTION_ROAM_OFF"
+
+ const/16 v2, 0xd
+
+ aput-object v1, v0, v2
+
+ .line 243
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_BW_REFRESH_RESPONSE"
+
+ const/16 v2, 0xe
+
+ aput-object v1, v0, v2
+
+ .line 244
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_STARTED"
+
+ const/16 v2, 0xf
+
+ aput-object v1, v0, v2
+
+ .line 246
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DATA_CONNECTION_VOICE_CALL_ENDED"
+
+ const/16 v2, 0x10
+
+ aput-object v1, v0, v2
+
+ .line 248
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_DATA_CONNECTION_OVERRIDE_CHANGED"
+
+ const/16 v2, 0x11
+
+ aput-object v1, v0, v2
+
+ .line 250
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_KEEPALIVE_STATUS"
+
+ const/16 v2, 0x12
+
+ aput-object v1, v0, v2
+
+ .line 251
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_KEEPALIVE_STARTED"
+
+ const/16 v2, 0x13
+
+ aput-object v1, v0, v2
+
+ .line 252
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_KEEPALIVE_STOPPED"
+
+ const/16 v2, 0x14
+
+ aput-object v1, v0, v2
+
+ .line 253
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_KEEPALIVE_START_REQUEST"
+
+ const/16 v2, 0x15
+
+ aput-object v1, v0, v2
+
+ .line 254
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ const-string v1, "EVENT_KEEPALIVE_STOP_REQUEST"
+
+ const/16 v2, 0x16
+
+ aput-object v1, v0, v2
+
+ .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 1562
+ new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+ invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;-><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;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+ .line 1676
+ new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+ invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;-><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;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+ .line 1991
+ new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+ invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;-><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;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+ .line 2049
+ new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+ invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;-><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;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+ .line 2102
+ new-instance v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+ invoke-direct {v1, p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;-><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;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+ .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 472
+ iput-object p4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+ .line 473
+ iput-object p5, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+ .line 474
+ iput-object p6, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+ .line 475
+ iput-object p7, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController;
+
+ .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 488
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+ iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+ invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+ .line 489
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+ iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+ invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+ .line 490
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+ iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+ invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+ .line 491
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+ iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+ invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
+
+ .line 492
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+ iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDefaultState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
+
+ invoke-virtual {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->addState(Lcom/android/internal/util/State;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$100(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/Phone;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ return-object p0
+.end method
+
+.method static synthetic access$1002(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;)Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+ return-object p1
+.end method
+
+.method static synthetic access$102(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/Phone;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ return-object p1
+.end method
+
+.method static synthetic access$1100(Lcom/android/internal/telephony/dataconnection/DataConnection;)I
+ .registers 1
+
+ .line 97
+ iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mId:I
+
+ return p0
+.end method
+
+.method static synthetic access$1200(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+ .registers 1
+
+ .line 97
+ invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->dumpToLog()V
+
+ return-void
+.end method
+
+.method static synthetic access$1300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+ return-object p0
+.end method
+
+.method static synthetic access$1302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+ return-object p1
+.end method
+
+.method static synthetic access$1400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+ return-object p0
+.end method
+
+.method static synthetic access$1500(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V
+ .registers 4
+
+ .line 97
+ invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V
+
+ return-void
+.end method
+
+.method static synthetic access$1600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V
+ .registers 2
+
+ .line 97
+ invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->logAndAddLogRec(Ljava/lang/String;)V
+
+ return-void
+.end method
+
+.method static synthetic access$1700(Lcom/android/internal/telephony/dataconnection/DataConnection;)I
+ .registers 1
+
+ .line 97
+ iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
+
+ return p0
+.end method
+
+.method static synthetic access$1702(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I
+ .registers 2
+
+ .line 97
+ iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
+
+ return p1
+.end method
+
+.method static synthetic access$1800(Lcom/android/internal/telephony/dataconnection/DataConnection;)I
+ .registers 1
+
+ .line 97
+ iget p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+ return p0
+.end method
+
+.method static synthetic access$1802(Lcom/android/internal/telephony/dataconnection/DataConnection;I)I
+ .registers 2
+
+ .line 97
+ iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+ return p1
+.end method
+
+.method static synthetic access$1900(Lcom/android/internal/telephony/dataconnection/DataConnection;I)V
+ .registers 2
+
+ .line 97
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V
+
+ return-void
+.end method
+
+.method static synthetic access$200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcController;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController;
+
+ return-object p0
+.end method
+
+.method static synthetic access$2000(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+ .registers 1
+
+ .line 97
+ invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfo()V
+
+ return-void
+.end method
+
+.method static synthetic access$202(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DcController;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcController:Lcom/android/internal/telephony/dataconnection/DcController;
+
+ return-object p1
+.end method
+
+.method static synthetic access$2100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+ .registers 1
+
+ .line 97
+ invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfoSuspendState()V
+
+ return-void
+.end method
+
+.method static synthetic access$2200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/NetworkInfo;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ return-object p0
+.end method
+
+.method static synthetic access$2400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+ return-object p0
+.end method
+
+.method static synthetic access$2402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+ return-object p1
+.end method
+
+.method static synthetic access$2500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+ return-object p0
+.end method
+
+.method static synthetic access$2502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+ return-object p1
+.end method
+
+.method static synthetic access$2600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ return-object p0
+.end method
+
+.method static synthetic access$2602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ return-object p1
+.end method
+
+.method static synthetic access$2700(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
+ .registers 3
+
+ .line 97
+ invoke-direct {p0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
+
+ return-void
+.end method
+
+.method static synthetic access$2800(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
+ .registers 2
+
+ .line 97
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
+
+ return-void
+.end method
+
+.method static synthetic access$2900(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+ .registers 1
+
+ .line 97
+ invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->clearSettings()V
+
+ return-void
+.end method
+
+.method static synthetic access$300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/util/AsyncChannel;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel;
+
+ return-object p0
+.end method
+
+.method static synthetic access$3000(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z
+ .registers 2
+
+ .line 97
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->initConnection(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z
+
+ move-result p0
+
+ return p0
+.end method
+
+.method static synthetic access$302(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/util/AsyncChannel;)Lcom/android/internal/util/AsyncChannel;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel;
+
+ return-object p1
+.end method
+
+.method static synthetic access$3100(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V
+ .registers 2
+
+ .line 97
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V
+
+ return-void
+.end method
+
+.method static synthetic access$3200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+ return-object p0
+.end method
+
+.method static synthetic access$3400(Lcom/android/internal/telephony/dataconnection/DataConnection;ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+ .registers 4
+
+ .line 97
+ invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/dataconnection/DataConnection;->onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ move-result-object p0
+
+ return-object p0
+.end method
+
+.method static synthetic access$3500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+ return-object p0
+.end method
+
+.method static synthetic access$3600(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/Object;)V
+ .registers 2
+
+ .line 97
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->tearDownData(Ljava/lang/Object;)V
+
+ return-void
+.end method
+
+.method static synthetic access$3700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingErrorCreatingConnection:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
+
+ return-object p0
+.end method
+
+.method static synthetic access$3800(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/telephony/data/DataCallResponse;)J
+ .registers 2
+
+ .line 97
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J
+
+ move-result-wide p0
+
+ return-wide p0
+.end method
+
+.method static synthetic access$400(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DcTracker;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+ return-object p0
+.end method
+
+.method static synthetic access$4000(Lcom/android/internal/telephony/dataconnection/DataConnection;Ljava/lang/String;)V
+ .registers 2
+
+ .line 97
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllOfConnected(Ljava/lang/String;)V
+
+ return-void
+.end method
+
+.method static synthetic access$402(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcTracker;)Lcom/android/internal/telephony/dataconnection/DcTracker;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+ return-object p1
+.end method
+
+.method static synthetic access$4100(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+ .registers 1
+
+ .line 97
+ invoke-direct {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setNetworkRestriction()V
+
+ return-void
+.end method
+
+.method static synthetic access$4200(Lcom/android/internal/telephony/dataconnection/DataConnection;)Z
+ .registers 1
+
+ .line 97
+ iget-boolean p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+ return p0
+.end method
+
+.method static synthetic access$4300(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+ return-object p0
+.end method
+
+.method static synthetic access$4800(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/util/LocalLog;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog;
+
+ return-object p0
+.end method
+
+.method static synthetic access$500(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/ApnSetting;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ return-object p0
+.end method
+
+.method static synthetic access$502(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/ApnSetting;)Lcom/android/internal/telephony/dataconnection/ApnSetting;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ return-object p1
+.end method
+
+.method static synthetic access$600(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+ return-object p0
+.end method
+
+.method static synthetic access$602(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DataServiceManager;)Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+ return-object p1
+.end method
+
+.method static synthetic access$700(Lcom/android/internal/telephony/dataconnection/DataConnection;)Landroid/net/LinkProperties;
+ .registers 1
+
+ .line 97
+ iget-object p0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ return-object p0
+.end method
+
+.method static synthetic access$702(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/net/LinkProperties;)Landroid/net/LinkProperties;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ return-object p1
+.end method
+
+.method static synthetic access$802(Lcom/android/internal/telephony/dataconnection/DataConnection;Lcom/android/internal/telephony/dataconnection/DcFailCause;)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+ .registers 2
+
+ .line 97
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ return-object p1
+.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,
+
+ return-void
+
+ .line 440
+
+ if-eqz p1,
+
+ if-nez p2,
+
+ goto
+
+ .line 442
+
+ invoke-virtual {p2}, Landroid/net/LinkProperties;->getMtu()I
+
+ move-result v0
+
+ if-eqz v0,
+
+ .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
+
+ move-result p2
+
+ invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, 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 444
+ return-void
+
+ .line 447
+
+ if-eqz p1,
+
+ iget v0, p1, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mtu:I
+
+ if-eqz v0,
+
+ .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
+
+ 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,
+
+ .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, 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 459
+
+ return-void
+
+ .line 440
+
+
+ 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 735
+ iput-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ .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,
+
+ sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ array-length v1, v1
+
+ if-ge p0, v1,
+
+ .line 262
+ sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->sCmdToString:[Ljava/lang/String;
+
+ aget-object v1, v1, p0
+
+ goto
+
+ .line 264
+
+ 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
+
+ if-nez v1,
+
+ .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;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ .line 269
+
+ 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,
+
+ .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
+
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getSuggestedRetryTime()I
+
+ move-result v0
+
+ const v1, 0x7fffffff
+
+ if-ne v0, v1,
+
+ .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
+
+ 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,
+
+ .line 1172
+ invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/ApnContext;->getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ move-result-object v1
+
+ iput-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ .line 1174
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ if-eqz v1,
+
+ 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,
+
+ goto
+
+ .line 1181
+
+ 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
+
+ invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ const-string v0, " mApnList="
+
+ 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;
+
+ invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ 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
+
+
+ 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="
+
+ invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v0}, 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 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,
+
+ 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,
+
+ 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,
+
+ .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,
+
+ 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,
+
+ .line 789
+
+ 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, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ 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
+
+ iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String;
+
+ aput-object v3, v0, v2
+
+ const/4 v2, 0x3
+
+ iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->mmsProxy:Ljava/lang/String;
+
+ .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
+
+ return v2
+.end method
+
+.method public static isIpAddress(Ljava/lang/String;)Z
+ .registers 1
+ .annotation build Lcom/android/internal/annotations/VisibleForTesting;
+ .end annotation
+
+ .line 1064
+ if-nez p0,
+
+ const/4 p0, 0x0
+
+ return p0
+
+ .line 1066
+
+ invoke-static {p0}, Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z
+
+ move-result p0
+
+ return p0
+.end method
+
+.method public static makeDataConnection(Lcom/android/internal/telephony/Phone;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DataConnection;
+ .registers 15
+
+ .line 283
+ new-instance v8, Lcom/android/internal/telephony/dataconnection/DataConnection;
+
+ new-instance v0, Ljava/lang/StringBuilder;
+
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "DC-"
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger;
+
+ .line 284
+ invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
+
+ move-result v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v2
+
+ move-object v0, v8
+
+ move-object v1, p0
+
+ move v3, p1
+
+ move-object v4, p2
+
+ move-object v5, p3
+
+ move-object v6, p4
+
+ move-object v7, p5
+
+ invoke-direct/range {v0 .. v7}, Lcom/android/internal/telephony/dataconnection/DataConnection;-><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
+
+ .line 286
+ invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->start()V
+
+ .line 287
+ new-instance p0, Ljava/lang/StringBuilder;
+
+ invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string p1, "Made "
+
+ invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object p1
+
+ invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p0
+
+ invoke-virtual {v8, p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 288
+ return-object v8
+.end method
+
+.method private static msgToString(Landroid/os/Message;)Ljava/lang/String;
+ .registers 6
+
+ .line 2356
+ if-nez p0,
+
+ .line 2357
+ const-string p0, "null"
+
+ goto
+
+ .line 2359
+
+ new-instance v0, Ljava/lang/StringBuilder;
+
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+ .line 2361
+ const-string v1, "{what="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2362
+ iget v1, p0, Landroid/os/Message;->what:I
+
+ invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2364
+ const-string v1, " when="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2365
+ invoke-virtual {p0}, Landroid/os/Message;->getWhen()J
+
+ move-result-wide v1
+
+ invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
+
+ move-result-wide v3
+
+ sub-long/2addr v1, v3
+
+ invoke-static {v1, v2, v0}, Landroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V
+
+ .line 2367
+ iget v1, p0, Landroid/os/Message;->arg1:I
+
+ if-eqz v1,
+
+ .line 2368
+ const-string v1, " arg1="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2369
+ iget v1, p0, Landroid/os/Message;->arg1:I
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ .line 2372
+
+ iget v1, p0, Landroid/os/Message;->arg2:I
+
+ if-eqz v1,
+
+ .line 2373
+ const-string v1, " arg2="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2374
+ iget v1, p0, Landroid/os/Message;->arg2:I
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ .line 2377
+
+ iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+ if-eqz v1,
+
+ .line 2378
+ const-string v1, " obj="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2379
+ iget-object v1, p0, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ .line 2382
+
+ const-string v1, " target="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2383
+ invoke-virtual {p0}, Landroid/os/Message;->getTarget()Landroid/os/Handler;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ .line 2385
+ const-string v1, " replyTo="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2386
+ iget-object p0, p0, Landroid/os/Message;->replyTo:Landroid/os/Messenger;
+
+ invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ .line 2388
+ const-string p0, "}"
+
+ invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2390
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p0
+
+ .line 2392
+
+ return-object p0
+.end method
+
+.method private notifyAllDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
+ .registers 4
+
+ .line 610
+ invoke-virtual {p1}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+ move-result-object p1
+
+ const/4 v0, 0x0
+
+ const v1, 0x4200f
+
+ invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+ .line 611
+ return-void
+.end method
+
+.method private notifyAllOfConnected(Ljava/lang/String;)V
+ .registers 4
+
+ .line 603
+ const/4 v0, 0x0
+
+ const v1, 0x42000
+
+ invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+ .line 604
+ return-void
+.end method
+
+.method private notifyAllOfDisconnectDcRetrying(Ljava/lang/String;)V
+ .registers 4
+
+ .line 607
+ const/4 v0, 0x0
+
+ const v1, 0x42022
+
+ invoke-direct {p0, v0, v1, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+ .line 608
+ return-void
+.end method
+
+.method private notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+ .registers 8
+
+ .line 588
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ invoke-virtual {v1}, Landroid/net/NetworkInfo;->getDetailedState()Landroid/net/NetworkInfo$DetailedState;
+
+ move-result-object v1
+
+ iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ .line 589
+ invoke-virtual {v2}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+ move-result-object v2
+
+ .line 588
+ invoke-virtual {v0, v1, p3, v2}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+ .line 590
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+ invoke-virtual {v0}, Ljava/util/HashMap;->values()Ljava/util/Collection;
+
+ move-result-object v0
+
+ invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+ move-result-object v0
+
+
+ invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v1
+
+ if-eqz v1,
+
+ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v1
+
+ check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+ .line 591
+ iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+ .line 592
+ if-ne v2, p1,
+
+ goto
+
+ .line 593
+
+ if-eqz p3,
+
+ invoke-virtual {v2, p3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->setReason(Ljava/lang/String;)V
+
+ .line 594
+
+ new-instance v3, Landroid/util/Pair;
+
+ iget v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mConnectionGeneration:I
+
+ .line 595
+ invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-direct {v3, v2, v1}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
+
+ .line 596
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+ invoke-virtual {v1, p2, v3}, Lcom/android/internal/telephony/dataconnection/DcTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
+
+ move-result-object v1
+
+ .line 597
+ invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
+
+ .line 598
+ invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
+
+ .line 599
+ goto
+
+ .line 600
+
+ return-void
+.end method
+
+.method private notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V
+ .registers 9
+
+ .line 622
+ nop
+
+ .line 624
+ const/4 v0, 0x0
+
+ if-eqz p1,
+
+ iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message;
+
+ if-eqz v1,
+
+ .line 626
+ iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message;
+
+ .line 627
+ iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mOnCompletedMsg:Landroid/os/Message;
+
+ .line 628
+ iget-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+ .line 630
+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+ move-result-wide v2
+
+ .line 631
+ iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+ iput p1, v1, Landroid/os/Message;->arg1:I
+
+ .line 633
+ sget-object p1, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ if-ne p2, p1,
+
+ .line 634
+ iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+ .line 635
+ invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
+
+ goto
+
+ .line 637
+
+ iput-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ .line 638
+ iput-wide v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+ .line 641
+ if-nez p2,
+
+ sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ .line 642
+
+ new-instance p1, Ljava/lang/Throwable;
+
+ .line 643
+ invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+ move-result-object v4
+
+ invoke-direct {p1, v4}, Ljava/lang/Throwable;-><init>(Ljava/lang/String;)V
+
+ .line 642
+ invoke-static {v1, p2, p1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult;
+
+ .line 646
+
+ new-instance p1, Ljava/lang/StringBuilder;
+
+ invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v4, "notifyConnectCompleted at "
+
+ invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
+
+ const-string v2, " cause="
+
+ invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v2, " connectionCompletedMsg="
+
+ invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 647
+ invoke-static {v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->msgToString(Landroid/os/Message;)Ljava/lang/String;
+
+ move-result-object v2
+
+ invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p1
+
+ .line 646
+ invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 650
+ invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
+
+ .line 652
+
+ if-eqz p3,
+
+ .line 653
+ new-instance p1, Ljava/lang/StringBuilder;
+
+ invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string p3, "Send to all. "
+
+ invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string p3, " "
+
+ invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+ move-result-object p3
+
+ invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, 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 654
+ const p1, 0x42023
+
+ .line 655
+ invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ .line 654
+ invoke-direct {p0, v0, p1, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+ .line 657
+
+ return-void
+.end method
+
+.method private notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
+ .registers 10
+
+ .line 665
+ const-string v0, "NotifyDisconnectCompleted"
+
+ invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 667
+ nop
+
+ .line 668
+ nop
+
+ .line 670
+ const/4 v0, 0x0
+
+ if-eqz p1,
+
+ iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message;
+
+ if-eqz v1,
+
+ .line 672
+ iget-object v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message;
+
+ .line 673
+ iput-object v0, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mOnCompletedMsg:Landroid/os/Message;
+
+ .line 674
+ iget-object v2, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+ instance-of v2, v2, Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+ if-eqz v2,
+
+ .line 675
+ iget-object v0, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+ check-cast v0, Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+ .line 677
+
+ iget-object v2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String;
+
+ .line 679
+ const-string v3, "msg=%s msg.obj=%s"
+
+ const/4 v4, 0x2
+
+ new-array v4, v4, [Ljava/lang/Object;
+
+ const/4 v5, 0x0
+
+ invoke-virtual {v1}, Landroid/os/Message;->toString()Ljava/lang/String;
+
+ move-result-object v6
+
+ aput-object v6, v4, v5
+
+ const/4 v5, 0x1
+
+ .line 680
+ iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+ instance-of v6, v6, Ljava/lang/String;
+
+ if-eqz v6,
+
+ iget-object v6, v1, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+ check-cast v6, Ljava/lang/String;
+
+ goto
+
+
+ const-string v6, ""
+
+
+ aput-object v6, v4, v5
+
+ .line 679
+ 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
+
+ .line 682
+ invoke-static {v1}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
+
+ .line 683
+ invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
+
+ .line 685
+ move-object v1, v0
+
+ move-object v0, v2
+
+ goto
+
+
+ move-object v1, v0
+
+
+ if-eqz p2,
+
+ .line 686
+ if-nez v0,
+
+ .line 687
+ sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->UNKNOWN:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ invoke-virtual {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->toString()Ljava/lang/String;
+
+ move-result-object v0
+
+ .line 689
+
+ const p2, 0x4200f
+
+ invoke-direct {p0, v1, p2, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
+
+ .line 691
+
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v0, "NotifyDisconnectCompleted DisconnectParams="
+
+ invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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 692
+ return-void
+.end method
+
+.method private onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V
+ .registers 21
+
+ move-object/from16 v0, p0
+
+ .line 506
+ move-object/from16 v1, p1
+
+ new-instance v2, Ljava/lang/StringBuilder;
+
+ invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v3, "onConnect: carrier=\'"
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->carrier:Ljava/lang/String;
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v3, "\' APN=\'"
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->apn:Ljava/lang/String;
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v3, "\' proxy=\'"
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->proxy:Ljava/lang/String;
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v3, "\' port=\'"
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v3, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v3, v3, Lcom/android/internal/telephony/dataconnection/ApnSetting;->port:Ljava/lang/String;
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v3, "\'"
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v2
+
+ invoke-virtual {v0, v2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 509
+ iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+ if-eqz v2,
+
+ iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+ const-string v3, "DataConnection.onConnect"
+
+ invoke-virtual {v2, v3}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V
+
+ .line 512
+
+ iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+ invoke-virtual {v2}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+ move-result-object v2
+
+ iget v2, v2, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I
+
+ const/4 v3, 0x1
+
+ const v4, 0x40001
+
+ if-lez v2,
+
+ .line 513
+ new-instance v2, Landroid/telephony/data/DataCallResponse;
+
+ iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+ .line 514
+ invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+ move-result-object v5
+
+ iget-object v5, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I
+
+ move-result v6
+
+ iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+ .line 515
+ invoke-virtual {v5}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+ move-result-object v5
+
+ iget v7, v5, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mSuggestedRetryTime:I
+
+ const/4 v8, 0x0
+
+ const/4 v9, 0x0
+
+ const-string v10, ""
+
+ const-string v11, ""
+
+ const/4 v12, 0x0
+
+ const/4 v13, 0x0
+
+ const/4 v14, 0x0
+
+ const/4 v15, 0x0
+
+ const/16 v16, 0x0
+
+ move-object v5, v2
+
+ invoke-direct/range {v5 .. v16}, Landroid/telephony/data/DataCallResponse;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V
+
+ .line 518
+ invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
+
+ move-result-object v1
+
+ .line 519
+ const/4 v4, 0x0
+
+ invoke-static {v1, v2, v4}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult;
+
+ .line 520
+ invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V
+
+ .line 522
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v4, "onConnect: FailBringUpAll="
+
+ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+ invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+ move-result-object v4
+
+ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v4, " send error response="
+
+ invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 525
+ iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcTesterFailBringUpAll:Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
+
+ invoke-virtual {v0}, Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+
+ move-result-object v0
+
+ iget v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I
+
+ sub-int/2addr v1, v3
+
+ iput v1, v0, Lcom/android/internal/telephony/dataconnection/DcFailBringUp;->mCounter:I
+
+ .line 526
+ return-void
+
+ .line 529
+
+ const-wide/16 v5, -0x1
+
+ iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+ .line 530
+ iput-wide v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+ .line 531
+ sget-object v2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ iput-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ .line 533
+ invoke-virtual {v0, v4, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
+
+ move-result-object v12
+
+ .line 534
+ iput-object v1, v12, Landroid/os/Message;->obj:Ljava/lang/Object;
+
+ .line 536
+ iget-object v2, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget v4, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mProfileId:I
+
+ invoke-static {v2, v4}, Lcom/android/internal/telephony/dataconnection/DcTracker;->createDataProfile(Lcom/android/internal/telephony/dataconnection/ApnSetting;I)Landroid/telephony/data/DataProfile;
+
+ move-result-object v2
+
+ .line 541
+ iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
+
+ move-result-object v4
+
+ invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoamingFromRegistration()Z
+
+ move-result v8
+
+ .line 546
+ iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getDataRoamingEnabled()Z
+
+ move-result v4
+
+ if-nez v4,
+
+ if-eqz v8,
+
+ iget-object v4, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ .line 547
+ invoke-virtual {v4}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
+
+ move-result-object v4
+
+ invoke-virtual {v4}, Landroid/telephony/ServiceState;->getDataRoaming()Z
+
+ move-result v4
+
+ if-nez v4,
+
+ goto
+
+
+ const/4 v3, 0x0
+
+ nop
+
+ .line 549
+
+
+ move v9, v3
+
+ iget-object v5, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+ iget v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I
+
+ .line 550
+ invoke-static {v3}, Landroid/telephony/ServiceState;->rilRadioTechnologyToAccessNetworkType(I)I
+
+ move-result v6
+
+ const/4 v10, 0x1
+
+ const/4 v11, 0x0
+
+ .line 549
+ move-object v7, v2
+
+ invoke-virtual/range {v5 .. v12}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V
+
+ .line 552
+ invoke-static {}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->getInstance()Lcom/android/internal/telephony/metrics/TelephonyMetrics;
+
+ move-result-object v13
+
+ iget-object v0, v0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getPhoneId()I
+
+ move-result v14
+
+ iget v15, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mRilRat:I
+
+ .line 553
+ invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProfileId()I
+
+ move-result v16
+
+ invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getApn()Ljava/lang/String;
+
+ move-result-object v17
+
+ invoke-virtual {v2}, Landroid/telephony/data/DataProfile;->getProtocol()Ljava/lang/String;
+
+ move-result-object v18
+
+ .line 552
+ invoke-virtual/range {v13 .. v18}, Lcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetupDataCall(IIILjava/lang/String;Ljava/lang/String;)V
+
+ .line 554
+ return-void
+.end method
+
+.method private onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+ .registers 6
+
+ .line 751
+ iget v0, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+ if-eq v0, v1,
+
+ .line 753
+ new-instance p1, Ljava/lang/StringBuilder;
+
+ invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string p2, "onSetupConnectionCompleted stale cp.tag="
+
+ invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget p2, p3, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mTag:I
+
+ invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ const-string p2, ", mtag="
+
+ invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+ invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, 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 755
+ sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_STALE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ goto
+
+ .line 756
+
+ const/4 p3, 0x4
+
+ if-ne p1, p3,
+
+ .line 757
+ sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ .line 758
+ sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ goto
+
+ .line 759
+
+ invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+ move-result p1
+
+ if-eqz p1,
+
+ .line 760
+ invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+ move-result p1
+
+ sget-object p3, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ invoke-virtual {p3}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I
+
+ move-result p3
+
+ if-ne p1, p3,
+
+ .line 761
+ sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ .line 762
+ sget-object p2, Lcom/android/internal/telephony/dataconnection/DcFailCause;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ goto
+
+ .line 764
+
+ sget-object p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ .line 765
+ invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+ move-result p2
+
+ invoke-static {p2}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->fromInt(I)Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ move-result-object p2
+
+ iput-object p2, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->mFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ goto
+
+ .line 768
+
+ const-string p1, "onSetupConnectionCompleted received successful DataCallResponse"
+
+ invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 769
+ invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getCallId()I
+
+ move-result p1
+
+ iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+ .line 771
+ invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List;
+
+ move-result-object p1
+
+ invoke-virtual {p2}, Landroid/telephony/data/DataCallResponse;->getPcscfs()Ljava/util/List;
+
+ move-result-object p3
+
+ invoke-interface {p3}, Ljava/util/List;->size()I
+
+ move-result p3
+
+ new-array p3, p3, [Ljava/lang/String;
+
+ invoke-interface {p1, p3}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+
+ move-result-object p1
+
+ check-cast p1, [Ljava/lang/String;
+
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPcscfAddr:[Ljava/lang/String;
+
+ .line 773
+ invoke-virtual {p0, p2}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
+
+ move-result-object p1
+
+ iget-object p1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ .line 776
+
+ return-object p1
+.end method
+
+.method private setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+ .registers 10
+
+ .line 1072
+ new-instance v0, Ljava/lang/StringBuilder;
+
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "net."
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v1, "."
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v0
+
+ .line 1073
+ const/4 v1, 0x2
+
+ new-array v1, v1, [Ljava/lang/String;
+
+ .line 1074
+ new-instance v2, Ljava/lang/StringBuilder;
+
+ invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
+
+ invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v3, "dns1"
+
+ invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v2
+
+ invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v2
+
+ const/4 v3, 0x0
+
+ aput-object v2, v1, v3
+
+ .line 1075
+ new-instance v2, Ljava/lang/StringBuilder;
+
+ invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
+
+ invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v0, "dns2"
+
+ invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v0
+
+ const/4 v2, 0x1
+
+ aput-object v0, v1, v2
+
+ .line 1076
+ invoke-direct {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->isDnsOk([Ljava/lang/String;)Z
+
+ move-result v0
+
+ .line 1082
+ invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V
+
+ .line 1084
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+ move-result v2
+
+ sget-object v4, Lcom/android/internal/telephony/dataconnection/DcFailCause;->NONE:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ invoke-virtual {v4}, Lcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I
+
+ move-result v4
+
+ if-ne v2, v4,
+
+ .line 1087
+
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String;
+
+ move-result-object v2
+
+ invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V
+
+ .line 1090
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List;
+
+ move-result-object v2
+
+ invoke-interface {v2}, Ljava/util/List;->size()I
+
+ move-result v2
+
+ if-lez v2,
+
+ .line 1091
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getAddresses()Ljava/util/List;
+
+ move-result-object v2
+
+ invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+ move-result-object v2
+
+
+ invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v4
+
+ if-eqz v4,
+
+ invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v4
+
+ check-cast v4, Landroid/net/LinkAddress;
+
+ .line 1092
+ invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress;
+
+ move-result-object v5
+
+ invoke-virtual {v5}, Ljava/net/InetAddress;->isAnyLocalAddress()Z
+
+ move-result v5
+
+ if-nez v5,
+
+ .line 1094
+ new-instance v5, Ljava/lang/StringBuilder;
+
+ invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v6, "addr/pl="
+
+ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v4}, Landroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress;
+
+ move-result-object v6
+
+ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v6, "/"
+
+ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 1095
+ invoke-virtual {v4}, Landroid/net/LinkAddress;->getNetworkPrefixLength()I
+
+ move-result v6
+
+ invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v5
+
+ .line 1094
+ invoke-virtual {p0, v5}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 1097
+ invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z
+
+ .line 1099
+
+ goto
+
+ .line 1105
+
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List;
+
+ move-result-object v2
+
+ invoke-interface {v2}, Ljava/util/List;->size()I
+
+ move-result v2
+
+ if-lez v2,
+
+ .line 1106
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getDnses()Ljava/util/List;
+
+ move-result-object v0
+
+ invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+ move-result-object v0
+
+
+ invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v1
+
+ if-eqz v1,
+
+ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v1
+
+ check-cast v1, Ljava/net/InetAddress;
+
+ .line 1107
+ invoke-virtual {v1}, Ljava/net/InetAddress;->isAnyLocalAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ .line 1108
+ invoke-virtual {p2, v1}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z
+
+ .line 1110
+
+ goto
+
+ .line 1111
+
+ if-eqz v0,
+
+ .line 1112
+ array-length v0, v1
+
+
+ if-ge v3, v0,
+
+ aget-object v2, v1, v3
+
+ .line 1113
+ invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;
+
+ move-result-object v2
+
+ .line 1114
+ invoke-virtual {v2}, Ljava/lang/String;->isEmpty()Z
+
+ move-result v4
+
+ .catch Ljava/net/UnknownHostException; { .. }
+
+ if-eqz v4,
+
+ goto
+
+ .line 1117
+
+
+ invoke-static {v2}, Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress;
+
+ move-result-object v4
+
+ .catch Ljava/lang/IllegalArgumentException; { .. }
+ .catch Ljava/net/UnknownHostException; { .. }
+
+ .line 1120
+ nop
+
+ .line 1121
+
+ invoke-virtual {v4}, Ljava/net/InetAddress;->isAnyLocalAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ .line 1122
+ invoke-virtual {p2, v4}, Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z
+
+ .line 1112
+
+
+ add-int/lit8 v3, v3, 0x1
+
+ goto
+
+ .line 1118
+
+ move-exception v0
+
+ .line 1119
+ new-instance v0, Ljava/net/UnknownHostException;
+
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v3, "Non-numeric dns addr="
+
+ invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-direct {v0, v1}, Ljava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+
+ throw v0
+
+ .line 1129
+
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getGateways()Ljava/util/List;
+
+ move-result-object v0
+
+ invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+ move-result-object v0
+
+
+ invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v1
+
+ if-eqz v1,
+
+ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v1
+
+ check-cast v1, Ljava/net/InetAddress;
+
+ .line 1132
+ new-instance v2, Landroid/net/RouteInfo;
+
+ invoke-direct {v2, v1}, Landroid/net/RouteInfo;-><init>(Ljava/net/InetAddress;)V
+
+ invoke-virtual {p2, v2}, Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z
+
+ .line 1133
+ goto
+
+ .line 1137
+
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getMtu()I
+
+ move-result v0
+
+ invoke-virtual {p2, v0}, Landroid/net/LinkProperties;->setMtu(I)V
+
+ .line 1139
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ goto
+
+ .line 1126
+
+ new-instance v0, Ljava/net/UnknownHostException;
+
+ const-string v1, "Empty dns response and no system default dns"
+
+ invoke-direct {v0, v1}, Ljava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+
+ throw v0
+
+ .line 1101
+
+ new-instance v0, Ljava/net/UnknownHostException;
+
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v2, "no address for ifname="
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getIfname()Ljava/lang/String;
+
+ move-result-object v2
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-direct {v0, v1}, Ljava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+
+ throw v0
+
+ .catch Ljava/net/UnknownHostException; { .. }
+
+ .line 1140
+
+ move-exception v0
+
+ .line 1141
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v2, "setLinkProperties: UnknownHostException "
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 1142
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_INVALID_ARG:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ .line 1143
+
+ goto
+
+ .line 1145
+
+ sget-object v0, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->ERROR_DATA_SERVICE_SPECIFIC_ERROR:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ .line 1149
+
+ sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ if-eq v0, v1,
+
+ .line 1151
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v2, "setLinkProperties: error clearing LinkProperties status="
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 1152
+ invoke-virtual {p1}, Landroid/telephony/data/DataCallResponse;->getStatus()I
+
+ move-result p1
+
+ invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ const-string p1, " result="
+
+ invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p1
+
+ .line 1151
+ invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 1154
+ invoke-virtual {p2}, Landroid/net/LinkProperties;->clear()V
+
+ .line 1157
+
+ return-object v0
+.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
+
+
+ invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v3
+
+ if-eqz v3,
+
+ 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
+
+ .line 920
+
+ if-eqz v2,
+
+ .line 921
+ return-void
+
+ .line 926
+
+ 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,
+
+ .line 927
+ return-void
+
+ .line 931
+
+ 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 tearDownData(Ljava/lang/Object;)V
+ .registers 8
+
+ .line 569
+ nop
+
+ .line 570
+ nop
+
+ .line 571
+ const/4 v0, 0x1
+
+ if-eqz p1,
+
+ instance-of v1, p1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+ if-eqz v1,
+
+ .line 572
+ move-object v1, p1
+
+ check-cast v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+ .line 573
+ iget-object v2, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mApnContext:Lcom/android/internal/telephony/dataconnection/ApnContext;
+
+ .line 574
+ iget-object v3, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String;
+
+ const-string v4, "radioTurnedOff"
+
+ invoke-static {v3, v4}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
+
+ move-result v3
+
+ if-nez v3,
+
+ iget-object v1, v1, Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->mReason:Ljava/lang/String;
+
+ const-string v3, "pdpReset"
+
+ .line 575
+ invoke-static {v1, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
+
+ move-result v1
+
+ if-eqz v1,
+
+ .line 576
+
+ const/4 v0, 0x2
+
+ goto
+
+ .line 580
+
+ const/4 v2, 0x0
+
+
+
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v3, "tearDownData. mCid="
+
+ invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+ invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ const-string v3, ", reason="
+
+ invoke-virtual {v1, v3}, 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
+
+ .line 581
+ invoke-virtual {p0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 582
+ if-eqz v2,
+
+ invoke-virtual {v2, v1}, Lcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V
+
+ .line 583
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataServiceManager:Lcom/android/internal/telephony/dataconnection/DataServiceManager;
+
+ iget v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+ const v3, 0x40003
+
+ iget v4, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+ const/4 v5, 0x0
+
+ .line 584
+ invoke-virtual {p0, v3, v4, v5, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
+
+ move-result-object p1
+
+ .line 583
+ invoke-virtual {v1, v2, v0, p1}, Lcom/android/internal/telephony/dataconnection/DataServiceManager;->deactivateDataCall(IILandroid/os/Message;)V
+
+ .line 585
+ return-void
+.end method
+
+.method private updateNetworkInfo()V
+ .registers 5
+
+ .line 1408
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
+
+ move-result-object v0
+
+ .line 1409
+ invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataNetworkType()I
+
+ move-result v1
+
+ .line 1410
+ iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ invoke-static {v1}, Landroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String;
+
+ move-result-object v3
+
+ invoke-virtual {v2, v1, v3}, Landroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V
+
+ .line 1411
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ invoke-virtual {v0}, Landroid/telephony/ServiceState;->getDataRoaming()Z
+
+ move-result v0
+
+ invoke-virtual {v1, v0}, Landroid/net/NetworkInfo;->setRoaming(Z)V
+
+ .line 1412
+ return-void
+.end method
+
+.method private updateNetworkInfoSuspendState()V
+ .registers 5
+
+ .line 1416
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+ if-nez v0,
+
+ .line 1417
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ const-string v1, "Setting suspend state without a NetworkAgent"
+
+ invoke-static {v0, v1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 1421
+
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;
+
+ move-result-object v0
+
+ .line 1422
+ invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->getCurrentDataConnectionState()I
+
+ move-result v1
+
+ const/4 v2, 0x0
+
+ if-eqz v1,
+
+ .line 1423
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState;
+
+ iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ .line 1424
+ invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+ move-result-object v3
+
+ .line 1423
+ invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+ goto
+
+ .line 1427
+
+ invoke-virtual {v0}, Lcom/android/internal/telephony/ServiceStateTracker;->isConcurrentVoiceAndDataAllowed()Z
+
+ move-result v0
+
+ if-nez v0,
+
+ .line 1428
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ invoke-virtual {v0}, Lcom/android/internal/telephony/Phone;->getCallTracker()Lcom/android/internal/telephony/CallTracker;
+
+ move-result-object v0
+
+ .line 1429
+ invoke-virtual {v0}, Lcom/android/internal/telephony/CallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
+
+ move-result-object v0
+
+ sget-object v1, Lcom/android/internal/telephony/PhoneConstants$State;->IDLE:Lcom/android/internal/telephony/PhoneConstants$State;
+
+ if-eq v0, v1,
+
+ .line 1430
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ sget-object v1, Landroid/net/NetworkInfo$DetailedState;->SUSPENDED:Landroid/net/NetworkInfo$DetailedState;
+
+ iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ .line 1431
+ invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+ move-result-object v3
+
+ .line 1430
+ invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+ .line 1432
+ return-void
+
+ .line 1435
+
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ sget-object v1, Landroid/net/NetworkInfo$DetailedState;->CONNECTED:Landroid/net/NetworkInfo$DetailedState;
+
+ iget-object v3, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkInfo:Landroid/net/NetworkInfo;
+
+ .line 1436
+ invoke-virtual {v3}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
+
+ move-result-object v3
+
+ .line 1435
+ invoke-virtual {v0, v1, v2, v3}, Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
+
+ .line 1438
+
+ return-void
+.end method
+
+.method private updateTcpBufferSizes(I)V
+ .registers 10
+
+ .line 812
+ nop
+
+ .line 813
+ const/16 v0, 0x13
+
+ if-ne p1, v0,
+
+ .line 816
+ const/16 p1, 0xe
+
+ .line 818
+
+ 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,
+
+ const/16 v2, 0x8
+
+ if-eq p1, v2,
+
+ const/16 v2, 0xc
+
+ if-ne p1, v2,
+
+ .line 824
+
+ const-string v1, "evdo"
+
+ .line 828
+
+ 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
+
+
+ array-length v5, v2
+
+ if-ge v4, v5,
+
+ .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,
+
+ array-length v6, v5
+
+ const/4 v7, 0x2
+
+ if-ne v6, v7,
+
+ .line 833
+ const/4 v1, 0x1
+
+ aget-object v1, v5, v1
+
+ .line 834
+ goto
+
+ .line 830
+
+ add-int/lit8 v4, v4, 0x1
+
+ goto
+
+ .line 838
+
+ const/4 v1, 0x0
+
+
+ if-nez v1,
+
+ .line 842
+ if-eq p1, v0,
+
+ packed-switch p1,
+
+ packed-switch p1,
+
+ goto
+
+ .line 875
+
+ const-string v1, "122334,734003,2202010,32040,192239,576717"
+
+ .line 876
+ goto
+
+ .line 861
+
+ const-string v1, "131072,262144,1048576,4096,16384,524288"
+
+ .line 862
+ goto
+
+ .line 868
+
+ const-string v1, "40778,244668,734003,16777,100663,301990"
+
+ .line 869
+ goto
+
+ .line 864
+
+ const-string v1, "61167,367002,1101005,8738,52429,262114"
+
+ .line 865
+ goto
+
+ .line 858
+
+ const-string v1, "4094,87380,262144,4096,16384,262144"
+
+ .line 859
+ goto
+
+ .line 853
+
+ const-string v1, "16384,32768,131072,4096,16384,102400"
+
+ .line 854
+ goto
+
+ .line 850
+
+ const-string v1, "58254,349525,1048576,58254,349525,1048576"
+
+ .line 851
+ goto
+
+ .line 847
+
+ const-string v1, "4093,26280,70800,4096,16384,70800"
+
+ .line 848
+ goto
+
+ .line 844
+
+ const-string v1, "4092,8760,48000,4096,8760,48000"
+
+ .line 845
+ goto
+
+ .line 872
+
+
+ const-string v1, "524288,1048576,2097152,262144,524288,1048576"
+
+ .line 873
+ nop
+
+ .line 882
+
+
+ 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
+
+
+ .packed-switch 0x1
+
+
+
+ .end packed-switch
+
+
+ .packed-switch 0x6
+
+
+
+
+
+
+
+
+
+
+ .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 2511
+ const-string p2, "DataConnection "
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->print(Ljava/lang/String;)V
+
+ .line 2512
+ invoke-super {p0, p1, v0, p3}, Lcom/android/internal/util/StateMachine;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+
+ .line 2513
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V
+
+ .line 2514
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+ .line 2515
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mApnContexts.size="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+ invoke-virtual {v1}, Ljava/util/HashMap;->size()I
+
+ move-result v1
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2516
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mApnContexts="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2517
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mDataConnectionTracker="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDct:Lcom/android/internal/telephony/dataconnection/DcTracker;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2518
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mApnSetting="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2519
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mTag="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2520
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mCid="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2521
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mConnectionParams="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2522
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mDisconnectParams="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectParams:Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2523
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mDcFailCause="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDcFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2524
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mPhone="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2525
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mLinkProperties="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2526
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V
+
+ .line 2527
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mDataRegState="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDataRegState:I
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2528
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mRilRat="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2529
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mNetworkCapabilities="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities;
+
+ move-result-object v1
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2530
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mCreateTime="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+ invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2531
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mLastFailTime="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+ invoke-static {v1, v2}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2532
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mLastFailCause="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2533
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mUserData="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mUserData:Ljava/lang/Object;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2534
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mSubscriptionOverride="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
+
+ invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2535
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mInstanceNumber="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInstanceNumber:Ljava/util/concurrent/atomic/AtomicInteger;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2536
+ new-instance p2, Ljava/lang/StringBuilder;
+
+ invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "mAc="
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mAc:Lcom/android/internal/util/AsyncChannel;
+
+ invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p2
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2537
+ const-string p2, "Network capabilities changed history:"
+
+ invoke-virtual {v0, p2}, Lcom/android/internal/util/IndentingPrintWriter;->println(Ljava/lang/String;)V
+
+ .line 2538
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+ .line 2539
+ iget-object p2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetCapsLocalLog:Landroid/util/LocalLog;
+
+ invoke-virtual {p2, p1, v0, p3}, Landroid/util/LocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+
+ .line 2540
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+ .line 2541
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
+
+ .line 2542
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->println()V
+
+ .line 2543
+ invoke-virtual {v0}, Lcom/android/internal/util/IndentingPrintWriter;->flush()V
+
+ .line 2544
+ return-void
+.end method
+
+.method getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+ .registers 2
+
+ .line 323
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ return-object v0
+.end method
+
+.method getCid()I
+ .registers 2
+
+ .line 319
+ iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+ return v0
+.end method
+
+.method getCopyLinkProperties()Landroid/net/LinkProperties;
+ .registers 3
+
+ .line 299
+ new-instance v0, Landroid/net/LinkProperties;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-direct {v0, v1}, Landroid/net/LinkProperties;-><init>(Landroid/net/LinkProperties;)V
+
+ return-object v0
+.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
+
+ if-eqz v2,
+
+ .line 939
+ iget-object v2, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v2, v2, Lcom/android/internal/telephony/dataconnection/ApnSetting;->types:[Ljava/lang/String;
+
+ array-length v6, v2
+
+ move v7, v1
+
+
+ if-ge v7, v6,
+
+ aget-object v8, v2, v7
+
+ .line 940
+ iget-boolean v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+ if-nez v9,
+
+ iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+ if-eqz v9,
+
+ iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+ iget-boolean v9, v9, Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->mUnmeteredUseOnly:Z
+
+ if-eqz v9,
+
+ iget-object v9, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mPhone:Lcom/android/internal/telephony/Phone;
+
+ .line 942
+ invoke-static {v8, v9}, Lcom/android/internal/telephony/dataconnection/ApnSetting;->isMeteredApnType(Ljava/lang/String;Lcom/android/internal/telephony/Phone;)Z
+
+ move-result v9
+
+ if-eqz v9,
+
+ .line 943
+ new-instance v9, Ljava/lang/StringBuilder;
+
+ invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v10, "Dropped the metered "
+
+ invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v8, " for the unmetered data call."
+
+ invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v8
+
+ invoke-virtual {p0, v8}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 944
+ goto/16
+
+ .line 946
+
+ const/4 v9, -0x1
+
+ invoke-virtual {v8}, Ljava/lang/String;->hashCode()I
+
+ move-result v10
+
+ const/4 v11, 0x7
+
+ const/4 v12, 0x4
+
+ const/4 v13, 0x5
+
+ const/4 v14, 0x3
+
+ sparse-switch v10,
+
+ goto/16
+
+
+ const-string v10, "emergency"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ const/16 v8, 0x9
+
+ goto/16
+
+
+ const-string v10, "default"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ move v8, v5
+
+ goto
+
+
+ const-string v10, "supl"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ move v8, v14
+
+ goto
+
+
+ const-string v10, "fota"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ move v8, v13
+
+ goto
+
+
+ const-string v10, "mms"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ move v8, v4
+
+ goto
+
+
+ const-string v10, "ims"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ const/4 v8, 0x6
+
+ goto
+
+
+ const-string v10, "dun"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ move v8, v12
+
+ goto
+
+
+ const-string v10, "cbs"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ move v8, v11
+
+ goto
+
+
+ const-string v10, "ia"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ const/16 v8, 0x8
+
+ goto
+
+
+ const-string v10, "*"
+
+ invoke-virtual {v8, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8,
+
+ move v8, v1
+
+ goto
+
+
+
+ move v8, v9
+
+
+ const/16 v9, 0xc
+
+ packed-switch v8,
+
+ goto
+
+ .line 991
+
+ const/16 v8, 0xa
+
+ invoke-virtual {v0, v8}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 992
+ goto
+
+ .line 987
+
+ invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 988
+ goto
+
+ .line 983
+
+ invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 984
+ goto
+
+ .line 979
+
+ invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 980
+ goto
+
+ .line 975
+
+ invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 976
+ goto
+
+ .line 971
+
+ invoke-virtual {v0, v4}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 972
+ goto
+
+ .line 967
+
+ invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 968
+ goto
+
+ .line 963
+
+ invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 964
+ goto
+
+ .line 959
+
+ invoke-virtual {v0, v9}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 960
+ goto
+
+ .line 948
+
+ invoke-virtual {v0, v9}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 949
+ invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 950
+ invoke-virtual {v0, v5}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 951
+ invoke-virtual {v0, v14}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 952
+ invoke-virtual {v0, v12}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 953
+ invoke-virtual {v0, v13}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 954
+ invoke-virtual {v0, v11}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 955
+ invoke-virtual {v0, v4}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 956
+ nop
+
+ .line 939
+
+ add-int/lit8 v7, v7, 0x1
+
+ goto/16
+
+ .line 1001
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mConnectionParams:Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;
+
+ if-eqz v1,
+
+ 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,
+
+ iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+ if-eqz v1,
+
+
+ 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,
+
+ .line 1004
+
+ invoke-virtual {v0, v3}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ goto
+
+ .line 1006
+
+ invoke-virtual {v0, v3}, Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 1009
+
+ invoke-virtual {v0}, Landroid/net/NetworkCapabilities;->maybeMarkCapabilitiesRestricted()V
+
+ .line 1011
+
+ iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+ if-eqz v1,
+
+ .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
+
+ 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,
+
+ packed-switch v1,
+
+ .line 1038
+
+ move v6, v11
+
+ move v8, v6
+
+ goto
+
+ .line 1035
+
+ const/16 v6, 0x2c00
+
+ const v8, 0xa800
+
+ goto
+
+ .line 1032
+
+ nop
+
+ .line 1038
+
+ move v6, v9
+
+ goto
+
+ .line 1034
+
+ const/16 v8, 0x9d4
+
+ goto
+
+ .line 1031
+
+ const/16 v8, 0x1399
+
+ goto
+
+ .line 1030
+
+ const/16 v6, 0x170a
+
+ goto
+
+ .line 1029
+
+ const/16 v6, 0x170a
+
+ goto
+
+ .line 1028
+
+ const/16 v6, 0x800
+
+ .line 1038
+
+ move v8, v10
+
+ goto
+
+ .line 1026
+
+ const/16 v8, 0xc66
+
+ goto
+
+ .line 1025
+
+ const/16 v8, 0x999
+
+ .line 1038
+
+ move v6, v7
+
+ goto
+
+ .line 1027
+
+ const/16 v6, 0x64
+
+ const/16 v8, 0x64
+
+ goto
+
+ .line 1024
+
+ goto
+
+ .line 1022
+
+ const/16 v6, 0x180
+
+ const/16 v8, 0x180
+
+ goto
+
+ .line 1021
+
+ const/16 v6, 0x3b
+
+ const/16 v8, 0xec
+
+ goto
+
+ .line 1020
+
+ const/16 v6, 0x50
+
+ const/16 v8, 0x50
+
+ goto
+
+ .line 1033
+
+ goto
+
+ .line 1038
+
+ 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,
+
+ .line 1050
+ invoke-virtual {v0, v3}, Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 1052
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
+
+ and-int/2addr v1, v4
+
+ if-eqz v1,
+
+ .line 1053
+ const/16 v1, 0x14
+
+ invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
+
+ .line 1056
+
+ return-object v0
+
+ nop
+
+
+ .sparse-switch
+ 0x2a ->
+ 0xd18 ->
+ 0x17ff4 ->
+ 0x185fd ->
+ 0x197cf ->
+ 0x1a6d3 ->
+ 0x300cf6 ->
+ 0x360bde ->
+ 0x5c13d641 ->
+ 0x6118c591 ->
+ .end sparse-switch
+
+
+ .packed-switch 0x0
+
+
+
+
+
+
+
+
+
+
+ .end packed-switch
+
+
+ .packed-switch 0x1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .end packed-switch
+.end method
+
+.method protected getWhatToString(I)Ljava/lang/String;
+ .registers 2
+
+ .line 2351
+ invoke-static {p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String;
+
+ move-result-object p1
+
+ return-object p1
+.end method
+
+.method isActivating()Z
+ .registers 3
+
+ .line 315
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+ move-result-object v0
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActivatingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;
+
+ if-ne v0, v1,
+
+ const/4 v0, 0x1
+
+ goto
+
+
+ const/4 v0, 0x0
+
+
+ return v0
+.end method
+
+.method isActive()Z
+ .registers 3
+
+ .line 311
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+ move-result-object v0
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mActiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;
+
+ if-ne v0, v1,
+
+ const/4 v0, 0x1
+
+ goto
+
+
+ const/4 v0, 0x0
+
+
+ return v0
+.end method
+
+.method isDisconnecting()Z
+ .registers 3
+
+ .line 307
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+ move-result-object v0
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mDisconnectingState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
+
+ if-ne v0, v1,
+
+ const/4 v0, 0x1
+
+ goto
+
+
+ const/4 v0, 0x0
+
+
+ return v0
+.end method
+
+.method isInactive()Z
+ .registers 3
+
+ .line 303
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+ move-result-object v0
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mInactiveState:Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+
+ if-ne v0, v1,
+
+ const/4 v0, 0x1
+
+ goto
+
+
+ const/4 v0, 0x0
+
+
+ return v0
+.end method
+
+.method public isIpv4Connected()Z
+ .registers 4
+
+ .line 363
+ nop
+
+ .line 364
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List;
+
+ move-result-object v0
+
+ .line 366
+ invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+ move-result-object v0
+
+
+ invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v1
+
+ if-eqz v1,
+
+ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v1
+
+ check-cast v1, Ljava/net/InetAddress;
+
+ .line 367
+ instance-of v2, v1, Ljava/net/Inet4Address;
+
+ if-eqz v2,
+
+ .line 368
+ check-cast v1, Ljava/net/Inet4Address;
+
+ .line 369
+ invoke-virtual {v1}, Ljava/net/Inet4Address;->isAnyLocalAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ invoke-virtual {v1}, Ljava/net/Inet4Address;->isLinkLocalAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ .line 370
+ invoke-virtual {v1}, Ljava/net/Inet4Address;->isLoopbackAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ invoke-virtual {v1}, Ljava/net/Inet4Address;->isMulticastAddress()Z
+
+ move-result v1
+
+ if-nez v1,
+
+ .line 371
+ const/4 v0, 0x1
+
+ .line 372
+ goto
+
+ .line 375
+
+ goto
+
+ .line 376
+
+ const/4 v0, 0x0
+
+
+ return v0
+.end method
+
+.method public isIpv6Connected()Z
+ .registers 4
+
+ .line 380
+ nop
+
+ .line 381
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-virtual {v0}, Landroid/net/LinkProperties;->getAddresses()Ljava/util/List;
+
+ move-result-object v0
+
+ .line 383
+ invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+ move-result-object v0
+
+
+ invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v1
+
+ if-eqz v1,
+
+ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v1
+
+ check-cast v1, Ljava/net/InetAddress;
+
+ .line 384
+ instance-of v2, v1, Ljava/net/Inet6Address;
+
+ if-eqz v2,
+
+ .line 385
+ check-cast v1, Ljava/net/Inet6Address;
+
+ .line 386
+ invoke-virtual {v1}, Ljava/net/Inet6Address;->isAnyLocalAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ invoke-virtual {v1}, Ljava/net/Inet6Address;->isLinkLocalAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ .line 387
+ invoke-virtual {v1}, Ljava/net/Inet6Address;->isLoopbackAddress()Z
+
+ move-result v2
+
+ if-nez v2,
+
+ invoke-virtual {v1}, Ljava/net/Inet6Address;->isMulticastAddress()Z
+
+ move-result v1
+
+ if-nez v1,
+
+ .line 388
+ const/4 v0, 0x1
+
+ .line 389
+ goto
+
+ .line 392
+
+ goto
+
+ .line 393
+
+ const/4 v0, 0x0
+
+
+ return v0
+.end method
+
+.method protected log(Ljava/lang/String;)V
+ .registers 3
+
+ .line 2406
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 2407
+ return-void
+.end method
+
+.method protected logd(Ljava/lang/String;)V
+ .registers 3
+
+ .line 2416
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0, p1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 2417
+ return-void
+.end method
+
+.method protected loge(Ljava/lang/String;)V
+ .registers 3
+
+ .line 2456
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0, p1}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 2457
+ return-void
+.end method
+
+.method protected loge(Ljava/lang/String;Ljava/lang/Throwable;)V
+ .registers 4
+
+ .line 2467
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0, p1, p2}, Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+
+ .line 2468
+ return-void
+.end method
+
+.method protected logi(Ljava/lang/String;)V
+ .registers 3
+
+ .line 2436
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0, p1}, Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 2437
+ return-void
+.end method
+
+.method protected logv(Ljava/lang/String;)V
+ .registers 3
+
+ .line 2426
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0, p1}, Landroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 2427
+ return-void
+.end method
+
+.method protected logw(Ljava/lang/String;)V
+ .registers 3
+
+ .line 2446
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0, p1}, Landroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 2447
+ return-void
+.end method
+
+.method public onSubscriptionOverride(II)V
+ .registers 5
+
+ .line 557
+ iget v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
+
+ not-int v1, p1
+
+ and-int/2addr v0, v1
+
+ and-int/2addr p1, p2
+
+ or-int/2addr p1, v0
+
+ iput p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mSubscriptionOverride:I
+
+ .line 559
+ const p1, 0x40011
+
+ invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message;
+
+ move-result-object p1
+
+ invoke-virtual {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V
+
+ .line 560
+ return-void
+.end method
+
+.method setLinkPropertiesHttpProxy(Landroid/net/ProxyInfo;)V
+ .registers 3
+
+ .line 327
+ iget-object v0, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-virtual {v0, p1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
+
+ .line 328
+ return-void
+.end method
+
+.method tearDownNow()V
+ .registers 2
+
+ .line 2312
+ const-string v0, "tearDownNow()"
+
+ invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
+
+ .line 2313
+ const v0, 0x40008
+
+ invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->obtainMessage(I)Landroid/os/Message;
+
+ move-result-object v0
+
+ invoke-virtual {p0, v0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->sendMessage(Landroid/os/Message;)V
+
+ .line 2314
+ return-void
+.end method
+
+.method public toString()Ljava/lang/String;
+ .registers 3
+
+ .line 2485
+ new-instance v0, Ljava/lang/StringBuilder;
+
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "{"
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->toStringSimple()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v1, " mApnContexts="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v1, "}"
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v0
+
+ return-object v0
+.end method
+
+.method public toStringSimple()Ljava/lang/String;
+ .registers 4
+
+ .line 2472
+ new-instance v0, Ljava/lang/StringBuilder;
+
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getName()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v1, ": State="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getCurrentState()Lcom/android/internal/util/IState;
+
+ move-result-object v1
+
+ invoke-interface {v1}, Lcom/android/internal/util/IState;->getName()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v1, " mApnSetting="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v1, " RefCount="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnContexts:Ljava/util/HashMap;
+
+ .line 2473
+ invoke-virtual {v1}, Ljava/util/HashMap;->size()I
+
+ move-result v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ const-string v1, " mCid="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCid:I
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ const-string v1, " mCreateTime="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mCreateTime:J
+
+ invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
+
+ const-string v1, " mLastastFailTime="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-wide v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailTime:J
+
+ invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
+
+ const-string v1, " mLastFailCause="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLastFailCause:Lcom/android/internal/telephony/dataconnection/DcFailCause;
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v1, " mTag="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mTag:I
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ const-string v1, " mLinkProperties="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v1, " linkCapabilities="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ .line 2479
+ invoke-virtual {p0}, Lcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v1, " mRestrictedNetworkOverride="
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-boolean v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRestrictedNetworkOverride:Z
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v0
+
+ .line 2472
+ return-object v0
+.end method
+
+.method public updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
+ .registers 4
+ .annotation build Lcom/android/internal/annotations/VisibleForTesting;
+ .end annotation
+
+ .line 398
+ new-instance v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-direct {v0, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;-><init>(Landroid/net/LinkProperties;)V
+
+ .line 400
+ if-nez p1,
+
+ return-object v0
+
+ .line 402
+
+ new-instance v1, Landroid/net/LinkProperties;
+
+ invoke-direct {v1}, Landroid/net/LinkProperties;-><init>()V
+
+ iput-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ .line 405
+ iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ move-result-object p1
+
+ iput-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ .line 406
+ iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ sget-object v1, Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->SUCCESS:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ if-eq p1, v1,
+
+ .line 407
+ new-instance p1, Ljava/lang/StringBuilder;
+
+ invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "updateLinkProperty failed : "
+
+ invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->setupResult:Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+
+ invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, 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 408
+ return-object v0
+
+ .line 411
+
+ iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-virtual {v1}, Landroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo;
+
+ move-result-object v1
+
+ invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
+
+ .line 413
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mApnSetting:Lcom/android/internal/telephony/dataconnection/ApnSetting;
+
+ iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ invoke-direct {p0, p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->checkSetMtu(Lcom/android/internal/telephony/dataconnection/ApnSetting;Landroid/net/LinkProperties;)V
+
+ .line 415
+ iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ iput-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ .line 417
+ iget p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mRilRat:I
+
+ invoke-direct {p0, p1}, Lcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V
+
+ .line 419
+ iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties;
+
+ iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z
+
+ move-result p1
+
+ if-nez p1,
+
+ .line 420
+ new-instance p1, Ljava/lang/StringBuilder;
+
+ invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "updateLinkProperty old LP="
+
+ invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties;
+
+ invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, 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 421
+ new-instance p1, Ljava/lang/StringBuilder;
+
+ invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
+
+ const-string v1, "updateLinkProperty new LP="
+
+ invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p1}, 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 424
+
+ iget-object p1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->newLp:Landroid/net/LinkProperties;
+
+ iget-object v1, v0, Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;->oldLp:Landroid/net/LinkProperties;
+
+ invoke-virtual {p1, v1}, Landroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z
+
+ move-result p1
+
+ if-nez p1,
+
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+ if-eqz p1,
+
+ .line 426
+ iget-object p1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mNetworkAgent:Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+
+ iget-object v1, p0, Lcom/android/internal/telephony/dataconnection/DataConnection;->mLinkProperties:Landroid/net/LinkProperties;
+
+ invoke-virtual {p1, v1}, Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V
+
+ .line 429
+
+ return-object v0
+.end method
diff --git a/data/syntax/smali.xml b/data/syntax/smali.xml new file mode 100644 --- /dev/null +++ b/data/syntax/smali.xml @@ -0,0 +1,456 @@ + + + + + + + +]> + + + + nop + move + move/from16 + move/16 + move-wide + move-wide/from16 + move-wide/16 + move-object + move-object/from16 + move-object/16 + move-result + move-result-wide + move-result-object + move-exception + return-void + return + return-wide + return-object + const/4 + const/16 + const + const/high16 + const-wide/16 + const-wide/32 + const-wide + const-wide/high16 + const-string + const-string/jumbo + const-class + monitor-enter + monitor-exit + check-cast + instance-of + array-length + new-instance + new-array + filled-new-array + filled-new-array/range + fill-array-data + throw + goto + goto/16 + goto/32 + packed-switch + sparse-switch + cmpl-float + cmpg-float + cmpl-double + cmpg-double + cmp-long + if-eq + if-ne + if-lt + if-ge + if-gt + if-le + if-eqz + if-nez + if-ltz + if-gez + if-gtz + if-lez + aget + aget-wide + aget-object + aget-boolean + aget-byte + aget-char + aget-short + aput + aput-wide + aput-object + aput-boolean + aput-byte + aput-char + aput-short + iget + iget-wide + iget-object + iget-boolean + iget-byte + iget-char + iget-short + iput + iput-wide + iput-object + iput-boolean + iput-byte + iput-char + iput-short + sget + sget-wide + sget-object + sget-boolean + sget-byte + sget-char + sget-short + sput + sput-wide + sput-object + sput-boolean + sput-byte + sput-char + sput-short + invoke-virtual + invoke-super + invoke-direct + invoke-static + invoke-interface + invoke-virtual/range + invoke-super/range + invoke-direct/range + invoke-static/range + invoke-interface/range + neg-int + not-int + neg-long + not-long + neg-float + neg-double + int-to-long + int-to-float + int-to-double + long-to-int + long-to-float + long-to-double + float-to-int + float-to-long + float-to-double + double-to-int + double-to-long + double-to-float + int-to-byte + int-to-char + int-to-short + add-int + sub-int + mul-int + div-int + rem-int + and-int + or-int + xor-int + shl-int + shr-int + ushr-int + add-long + sub-long + mul-long + div-long + rem-long + and-long + or-long + xor-long + shl-long + shr-long + ushr-long + add-float + sub-float + mul-float + div-float + rem-float + add-double + sub-double + mul-double + div-double + rem-double + add-int/2addr + sub-int/2addr + mul-int/2addr + div-int/2addr + rem-int/2addr + and-int/2addr + or-int/2addr + xor-int/2addr + shl-int/2addr + shr-int/2addr + ushr-int/2addr + add-long/2addr + sub-long/2addr + mul-long/2addr + div-long/2addr + rem-long/2addr + and-long/2addr + or-long/2addr + xor-long/2addr + shl-long/2addr + shr-long/2addr + ushr-long/2addr + add-float/2addr + sub-float/2addr + mul-float/2addr + div-float/2addr + rem-float/2addr + add-double/2addr + sub-double/2addr + mul-double/2addr + div-double/2addr + rem-double/2addr + add-int/lit16 + rsub-int + mul-int/lit16 + div-int/lit16 + rem-int/lit16 + and-int/lit16 + or-int/lit16 + xor-int/lit16 + add-int/lit8 + rsub-int/lit8 + mul-int/lit8 + div-int/lit8 + rem-int/lit8 + and-int/lit8 + or-int/lit8 + xor-int/lit8 + shl-int/lit8 + shr-int/lit8 + ushr-int/lit8 + iget-volatile + iput-volatile + sget-volatile + sput-volatile + iget-object-volatile + iget-wide-volatile + iput-wide-volatile + sget-wide-volatile + sput-wide-volatile + sget-object-volatile + throw-verification-error + execute-inline + execute-inline/range + invoke-object-init/range + return-void-barrier + iget-quick + invoke-polymorphic + invoke-polymorphic/range + invoke-custom + invoke-custom/range + const-method-handle + const-method-type + + + + public + private + protected + static + final + synchronized + volatile + bridge + transient + varargs + native + interface + abstract + strictfp + synthetic + annotation + enum + constructor + declared-synchronized + + + build + runtime + system + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +