Offset 2, 15 lines modifiedOffset 2, 15 lines modified
2 .super·Ljava/lang/Object;2 .super·Ljava/lang/Object;
3 .source·"Tethering.java"3 .source·"Tethering.java"
  
  
4 #·annotations4 #·annotations
5 .annotation·system·Ldalvik/annotation/MemberClasses;5 .annotation·system·Ldalvik/annotation/MemberClasses;
6 ····value·=·{6 ····value·=·{
7 ········Lcom/android/networkstack/tethering/Tethering$TetherMainSM;,7 ········Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;,
8 ········Lcom/android/networkstack/tethering/Tethering$UserRestrictionActionListener;,8 ········Lcom/android/networkstack/tethering/Tethering$UserRestrictionActionListener;,
9 ········Lcom/android/networkstack/tethering/Tethering$StateReceiver;,9 ········Lcom/android/networkstack/tethering/Tethering$StateReceiver;,
10 ········Lcom/android/networkstack/tethering/Tethering$EthernetCallback;,10 ········Lcom/android/networkstack/tethering/Tethering$EthernetCallback;,
11 ········Lcom/android/networkstack/tethering/Tethering$TetheringSoftApCallback;,11 ········Lcom/android/networkstack/tethering/Tethering$TetheringSoftApCallback;,
12 ········Lcom/android/networkstack/tethering/Tethering$NetdCallback;,12 ········Lcom/android/networkstack/tethering/Tethering$NetdCallback;,
13 ········Lcom/android/networkstack/tethering/Tethering$ActiveDataSubIdListener;,13 ········Lcom/android/networkstack/tethering/Tethering$ActiveDataSubIdListener;,
14 ········Lcom/android/networkstack/tethering/Tethering$TetheringThreadExecutor;,14 ········Lcom/android/networkstack/tethering/Tethering$TetheringThreadExecutor;,
Offset 107, 15 lines modifiedOffset 107, 15 lines modified
  
107 .field·private·final·mPublicSync:Ljava/lang/Object;107 .field·private·final·mPublicSync:Ljava/lang/Object;
  
108 .field·private·mRndisEnabled:Z108 .field·private·mRndisEnabled:Z
  
109 .field·private·final·mStateReceiver:Landroid/content/BroadcastReceiver;109 .field·private·final·mStateReceiver:Landroid/content/BroadcastReceiver;
  
110 .field·private·final·mTetherMainSM:Lcom/android/networkstack/tethering/util/StateMachine;110 .field·private·final·mTetherMasterSM:Lcom/android/networkstack/tethering/util/StateMachine;
  
111 .field·private·final·mTetherStates:Landroid/util/ArrayMap;111 .field·private·final·mTetherStates:Landroid/util/ArrayMap;
112 ····.annotation·system·Ldalvik/annotation/Signature;112 ····.annotation·system·Ldalvik/annotation/Signature;
113 ········value·=·{113 ········value·=·{
114 ············"Landroid/util/ArrayMap<",114 ············"Landroid/util/ArrayMap<",
115 ············"Ljava/lang/String;",115 ············"Ljava/lang/String;",
116 ············"Lcom/android/networkstack/tethering/Tethering$TetherState;",116 ············"Lcom/android/networkstack/tethering/Tethering$TetherState;",
Offset 162, 15 lines modifiedOffset 162, 15 lines modified
162 ····.line·161162 ····.line·161
163 ····const-class·v2,·Lcom/android/networkstack/tethering/Tethering;163 ····const-class·v2,·Lcom/android/networkstack/tethering/Tethering;
  
164 ····aput-object·v2,·v0,·v1164 ····aput-object·v2,·v0,·v1
  
165 ····const/4·v1,·0x1165 ····const/4·v1,·0x1
  
166 ····const-class·v2,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;166 ····const-class·v2,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
167 ····aput-object·v2,·v0,·v1167 ····aput-object·v2,·v0,·v1
  
168 ····const/4·v1,·0x2168 ····const/4·v1,·0x2
  
169 ····const-class·v2,·Landroid/net/ip/IpServer;169 ····const-class·v2,·Landroid/net/ip/IpServer;
  
Offset 299, 29 lines modifiedOffset 299, 29 lines modified
299 ····new-instance·v0,·Lcom/android/networkstack/tethering/ConnectedClientsTracker;299 ····new-instance·v0,·Lcom/android/networkstack/tethering/ConnectedClientsTracker;
  
300 ····invoke-direct·{v0},·Lcom/android/networkstack/tethering/ConnectedClientsTracker;-><init>()V300 ····invoke-direct·{v0},·Lcom/android/networkstack/tethering/ConnectedClientsTracker;-><init>()V
  
301 ····iput-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConnectedClientsTracker:Lcom/android/networkstack/tethering/ConnectedClientsTracker;301 ····iput-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConnectedClientsTracker:Lcom/android/networkstack/tethering/ConnectedClientsTracker;
  
302 ····.line·276302 ····.line·276
303 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;303 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
304 ····iget-object·v2,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLooper:Landroid/os/Looper;304 ····iget-object·v2,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLooper:Landroid/os/Looper;
  
305 ····const-string·v3,·"TetherMain"305 ····const-string·v3,·"TetherMaster"
  
306 ····invoke-direct·{v0,·p0,·v3,·v2,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;-><init>(Lcom/android/networkstack/tethering/Tethering;Ljava/lang/String;Landroid/os/Looper;Lcom/android/networkstack/tethering/TetheringDependencies;)V306 ····invoke-direct·{v0,·p0,·v3,·v2,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;-><init>(Lcom/android/networkstack/tethering/Tethering;Ljava/lang/String;Landroid/os/Looper;Lcom/android/networkstack/tethering/TetheringDependencies;)V
  
307 ····iput-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMainSM:Lcom/android/networkstack/tethering/util/StateMachine;307 ····iput-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMasterSM:Lcom/android/networkstack/tethering/util/StateMachine;
  
308 ····.line·277308 ····.line·277
309 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/util/StateMachine;->start()V309 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/util/StateMachine;->start()V
  
310 ····.line·279310 ····.line·279
311 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMainSM:Lcom/android/networkstack/tethering/util/StateMachine;311 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMasterSM:Lcom/android/networkstack/tethering/util/StateMachine;
  
312 ····invoke-virtual·{p1},·Lcom/android/networkstack/tethering/util/StateMachine;->getHandler()Landroid/os/Handler;312 ····invoke-virtual·{p1},·Lcom/android/networkstack/tethering/util/StateMachine;->getHandler()Landroid/os/Handler;
  
313 ····move-result-object·p1313 ····move-result-object·p1
  
314 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mHandler:Landroid/os/Handler;314 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mHandler:Landroid/os/Handler;
  
Offset 341, 15 lines modifiedOffset 341, 15 lines modified
341 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mOffloadController:Lcom/android/networkstack/tethering/OffloadController;341 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mOffloadController:Lcom/android/networkstack/tethering/OffloadController;
  
342 ····.line·288342 ····.line·288
343 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mDeps:Lcom/android/networkstack/tethering/TetheringDependencies;343 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mDeps:Lcom/android/networkstack/tethering/TetheringDependencies;
  
344 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;344 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;
  
345 ····iget-object·v2,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMainSM:Lcom/android/networkstack/tethering/util/StateMachine;345 ····iget-object·v2,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMasterSM:Lcom/android/networkstack/tethering/util/StateMachine;
  
346 ····iget-object·v3,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;346 ····iget-object·v3,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
347 ····const/4·v4,·0x5347 ····const/4·v4,·0x5
  
348 ····invoke-virtual·{p1,·v0,·v2,·v3,·v4},·Lcom/android/networkstack/tethering/TetheringDependencies;->getUpstreamNetworkMonitor(Landroid/content/Context;Lcom/android/networkstack/tethering/util/StateMachine;Landroid/net/util/SharedLog;I)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;348 ····invoke-virtual·{p1,·v0,·v2,·v3,·v4},·Lcom/android/networkstack/tethering/TetheringDependencies;->getUpstreamNetworkMonitor(Landroid/content/Context;Lcom/android/networkstack/tethering/util/StateMachine;Landroid/net/util/SharedLog;I)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;
  
Offset 478, 44 lines modifiedOffset 478, 40 lines modified
478 ····.line·322478 ····.line·322
479 ····new-instance·p1,·Lcom/android/networkstack/tethering/Tethering$NetdCallback;479 ····new-instance·p1,·Lcom/android/networkstack/tethering/Tethering$NetdCallback;
  
480 ····invoke-direct·{p1,·p0,·v1},·Lcom/android/networkstack/tethering/Tethering$NetdCallback;-><init>(Lcom/android/networkstack/tethering/Tethering;Lcom/android/networkstack/tethering/Tethering$1;)V480 ····invoke-direct·{p1,·p0,·v1},·Lcom/android/networkstack/tethering/Tethering$NetdCallback;-><init>(Lcom/android/networkstack/tethering/Tethering;Lcom/android/networkstack/tethering/Tethering$1;)V
  
481 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mNetdCallback:Lcom/android/networkstack/tethering/Tethering$NetdCallback;481 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mNetdCallback:Lcom/android/networkstack/tethering/Tethering$NetdCallback;
  
482 ····.line·325482 ····.line·323
483 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->updateConfiguration()V483 ····new-instance·p1,·Lcom/android/networkstack/tethering/PrivateAddressCoordinator;
  
484 ····.line·329 
485 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mDeps:Lcom/android/networkstack/tethering/TetheringDependencies; 
  
486 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;484 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;
  
487 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;485 ····invoke-direct·{p1,·v0},·Lcom/android/networkstack/tethering/PrivateAddressCoordinator;-><init>(Landroid/content/Context;)V
  
488 ····invoke-virtual·{p1,·v0,·v1},·Lcom/android/networkstack/tethering/TetheringDependencies;->getPrivateAddressCoordinator(Landroid/content/Context;Lcom/android/networkstack/tethering/TetheringConfiguration;)Lcom/android/networkstack/tethering/PrivateAddressCoordinator; 
  
489 ····move-result-object·p1 
  
490 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mPrivateAddressCoordinator:Lcom/android/networkstack/tethering/PrivateAddressCoordinator;486 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mPrivateAddressCoordinator:Lcom/android/networkstack/tethering/PrivateAddressCoordinator;
  
491 ····.line·333487 ····.line·326
 488 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->updateConfiguration()V
  
 489 ····.line·330
492 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mDeps:Lcom/android/networkstack/tethering/TetheringDependencies;490 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mDeps:Lcom/android/networkstack/tethering/TetheringDependencies;
  
493 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$2;491 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$2;
  
494 ····invoke-direct·{v0,·p0},·Lcom/android/networkstack/tethering/Tethering$2;-><init>(Lcom/android/networkstack/tethering/Tethering;)V492 ····invoke-direct·{v0,·p0},·Lcom/android/networkstack/tethering/Tethering$2;-><init>(Lcom/android/networkstack/tethering/Tethering;)V
  
495 ····invoke-virtual·{p1,·v0},·Lcom/android/networkstack/tethering/TetheringDependencies;->getBpfCoordinator(Lcom/android/networkstack/tethering/BpfCoordinator$Dependencies;)Lcom/android/networkstack/tethering/BpfCoordinator;493 ····invoke-virtual·{p1,·v0},·Lcom/android/networkstack/tethering/TetheringDependencies;->getBpfCoordinator(Lcom/android/networkstack/tethering/BpfCoordinator$Dependencies;)Lcom/android/networkstack/tethering/BpfCoordinator;
  
496 ····move-result-object·p1494 ····move-result-object·p1
  
497 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mBpfCoordinator:Lcom/android/networkstack/tethering/BpfCoordinator;495 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mBpfCoordinator:Lcom/android/networkstack/tethering/BpfCoordinator;
  
498 ····.line·361496 ····.line·358
499 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->startStateMachineUpdaters()V497 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->startStateMachineUpdaters()V
  
500 ····return-void498 ····return-void
501 .end·method499 .end·method
  
502 .method·static·synthetic·access$000(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/TetheringConfiguration;500 .method·static·synthetic·access$000(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/TetheringConfiguration;
503 ····.locals·0501 ····.locals·0
Offset 616, 15 lines modifiedOffset 612, 15 lines modified
616 ····return-void612 ····return-void
617 .end·method613 .end·method
  
618 .method·static·synthetic·access$2100(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/util/StateMachine;614 .method·static·synthetic·access$2100(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/util/StateMachine;
619 ····.locals·0615 ····.locals·0
  
620 ····.line·155616 ····.line·155
621 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMainSM:Lcom/android/networkstack/tethering/util/StateMachine;617 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMasterSM:Lcom/android/networkstack/tethering/util/StateMachine;
  
622 ····return-object·p0618 ····return-object·p0
623 .end·method619 .end·method
  
624 .method·static·synthetic·access$2200(Lcom/android/networkstack/tethering/Tethering;)Z620 .method·static·synthetic·access$2200(Lcom/android/networkstack/tethering/Tethering;)Z
625 ····.locals·0621 ····.locals·0
  
Offset 990, 27 lines modifiedOffset 986, 27 lines modified
  
990 ····return-void986 ····return-void
991 .end·method987 .end·method
  
992 .method·private·static·argsContain([Ljava/lang/String;Ljava/lang/String;)Z988 .method·private·static·argsContain([Ljava/lang/String;Ljava/lang/String;)Z
993 ····.locals·4989 ····.locals·4
  
994 ····.line·2291990 ····.line·2295
995 ····array-length·v0,·p0991 ····array-length·v0,·p0
  
996 ····const/4·v1,·0x0992 ····const/4·v1,·0x0
  
997 ····move·v2,·v1993 ····move·v2,·v1
  
998 ····:goto_0994 ····:goto_0
999 ····if-ge·v2,·v0,·:cond_1995 ····if-ge·v2,·v0,·:cond_1
  
1000 ····aget-object·v3,·p0,·v2996 ····aget-object·v3,·p0,·v2
  
1001 ····.line·2292997 ····.line·2296
1002 ····invoke-virtual·{p1,·v3},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z998 ····invoke-virtual·{p1,·v3},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  
1003 ····move-result·v3999 ····move-result·v3
  
1004 ····if-eqz·v3,·:cond_01000 ····if-eqz·v3,·:cond_0
  
1005 ····const/4·p0,·0x11001 ····const/4·p0,·0x1
Offset 1039, 15 lines modifiedOffset 1035, 15 lines modified
  
1039 ····if-eq·p2,·v0,·:cond_01035 ····if-eq·p2,·v0,·:cond_0
  
1040 ····const/4·v0,·0x31036 ····const/4·v0,·0x3
  
1041 ····if-eq·p2,·v0,·:cond_01037 ····if-eq·p2,·v0,·:cond_0
  
1042 ····.line·12521038 ····.line·1249
1043 ····sget-object·p0,·Lcom/android/networkstack/tethering/Tethering;->TAG:Ljava/lang/String;1039 ····sget-object·p0,·Lcom/android/networkstack/tethering/Tethering;->TAG:Ljava/lang/String;
  
1044 ····new-instance·p1,·Ljava/lang/StringBuilder;1040 ····new-instance·p1,·Ljava/lang/StringBuilder;
  
1045 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V1041 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V
  
1046 ····const-string·v0,·"Unknown·interface·state:·"1042 ····const-string·v0,·"Unknown·interface·state:·"
Offset 1060, 32 lines modifiedOffset 1056, 32 lines modified
  
1060 ····move-result-object·p11056 ····move-result-object·p1
  
1061 ····invoke-static·{p0,·p1},·Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/String;)I1057 ····invoke-static·{p0,·p1},·Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/String;)I
  
1062 ····return-void1058 ····return-void
  
1063 ····.line·12491059 ····.line·1246
1064 ····:cond_01060 ····:cond_0
1065 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/networkstack/tethering/Tethering;->tether(Ljava/lang/String;I)I1061 ····invoke-direct·{p0,·p1,·p2},·Lcom/android/networkstack/tethering/Tethering;->tether(Ljava/lang/String;I)I
  
1066 ····move-result·p01062 ····move-result·p0
  
1067 ····goto·:goto_01063 ····goto·:goto_0
  
1068 ····.line·12451064 ····.line·1242
1069 ····:cond_11065 ····:cond_1
1070 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering;->untether(Ljava/lang/String;)I1066 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering;->untether(Ljava/lang/String;)I
  
1071 ····move-result·p01067 ····move-result·p0
  
1072 ····:goto_01068 ····:goto_0
1073 ····if-eqz·p0,·:cond_21069 ····if-eqz·p0,·:cond_2
  
1074 ····.line·12561070 ····.line·1253
1075 ····sget-object·p0,·Lcom/android/networkstack/tethering/Tethering;->TAG:Ljava/lang/String;1071 ····sget-object·p0,·Lcom/android/networkstack/tethering/Tethering;->TAG:Ljava/lang/String;
  
1076 ····new-instance·p2,·Ljava/lang/StringBuilder;1072 ····new-instance·p2,·Ljava/lang/StringBuilder;
  
1077 ····invoke-direct·{p2},·Ljava/lang/StringBuilder;-><init>()V1073 ····invoke-direct·{p2},·Ljava/lang/StringBuilder;-><init>()V
  
1078 ····const-string·v0,·"unable·start·or·stop·tethering·on·iface·"1074 ····const-string·v0,·"unable·start·or·stop·tethering·on·iface·"
Offset 1105, 27 lines modifiedOffset 1101, 27 lines modified
1105 .end·method1101 .end·method
  
1106 .method·private·disableWifiIpServingLocked(Ljava/lang/String;I)V1102 .method·private·disableWifiIpServingLocked(Ljava/lang/String;I)V
1107 ····.locals·11103 ····.locals·1
  
1108 ····const/4·v0,·0x01104 ····const/4·v0,·0x0
  
1109 ····.line·11681105 ····.line·1165
1110 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mWifiTetherRequested:Z1106 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mWifiTetherRequested:Z
  
1111 ····.line·11701107 ····.line·1167
1112 ····invoke-direct·{p0,·v0,·p1,·p2},·Lcom/android/networkstack/tethering/Tethering;->disableWifiIpServingLockedCommon(ILjava/lang/String;I)V1108 ····invoke-direct·{p0,·v0,·p1,·p2},·Lcom/android/networkstack/tethering/Tethering;->disableWifiIpServingLockedCommon(ILjava/lang/String;I)V
  
1113 ····return-void1109 ····return-void
1114 .end·method1110 .end·method
  
1115 .method·private·disableWifiIpServingLockedCommon(ILjava/lang/String;I)V1111 .method·private·disableWifiIpServingLockedCommon(ILjava/lang/String;I)V
1116 ····.locals·31112 ····.locals·3
  
1117 ····.line·11371113 ····.line·1134
1118 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;1114 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
1119 ····new-instance·v1,·Ljava/lang/StringBuilder;1115 ····new-instance·v1,·Ljava/lang/StringBuilder;
  
1120 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V1116 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V
  
1121 ····const-string·v2,·"Canceling·WiFi·tethering·request·-·type="1117 ····const-string·v2,·"Canceling·WiFi·tethering·request·-·type="
Offset 1148, 104 lines modifiedOffset 1144, 104 lines modified
  
1148 ····invoke-virtual·{v1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;1144 ····invoke-virtual·{v1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  
1149 ····move-result-object·p31145 ····move-result-object·p3
  
1150 ····invoke-virtual·{v0,·p3},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V1146 ····invoke-virtual·{v0,·p3},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V
  
1151 ····.line·11421147 ····.line·1139
1152 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1148 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1153 ····move-result·p31149 ····move-result·p3
  
1154 ····if-nez·p3,·:cond_01150 ····if-nez·p3,·:cond_0
  
1155 ····.line·11431151 ····.line·1140
1156 ····iget-object·p3,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;1152 ····iget-object·p3,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;
  
1157 ····invoke-virtual·{p3,·p2},·Landroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;1153 ····invoke-virtual·{p3,·p2},·Landroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  
1158 ····move-result-object·p31154 ····move-result-object·p3
  
1159 ····check-cast·p3,·Lcom/android/networkstack/tethering/Tethering$TetherState;1155 ····check-cast·p3,·Lcom/android/networkstack/tethering/Tethering$TetherState;
  
1160 ····if-eqz·p3,·:cond_01156 ····if-eqz·p3,·:cond_0
  
1161 ····.line·11451157 ····.line·1142
1162 ····iget-object·p0,·p3,·Lcom/android/networkstack/tethering/Tethering$TetherState;->ipServer:Landroid/net/ip/IpServer;1158 ····iget-object·p0,·p3,·Lcom/android/networkstack/tethering/Tethering$TetherState;->ipServer:Landroid/net/ip/IpServer;
  
1163 ····invoke-virtual·{p0},·Landroid/net/ip/IpServer;->unwanted()V1159 ····invoke-virtual·{p0},·Landroid/net/ip/IpServer;->unwanted()V
  
1164 ····return-void1160 ····return-void
  
1165 ····:cond_01161 ····:cond_0
1166 ····const/4·p3,·0x01162 ····const/4·p3,·0x0
  
1167 ····.line·11501163 ····.line·1147
1168 ····:goto_01164 ····:goto_0
1169 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;1165 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;
  
1170 ····invoke-virtual·{v0},·Landroid/util/ArrayMap;->size()I1166 ····invoke-virtual·{v0},·Landroid/util/ArrayMap;->size()I
  
1171 ····move-result·v01167 ····move-result·v0
  
1172 ····if-ge·p3,·v0,·:cond_21168 ····if-ge·p3,·v0,·:cond_2
  
1173 ····.line·11511169 ····.line·1148
1174 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;1170 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;
  
1175 ····invoke-virtual·{v0,·p3},·Landroid/util/ArrayMap;->valueAt(I)Ljava/lang/Object;1171 ····invoke-virtual·{v0,·p3},·Landroid/util/ArrayMap;->valueAt(I)Ljava/lang/Object;
  
1176 ····move-result-object·v01172 ····move-result-object·v0
  
1177 ····check-cast·v0,·Lcom/android/networkstack/tethering/Tethering$TetherState;1173 ····check-cast·v0,·Lcom/android/networkstack/tethering/Tethering$TetherState;
  
1178 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherState;->ipServer:Landroid/net/ip/IpServer;1174 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherState;->ipServer:Landroid/net/ip/IpServer;
  
1179 ····.line·11521175 ····.line·1149
1180 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->interfaceType()I1176 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->interfaceType()I
  
1181 ····move-result·v11177 ····move-result·v1
  
1182 ····if-ne·v1,·p1,·:cond_11178 ····if-ne·v1,·p1,·:cond_1
  
1183 ····.line·11531179 ····.line·1150
1184 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->unwanted()V1180 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->unwanted()V
  
1185 ····return-void1181 ····return-void
  
1186 ····:cond_11182 ····:cond_1
1187 ····add-int/lit8·p3,·p3,·0x11183 ····add-int/lit8·p3,·p3,·0x1
  
1188 ····goto·:goto_01184 ····goto·:goto_0
  
1189 ····.line·11581185 ····.line·1155
1190 ····:cond_21186 ····:cond_2
1191 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;1187 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
1192 ····new-instance·p1,·Ljava/lang/StringBuilder;1188 ····new-instance·p1,·Ljava/lang/StringBuilder;
  
1193 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V1189 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V
  
1194 ····const-string·p3,·"Error·disabling·Wi-Fi·IP·serving;·"1190 ····const-string·p3,·"Error·disabling·Wi-Fi·IP·serving;·"
  
1195 ····invoke-virtual·{p1,·p3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;1191 ····invoke-virtual·{p1,·p3},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  
1196 ····.line·11591192 ····.line·1156
1197 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1193 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1198 ····move-result·p31194 ····move-result·p3
  
1199 ····if-eqz·p3,·:cond_31195 ····if-eqz·p3,·:cond_3
  
1200 ····const-string·p2,·"no·interface·name·specified"1196 ····const-string·p2,·"no·interface·name·specified"
  
1201 ····goto·:goto_11197 ····goto·:goto_1
  
1202 ····.line·11601198 ····.line·1157
1203 ····:cond_31199 ····:cond_3
1204 ····new-instance·p3,·Ljava/lang/StringBuilder;1200 ····new-instance·p3,·Ljava/lang/StringBuilder;
  
1205 ····invoke-direct·{p3},·Ljava/lang/StringBuilder;-><init>()V1201 ····invoke-direct·{p3},·Ljava/lang/StringBuilder;-><init>()V
  
1206 ····const-string·v0,·"specified·interface:·"1202 ····const-string·v0,·"specified·interface:·"
  
Offset 1260, 70 lines modifiedOffset 1256, 70 lines modified
1260 ····:goto_11256 ····:goto_1
1261 ····invoke-virtual·{p1,·p2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;1257 ····invoke-virtual·{p1,·p2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  
1262 ····invoke-virtual·{p1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;1258 ····invoke-virtual·{p1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  
1263 ····move-result-object·p11259 ····move-result-object·p1
  
1264 ····.line·11581260 ····.line·1155
1265 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V1261 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V
  
1266 ····return-void1262 ····return-void
1267 .end·method1263 .end·method
  
1268 .method·private·disableWifiP2pIpServingLockedIfNeeded(Ljava/lang/String;)V1264 .method·private·disableWifiP2pIpServingLockedIfNeeded(Ljava/lang/String;)V
1269 ····.locals·21265 ····.locals·2
  
1270 ····.line·11741266 ····.line·1171
1271 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1267 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1272 ····move-result·v01268 ····move-result·v0
  
1273 ····if-eqz·v0,·:cond_01269 ····if-eqz·v0,·:cond_0
  
1274 ····return-void1270 ····return-void
  
1275 ····:cond_01271 ····:cond_0
1276 ····const/4·v0,·0x31272 ····const/4·v0,·0x3
  
1277 ····const/4·v1,·0x01273 ····const/4·v1,·0x0
  
1278 ····.line·11761274 ····.line·1173
1279 ····invoke-direct·{p0,·v0,·p1,·v1},·Lcom/android/networkstack/tethering/Tethering;->disableWifiIpServingLockedCommon(ILjava/lang/String;I)V1275 ····invoke-direct·{p0,·v0,·p1,·v1},·Lcom/android/networkstack/tethering/Tethering;->disableWifiIpServingLockedCommon(ILjava/lang/String;I)V
  
1280 ····return-void1276 ····return-void
1281 .end·method1277 .end·method
  
1282 .method·private·doesEntitlementPackageExist()Z1278 .method·private·doesEntitlementPackageExist()Z
1283 ····.locals·31279 ····.locals·3
  
1284 ····.line·8331280 ····.line·830
1285 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;1281 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;
  
1286 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/TetheringConfiguration;->provisioningApp:[Ljava/lang/String;1282 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/TetheringConfiguration;->provisioningApp:[Ljava/lang/String;
  
1287 ····array-length·v0,·v01283 ····array-length·v0,·v0
  
1288 ····const/4·v1,·0x01284 ····const/4·v1,·0x0
  
1289 ····const/4·v2,·0x21285 ····const/4·v2,·0x2
  
1290 ····if-eq·v0,·v2,·:cond_01286 ····if-eq·v0,·v2,·:cond_0
  
1291 ····return·v11287 ····return·v1
  
1292 ····.line·8371288 ····.line·834
1293 ····:cond_01289 ····:cond_0
1294 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;1290 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;
  
1295 ····invoke-virtual·{v0},·Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;1291 ····invoke-virtual·{v0},·Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
  
1296 ····move-result-object·v01292 ····move-result-object·v0
  
1297 ····.line·8391293 ····.line·836
1298 ····:try_start_01294 ····:try_start_0
1299 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;1295 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;
  
1300 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/TetheringConfiguration;->provisioningApp:[Ljava/lang/String;1296 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/TetheringConfiguration;->provisioningApp:[Ljava/lang/String;
  
1301 ····aget-object·p0,·p0,·v11297 ····aget-object·p0,·p0,·v1
  
Offset 1338, 44 lines modifiedOffset 1334, 44 lines modified
1338 ····:catch_01334 ····:catch_0
1339 ····return·v11335 ····return·v1
1340 .end·method1336 .end·method
  
1341 .method·private·emptyTetherStatesParcel()Landroid/net/TetherStatesParcel;1337 .method·private·emptyTetherStatesParcel()Landroid/net/TetherStatesParcel;
1342 ····.locals·21338 ····.locals·2
  
1343 ····.line·20881339 ····.line·2092
1344 ····new-instance·p0,·Landroid/net/TetherStatesParcel;1340 ····new-instance·p0,·Landroid/net/TetherStatesParcel;
  
1345 ····invoke-direct·{p0},·Landroid/net/TetherStatesParcel;-><init>()V1341 ····invoke-direct·{p0},·Landroid/net/TetherStatesParcel;-><init>()V
  
1346 ····const/4·v0,·0x01342 ····const/4·v0,·0x0
  
1347 ····new-array·v1,·v0,·[Ljava/lang/String;1343 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1348 ····.line·20891344 ····.line·2093
1349 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->availableList:[Ljava/lang/String;1345 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->availableList:[Ljava/lang/String;
  
1350 ····new-array·v1,·v0,·[Ljava/lang/String;1346 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1351 ····.line·20901347 ····.line·2094
1352 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->tetheredList:[Ljava/lang/String;1348 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->tetheredList:[Ljava/lang/String;
  
1353 ····new-array·v1,·v0,·[Ljava/lang/String;1349 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1354 ····.line·20911350 ····.line·2095
1355 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->localOnlyList:[Ljava/lang/String;1351 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->localOnlyList:[Ljava/lang/String;
  
1356 ····new-array·v1,·v0,·[Ljava/lang/String;1352 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1357 ····.line·20921353 ····.line·2096
1358 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->erroredIfaceList:[Ljava/lang/String;1354 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->erroredIfaceList:[Ljava/lang/String;
  
1359 ····new-array·v0,·v0,·[I1355 ····new-array·v0,·v0,·[I
  
1360 ····.line·20931356 ····.line·2097
1361 ····iput-object·v0,·p0,·Landroid/net/TetherStatesParcel;->lastErrorList:[I1357 ····iput-object·v0,·p0,·Landroid/net/TetherStatesParcel;->lastErrorList:[I
  
1362 ····return-object·p01358 ····return-object·p0
1363 .end·method1359 .end·method
  
1364 .method·private·enableTetheringInternal(IZLandroid/net/IIntResultListener;)V1360 .method·private·enableTetheringInternal(IZLandroid/net/IIntResultListener;)V
1365 ····.locals·21361 ····.locals·2
Offset 1394, 67 lines modifiedOffset 1390, 67 lines modified
  
1394 ····if-eq·p1,·v1,·:cond_11390 ····if-eq·p1,·v1,·:cond_1
  
1395 ····const/4·v1,·0x51391 ····const/4·v1,·0x5
  
1396 ····if-eq·p1,·v1,·:cond_01392 ····if-eq·p1,·v1,·:cond_0
  
1397 ····.line·6091393 ····.line·606
1398 ····sget-object·p2,·Lcom/android/networkstack/tethering/Tethering;->TAG:Ljava/lang/String;1394 ····sget-object·p2,·Lcom/android/networkstack/tethering/Tethering;->TAG:Ljava/lang/String;
  
1399 ····const-string·v1,·"Invalid·tether·type."1395 ····const-string·v1,·"Invalid·tether·type."
  
1400 ····invoke-static·{p2,·v1},·Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I1396 ····invoke-static·{p2,·v1},·Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  
1401 ····const/16·p2,·0x101397 ····const/16·p2,·0x10
  
1402 ····goto·:goto_01398 ····goto·:goto_0
  
1403 ····.line·6061399 ····.line·603
1404 ····:cond_01400 ····:cond_0
1405 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setEthernetTethering(Z)I1401 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setEthernetTethering(Z)I
  
1406 ····move-result·p21402 ····move-result·p2
  
1407 ····goto·:goto_01403 ····goto·:goto_0
  
1408 ····.line·6031404 ····.line·600
1409 ····:cond_11405 ····:cond_1
1410 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setNcmTethering(Z)I1406 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setNcmTethering(Z)I
  
1411 ····move-result·p21407 ····move-result·p2
  
1412 ····goto·:goto_01408 ····goto·:goto_0
  
1413 ····.line·6001409 ····.line·597
1414 ····:cond_21410 ····:cond_2
1415 ····invoke-direct·{p0,·p2,·p3},·Lcom/android/networkstack/tethering/Tethering;->setBluetoothTethering(ZLandroid/net/IIntResultListener;)V1411 ····invoke-direct·{p0,·p2,·p3},·Lcom/android/networkstack/tethering/Tethering;->setBluetoothTethering(ZLandroid/net/IIntResultListener;)V
  
1416 ····const/4·p2,·0x01412 ····const/4·p2,·0x0
  
1417 ····goto·:goto_01413 ····goto·:goto_0
  
1418 ····.line·5971414 ····.line·594
1419 ····:cond_31415 ····:cond_3
1420 ····invoke-virtual·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setUsbTethering(Z)I1416 ····invoke-virtual·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setUsbTethering(Z)I
  
1421 ····move-result·p21417 ····move-result·p2
  
1422 ····goto·:goto_01418 ····goto·:goto_0
  
1423 ····.line·5941419 ····.line·591
1424 ····:cond_41420 ····:cond_4
1425 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setWifiTethering(Z)I1421 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setWifiTethering(Z)I
  
1426 ····move-result·p21422 ····move-result·p2
  
1427 ····:goto_01423 ····:goto_0
1428 ····if-eq·p1,·v0,·:cond_51424 ····if-eq·p1,·v0,·:cond_5
  
1429 ····.line·6151425 ····.line·612
1430 ····invoke-direct·{p0,·p3,·p2,·p1},·Lcom/android/networkstack/tethering/Tethering;->sendTetherResult(Landroid/net/IIntResultListener;II)V1426 ····invoke-direct·{p0,·p3,·p2,·p1},·Lcom/android/networkstack/tethering/Tethering;->sendTetherResult(Landroid/net/IIntResultListener;II)V
  
1431 ····:cond_51427 ····:cond_5
1432 ····return-void1428 ····return-void
1433 .end·method1429 .end·method
  
1434 .method·private·enableWifiIpServingLocked(Ljava/lang/String;I)V1430 .method·private·enableWifiIpServingLocked(Ljava/lang/String;I)V
Offset 1464, 15 lines modifiedOffset 1460, 15 lines modified
  
1464 ····const/4·v1,·0x11460 ····const/4·v1,·0x1
  
1465 ····if-eq·p2,·v1,·:cond_11461 ····if-eq·p2,·v1,·:cond_1
  
1466 ····if-eq·p2,·v0,·:cond_01462 ····if-eq·p2,·v0,·:cond_0
  
1467 ····.line·11911463 ····.line·1188
1468 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;1464 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
1469 ····new-instance·p1,·Ljava/lang/StringBuilder;1465 ····new-instance·p1,·Ljava/lang/StringBuilder;
  
1470 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V1466 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V
  
1471 ····const-string·v0,·"Cannot·enable·IP·serving·in·unknown·WiFi·mode:·"1467 ····const-string·v0,·"Cannot·enable·IP·serving·in·unknown·WiFi·mode:·"
Offset 1488, 62 lines modifiedOffset 1484, 62 lines modified
1488 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->e(Ljava/lang/String;)V1484 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->e(Ljava/lang/String;)V
  
1489 ····return-void1485 ····return-void
  
1490 ····:cond_01486 ····:cond_0
1491 ····const/4·v0,·0x31487 ····const/4·v0,·0x3
  
1492 ····.line·11951488 ····.line·1192
1493 ····:cond_11489 ····:cond_1
1494 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1490 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1495 ····move-result·p21491 ····move-result·p2
  
1496 ····if-nez·p2,·:cond_21492 ····if-nez·p2,·:cond_2
  
1497 ····.line·11961493 ····.line·1193
1498 ····invoke-direct·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;)V1494 ····invoke-direct·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;)V
  
1499 ····.line·11971495 ····.line·1194
1500 ····invoke-direct·{p0,·p1,·v0},·Lcom/android/networkstack/tethering/Tethering;->changeInterfaceState(Ljava/lang/String;I)V1496 ····invoke-direct·{p0,·p1,·v0},·Lcom/android/networkstack/tethering/Tethering;->changeInterfaceState(Ljava/lang/String;I)V
  
1501 ····goto·:goto_01497 ····goto·:goto_0
  
1502 ····.line·11991498 ····.line·1196
1503 ····:cond_21499 ····:cond_2
1504 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;1500 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
1505 ····new-array·p1,·v1,·[Ljava/lang/Object;1501 ····new-array·p1,·v1,·[Ljava/lang/Object;
  
1506 ····const/4·p2,·0x01502 ····const/4·p2,·0x0
  
1507 ····.line·12011503 ····.line·1198
1508 ····invoke-static·{v0},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;1504 ····invoke-static·{v0},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
1509 ····move-result-object·v01505 ····move-result-object·v0
  
1510 ····aput-object·v0,·p1,·p21506 ····aput-object·v0,·p1,·p2
  
1511 ····const-string·p2,·"Cannot·enable·IP·serving·in·mode·%s·on·missing·interface·name"1507 ····const-string·p2,·"Cannot·enable·IP·serving·in·mode·%s·on·missing·interface·name"
  
1512 ····.line·11991508 ····.line·1196
1513 ····invoke-static·{p2,·p1},·Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;1509 ····invoke-static·{p2,·p1},·Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
  
1514 ····move-result-object·p11510 ····move-result-object·p1
  
1515 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->e(Ljava/lang/String;)V1511 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->e(Ljava/lang/String;)V
  
1516 ····:goto_01512 ····:goto_0
1517 ····return-void1513 ····return-void
1518 .end·method1514 .end·method
  
1519 .method·private·getWifiManager()Landroid/net/wifi/WifiManager;1515 .method·private·getWifiManager()Landroid/net/wifi/WifiManager;
1520 ····.locals·11516 ····.locals·1
  
1521 ····.line·4401517 ····.line·437
1522 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;1518 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;
  
1523 ····const-string·v0,·"wifi"1519 ····const-string·v0,·"wifi"
  
1524 ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;1520 ····invoke-virtual·{p0,·v0},·Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  
1525 ····move-result-object·p01521 ····move-result-object·p0
Offset 1552, 18 lines modifiedOffset 1548, 18 lines modified
  
1552 ····return-object·p01548 ····return-object·p0
1553 .end·method1549 .end·method
  
1554 .method·private·hasCallingPermission(Ljava/lang/String;)Z1550 .method·private·hasCallingPermission(Ljava/lang/String;)Z
1555 ····.locals·01551 ····.locals·0
  
1556 ····.line·20991552 ····.line·2103
1557 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;1553 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;
  
1558 ····invoke-virtual·{p0,·p1},·Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I1554 ····invoke-virtual·{p0,·p1},·Landroid/content/Context;->checkCallingPermission(Ljava/lang/String;)I
  
1559 ····move-result·p01555 ····move-result·p0
  
1560 ····if-nez·p0,·:cond_01556 ····if-nez·p0,·:cond_0
  
1561 ····const/4·p0,·0x11557 ····const/4·p0,·0x1
  
Offset 1575, 77 lines modifiedOffset 1571, 77 lines modified
1575 ····:goto_01571 ····:goto_0
1576 ····return·p01572 ····return·p0
1577 .end·method1573 .end·method
  
1578 .method·private·ifaceNameToType(Ljava/lang/String;)I1574 .method·private·ifaceNameToType(Ljava/lang/String;)I
1579 ····.locals·11575 ····.locals·1
  
1580 ····.line·5211576 ····.line·518
1581 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;1577 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;
  
1582 ····.line·5231578 ····.line·520
1583 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isWifi(Ljava/lang/String;)Z1579 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isWifi(Ljava/lang/String;)Z
  
1584 ····move-result·v01580 ····move-result·v0
  
1585 ····if-eqz·v0,·:cond_01581 ····if-eqz·v0,·:cond_0
  
1586 ····const/4·p0,·0x01582 ····const/4·p0,·0x0
  
1587 ····return·p01583 ····return·p0
  
1588 ····.line·5251584 ····.line·522
1589 ····:cond_01585 ····:cond_0
1590 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isWigig(Ljava/lang/String;)Z1586 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isWigig(Ljava/lang/String;)Z
  
1591 ····move-result·v01587 ····move-result·v0
  
1592 ····if-eqz·v0,·:cond_11588 ····if-eqz·v0,·:cond_1
  
1593 ····const/4·p0,·0x61589 ····const/4·p0,·0x6
  
1594 ····return·p01590 ····return·p0
  
1595 ····.line·5271591 ····.line·524
1596 ····:cond_11592 ····:cond_1
1597 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isWifiP2p(Ljava/lang/String;)Z1593 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isWifiP2p(Ljava/lang/String;)Z
  
1598 ····move-result·v01594 ····move-result·v0
  
1599 ····if-eqz·v0,·:cond_21595 ····if-eqz·v0,·:cond_2
  
1600 ····const/4·p0,·0x31596 ····const/4·p0,·0x3
  
1601 ····return·p01597 ····return·p0
  
1602 ····.line·5291598 ····.line·526
1603 ····:cond_21599 ····:cond_2
1604 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isUsb(Ljava/lang/String;)Z1600 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isUsb(Ljava/lang/String;)Z
  
1605 ····move-result·v01601 ····move-result·v0
  
1606 ····if-eqz·v0,·:cond_31602 ····if-eqz·v0,·:cond_3
  
1607 ····const/4·p0,·0x11603 ····const/4·p0,·0x1
  
1608 ····return·p01604 ····return·p0
  
1609 ····.line·5311605 ····.line·528
1610 ····:cond_31606 ····:cond_3
1611 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isBluetooth(Ljava/lang/String;)Z1607 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isBluetooth(Ljava/lang/String;)Z
  
1612 ····move-result·v01608 ····move-result·v0
  
1613 ····if-eqz·v0,·:cond_41609 ····if-eqz·v0,·:cond_4
  
1614 ····const/4·p0,·0x21610 ····const/4·p0,·0x2
  
1615 ····return·p01611 ····return·p0
  
1616 ····.line·5331612 ····.line·530
1617 ····:cond_41613 ····:cond_4
1618 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isNcm(Ljava/lang/String;)Z1614 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isNcm(Ljava/lang/String;)Z
  
1619 ····move-result·p01615 ····move-result·p0
  
1620 ····if-eqz·p0,·:cond_51616 ····if-eqz·p0,·:cond_5
  
Offset 1658, 15 lines modifiedOffset 1654, 15 lines modified
  
1658 ····return·p01654 ····return·p0
1659 .end·method1655 .end·method
  
1660 .method·private·isProvisioningNeededButUnavailable()Z1656 .method·private·isProvisioningNeededButUnavailable()Z
1661 ····.locals·11657 ····.locals·1
  
1662 ····.line·8231658 ····.line·820
1663 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetherProvisioningRequired()Z1659 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetherProvisioningRequired()Z
  
1664 ····move-result·v01660 ····move-result·v0
  
1665 ····if-eqz·v0,·:cond_01661 ····if-eqz·v0,·:cond_0
  
1666 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->doesEntitlementPackageExist()Z1662 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->doesEntitlementPackageExist()Z
Offset 1686, 15 lines modifiedOffset 1682, 15 lines modified
1686 ····return·p01682 ····return·p0
1687 .end·method1683 .end·method
  
1688 .method·private·synthetic·lambda$new$0()V1684 .method·private·synthetic·lambda$new$0()V
1689 ····.locals·11685 ····.locals·1
  
1690 ····.line·2971686 ····.line·297
1691 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMainSM:Lcom/android/networkstack/tethering/util/StateMachine;1687 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherMasterSM:Lcom/android/networkstack/tethering/util/StateMachine;
  
1692 ····const/16·v0,·0x81688 ····const/16·v0,·0x8
  
1693 ····invoke-virtual·{p0,·v0},·Lcom/android/networkstack/tethering/util/StateMachine;->sendMessage(I)V1689 ····invoke-virtual·{p0,·v0},·Lcom/android/networkstack/tethering/util/StateMachine;->sendMessage(I)V
  
1694 ····return-void1690 ····return-void
1695 .end·method1691 .end·method
Offset 1746, 52 lines modifiedOffset 1742, 52 lines modified
  
1746 ····return-void1742 ····return-void
1747 .end·method1743 .end·method
  
1748 .method·private·synthetic·lambda$registerTetheringEventCallback$7(Landroid/net/ITetheringEventCallback;Z)V1744 .method·private·synthetic·lambda$registerTetheringEventCallback$7(Landroid/net/ITetheringEventCallback;Z)V
1749 ····.locals·31745 ····.locals·3
  
1750 ····.line·20681746 ····.line·2072
1751 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetheringEventCallbacks:Landroid/os/RemoteCallbackList;1747 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetheringEventCallbacks:Landroid/os/RemoteCallbackList;
  
1752 ····new-instance·v1,·Lcom/android/networkstack/tethering/Tethering$CallbackCookie;1748 ····new-instance·v1,·Lcom/android/networkstack/tethering/Tethering$CallbackCookie;
  
1753 ····const/4·v2,·0x01749 ····const/4·v2,·0x0
  
1754 ····invoke-direct·{v1,·p2,·v2},·Lcom/android/networkstack/tethering/Tethering$CallbackCookie;-><init>(ZLcom/android/networkstack/tethering/Tethering$1;)V1750 ····invoke-direct·{v1,·p2,·v2},·Lcom/android/networkstack/tethering/Tethering$CallbackCookie;-><init>(ZLcom/android/networkstack/tethering/Tethering$1;)V
  
1755 ····invoke-virtual·{v0,·p1,·v1},·Landroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;Ljava/lang/Object;)Z1751 ····invoke-virtual·{v0,·p1,·v1},·Landroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;Ljava/lang/Object;)Z
  
1756 ····.line·20691752 ····.line·2073
1757 ····new-instance·v0,·Landroid/net/TetheringCallbackStartedParcel;1753 ····new-instance·v0,·Landroid/net/TetheringCallbackStartedParcel;
  
1758 ····invoke-direct·{v0},·Landroid/net/TetheringCallbackStartedParcel;-><init>()V1754 ····invoke-direct·{v0},·Landroid/net/TetheringCallbackStartedParcel;-><init>()V
  
1759 ····.line·20701755 ····.line·2074
1760 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetheringSupported()Z1756 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetheringSupported()Z
  
1761 ····move-result·v11757 ····move-result·v1
  
1762 ····iput-boolean·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheringSupported:Z1758 ····iput-boolean·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheringSupported:Z
  
1763 ····.line·20711759 ····.line·2075
1764 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherUpstream:Landroid/net/Network;1760 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherUpstream:Landroid/net/Network;
  
1765 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->upstreamNetwork:Landroid/net/Network;1761 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->upstreamNetwork:Landroid/net/Network;
  
1766 ····.line·20721762 ····.line·2076
1767 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;1763 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;
  
1768 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->toStableParcelable()Landroid/net/TetheringConfigurationParcel;1764 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->toStableParcelable()Landroid/net/TetheringConfigurationParcel;
  
1769 ····move-result-object·v11765 ····move-result-object·v1
  
1770 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->config:Landroid/net/TetheringConfigurationParcel;1766 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->config:Landroid/net/TetheringConfigurationParcel;
  
1771 ····.line·20741767 ····.line·2078
1772 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStatesParcel:Landroid/net/TetherStatesParcel;1768 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStatesParcel:Landroid/net/TetherStatesParcel;
  
1773 ····if-eqz·v1,·:cond_01769 ····if-eqz·v1,·:cond_0
  
1774 ····goto·:goto_01770 ····goto·:goto_0
  
1775 ····:cond_01771 ····:cond_0
Offset 1800, 178 lines modifiedOffset 1796, 178 lines modified
1800 ····move-result-object·v11796 ····move-result-object·v1
  
1801 ····:goto_01797 ····:goto_0
1802 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->states:Landroid/net/TetherStatesParcel;1798 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->states:Landroid/net/TetherStatesParcel;
  
1803 ····if-eqz·p2,·:cond_11799 ····if-eqz·p2,·:cond_1
  
1804 ····.line·20761800 ····.line·2080
1805 ····iget-object·p2,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConnectedClientsTracker:Lcom/android/networkstack/tethering/ConnectedClientsTracker;1801 ····iget-object·p2,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConnectedClientsTracker:Lcom/android/networkstack/tethering/ConnectedClientsTracker;
  
1806 ····invoke-virtual·{p2},·Lcom/android/networkstack/tethering/ConnectedClientsTracker;->getLastTetheredClients()Ljava/util/List;1802 ····invoke-virtual·{p2},·Lcom/android/networkstack/tethering/ConnectedClientsTracker;->getLastTetheredClients()Ljava/util/List;
  
1807 ····move-result-object·p21803 ····move-result-object·p2
  
1808 ····goto·:goto_11804 ····goto·:goto_1
  
1809 ····.line·20771805 ····.line·2081
1810 ····:cond_11806 ····:cond_1
1811 ····invoke-static·{},·Ljava/util/Collections;->emptyList()Ljava/util/List;1807 ····invoke-static·{},·Ljava/util/Collections;->emptyList()Ljava/util/List;
  
1812 ····move-result-object·p21808 ····move-result-object·p2
  
1813 ····:goto_11809 ····:goto_1
1814 ····iput-object·p2,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheredClients:Ljava/util/List;1810 ····iput-object·p2,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheredClients:Ljava/util/List;
  
1815 ····.line·20781811 ····.line·2082
1816 ····iget·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mOffloadStatus:I1812 ····iget·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mOffloadStatus:I
  
1817 ····iput·p0,·v0,·Landroid/net/TetheringCallbackStartedParcel;->offloadStatus:I1813 ····iput·p0,·v0,·Landroid/net/TetheringCallbackStartedParcel;->offloadStatus:I
  
1818 ····.line·20801814 ····.line·2084
1819 ····:try_start_01815 ····:try_start_0
1820 ····invoke-interface·{p1,·v0},·Landroid/net/ITetheringEventCallback;->onCallbackStarted(Landroid/net/TetheringCallbackStartedParcel;)V1816 ····invoke-interface·{p1,·v0},·Landroid/net/ITetheringEventCallback;->onCallbackStarted(Landroid/net/TetheringCallbackStartedParcel;)V
1821 ····:try_end_01817 ····:try_end_0
1822 ····.catch·Landroid/os/RemoteException;·{:try_start_0·..·:try_end_0}·:catch_01818 ····.catch·Landroid/os/RemoteException;·{:try_start_0·..·:try_end_0}·:catch_0
  
1823 ····:catch_01819 ····:catch_0
1824 ····return-void1820 ····return-void
1825 .end·method1821 .end·method
  
1826 .method·private·synthetic·lambda$requestLatestTetheringEntitlementResult$6(ILandroid/os/ResultReceiver;Z)V1822 .method·private·synthetic·lambda$requestLatestTetheringEntitlementResult$6(ILandroid/os/ResultReceiver;Z)V
1827 ····.locals·01823 ····.locals·0
  
1828 ····.line·20561824 ····.line·2060
1829 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;1825 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;
  
1830 ····invoke-virtual·{p0,·p1,·p2,·p3},·Lcom/android/networkstack/tethering/EntitlementManager;->requestLatestTetheringEntitlementResult(ILandroid/os/ResultReceiver;Z)V1826 ····invoke-virtual·{p0,·p1,·p2,·p3},·Lcom/android/networkstack/tethering/EntitlementManager;->requestLatestTetheringEntitlementResult(ILandroid/os/ResultReceiver;Z)V
  
1831 ····return-void1827 ····return-void
1832 .end·method1828 .end·method
  
1833 .method·private·synthetic·lambda$startTethering$4(Landroid/net/TetheringRequestParcel;Landroid/net/IIntResultListener;)V1829 .method·private·synthetic·lambda$startTethering$4(Landroid/net/TetheringRequestParcel;Landroid/net/IIntResultListener;)V
1834 ····.locals·31830 ····.locals·3
  
1835 ····.line·5551831 ····.line·552
1836 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mActiveTetheringRequests:Landroid/util/SparseArray;1832 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mActiveTetheringRequests:Landroid/util/SparseArray;
  
1837 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1833 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1838 ····invoke-virtual·{v0,·v1},·Landroid/util/SparseArray;->get(I)Ljava/lang/Object;1834 ····invoke-virtual·{v0,·v1},·Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
  
1839 ····move-result-object·v01835 ····move-result-object·v0
  
1840 ····check-cast·v0,·Landroid/net/TetheringRequestParcel;1836 ····check-cast·v0,·Landroid/net/TetheringRequestParcel;
  
1841 ····if-eqz·v0,·:cond_01837 ····if-eqz·v0,·:cond_0
  
1842 ····.line·5601838 ····.line·557
1843 ····invoke-static·{v0,·p1},·Landroid/net/util/TetheringUtils;->isTetheringRequestEquals(Landroid/net/TetheringRequestParcel;Landroid/net/TetheringRequestParcel;)Z1839 ····invoke-static·{v0,·p1},·Landroid/net/util/TetheringUtils;->isTetheringRequestEquals(Landroid/net/TetheringRequestParcel;Landroid/net/TetheringRequestParcel;)Z
  
1844 ····move-result·v01840 ····move-result·v0
  
1845 ····if-nez·v0,·:cond_01841 ····if-nez·v0,·:cond_0
  
1846 ····.line·5611842 ····.line·558
1847 ····iget·v0,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1843 ····iget·v0,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1848 ····const/4·v1,·0x01844 ····const/4·v1,·0x0
  
1849 ····const/4·v2,·0x01845 ····const/4·v2,·0x0
  
1850 ····invoke-direct·{p0,·v0,·v1,·v2},·Lcom/android/networkstack/tethering/Tethering;->enableTetheringInternal(IZLandroid/net/IIntResultListener;)V1846 ····invoke-direct·{p0,·v0,·v1,·v2},·Lcom/android/networkstack/tethering/Tethering;->enableTetheringInternal(IZLandroid/net/IIntResultListener;)V
  
1851 ····.line·5621847 ····.line·559
1852 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;1848 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;
  
1853 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1849 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1854 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V1850 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V
  
1855 ····.line·5641851 ····.line·561
1856 ····:cond_01852 ····:cond_0
1857 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mActiveTetheringRequests:Landroid/util/SparseArray;1853 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mActiveTetheringRequests:Landroid/util/SparseArray;
  
1858 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1854 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1859 ····invoke-virtual·{v0,·v1,·p1},·Landroid/util/SparseArray;->put(ILjava/lang/Object;)V1855 ····invoke-virtual·{v0,·v1,·p1},·Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
  
1860 ····.line·5661856 ····.line·563
1861 ····iget-boolean·v0,·p1,·Landroid/net/TetheringRequestParcel;->exemptFromEntitlementCheck:Z1857 ····iget-boolean·v0,·p1,·Landroid/net/TetheringRequestParcel;->exemptFromEntitlementCheck:Z
  
1862 ····if-eqz·v0,·:cond_11858 ····if-eqz·v0,·:cond_1
  
1863 ····.line·5671859 ····.line·564
1864 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;1860 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;
  
1865 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1861 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1866 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->setExemptedDownstreamType(I)V1862 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->setExemptedDownstreamType(I)V
  
1867 ····goto·:goto_01863 ····goto·:goto_0
  
1868 ····.line·5691864 ····.line·566
1869 ····:cond_11865 ····:cond_1
1870 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;1866 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;
  
1871 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1867 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1872 ····iget-boolean·v2,·p1,·Landroid/net/TetheringRequestParcel;->showProvisioningUi:Z1868 ····iget-boolean·v2,·p1,·Landroid/net/TetheringRequestParcel;->showProvisioningUi:Z
  
1873 ····invoke-virtual·{v0,·v1,·v2},·Lcom/android/networkstack/tethering/EntitlementManager;->startProvisioningIfNeeded(IZ)V1869 ····invoke-virtual·{v0,·v1,·v2},·Lcom/android/networkstack/tethering/EntitlementManager;->startProvisioningIfNeeded(IZ)V
  
1874 ····.line·5721870 ····.line·569
1875 ····:goto_01871 ····:goto_0
1876 ····iget·p1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1872 ····iget·p1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1877 ····const/4·v0,·0x11873 ····const/4·v0,·0x1
  
1878 ····invoke-direct·{p0,·p1,·v0,·p2},·Lcom/android/networkstack/tethering/Tethering;->enableTetheringInternal(IZLandroid/net/IIntResultListener;)V1874 ····invoke-direct·{p0,·p1,·v0,·p2},·Lcom/android/networkstack/tethering/Tethering;->enableTetheringInternal(IZLandroid/net/IIntResultListener;)V
  
1879 ····return-void1875 ····return-void
1880 .end·method1876 .end·method
  
1881 .method·private·synthetic·lambda$stopTethering$5(I)V1877 .method·private·synthetic·lambda$stopTethering$5(I)V
1882 ····.locals·21878 ····.locals·2
  
1883 ····.line·5781879 ····.line·575
1884 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mActiveTetheringRequests:Landroid/util/SparseArray;1880 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mActiveTetheringRequests:Landroid/util/SparseArray;
  
1885 ····invoke-virtual·{v0,·p1},·Landroid/util/SparseArray;->remove(I)V1881 ····invoke-virtual·{v0,·p1},·Landroid/util/SparseArray;->remove(I)V
  
1886 ····const/4·v0,·0x01882 ····const/4·v0,·0x0
  
1887 ····const/4·v1,·0x01883 ····const/4·v1,·0x0
  
1888 ····.line·5801884 ····.line·577
1889 ····invoke-direct·{p0,·p1,·v0,·v1},·Lcom/android/networkstack/tethering/Tethering;->enableTetheringInternal(IZLandroid/net/IIntResultListener;)V1885 ····invoke-direct·{p0,·p1,·v0,·v1},·Lcom/android/networkstack/tethering/Tethering;->enableTetheringInternal(IZLandroid/net/IIntResultListener;)V
  
1890 ····.line·5811886 ····.line·578
1891 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;1887 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mEntitlementMgr:Lcom/android/networkstack/tethering/EntitlementManager;
  
1892 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V1888 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V
  
1893 ····return-void1889 ····return-void
1894 .end·method1890 .end·method
  
1895 .method·private·synthetic·lambda$unregisterTetheringEventCallback$8(Landroid/net/ITetheringEventCallback;)V1891 .method·private·synthetic·lambda$unregisterTetheringEventCallback$8(Landroid/net/ITetheringEventCallback;)V
1896 ····.locals·01892 ····.locals·0
  
1897 ····.line·21051893 ····.line·2109
1898 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetheringEventCallbacks:Landroid/os/RemoteCallbackList;1894 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mTetheringEventCallbacks:Landroid/os/RemoteCallbackList;
  
1899 ····invoke-virtual·{p0,·p1},·Landroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z1895 ····invoke-virtual·{p0,·p1},·Landroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z
  
1900 ····return-void1896 ····return-void
1901 .end·method1897 .end·method
  
1902 .method·private·logMessage(Lcom/android/networkstack/tethering/util/State;I)V1898 .method·private·logMessage(Lcom/android/networkstack/tethering/util/State;I)V
1903 ····.locals·21899 ····.locals·2
  
1904 ····.line·13631900 ····.line·1360
1905 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;1901 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
1906 ····new-instance·v0,·Ljava/lang/StringBuilder;1902 ····new-instance·v0,·Ljava/lang/StringBuilder;
  
1907 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V1903 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V
  
1908 ····invoke-virtual·{p1},·Lcom/android/networkstack/tethering/util/State;->getName()Ljava/lang/String;1904 ····invoke-virtual·{p1},·Lcom/android/networkstack/tethering/util/State;->getName()Ljava/lang/String;
Offset 2006, 61 lines modifiedOffset 2002, 61 lines modified
  
2006 ····return-void2002 ····return-void
2007 .end·method2003 .end·method
  
2008 .method·private·makeControlCallback()Landroid/net/ip/IpServer$Callback;2004 .method·private·makeControlCallback()Landroid/net/ip/IpServer$Callback;
2009 ····.locals·12005 ····.locals·1
  
2010 ····.line·23042006 ····.line·2308
2011 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$4;2007 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$4;
  
2012 ····invoke-direct·{v0,·p0},·Lcom/android/networkstack/tethering/Tethering$4;-><init>(Lcom/android/networkstack/tethering/Tethering;)V2008 ····invoke-direct·{v0,·p0},·Lcom/android/networkstack/tethering/Tethering$4;-><init>(Lcom/android/networkstack/tethering/Tethering;)V
  
2013 ····return-object·v02009 ····return-object·v0
2014 .end·method2010 .end·method
  
2015 .method·private·maybeDunSettingChanged()V2011 .method·private·maybeDunSettingChanged()V
2016 ····.locals·22012 ····.locals·2
  
2017 ····.line·4512013 ····.line·448
2018 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;2014 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mContext:Landroid/content/Context;
  
2019 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/TetheringConfiguration;->checkDunRequired(Landroid/content/Context;)Z2015 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/TetheringConfiguration;->checkDunRequired(Landroid/content/Context;)Z
  
2020 ····move-result·v02016 ····move-result·v0
  
2021 ····.line·4522017 ····.line·449
2022 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;2018 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;
  
2023 ····iget-boolean·v1,·v1,·Lcom/android/networkstack/tethering/TetheringConfiguration;->isDunRequired:Z2019 ····iget-boolean·v1,·v1,·Lcom/android/networkstack/tethering/TetheringConfiguration;->isDunRequired:Z
  
2024 ····if-ne·v0,·v1,·:cond_02020 ····if-ne·v0,·v1,·:cond_0
Max diff block lines reached; 91039/126229 bytes (72.12%) of diff not shown.