Offset 1, 499 lines modifiedOffset 1, 488 lines modified
1 .class·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;1 .class·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;
2 .super·Lcom/android/networkstack/tethering/util/State;2 .super·Lcom/android/networkstack/tethering/util/State;
3 .source·"Tethering.java"3 .source·"Tethering.java"
  
  
4 #·annotations4 #·annotations
5 .annotation·system·Ldalvik/annotation/EnclosingClass;5 .annotation·system·Ldalvik/annotation/EnclosingClass;
6 ····value·=·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;6 ····value·=·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
7 .end·annotation7 .end·annotation
  
8 .annotation·system·Ldalvik/annotation/InnerClass;8 .annotation·system·Ldalvik/annotation/InnerClass;
9 ····accessFlags·=·0x09 ····accessFlags·=·0x0
10 ····name·=·"TetherModeAliveState"10 ····name·=·"TetherModeAliveState"
11 .end·annotation11 .end·annotation
  
  
12 #·instance·fields12 #·instance·fields
13 .field·mTryCell:Z13 .field·mTryCell:Z
  
14 .field·mUpstreamWanted:Z14 .field·mUpstreamWanted:Z
  
15 .field·final·synthetic·this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;15 .field·final·synthetic·this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
  
16 #·direct·methods16 #·direct·methods
17 .method·constructor·<init>(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)V17 .method·constructor·<init>(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)V
18 ····.locals·018 ····.locals·0
  
19 ····.line·173719 ····.line·1742
20 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;20 ····iput-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
21 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/util/State;-><init>()V21 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/util/State;-><init>()V
  
22 ····const/4·p1,·0x022 ····const/4·p1,·0x0
  
23 ····.line·173823 ····.line·1743
24 ····iput-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z24 ····iput-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
25 ····const/4·p1,·0x125 ····const/4·p1,·0x1
  
26 ····.line·173926 ····.line·1744
27 ····iput-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mTryCell:Z27 ····iput-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mTryCell:Z
  
28 ····return-void28 ····return-void
29 .end·method29 .end·method
  
30 .method·private·updateUpstreamWanted()Z30 .method·private·updateUpstreamWanted()Z
31 ····.locals·231 ····.locals·2
  
32 ····.line·177832 ····.line·1782
33 ····iget-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z33 ····iget-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
34 ····.line·177934 ····.line·1783
35 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;35 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
36 ····iget-object·v1,·v1,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;36 ····iget-object·v1,·v1,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
37 ····invoke-static·{v1},·Lcom/android/networkstack/tethering/Tethering;->access$4400(Lcom/android/networkstack/tethering/Tethering;)Z37 ····invoke-static·{v1},·Lcom/android/networkstack/tethering/Tethering;->access$4400(Lcom/android/networkstack/tethering/Tethering;)Z
  
38 ····move-result·v138 ····move-result·v1
  
39 ····iput-boolean·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z39 ····iput-boolean·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
40 ····if-eq·v1,·v0,·:cond_140 ····if-eq·v1,·v0,·:cond_1
  
41 ····if-eqz·v1,·:cond_041 ····if-eqz·v1,·:cond_0
  
42 ····.line·178242 ····.line·1786
43 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;43 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
44 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;44 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;
  
45 ····move-result-object·p045 ····move-result-object·p0
  
46 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;->start()V46 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;->start()V
  
47 ····goto·:goto_047 ····goto·:goto_0
  
48 ····.line·178448 ····.line·1788
49 ····:cond_049 ····:cond_0
50 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;50 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
51 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;51 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;
  
52 ····move-result-object·p052 ····move-result-object·p0
  
53 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;->stop()V53 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;->stop()V
  
54 ····:cond_154 ····:cond_1
55 ····:goto_055 ····:goto_0
56 ····return·v056 ····return·v0
57 .end·method57 .end·method
  
  
58 #·virtual·methods58 #·virtual·methods
59 .method·public·enter()V59 .method·public·enter()V
60 ····.locals·260 ····.locals·2
  
61 ····.line·174561 ····.line·1750
62 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;62 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
63 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->turnOnMainTetherSettings()Z63 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->turnOnMasterTetherSettings()Z
  
64 ····move-result·v064 ····move-result·v0
  
65 ····if-nez·v0,·:cond_065 ····if-nez·v0,·:cond_0
  
66 ····return-void66 ····return-void
  
67 ····.line·174967 ····.line·1754
68 ····:cond_068 ····:cond_0
69 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;69 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
70 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering; 
  
71 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$4300(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/PrivateAddressCoordinator; 
  
72 ····move-result-object·v070 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
73 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/PrivateAddressCoordinator;->maybeRemoveDeprecatedUpstreams()V 
  
74 ····.line·1750 
75 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM; 
  
76 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering; 
  
77 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$3600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;71 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$3600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;
  
78 ····move-result-object·v072 ····move-result-object·v0
  
79 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;->startObserveAllNetworks()V73 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;->startObserveAllNetworks()V
  
80 ····.line·175374 ····.line·1757
81 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;75 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
82 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;76 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
83 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$4400(Lcom/android/networkstack/tethering/Tethering;)Z77 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$4400(Lcom/android/networkstack/tethering/Tethering;)Z
  
84 ····move-result·v078 ····move-result·v0
  
85 ····if-eqz·v0,·:cond_179 ····if-eqz·v0,·:cond_1
  
86 ····const/4·v0,·0x180 ····const/4·v0,·0x1
  
87 ····.line·175481 ····.line·1758
88 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z82 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
89 ····.line·175583 ····.line·1759
90 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;84 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
91 ····invoke-static·{v1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;85 ····invoke-static·{v1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;
  
92 ····move-result-object·v186 ····move-result-object·v1
  
93 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;->start()V87 ····invoke-virtual·{v1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;->start()V
  
94 ····.line·175688 ····.line·1760
95 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;89 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
96 ····invoke-virtual·{v1,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->chooseUpstreamType(Z)V90 ····invoke-virtual·{v1,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->chooseUpstreamType(Z)V
  
97 ····const/4·v0,·0x091 ····const/4·v0,·0x0
  
98 ····.line·1757 
99 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mTryCell:Z 
  
100 ····.line·176192 ····.line·1761
 93 ····iput-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mTryCell:Z
  
 94 ····.line·1765
101 ····:cond_195 ····:cond_1
102 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;96 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
103 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;97 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
104 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering;->access$4600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/BpfCoordinator;98 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering;->access$4600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/BpfCoordinator;
  
105 ····move-result-object·p099 ····move-result-object·p0
  
106 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/BpfCoordinator;->startPolling()V100 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/BpfCoordinator;->startPolling()V
  
107 ····return-void101 ····return-void
108 .end·method102 .end·method
  
109 .method·public·exit()V103 .method·public·exit()V
110 ····.locals·2104 ····.locals·2
  
111 ····.line·1766105 ····.line·1770
112 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;106 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
113 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;107 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;
  
114 ····move-result-object·v0108 ····move-result-object·v0
  
115 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;->stop()V109 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;->stop()V
  
116 ····.line·1767110 ····.line·1771
117 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;111 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
118 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;112 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
119 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$3600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;113 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$3600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;
  
120 ····move-result-object·v0114 ····move-result-object·v0
  
121 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;->stop()V115 ····invoke-virtual·{v0},·Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;->stop()V
  
122 ····.line·1768116 ····.line·1772
123 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;117 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
124 ····const/4·v1,·0x0118 ····const/4·v1,·0x0
  
125 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->notifyDownstreamsOfNewUpstreamIface(Landroid/net/util/InterfaceSet;)V119 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->notifyDownstreamsOfNewUpstreamIface(Landroid/net/util/InterfaceSet;)V
  
126 ····.line·1769120 ····.line·1773
127 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;121 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
128 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->handleNewUpstreamNetworkState(Lcom/android/networkstack/tethering/UpstreamNetworkState;)V122 ····invoke-virtual·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->handleNewUpstreamNetworkState(Lcom/android/networkstack/tethering/UpstreamNetworkState;)V
  
129 ····.line·1770123 ····.line·1774
130 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;124 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
131 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;125 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
132 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$3700(Lcom/android/networkstack/tethering/Tethering;)Landroid/net/Network;126 ····invoke-static·{v0},·Lcom/android/networkstack/tethering/Tethering;->access$3700(Lcom/android/networkstack/tethering/Tethering;)Landroid/net/Network;
  
133 ····move-result-object·v0127 ····move-result-object·v0
  
134 ····if-eqz·v0,·:cond_0128 ····if-eqz·v0,·:cond_0
  
135 ····.line·1771129 ····.line·1775
136 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;130 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
137 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;131 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
138 ····invoke-static·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering;->access$3702(Lcom/android/networkstack/tethering/Tethering;Landroid/net/Network;)Landroid/net/Network;132 ····invoke-static·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering;->access$3702(Lcom/android/networkstack/tethering/Tethering;Landroid/net/Network;)Landroid/net/Network;
  
139 ····.line·1772133 ····.line·1776
140 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;134 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
141 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;135 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
142 ····invoke-static·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering;->access$3800(Lcom/android/networkstack/tethering/Tethering;Lcom/android/networkstack/tethering/UpstreamNetworkState;)V136 ····invoke-static·{v0,·v1},·Lcom/android/networkstack/tethering/Tethering;->access$3800(Lcom/android/networkstack/tethering/Tethering;Lcom/android/networkstack/tethering/UpstreamNetworkState;)V
  
143 ····.line·1774137 ····.line·1778
144 ····:cond_0138 ····:cond_0
145 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;139 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
146 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;140 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
147 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering;->access$4600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/BpfCoordinator;141 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering;->access$4600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/BpfCoordinator;
  
148 ····move-result-object·p0142 ····move-result-object·p0
  
149 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/BpfCoordinator;->stopPolling()V143 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/BpfCoordinator;->stopPolling()V
  
150 ····return-void144 ····return-void
151 .end·method145 .end·method
  
152 .method·public·processMessage(Landroid/os/Message;)Z146 .method·public·processMessage(Landroid/os/Message;)Z
153 ····.locals·3147 ····.locals·3
  
154 ····.line·1792148 ····.line·1796
155 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;149 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
156 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;150 ····iget-object·v0,·v0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
157 ····iget·v1,·p1,·Landroid/os/Message;->what:I151 ····iget·v1,·p1,·Landroid/os/Message;->what:I
  
158 ····invoke-static·{v0,·p0,·v1},·Lcom/android/networkstack/tethering/Tethering;->access$3000(Lcom/android/networkstack/tethering/Tethering;Lcom/android/networkstack/tethering/util/State;I)V152 ····invoke-static·{v0,·p0,·v1},·Lcom/android/networkstack/tethering/Tethering;->access$3000(Lcom/android/networkstack/tethering/Tethering;Lcom/android/networkstack/tethering/util/State;I)V
  
159 ····.line·1794153 ····.line·1798
160 ····iget·v0,·p1,·Landroid/os/Message;->what:I154 ····iget·v0,·p1,·Landroid/os/Message;->what:I
  
161 ····const/4·v1,·0x0155 ····const/4·v1,·0x0
  
162 ····const/4·v2,·0x1156 ····const/4·v2,·0x1
  
163 ····packed-switch·v0,·:pswitch_data_0157 ····packed-switch·v0,·:pswitch_data_0
  
164 ····:pswitch_0158 ····:pswitch_0
165 ····goto/16·:goto_1159 ····goto/16·:goto_1
  
166 ····.line·1837160 ····.line·1841
167 ····:pswitch_1161 ····:pswitch_1
168 ····iget-object·v0,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;162 ····iget-object·v0,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;
  
169 ····check-cast·v0,·Landroid/net/LinkProperties;163 ····check-cast·v0,·Landroid/net/LinkProperties;
  
170 ····.line·1838164 ····.line·1842
171 ····iget·p1,·p1,·Landroid/os/Message;->arg1:I165 ····iget·p1,·p1,·Landroid/os/Message;->arg1:I
  
172 ····const/4·v1,·0x2166 ····const/4·v1,·0x2
  
173 ····if-ne·p1,·v1,·:cond_0167 ····if-ne·p1,·v1,·:cond_0
  
174 ····.line·1839168 ····.line·1843
175 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;169 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
176 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;170 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;
  
177 ····move-result-object·p0171 ····move-result-object·p0
  
178 ····invoke-virtual·{p0,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;->updateDownstreamLinkProperties(Landroid/net/LinkProperties;)V172 ····invoke-virtual·{p0,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;->updateDownstreamLinkProperties(Landroid/net/LinkProperties;)V
  
179 ····goto/16·:goto_0173 ····goto/16·:goto_0
  
180 ····.line·1841174 ····.line·1845
181 ····:cond_0175 ····:cond_0
182 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;176 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
183 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;177 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$4500(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;
  
184 ····move-result-object·p0178 ····move-result-object·p0
  
185 ····invoke-virtual·{v0},·Landroid/net/LinkProperties;->getInterfaceName()Ljava/lang/String;179 ····invoke-virtual·{v0},·Landroid/net/LinkProperties;->getInterfaceName()Ljava/lang/String;
  
186 ····move-result-object·p1180 ····move-result-object·p1
  
187 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$OffloadWrapper;->excludeDownstreamInterface(Ljava/lang/String;)V181 ····invoke-virtual·{p0,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$OffloadWrapper;->excludeDownstreamInterface(Ljava/lang/String;)V
  
188 ····goto/16·:goto_0182 ····goto/16·:goto_0
  
189 ····.line·1862183 ····.line·1866
190 ····:pswitch_2184 ····:pswitch_2
191 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->updateUpstreamWanted()Z185 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->updateUpstreamWanted()Z
  
192 ····.line·1863186 ····.line·1867
193 ····iget-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z187 ····iget-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
194 ····if-eqz·v0,·:cond_4188 ····if-eqz·v0,·:cond_4
  
195 ····.line·1864189 ····.line·1868
196 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;190 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
197 ····iget·v0,·p1,·Landroid/os/Message;->arg1:I191 ····iget·v0,·p1,·Landroid/os/Message;->arg1:I
  
198 ····iget-object·p1,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;192 ····iget-object·p1,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;
  
199 ····invoke-virtual·{p0,·v0,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->handleUpstreamNetworkMonitorCallback(ILjava/lang/Object;)V193 ····invoke-virtual·{p0,·v0,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->handleUpstreamNetworkMonitorCallback(ILjava/lang/Object;)V
  
200 ····goto/16·:goto_0194 ····goto/16·:goto_0
  
201 ····.line·1855195 ····.line·1859
202 ····:pswitch_3196 ····:pswitch_3
203 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->updateUpstreamWanted()Z197 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->updateUpstreamWanted()Z
  
204 ····.line·1856198 ····.line·1860
205 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z199 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
206 ····if-nez·p1,·:cond_1200 ····if-nez·p1,·:cond_1
  
207 ····goto/16·:goto_0201 ····goto/16·:goto_0
  
208 ····.line·1858202 ····.line·1862
209 ····:cond_1203 ····:cond_1
210 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;204 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
211 ····iget-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mTryCell:Z205 ····iget-boolean·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mTryCell:Z
  
212 ····invoke-virtual·{p1,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->chooseUpstreamType(Z)V206 ····invoke-virtual·{p1,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->chooseUpstreamType(Z)V
  
213 ····.line·1859207 ····.line·1863
214 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mTryCell:Z208 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mTryCell:Z
  
215 ····xor-int/2addr·p1,·v2209 ····xor-int/2addr·p1,·v2
  
216 ····iput-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mTryCell:Z210 ····iput-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mTryCell:Z
  
217 ····goto·:goto_0211 ····goto·:goto_0
  
218 ····.line·1847212 ····.line·1851
219 ····:pswitch_4213 ····:pswitch_4
220 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->updateUpstreamWanted()Z214 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->updateUpstreamWanted()Z
  
221 ····.line·1848215 ····.line·1852
222 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z216 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
223 ····if-nez·p1,·:cond_2217 ····if-nez·p1,·:cond_2
  
224 ····goto·:goto_0218 ····goto·:goto_0
  
225 ····.line·1851219 ····.line·1855
226 ····:cond_2220 ····:cond_2
227 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;221 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
228 ····invoke-virtual·{p1,·v2},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->chooseUpstreamType(Z)V222 ····invoke-virtual·{p1,·v2},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->chooseUpstreamType(Z)V
  
229 ····.line·1852223 ····.line·1856
230 ····iput-boolean·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mTryCell:Z224 ····iput-boolean·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mTryCell:Z
  
231 ····goto·:goto_0225 ····goto·:goto_0
  
232 ····.line·1810226 ····.line·1814
233 ····:pswitch_5227 ····:pswitch_5
234 ····iget-object·p1,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;228 ····iget-object·p1,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;
  
235 ····check-cast·p1,·Landroid/net/ip/IpServer;229 ····check-cast·p1,·Landroid/net/ip/IpServer;
  
236 ····.line·1812230 ····.line·1816
237 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;231 ····iget-object·v0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
238 ····invoke-static·{v0,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$3300(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;Landroid/net/ip/IpServer;)V232 ····invoke-static·{v0,·p1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$3300(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;Landroid/net/ip/IpServer;)V
  
239 ····.line·1814233 ····.line·1818
240 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;234 ····iget-object·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
241 ····invoke-static·{p1},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$4700(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;)Ljava/util/ArrayList;235 ····invoke-static·{p1},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$4700(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;)Ljava/util/ArrayList;
  
242 ····move-result-object·p1236 ····move-result-object·p1
  
243 ····invoke-virtual·{p1},·Ljava/util/ArrayList;->isEmpty()Z237 ····invoke-virtual·{p1},·Ljava/util/ArrayList;->isEmpty()Z
  
244 ····move-result·p1238 ····move-result·p1
  
245 ····if-eqz·p1,·:cond_3239 ····if-eqz·p1,·:cond_3
  
246 ····.line·1817240 ····.line·1821
247 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;241 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
248 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->turnOffMainTetherSettings()Z242 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->turnOffMasterTetherSettings()Z
  
249 ····goto·:goto_0243 ····goto·:goto_0
  
250 ····.line·1830244 ····.line·1834
251 ····:cond_3245 ····:cond_3
252 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->updateUpstreamWanted()Z246 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->updateUpstreamWanted()Z
  
253 ····move-result·p1247 ····move-result·p1
  
254 ····if-eqz·p1,·:cond_4248 ····if-eqz·p1,·:cond_4
  
255 ····.line·1831249 ····.line·1835
256 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z250 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
257 ····if-nez·p1,·:cond_4251 ····if-nez·p1,·:cond_4
  
258 ····.line·1832252 ····.line·1836
259 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;253 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
260 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;254 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
261 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering;->access$3600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;255 ····invoke-static·{p0},·Lcom/android/networkstack/tethering/Tethering;->access$3600(Lcom/android/networkstack/tethering/Tethering;)Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;
  
262 ····move-result-object·p0256 ····move-result-object·p0
  
263 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;->releaseMobileNetworkRequest()V257 ····invoke-virtual·{p0},·Lcom/android/networkstack/tethering/UpstreamNetworkMonitor;->releaseMobileNetworkRequest()V
  
264 ····goto·:goto_0258 ····goto·:goto_0
  
265 ····.line·1796259 ····.line·1800
266 ····:pswitch_6260 ····:pswitch_6
267 ····iget-object·v0,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;261 ····iget-object·v0,·p1,·Landroid/os/Message;->obj:Ljava/lang/Object;
  
268 ····check-cast·v0,·Landroid/net/ip/IpServer;262 ····check-cast·v0,·Landroid/net/ip/IpServer;
  
269 ····.line·1798263 ····.line·1802
270 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;264 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
271 ····iget·p1,·p1,·Landroid/os/Message;->arg1:I265 ····iget·p1,·p1,·Landroid/os/Message;->arg1:I
  
272 ····invoke-static·{v1,·p1,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->access$3100(Lcom/android/networkstack/tethering/Tethering$TetherMainSM;ILandroid/net/ip/IpServer;)V266 ····invoke-static·{v1,·p1,·v0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->access$3100(Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;ILandroid/net/ip/IpServer;)V
  
273 ····const/16·p1,·0x6d267 ····const/16·p1,·0x6d
  
274 ····.line·1799268 ····.line·1803
275 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;269 ····iget-object·v1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
276 ····iget-object·v1,·v1,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->this$0:Lcom/android/networkstack/tethering/Tethering;270 ····iget-object·v1,·v1,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->this$0:Lcom/android/networkstack/tethering/Tethering;
  
277 ····.line·1800271 ····.line·1804
278 ····invoke-static·{v1},·Lcom/android/networkstack/tethering/Tethering;->access$4000(Lcom/android/networkstack/tethering/Tethering;)Landroid/net/util/InterfaceSet;272 ····invoke-static·{v1},·Lcom/android/networkstack/tethering/Tethering;->access$4000(Lcom/android/networkstack/tethering/Tethering;)Landroid/net/util/InterfaceSet;
  
279 ····move-result-object·v1273 ····move-result-object·v1
  
280 ····.line·1799274 ····.line·1803
281 ····invoke-virtual·{v0,·p1,·v1},·Lcom/android/networkstack/tethering/util/StateMachine;->sendMessage(ILjava/lang/Object;)V275 ····invoke-virtual·{v0,·p1,·v1},·Lcom/android/networkstack/tethering/util/StateMachine;->sendMessage(ILjava/lang/Object;)V
  
282 ····.line·1803276 ····.line·1807
283 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->updateUpstreamWanted()Z277 ····invoke-direct·{p0},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->updateUpstreamWanted()Z
  
284 ····move-result·p1278 ····move-result·p1
  
285 ····if-nez·p1,·:cond_4279 ····if-nez·p1,·:cond_4
  
286 ····.line·1804280 ····.line·1808
287 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->mUpstreamWanted:Z281 ····iget-boolean·p1,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->mUpstreamWanted:Z
  
288 ····if-eqz·p1,·:cond_4282 ····if-eqz·p1,·:cond_4
  
289 ····.line·1805283 ····.line·1809
290 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMainSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMainSM;284 ····iget-object·p0,·p0,·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM$TetherModeAliveState;->this$1:Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;
  
291 ····invoke-virtual·{p0,·v2},·Lcom/android/networkstack/tethering/Tethering$TetherMainSM;->chooseUpstreamType(Z)V285 ····invoke-virtual·{p0,·v2},·Lcom/android/networkstack/tethering/Tethering$TetherMasterSM;->chooseUpstreamType(Z)V
  
292 ····:cond_4286 ····:cond_4
293 ····:goto_0287 ····:goto_0
294 ····move·v1,·v2288 ····move·v1,·v2
  
295 ····:goto_1289 ····:goto_1
296 ····return·v1290 ····return·v1