Offset 478, 42 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()V 
  
484 ····.line·329 
485 ····new-instance·p1,·Lcom/android/networkstack/tethering/PrivateAddressCoordinator;483 ····new-instance·p1,·Lcom/android/networkstack/tethering/PrivateAddressCoordinator;
  
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-direct·{p1,·v0,·v1},·Lcom/android/networkstack/tethering/PrivateAddressCoordinator;-><init>(Landroid/content/Context;Lcom/android/networkstack/tethering/TetheringConfiguration;)V 
  
489 ····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;
  
490 ····.line·333487 ····.line·326
 488 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->updateConfiguration()V
  
 489 ····.line·330
491 ····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;
  
492 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$2;491 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$2;
  
493 ····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
  
494 ····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;
  
495 ····move-result-object·p1494 ····move-result-object·p1
  
496 ····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;
  
497 ····.line·361496 ····.line·358
498 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->startStateMachineUpdaters()V497 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->startStateMachineUpdaters()V
  
499 ····return-void498 ····return-void
500 .end·method499 .end·method
  
501 .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;
502 ····.locals·0501 ····.locals·0
Offset 988, 27 lines modifiedOffset 986, 27 lines modified
  
988 ····return-void986 ····return-void
989 .end·method987 .end·method
  
990 .method·private·static·argsContain([Ljava/lang/String;Ljava/lang/String;)Z988 .method·private·static·argsContain([Ljava/lang/String;Ljava/lang/String;)Z
991 ····.locals·4989 ····.locals·4
  
992 ····.line·2299990 ····.line·2295
993 ····array-length·v0,·p0991 ····array-length·v0,·p0
  
994 ····const/4·v1,·0x0992 ····const/4·v1,·0x0
  
995 ····move·v2,·v1993 ····move·v2,·v1
  
996 ····:goto_0994 ····:goto_0
997 ····if-ge·v2,·v0,·:cond_1995 ····if-ge·v2,·v0,·:cond_1
  
998 ····aget-object·v3,·p0,·v2996 ····aget-object·v3,·p0,·v2
  
999 ····.line·2300997 ····.line·2296
1000 ····invoke-virtual·{p1,·v3},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z998 ····invoke-virtual·{p1,·v3},·Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  
1001 ····move-result·v3999 ····move-result·v3
  
1002 ····if-eqz·v3,·:cond_01000 ····if-eqz·v3,·:cond_0
  
1003 ····const/4·p0,·0x11001 ····const/4·p0,·0x1
Offset 1037, 15 lines modifiedOffset 1035, 15 lines modified
  
1037 ····if-eq·p2,·v0,·:cond_01035 ····if-eq·p2,·v0,·:cond_0
  
1038 ····const/4·v0,·0x31036 ····const/4·v0,·0x3
  
1039 ····if-eq·p2,·v0,·:cond_01037 ····if-eq·p2,·v0,·:cond_0
  
1040 ····.line·12521038 ····.line·1249
1041 ····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;
  
1042 ····new-instance·p1,·Ljava/lang/StringBuilder;1040 ····new-instance·p1,·Ljava/lang/StringBuilder;
  
1043 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V1041 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V
  
1044 ····const-string·v0,·"Unknown·interface·state:·"1042 ····const-string·v0,·"Unknown·interface·state:·"
Offset 1058, 32 lines modifiedOffset 1056, 32 lines modified
  
1058 ····move-result-object·p11056 ····move-result-object·p1
  
1059 ····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
  
1060 ····return-void1058 ····return-void
  
1061 ····.line·12491059 ····.line·1246
1062 ····:cond_01060 ····:cond_0
1063 ····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
  
1064 ····move-result·p01062 ····move-result·p0
  
1065 ····goto·:goto_01063 ····goto·:goto_0
  
1066 ····.line·12451064 ····.line·1242
1067 ····:cond_11065 ····:cond_1
1068 ····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
  
1069 ····move-result·p01067 ····move-result·p0
  
1070 ····:goto_01068 ····:goto_0
1071 ····if-eqz·p0,·:cond_21069 ····if-eqz·p0,·:cond_2
  
1072 ····.line·12561070 ····.line·1253
1073 ····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;
  
1074 ····new-instance·p2,·Ljava/lang/StringBuilder;1072 ····new-instance·p2,·Ljava/lang/StringBuilder;
  
1075 ····invoke-direct·{p2},·Ljava/lang/StringBuilder;-><init>()V1073 ····invoke-direct·{p2},·Ljava/lang/StringBuilder;-><init>()V
  
1076 ····const-string·v0,·"unable·start·or·stop·tethering·on·iface·"1074 ····const-string·v0,·"unable·start·or·stop·tethering·on·iface·"
Offset 1103, 27 lines modifiedOffset 1101, 27 lines modified
1103 .end·method1101 .end·method
  
1104 .method·private·disableWifiIpServingLocked(Ljava/lang/String;I)V1102 .method·private·disableWifiIpServingLocked(Ljava/lang/String;I)V
1105 ····.locals·11103 ····.locals·1
  
1106 ····const/4·v0,·0x01104 ····const/4·v0,·0x0
  
1107 ····.line·11681105 ····.line·1165
1108 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mWifiTetherRequested:Z1106 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mWifiTetherRequested:Z
  
1109 ····.line·11701107 ····.line·1167
1110 ····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
  
1111 ····return-void1109 ····return-void
1112 .end·method1110 .end·method
  
1113 .method·private·disableWifiIpServingLockedCommon(ILjava/lang/String;I)V1111 .method·private·disableWifiIpServingLockedCommon(ILjava/lang/String;I)V
1114 ····.locals·31112 ····.locals·3
  
1115 ····.line·11371113 ····.line·1134
1116 ····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;
  
1117 ····new-instance·v1,·Ljava/lang/StringBuilder;1115 ····new-instance·v1,·Ljava/lang/StringBuilder;
  
1118 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V1116 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V
  
1119 ····const-string·v2,·"Canceling·WiFi·tethering·request·-·type="1117 ····const-string·v2,·"Canceling·WiFi·tethering·request·-·type="
Offset 1146, 104 lines modifiedOffset 1144, 104 lines modified
  
1146 ····invoke-virtual·{v1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;1144 ····invoke-virtual·{v1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  
1147 ····move-result-object·p31145 ····move-result-object·p3
  
1148 ····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
  
1149 ····.line·11421147 ····.line·1139
1150 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1148 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1151 ····move-result·p31149 ····move-result·p3
  
1152 ····if-nez·p3,·:cond_01150 ····if-nez·p3,·:cond_0
  
1153 ····.line·11431151 ····.line·1140
1154 ····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;
  
1155 ····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;
  
1156 ····move-result-object·p31154 ····move-result-object·p3
  
1157 ····check-cast·p3,·Lcom/android/networkstack/tethering/Tethering$TetherState;1155 ····check-cast·p3,·Lcom/android/networkstack/tethering/Tethering$TetherState;
  
1158 ····if-eqz·p3,·:cond_01156 ····if-eqz·p3,·:cond_0
  
1159 ····.line·11451157 ····.line·1142
1160 ····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;
  
1161 ····invoke-virtual·{p0},·Landroid/net/ip/IpServer;->unwanted()V1159 ····invoke-virtual·{p0},·Landroid/net/ip/IpServer;->unwanted()V
  
1162 ····return-void1160 ····return-void
  
1163 ····:cond_01161 ····:cond_0
1164 ····const/4·p3,·0x01162 ····const/4·p3,·0x0
  
1165 ····.line·11501163 ····.line·1147
1166 ····:goto_01164 ····:goto_0
1167 ····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;
  
1168 ····invoke-virtual·{v0},·Landroid/util/ArrayMap;->size()I1166 ····invoke-virtual·{v0},·Landroid/util/ArrayMap;->size()I
  
1169 ····move-result·v01167 ····move-result·v0
  
1170 ····if-ge·p3,·v0,·:cond_21168 ····if-ge·p3,·v0,·:cond_2
  
1171 ····.line·11511169 ····.line·1148
1172 ····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;
  
1173 ····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;
  
1174 ····move-result-object·v01172 ····move-result-object·v0
  
1175 ····check-cast·v0,·Lcom/android/networkstack/tethering/Tethering$TetherState;1173 ····check-cast·v0,·Lcom/android/networkstack/tethering/Tethering$TetherState;
  
1176 ····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;
  
1177 ····.line·11521175 ····.line·1149
1178 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->interfaceType()I1176 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->interfaceType()I
  
1179 ····move-result·v11177 ····move-result·v1
  
1180 ····if-ne·v1,·p1,·:cond_11178 ····if-ne·v1,·p1,·:cond_1
  
1181 ····.line·11531179 ····.line·1150
1182 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->unwanted()V1180 ····invoke-virtual·{v0},·Landroid/net/ip/IpServer;->unwanted()V
  
1183 ····return-void1181 ····return-void
  
1184 ····:cond_11182 ····:cond_1
1185 ····add-int/lit8·p3,·p3,·0x11183 ····add-int/lit8·p3,·p3,·0x1
  
1186 ····goto·:goto_01184 ····goto·:goto_0
  
1187 ····.line·11581185 ····.line·1155
1188 ····:cond_21186 ····:cond_2
1189 ····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;
  
1190 ····new-instance·p1,·Ljava/lang/StringBuilder;1188 ····new-instance·p1,·Ljava/lang/StringBuilder;
  
1191 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V1189 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V
  
1192 ····const-string·p3,·"Error·disabling·Wi-Fi·IP·serving;·"1190 ····const-string·p3,·"Error·disabling·Wi-Fi·IP·serving;·"
  
1193 ····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;
  
1194 ····.line·11591192 ····.line·1156
1195 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1193 ····invoke-static·{p2},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1196 ····move-result·p31194 ····move-result·p3
  
1197 ····if-eqz·p3,·:cond_31195 ····if-eqz·p3,·:cond_3
  
1198 ····const-string·p2,·"no·interface·name·specified"1196 ····const-string·p2,·"no·interface·name·specified"
  
1199 ····goto·:goto_11197 ····goto·:goto_1
  
1200 ····.line·11601198 ····.line·1157
1201 ····:cond_31199 ····:cond_3
1202 ····new-instance·p3,·Ljava/lang/StringBuilder;1200 ····new-instance·p3,·Ljava/lang/StringBuilder;
  
1203 ····invoke-direct·{p3},·Ljava/lang/StringBuilder;-><init>()V1201 ····invoke-direct·{p3},·Ljava/lang/StringBuilder;-><init>()V
  
1204 ····const-string·v0,·"specified·interface:·"1202 ····const-string·v0,·"specified·interface:·"
  
Offset 1258, 70 lines modifiedOffset 1256, 70 lines modified
1258 ····:goto_11256 ····:goto_1
1259 ····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;
  
1260 ····invoke-virtual·{p1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;1258 ····invoke-virtual·{p1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  
1261 ····move-result-object·p11259 ····move-result-object·p1
  
1262 ····.line·11581260 ····.line·1155
1263 ····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
  
1264 ····return-void1262 ····return-void
1265 .end·method1263 .end·method
  
1266 .method·private·disableWifiP2pIpServingLockedIfNeeded(Ljava/lang/String;)V1264 .method·private·disableWifiP2pIpServingLockedIfNeeded(Ljava/lang/String;)V
1267 ····.locals·21265 ····.locals·2
  
1268 ····.line·11741266 ····.line·1171
1269 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1267 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1270 ····move-result·v01268 ····move-result·v0
  
1271 ····if-eqz·v0,·:cond_01269 ····if-eqz·v0,·:cond_0
  
1272 ····return-void1270 ····return-void
  
1273 ····:cond_01271 ····:cond_0
1274 ····const/4·v0,·0x31272 ····const/4·v0,·0x3
  
1275 ····const/4·v1,·0x01273 ····const/4·v1,·0x0
  
1276 ····.line·11761274 ····.line·1173
1277 ····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
  
1278 ····return-void1276 ····return-void
1279 .end·method1277 .end·method
  
1280 .method·private·doesEntitlementPackageExist()Z1278 .method·private·doesEntitlementPackageExist()Z
1281 ····.locals·31279 ····.locals·3
  
1282 ····.line·8331280 ····.line·830
1283 ····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;
  
1284 ····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;
  
1285 ····array-length·v0,·v01283 ····array-length·v0,·v0
  
1286 ····const/4·v1,·0x01284 ····const/4·v1,·0x0
  
1287 ····const/4·v2,·0x21285 ····const/4·v2,·0x2
  
1288 ····if-eq·v0,·v2,·:cond_01286 ····if-eq·v0,·v2,·:cond_0
  
1289 ····return·v11287 ····return·v1
  
1290 ····.line·8371288 ····.line·834
1291 ····:cond_01289 ····:cond_0
1292 ····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;
  
1293 ····invoke-virtual·{v0},·Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;1291 ····invoke-virtual·{v0},·Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
  
1294 ····move-result-object·v01292 ····move-result-object·v0
  
1295 ····.line·8391293 ····.line·836
1296 ····:try_start_01294 ····:try_start_0
1297 ····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;
  
1298 ····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;
  
1299 ····aget-object·p0,·p0,·v11297 ····aget-object·p0,·p0,·v1
  
Offset 1336, 44 lines modifiedOffset 1334, 44 lines modified
1336 ····:catch_01334 ····:catch_0
1337 ····return·v11335 ····return·v1
1338 .end·method1336 .end·method
  
1339 .method·private·emptyTetherStatesParcel()Landroid/net/TetherStatesParcel;1337 .method·private·emptyTetherStatesParcel()Landroid/net/TetherStatesParcel;
1340 ····.locals·21338 ····.locals·2
  
1341 ····.line·20961339 ····.line·2092
1342 ····new-instance·p0,·Landroid/net/TetherStatesParcel;1340 ····new-instance·p0,·Landroid/net/TetherStatesParcel;
  
1343 ····invoke-direct·{p0},·Landroid/net/TetherStatesParcel;-><init>()V1341 ····invoke-direct·{p0},·Landroid/net/TetherStatesParcel;-><init>()V
  
1344 ····const/4·v0,·0x01342 ····const/4·v0,·0x0
  
1345 ····new-array·v1,·v0,·[Ljava/lang/String;1343 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1346 ····.line·20971344 ····.line·2093
1347 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->availableList:[Ljava/lang/String;1345 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->availableList:[Ljava/lang/String;
  
1348 ····new-array·v1,·v0,·[Ljava/lang/String;1346 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1349 ····.line·20981347 ····.line·2094
1350 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->tetheredList:[Ljava/lang/String;1348 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->tetheredList:[Ljava/lang/String;
  
1351 ····new-array·v1,·v0,·[Ljava/lang/String;1349 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1352 ····.line·20991350 ····.line·2095
1353 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->localOnlyList:[Ljava/lang/String;1351 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->localOnlyList:[Ljava/lang/String;
  
1354 ····new-array·v1,·v0,·[Ljava/lang/String;1352 ····new-array·v1,·v0,·[Ljava/lang/String;
  
1355 ····.line·21001353 ····.line·2096
1356 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->erroredIfaceList:[Ljava/lang/String;1354 ····iput-object·v1,·p0,·Landroid/net/TetherStatesParcel;->erroredIfaceList:[Ljava/lang/String;
  
1357 ····new-array·v0,·v0,·[I1355 ····new-array·v0,·v0,·[I
  
1358 ····.line·21011356 ····.line·2097
1359 ····iput-object·v0,·p0,·Landroid/net/TetherStatesParcel;->lastErrorList:[I1357 ····iput-object·v0,·p0,·Landroid/net/TetherStatesParcel;->lastErrorList:[I
  
1360 ····return-object·p01358 ····return-object·p0
1361 .end·method1359 .end·method
  
1362 .method·private·enableTetheringInternal(IZLandroid/net/IIntResultListener;)V1360 .method·private·enableTetheringInternal(IZLandroid/net/IIntResultListener;)V
1363 ····.locals·21361 ····.locals·2
Offset 1392, 67 lines modifiedOffset 1390, 67 lines modified
  
1392 ····if-eq·p1,·v1,·:cond_11390 ····if-eq·p1,·v1,·:cond_1
  
1393 ····const/4·v1,·0x51391 ····const/4·v1,·0x5
  
1394 ····if-eq·p1,·v1,·:cond_01392 ····if-eq·p1,·v1,·:cond_0
  
1395 ····.line·6091393 ····.line·606
1396 ····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;
  
1397 ····const-string·v1,·"Invalid·tether·type."1395 ····const-string·v1,·"Invalid·tether·type."
  
1398 ····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
  
1399 ····const/16·p2,·0x101397 ····const/16·p2,·0x10
  
1400 ····goto·:goto_01398 ····goto·:goto_0
  
1401 ····.line·6061399 ····.line·603
1402 ····:cond_01400 ····:cond_0
1403 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setEthernetTethering(Z)I1401 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setEthernetTethering(Z)I
  
1404 ····move-result·p21402 ····move-result·p2
  
1405 ····goto·:goto_01403 ····goto·:goto_0
  
1406 ····.line·6031404 ····.line·600
1407 ····:cond_11405 ····:cond_1
1408 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setNcmTethering(Z)I1406 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setNcmTethering(Z)I
  
1409 ····move-result·p21407 ····move-result·p2
  
1410 ····goto·:goto_01408 ····goto·:goto_0
  
1411 ····.line·6001409 ····.line·597
1412 ····:cond_21410 ····:cond_2
1413 ····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
  
1414 ····const/4·p2,·0x01412 ····const/4·p2,·0x0
  
1415 ····goto·:goto_01413 ····goto·:goto_0
  
1416 ····.line·5971414 ····.line·594
1417 ····:cond_31415 ····:cond_3
1418 ····invoke-virtual·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setUsbTethering(Z)I1416 ····invoke-virtual·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setUsbTethering(Z)I
  
1419 ····move-result·p21417 ····move-result·p2
  
1420 ····goto·:goto_01418 ····goto·:goto_0
  
1421 ····.line·5941419 ····.line·591
1422 ····:cond_41420 ····:cond_4
1423 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setWifiTethering(Z)I1421 ····invoke-direct·{p0,·p2},·Lcom/android/networkstack/tethering/Tethering;->setWifiTethering(Z)I
  
1424 ····move-result·p21422 ····move-result·p2
  
1425 ····:goto_01423 ····:goto_0
1426 ····if-eq·p1,·v0,·:cond_51424 ····if-eq·p1,·v0,·:cond_5
  
1427 ····.line·6151425 ····.line·612
1428 ····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
  
1429 ····:cond_51427 ····:cond_5
1430 ····return-void1428 ····return-void
1431 .end·method1429 .end·method
  
1432 .method·private·enableWifiIpServingLocked(Ljava/lang/String;I)V1430 .method·private·enableWifiIpServingLocked(Ljava/lang/String;I)V
Offset 1462, 15 lines modifiedOffset 1460, 15 lines modified
  
1462 ····const/4·v1,·0x11460 ····const/4·v1,·0x1
  
1463 ····if-eq·p2,·v1,·:cond_11461 ····if-eq·p2,·v1,·:cond_1
  
1464 ····if-eq·p2,·v0,·:cond_01462 ····if-eq·p2,·v0,·:cond_0
  
1465 ····.line·11911463 ····.line·1188
1466 ····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;
  
1467 ····new-instance·p1,·Ljava/lang/StringBuilder;1465 ····new-instance·p1,·Ljava/lang/StringBuilder;
  
1468 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V1466 ····invoke-direct·{p1},·Ljava/lang/StringBuilder;-><init>()V
  
1469 ····const-string·v0,·"Cannot·enable·IP·serving·in·unknown·WiFi·mode:·"1467 ····const-string·v0,·"Cannot·enable·IP·serving·in·unknown·WiFi·mode:·"
Offset 1486, 62 lines modifiedOffset 1484, 62 lines modified
1486 ····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
  
1487 ····return-void1485 ····return-void
  
1488 ····:cond_01486 ····:cond_0
1489 ····const/4·v0,·0x31487 ····const/4·v0,·0x3
  
1490 ····.line·11951488 ····.line·1192
1491 ····:cond_11489 ····:cond_1
1492 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z1490 ····invoke-static·{p1},·Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
1493 ····move-result·p21491 ····move-result·p2
  
1494 ····if-nez·p2,·:cond_21492 ····if-nez·p2,·:cond_2
  
1495 ····.line·11961493 ····.line·1193
1496 ····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
  
1497 ····.line·11971495 ····.line·1194
1498 ····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
  
1499 ····goto·:goto_01497 ····goto·:goto_0
  
1500 ····.line·11991498 ····.line·1196
1501 ····:cond_21499 ····:cond_2
1502 ····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;
  
1503 ····new-array·p1,·v1,·[Ljava/lang/Object;1501 ····new-array·p1,·v1,·[Ljava/lang/Object;
  
1504 ····const/4·p2,·0x01502 ····const/4·p2,·0x0
  
1505 ····.line·12011503 ····.line·1198
1506 ····invoke-static·{v0},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;1504 ····invoke-static·{v0},·Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  
1507 ····move-result-object·v01505 ····move-result-object·v0
  
1508 ····aput-object·v0,·p1,·p21506 ····aput-object·v0,·p1,·p2
  
1509 ····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"
  
1510 ····.line·11991508 ····.line·1196
1511 ····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;
  
1512 ····move-result-object·p11510 ····move-result-object·p1
  
1513 ····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
  
1514 ····:goto_01512 ····:goto_0
1515 ····return-void1513 ····return-void
1516 .end·method1514 .end·method
  
1517 .method·private·getWifiManager()Landroid/net/wifi/WifiManager;1515 .method·private·getWifiManager()Landroid/net/wifi/WifiManager;
1518 ····.locals·11516 ····.locals·1
  
1519 ····.line·4401517 ····.line·437
1520 ····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;
  
1521 ····const-string·v0,·"wifi"1519 ····const-string·v0,·"wifi"
  
1522 ····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;
  
1523 ····move-result-object·p01521 ····move-result-object·p0
Offset 1550, 15 lines modifiedOffset 1548, 15 lines modified
  
1550 ····return-object·p01548 ····return-object·p0
1551 .end·method1549 .end·method
  
1552 .method·private·hasCallingPermission(Ljava/lang/String;)Z1550 .method·private·hasCallingPermission(Ljava/lang/String;)Z
1553 ····.locals·01551 ····.locals·0
  
1554 ····.line·21071552 ····.line·2103
1555 ····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;
  
1556 ····invoke-virtual·{p0,·p1},·Landroid/content/Context;->checkCallingPermission(Ljava/lang/String;)I1554 ····invoke-virtual·{p0,·p1},·Landroid/content/Context;->checkCallingPermission(Ljava/lang/String;)I
  
1557 ····move-result·p01555 ····move-result·p0
  
1558 ····if-nez·p0,·:cond_01556 ····if-nez·p0,·:cond_0
Offset 1573, 77 lines modifiedOffset 1571, 77 lines modified
1573 ····:goto_01571 ····:goto_0
1574 ····return·p01572 ····return·p0
1575 .end·method1573 .end·method
  
1576 .method·private·ifaceNameToType(Ljava/lang/String;)I1574 .method·private·ifaceNameToType(Ljava/lang/String;)I
1577 ····.locals·11575 ····.locals·1
  
1578 ····.line·5211576 ····.line·518
1579 ····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;
  
1580 ····.line·5231578 ····.line·520
1581 ····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
  
1582 ····move-result·v01580 ····move-result·v0
  
1583 ····if-eqz·v0,·:cond_01581 ····if-eqz·v0,·:cond_0
  
1584 ····const/4·p0,·0x01582 ····const/4·p0,·0x0
  
1585 ····return·p01583 ····return·p0
  
1586 ····.line·5251584 ····.line·522
1587 ····:cond_01585 ····:cond_0
1588 ····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
  
1589 ····move-result·v01587 ····move-result·v0
  
1590 ····if-eqz·v0,·:cond_11588 ····if-eqz·v0,·:cond_1
  
1591 ····const/4·p0,·0x61589 ····const/4·p0,·0x6
  
1592 ····return·p01590 ····return·p0
  
1593 ····.line·5271591 ····.line·524
1594 ····:cond_11592 ····:cond_1
1595 ····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
  
1596 ····move-result·v01594 ····move-result·v0
  
1597 ····if-eqz·v0,·:cond_21595 ····if-eqz·v0,·:cond_2
  
1598 ····const/4·p0,·0x31596 ····const/4·p0,·0x3
  
1599 ····return·p01597 ····return·p0
  
1600 ····.line·5291598 ····.line·526
1601 ····:cond_21599 ····:cond_2
1602 ····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
  
1603 ····move-result·v01601 ····move-result·v0
  
1604 ····if-eqz·v0,·:cond_31602 ····if-eqz·v0,·:cond_3
  
1605 ····const/4·p0,·0x11603 ····const/4·p0,·0x1
  
1606 ····return·p01604 ····return·p0
  
1607 ····.line·5311605 ····.line·528
1608 ····:cond_31606 ····:cond_3
1609 ····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
  
1610 ····move-result·v01608 ····move-result·v0
  
1611 ····if-eqz·v0,·:cond_41609 ····if-eqz·v0,·:cond_4
  
1612 ····const/4·p0,·0x21610 ····const/4·p0,·0x2
  
1613 ····return·p01611 ····return·p0
  
1614 ····.line·5331612 ····.line·530
1615 ····:cond_41613 ····:cond_4
1616 ····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
  
1617 ····move-result·p01615 ····move-result·p0
  
1618 ····if-eqz·p0,·:cond_51616 ····if-eqz·p0,·:cond_5
  
Offset 1656, 15 lines modifiedOffset 1654, 15 lines modified
  
1656 ····return·p01654 ····return·p0
1657 .end·method1655 .end·method
  
1658 .method·private·isProvisioningNeededButUnavailable()Z1656 .method·private·isProvisioningNeededButUnavailable()Z
1659 ····.locals·11657 ····.locals·1
  
1660 ····.line·8231658 ····.line·820
1661 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetherProvisioningRequired()Z1659 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetherProvisioningRequired()Z
  
1662 ····move-result·v01660 ····move-result·v0
  
1663 ····if-eqz·v0,·:cond_01661 ····if-eqz·v0,·:cond_0
  
1664 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->doesEntitlementPackageExist()Z1662 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->doesEntitlementPackageExist()Z
Offset 1744, 52 lines modifiedOffset 1742, 52 lines modified
  
1744 ····return-void1742 ····return-void
1745 .end·method1743 .end·method
  
1746 .method·private·synthetic·lambda$registerTetheringEventCallback$7(Landroid/net/ITetheringEventCallback;Z)V1744 .method·private·synthetic·lambda$registerTetheringEventCallback$7(Landroid/net/ITetheringEventCallback;Z)V
1747 ····.locals·31745 ····.locals·3
  
1748 ····.line·20761746 ····.line·2072
1749 ····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;
  
1750 ····new-instance·v1,·Lcom/android/networkstack/tethering/Tethering$CallbackCookie;1748 ····new-instance·v1,·Lcom/android/networkstack/tethering/Tethering$CallbackCookie;
  
1751 ····const/4·v2,·0x01749 ····const/4·v2,·0x0
  
1752 ····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
  
1753 ····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
  
1754 ····.line·20771752 ····.line·2073
1755 ····new-instance·v0,·Landroid/net/TetheringCallbackStartedParcel;1753 ····new-instance·v0,·Landroid/net/TetheringCallbackStartedParcel;
  
1756 ····invoke-direct·{v0},·Landroid/net/TetheringCallbackStartedParcel;-><init>()V1754 ····invoke-direct·{v0},·Landroid/net/TetheringCallbackStartedParcel;-><init>()V
  
1757 ····.line·20781755 ····.line·2074
1758 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetheringSupported()Z1756 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering;->isTetheringSupported()Z
  
1759 ····move-result·v11757 ····move-result·v1
  
1760 ····iput-boolean·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheringSupported:Z1758 ····iput-boolean·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheringSupported:Z
  
1761 ····.line·20791759 ····.line·2075
1762 ····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;
  
1763 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->upstreamNetwork:Landroid/net/Network;1761 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->upstreamNetwork:Landroid/net/Network;
  
1764 ····.line·20801762 ····.line·2076
1765 ····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;
  
1766 ····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;
  
1767 ····move-result-object·v11765 ····move-result-object·v1
  
1768 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->config:Landroid/net/TetheringConfigurationParcel;1766 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->config:Landroid/net/TetheringConfigurationParcel;
  
1769 ····.line·20821767 ····.line·2078
1770 ····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;
  
1771 ····if-eqz·v1,·:cond_01769 ····if-eqz·v1,·:cond_0
  
1772 ····goto·:goto_01770 ····goto·:goto_0
  
1773 ····:cond_01771 ····:cond_0
Offset 1798, 178 lines modifiedOffset 1796, 178 lines modified
1798 ····move-result-object·v11796 ····move-result-object·v1
  
1799 ····:goto_01797 ····:goto_0
1800 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->states:Landroid/net/TetherStatesParcel;1798 ····iput-object·v1,·v0,·Landroid/net/TetheringCallbackStartedParcel;->states:Landroid/net/TetherStatesParcel;
  
1801 ····if-eqz·p2,·:cond_11799 ····if-eqz·p2,·:cond_1
  
1802 ····.line·20841800 ····.line·2080
1803 ····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;
  
1804 ····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;
  
1805 ····move-result-object·p21803 ····move-result-object·p2
  
1806 ····goto·:goto_11804 ····goto·:goto_1
  
1807 ····.line·20851805 ····.line·2081
1808 ····:cond_11806 ····:cond_1
1809 ····invoke-static·{},·Ljava/util/Collections;->emptyList()Ljava/util/List;1807 ····invoke-static·{},·Ljava/util/Collections;->emptyList()Ljava/util/List;
  
1810 ····move-result-object·p21808 ····move-result-object·p2
  
1811 ····:goto_11809 ····:goto_1
1812 ····iput-object·p2,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheredClients:Ljava/util/List;1810 ····iput-object·p2,·v0,·Landroid/net/TetheringCallbackStartedParcel;->tetheredClients:Ljava/util/List;
  
1813 ····.line·20861811 ····.line·2082
1814 ····iget·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mOffloadStatus:I1812 ····iget·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mOffloadStatus:I
  
1815 ····iput·p0,·v0,·Landroid/net/TetheringCallbackStartedParcel;->offloadStatus:I1813 ····iput·p0,·v0,·Landroid/net/TetheringCallbackStartedParcel;->offloadStatus:I
  
1816 ····.line·20881814 ····.line·2084
1817 ····:try_start_01815 ····:try_start_0
1818 ····invoke-interface·{p1,·v0},·Landroid/net/ITetheringEventCallback;->onCallbackStarted(Landroid/net/TetheringCallbackStartedParcel;)V1816 ····invoke-interface·{p1,·v0},·Landroid/net/ITetheringEventCallback;->onCallbackStarted(Landroid/net/TetheringCallbackStartedParcel;)V
1819 ····:try_end_01817 ····:try_end_0
1820 ····.catch·Landroid/os/RemoteException;·{:try_start_0·..·:try_end_0}·:catch_01818 ····.catch·Landroid/os/RemoteException;·{:try_start_0·..·:try_end_0}·:catch_0
  
1821 ····:catch_01819 ····:catch_0
1822 ····return-void1820 ····return-void
1823 .end·method1821 .end·method
  
1824 .method·private·synthetic·lambda$requestLatestTetheringEntitlementResult$6(ILandroid/os/ResultReceiver;Z)V1822 .method·private·synthetic·lambda$requestLatestTetheringEntitlementResult$6(ILandroid/os/ResultReceiver;Z)V
1825 ····.locals·01823 ····.locals·0
  
1826 ····.line·20641824 ····.line·2060
1827 ····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;
  
1828 ····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
  
1829 ····return-void1827 ····return-void
1830 .end·method1828 .end·method
  
1831 .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
1832 ····.locals·31830 ····.locals·3
  
1833 ····.line·5551831 ····.line·552
1834 ····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;
  
1835 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1833 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1836 ····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;
  
1837 ····move-result-object·v01835 ····move-result-object·v0
  
1838 ····check-cast·v0,·Landroid/net/TetheringRequestParcel;1836 ····check-cast·v0,·Landroid/net/TetheringRequestParcel;
  
1839 ····if-eqz·v0,·:cond_01837 ····if-eqz·v0,·:cond_0
  
1840 ····.line·5601838 ····.line·557
1841 ····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
  
1842 ····move-result·v01840 ····move-result·v0
  
1843 ····if-nez·v0,·:cond_01841 ····if-nez·v0,·:cond_0
  
1844 ····.line·5611842 ····.line·558
1845 ····iget·v0,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1843 ····iget·v0,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1846 ····const/4·v1,·0x01844 ····const/4·v1,·0x0
  
1847 ····const/4·v2,·0x01845 ····const/4·v2,·0x0
  
1848 ····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
  
1849 ····.line·5621847 ····.line·559
1850 ····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;
  
1851 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1849 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1852 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V1850 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V
  
1853 ····.line·5641851 ····.line·561
1854 ····:cond_01852 ····:cond_0
1855 ····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;
  
1856 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1854 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1857 ····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
  
1858 ····.line·5661856 ····.line·563
1859 ····iget-boolean·v0,·p1,·Landroid/net/TetheringRequestParcel;->exemptFromEntitlementCheck:Z1857 ····iget-boolean·v0,·p1,·Landroid/net/TetheringRequestParcel;->exemptFromEntitlementCheck:Z
  
1860 ····if-eqz·v0,·:cond_11858 ····if-eqz·v0,·:cond_1
  
1861 ····.line·5671859 ····.line·564
1862 ····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;
  
1863 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1861 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1864 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->setExemptedDownstreamType(I)V1862 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/EntitlementManager;->setExemptedDownstreamType(I)V
  
1865 ····goto·:goto_01863 ····goto·:goto_0
  
1866 ····.line·5691864 ····.line·566
1867 ····:cond_11865 ····:cond_1
1868 ····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;
  
1869 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1867 ····iget·v1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1870 ····iget-boolean·v2,·p1,·Landroid/net/TetheringRequestParcel;->showProvisioningUi:Z1868 ····iget-boolean·v2,·p1,·Landroid/net/TetheringRequestParcel;->showProvisioningUi:Z
  
1871 ····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
  
1872 ····.line·5721870 ····.line·569
1873 ····:goto_01871 ····:goto_0
1874 ····iget·p1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I1872 ····iget·p1,·p1,·Landroid/net/TetheringRequestParcel;->tetheringType:I
  
1875 ····const/4·v0,·0x11873 ····const/4·v0,·0x1
  
1876 ····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
  
1877 ····return-void1875 ····return-void
1878 .end·method1876 .end·method
  
1879 .method·private·synthetic·lambda$stopTethering$5(I)V1877 .method·private·synthetic·lambda$stopTethering$5(I)V
1880 ····.locals·21878 ····.locals·2
  
1881 ····.line·5781879 ····.line·575
1882 ····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;
  
1883 ····invoke-virtual·{v0,·p1},·Landroid/util/SparseArray;->remove(I)V1881 ····invoke-virtual·{v0,·p1},·Landroid/util/SparseArray;->remove(I)V
  
1884 ····const/4·v0,·0x01882 ····const/4·v0,·0x0
  
1885 ····const/4·v1,·0x01883 ····const/4·v1,·0x0
  
1886 ····.line·5801884 ····.line·577
1887 ····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
  
1888 ····.line·5811886 ····.line·578
1889 ····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;
  
1890 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V1888 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/EntitlementManager;->stopProvisioningIfNeeded(I)V
  
1891 ····return-void1889 ····return-void
1892 .end·method1890 .end·method
  
1893 .method·private·synthetic·lambda$unregisterTetheringEventCallback$8(Landroid/net/ITetheringEventCallback;)V1891 .method·private·synthetic·lambda$unregisterTetheringEventCallback$8(Landroid/net/ITetheringEventCallback;)V
1894 ····.locals·01892 ····.locals·0
  
1895 ····.line·21131893 ····.line·2109
1896 ····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;
  
1897 ····invoke-virtual·{p0,·p1},·Landroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z1895 ····invoke-virtual·{p0,·p1},·Landroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z
  
1898 ····return-void1896 ····return-void
1899 .end·method1897 .end·method
  
1900 .method·private·logMessage(Lcom/android/networkstack/tethering/util/State;I)V1898 .method·private·logMessage(Lcom/android/networkstack/tethering/util/State;I)V
1901 ····.locals·21899 ····.locals·2
  
1902 ····.line·13631900 ····.line·1360
1903 ····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;
  
1904 ····new-instance·v0,·Ljava/lang/StringBuilder;1902 ····new-instance·v0,·Ljava/lang/StringBuilder;
  
1905 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V1903 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V
  
1906 ····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 2004, 61 lines modifiedOffset 2002, 61 lines modified
  
2004 ····return-void2002 ····return-void
2005 .end·method2003 .end·method
  
2006 .method·private·makeControlCallback()Landroid/net/ip/IpServer$Callback;2004 .method·private·makeControlCallback()Landroid/net/ip/IpServer$Callback;
2007 ····.locals·12005 ····.locals·1
  
2008 ····.line·23122006 ····.line·2308
2009 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$4;2007 ····new-instance·v0,·Lcom/android/networkstack/tethering/Tethering$4;
  
2010 ····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
  
2011 ····return-object·v02009 ····return-object·v0
2012 .end·method2010 .end·method
  
2013 .method·private·maybeDunSettingChanged()V2011 .method·private·maybeDunSettingChanged()V
2014 ····.locals·22012 ····.locals·2
  
2015 ····.line·4512013 ····.line·448
2016 ····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;
  
2017 ····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
  
2018 ····move-result·v02016 ····move-result·v0
  
2019 ····.line·4522017 ····.line·449
2020 ····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;
  
2021 ····iget-boolean·v1,·v1,·Lcom/android/networkstack/tethering/TetheringConfiguration;->isDunRequired:Z2019 ····iget-boolean·v1,·v1,·Lcom/android/networkstack/tethering/TetheringConfiguration;->isDunRequired:Z
  
2022 ····if-ne·v0,·v1,·:cond_02020 ····if-ne·v0,·v1,·:cond_0
  
2023 ····return-void2021 ····return-void
  
2024 ····.line·4532022 ····.line·450
2025 ····:cond_02023 ····:cond_0
2026 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->updateConfiguration()V2024 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering;->updateConfiguration()V
  
2027 ····return-void2025 ····return-void
2028 .end·method2026 .end·method
  
2029 .method·private·maybeTrackNewInterfaceLocked(Ljava/lang/String;)V2027 .method·private·maybeTrackNewInterfaceLocked(Ljava/lang/String;)V
2030 ····.locals·22028 ····.locals·2
  
2031 ····.line·23962029 ····.line·2392
2032 ····invoke-direct·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering;->ifaceNameToType(Ljava/lang/String;)I2030 ····invoke-direct·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering;->ifaceNameToType(Ljava/lang/String;)I
  
2033 ····move-result·v02031 ····move-result·v0
  
2034 ····const/4·v1,·-0x12032 ····const/4·v1,·-0x1
  
2035 ····if-ne·v0,·v1,·:cond_02033 ····if-ne·v0,·v1,·:cond_0
  
2036 ····.line·23982034 ····.line·2394
2037 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;2035 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
2038 ····new-instance·v0,·Ljava/lang/StringBuilder;2036 ····new-instance·v0,·Ljava/lang/StringBuilder;
  
2039 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V2037 ····invoke-direct·{v0},·Ljava/lang/StringBuilder;-><init>()V
  
2040 ····invoke-virtual·{v0,·p1},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;2038 ····invoke-virtual·{v0,·p1},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
Offset 2071, 38 lines modifiedOffset 2069, 38 lines modified
  
2071 ····move-result-object·p12069 ····move-result-object·p1
  
2072 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V2070 ····invoke-virtual·{p0,·p1},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V
  
2073 ····return-void2071 ····return-void
  
2074 ····.line·24012072 ····.line·2397
2075 ····:cond_02073 ····:cond_0
2076 ····invoke-direct·{p0,·p1,·v0},·Lcom/android/networkstack/tethering/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;I)V2074 ····invoke-direct·{p0,·p1,·v0},·Lcom/android/networkstack/tethering/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;I)V
  
2077 ····return-void2075 ····return-void
2078 .end·method2076 .end·method
  
2079 .method·private·maybeTrackNewInterfaceLocked(Ljava/lang/String;I)V2077 .method·private·maybeTrackNewInterfaceLocked(Ljava/lang/String;I)V
2080 ····.locals·162078 ····.locals·16
  
2081 ····move-object/from16·v0,·p02079 ····move-object/from16·v0,·p0
  
2082 ····move-object/from16·v13,·p12080 ····move-object/from16·v13,·p1
  
2083 ····.line·24062081 ····.line·2402
2084 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;2082 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mTetherStates:Landroid/util/ArrayMap;
  
2085 ····invoke-virtual·{v1,·v13},·Landroid/util/ArrayMap;->containsKey(Ljava/lang/Object;)Z2083 ····invoke-virtual·{v1,·v13},·Landroid/util/ArrayMap;->containsKey(Ljava/lang/Object;)Z
  
2086 ····move-result·v12084 ····move-result·v1
  
2087 ····if-eqz·v1,·:cond_02085 ····if-eqz·v1,·:cond_0
  
2088 ····.line·24072086 ····.line·2403
2089 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;2087 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
2090 ····new-instance·v1,·Ljava/lang/StringBuilder;2088 ····new-instance·v1,·Ljava/lang/StringBuilder;
  
2091 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V2089 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V
  
2092 ····const-string·v2,·"active·iface·("2090 ····const-string·v2,·"active·iface·("
Offset 2119, 15 lines modifiedOffset 2117, 15 lines modified
  
2119 ····move-result-object·v12117 ····move-result-object·v1
  
2120 ····invoke-virtual·{v0,·v1},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V2118 ····invoke-virtual·{v0,·v1},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V
  
2121 ····return-void2119 ····return-void
  
2122 ····.line·24112120 ····.line·2407
2123 ····:cond_02121 ····:cond_0
2124 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;2122 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
2125 ····new-instance·v2,·Ljava/lang/StringBuilder;2123 ····new-instance·v2,·Ljava/lang/StringBuilder;
  
2126 ····invoke-direct·{v2},·Ljava/lang/StringBuilder;-><init>()V2124 ····invoke-direct·{v2},·Ljava/lang/StringBuilder;-><init>()V
  
Offset 2139, 122 lines modifiedOffset 2137, 122 lines modified
  
2139 ····invoke-virtual·{v2},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;2137 ····invoke-virtual·{v2},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  
2140 ····move-result-object·v22138 ····move-result-object·v2
  
2141 ····invoke-virtual·{v1,·v2},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V2139 ····invoke-virtual·{v1,·v2},·Landroid/net/util/SharedLog;->log(Ljava/lang/String;)V
  
2142 ····.line·24122140 ····.line·2408
2143 ····new-instance·v14,·Lcom/android/networkstack/tethering/Tethering$TetherState;2141 ····new-instance·v14,·Lcom/android/networkstack/tethering/Tethering$TetherState;
  
2144 ····new-instance·v15,·Landroid/net/ip/IpServer;2142 ····new-instance·v15,·Landroid/net/ip/IpServer;
  
2145 ····iget-object·v3,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLooper:Landroid/os/Looper;2143 ····iget-object·v3,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLooper:Landroid/os/Looper;
  
2146 ····iget-object·v5,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;2144 ····iget-object·v5,·v0,·Lcom/android/networkstack/tethering/Tethering;->mLog:Landroid/net/util/SharedLog;
  
2147 ····iget-object·v6,·v0,·Lcom/android/networkstack/tethering/Tethering;->mNetd:Landroid/net/INetd;2145 ····iget-object·v6,·v0,·Lcom/android/networkstack/tethering/Tethering;->mNetd:Landroid/net/INetd;
  
2148 ····iget-object·v7,·v0,·Lcom/android/networkstack/tethering/Tethering;->mBpfCoordinator:Lcom/android/networkstack/tethering/BpfCoordinator;2146 ····iget-object·v7,·v0,·Lcom/android/networkstack/tethering/Tethering;->mBpfCoordinator:Lcom/android/networkstack/tethering/BpfCoordinator;
  
2149 ····.line·24142147 ····.line·2410
2150 ····invoke-direct/range·{p0·..·p0},·Lcom/android/networkstack/tethering/Tethering;->makeControlCallback()Landroid/net/ip/IpServer$Callback;2148 ····invoke-direct/range·{p0·..·p0},·Lcom/android/networkstack/tethering/Tethering;->makeControlCallback()Landroid/net/ip/IpServer$Callback;
  
2151 ····move-result-object·v82149 ····move-result-object·v8
  
2152 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;2150 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;
  
2153 ····iget-boolean·v9,·v1,·Lcom/android/networkstack/tethering/TetheringConfiguration;->enableLegacyDhcpServer:Z2151 ····iget-boolean·v9,·v1,·Lcom/android/networkstack/tethering/TetheringConfiguration;->enableLegacyDhcpServer:Z
  
2154 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;2152 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mConfig:Lcom/android/networkstack/tethering/TetheringConfiguration;
  
2155 ····.line·24152153 ····.line·2411
2156 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isBpfOffloadEnabled()Z2154 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/TetheringConfiguration;->isBpfOffloadEnabled()Z
  
2157 ····move-result·v102155 ····move-result·v10
  
2158 ····iget-object·v11,·v0,·Lcom/android/networkstack/tethering/Tethering;->mPrivateAddressCoordinator:Lcom/android/networkstack/tethering/PrivateAddressCoordinator;2156 ····iget-object·v11,·v0,·Lcom/android/networkstack/tethering/Tethering;->mPrivateAddressCoordinator:Lcom/android/networkstack/tethering/PrivateAddressCoordinator;
  
2159 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mDeps:Lcom/android/networkstack/tethering/TetheringDependencies;2157 ····iget-object·v1,·v0,·Lcom/android/networkstack/tethering/Tethering;->mDeps:Lcom/android/networkstack/tethering/TetheringDependencies;
  
2160 ····.line·24162158 ····.line·2412
2161 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/TetheringDependencies;->getIpServerDependencies()Landroid/net/ip/IpServer$Dependencies;2159 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/TetheringDependencies;->getIpServerDependencies()Landroid/net/ip/IpServer$Dependencies;
  
2162 ····move-result-object·v122160 ····move-result-object·v12
  
Max diff block lines reached; 86051/118921 bytes (72.36%) of diff not shown.