Offset 4, 26 lines modifiedOffset 4, 25 lines modified
4 import·com.android.wifi.x.com.android.internal.util.StateMachine;4 import·com.android.wifi.x.com.android.internal.util.StateMachine;
5 import·android.net.wifi.nl80211.NativeWifiClient;5 import·android.net.wifi.nl80211.NativeWifiClient;
6 import·com.android.wifi.x.com.android.internal.util.IState;6 import·com.android.wifi.x.com.android.internal.util.IState;
7 import·android.net.wifi.SoftApCapability;7 import·android.net.wifi.SoftApCapability;
8 import·java.util.Set;8 import·java.util.Set;
9 import·java.util.Collection;9 import·java.util.Collection;
10 import·java.util.HashSet;10 import·java.util.HashSet;
 11 import·android.net.MacAddress;
11 import·android.net.wifi.SoftApConfiguration$Builder;12 import·android.net.wifi.SoftApConfiguration$Builder;
12 import·android.net.wifi.SoftApConfiguration;13 import·android.net.wifi.SoftApConfiguration;
13 import·java.util.function.BiConsumer; 
14 import·android.os.Message;14 import·android.os.Message;
15 import·android.content.Context;15 import·android.content.Context;
16 import·com.android.server.wifi.util.ApConfigUtil;16 import·com.android.server.wifi.util.ApConfigUtil;
17 import·android.net.wifi.ScanResult;17 import·android.net.wifi.ScanResult;
18 import·android.net.MacAddress; 
19 import·java.util.Iterator;18 import·java.util.Iterator;
 19 import·android.net.wifi.WifiClient;
20 import·java.util.ArrayList;20 import·java.util.ArrayList;
21 import·android.os.SystemClock;21 import·android.os.SystemClock;
22 import·android.net.wifi.WifiClient; 
23 import·android.util.Log;22 import·android.util.Log;
24 import·com.android.wifi.x.com.android.internal.util.WakeupMessage;23 import·com.android.wifi.x.com.android.internal.util.WakeupMessage;
25 import·com.android.wifi.x.com.android.internal.util.State;24 import·com.android.wifi.x.com.android.internal.util.State;
  
26 class·SoftApManager$SoftApStateMachine$StartedState·extends·State25 class·SoftApManager$SoftApStateMachine$StartedState·extends·State
27 {26 {
28 ····private·WakeupMessage·mSoftApTimeoutMessage;27 ····private·WakeupMessage·mSoftApTimeoutMessage;
Offset 44, 16 lines modifiedOffset 43, 16 lines modified
44 ········}43 ········}
45 ········SoftApManager.access$402(this.this$1.this$0,·b);44 ········SoftApManager.access$402(this.this$1.this$0,·b);
46 ········if·(b)·{45 ········if·(b)·{
47 ············Log.d("SoftApManager",·"SoftAp·is·ready·for·use");46 ············Log.d("SoftApManager",·"SoftAp·is·ready·for·use");
48 ············SoftApManager.access$800(this.this$1.this$0,·13,·12,·0);47 ············SoftApManager.access$800(this.this$1.this$0,·13,·12,·0);
49 ············SoftApManager.access$1000(this.this$1.this$0).onStarted();48 ············SoftApManager.access$1000(this.this$1.this$0).onStarted();
50 ············SoftApManager.access$900(this.this$1.this$0).incrementSoftApStartResult(true,·0);49 ············SoftApManager.access$900(this.this$1.this$0).incrementSoftApStartResult(true,·0);
51 ············if·(SoftApManager.access$2300(this.this$1.this$0)·!=·null)·{50 ············if·(SoftApManager.access$2200(this.this$1.this$0)·!=·null)·{
52 ················SoftApManager.access$2300(this.this$1.this$0).onConnectedClientsChanged(SoftApManager.access$1900(this.this$1.this$0));51 ················SoftApManager.access$2200(this.this$1.this$0).onConnectedClientsChanged(SoftApManager.access$1900(this.this$1.this$0));
53 ············}52 ············}
54 ········}53 ········}
55 ········else·{54 ········else·{
56 ············((StateMachine)this.this$1).sendMessage(8);55 ············((StateMachine)this.this$1).sendMessage(8);
57 ········}56 ········}
58 ········SoftApManager.access$900(this.this$1.this$0).addSoftApUpChangedEvent(b,·SoftApManager.access$1400(this.this$1.this$0).getTargetMode(),·SoftApManager.access$2000(this.this$1.this$0));57 ········SoftApManager.access$900(this.this$1.this$0).addSoftApUpChangedEvent(b,·SoftApManager.access$1400(this.this$1.this$0).getTargetMode(),·SoftApManager.access$2000(this.this$1.this$0));
59 ········if·(b)·{58 ········if·(b)·{
Offset 81, 24 lines modifiedOffset 80, 24 lines modified
81 ····private·void·setSoftApChannel(final·int·frequency,·int·frequency2)·{80 ····private·void·setSoftApChannel(final·int·frequency,·int·frequency2)·{
82 ········final·StringBuilder·sb·=·new·StringBuilder();81 ········final·StringBuilder·sb·=·new·StringBuilder();
83 ········sb.append("Channel·switched.·Frequency:·");82 ········sb.append("Channel·switched.·Frequency:·");
84 ········sb.append(frequency);83 ········sb.append(frequency);
85 ········sb.append("·Bandwidth:·");84 ········sb.append("·Bandwidth:·");
86 ········sb.append(frequency2);85 ········sb.append(frequency2);
87 ········Log.d("SoftApManager",·sb.toString());86 ········Log.d("SoftApManager",·sb.toString());
88 ········if·(frequency·==·SoftApManager.access$2400(this.this$1.this$0).getFrequency()·&&·frequency2·==·SoftApManager.access$2400(this.this$1.this$0).getBandwidth())·{87 ········if·(frequency·==·SoftApManager.access$2300(this.this$1.this$0).getFrequency()·&&·frequency2·==·SoftApManager.access$2300(this.this$1.this$0).getBandwidth())·{
89 ············return;88 ············return;
90 ········}89 ········}
91 ········SoftApManager.access$2400(this.this$1.this$0).setFrequency(frequency);90 ········SoftApManager.access$2300(this.this$1.this$0).setFrequency(frequency);
92 ········SoftApManager.access$2400(this.this$1.this$0).setBandwidth(frequency2);91 ········SoftApManager.access$2300(this.this$1.this$0).setBandwidth(frequency2);
93 ········SoftApManager.access$2300(this.this$1.this$0).onInfoChanged(SoftApManager.access$2400(this.this$1.this$0));92 ········SoftApManager.access$2200(this.this$1.this$0).onInfoChanged(SoftApManager.access$2300(this.this$1.this$0));
94 ········if·(frequency·>·0·&&·frequency2·!=·0)·{93 ········if·(frequency·>·0·&&·frequency2·!=·0)·{
95 ············final·WifiMetrics·access$900·=·SoftApManager.access$900(this.this$1.this$0);94 ············final·WifiMetrics·access$900·=·SoftApManager.access$900(this.this$1.this$0);
96 ············frequency2·=·SoftApManager.access$2400(this.this$1.this$0).getFrequency();95 ············frequency2·=·SoftApManager.access$2300(this.this$1.this$0).getFrequency();
97 ············access$900.addSoftApChannelSwitchedEvent(frequency2,·SoftApManager.access$2400(this.this$1.this$0).getBandwidth(),·SoftApManager.access$1400(this.this$1.this$0).getTargetMode());96 ············access$900.addSoftApChannelSwitchedEvent(frequency2,·SoftApManager.access$2300(this.this$1.this$0).getBandwidth(),·SoftApManager.access$1400(this.this$1.this$0).getTargetMode());
98 ············this.updateUserBandPreferenceViolationMetricsIfNeeded();97 ············this.updateUserBandPreferenceViolationMetricsIfNeeded();
99 ········}98 ········}
100 ····}99 ····}
101 ····100 ····
102 ····private·void·updateClientConnection()·{101 ····private·void·updateClientConnection()·{
103 ········if·(!SoftApManager.access$1500(this.this$1.this$0).areFeaturesSupported((long)2))·{102 ········if·(!SoftApManager.access$1500(this.this$1.this$0).areFeaturesSupported((long)2))·{
104 ············return;103 ············return;
Offset 123, 187 lines modifiedOffset 122, 160 lines modified
123 ················list.add(wifiClient);122 ················list.add(wifiClient);
124 ············}123 ············}
125 ············else·{124 ············else·{
126 ················final·StringBuilder·sb·=·new·StringBuilder();125 ················final·StringBuilder·sb·=·new·StringBuilder();
127 ················sb.append("Force·disconnect·for·not·allowed·client:·");126 ················sb.append("Force·disconnect·for·not·allowed·client:·");
128 ················sb.append(wifiClient);127 ················sb.append(wifiClient);
129 ················Log.d(s,·sb.toString());128 ················Log.d(s,·sb.toString());
130 ················if·(!SoftApManager.access$700(this.this$1.this$0).forceClientDisconnect(SoftApManager.access$300(this.this$1.this$0),·wifiClient.getMacAddress(),·0))·{129 ················SoftApManager.access$700(this.this$1.this$0).forceClientDisconnect(SoftApManager.access$300(this.this$1.this$0),·wifiClient.getMacAddress(),·0);
131 ····················SoftApManager.access$2100(this.this$1.this$0,·wifiClient,·0); 
132 ················} 
133 ················--n2;130 ················--n2;
134 ············}131 ············}
135 ········}132 ········}
136 ········if·(n2·>·0)·{133 ········if·(n2·>·0)·{
137 ············final·Iterator<Object>·iterator2·=·list.iterator();134 ············final·Iterator<Object>·iterator2·=·list.iterator();
138 ············while·(iterator2.hasNext())·{135 ············while·(iterator2.hasNext())·{
139 ················if·(n2·==·0)·{136 ················if·(n2·==·0)·{
140 ····················break;137 ····················break;
141 ················}138 ················}
142 ················final·WifiClient·wifiClient2·=·(WifiClient)iterator2.next();139 ················final·WifiClient·wifiClient2·=·(WifiClient)iterator2.next();
143 ················final·StringBuilder·sb2·=·new·StringBuilder();140 ················final·StringBuilder·sb2·=·new·StringBuilder();
144 ················sb2.append("Force·disconnect·for·client·due·to·no·more·room:·");141 ················sb2.append("Force·disconnect·for·client·due·to·no·more·room:·");
145 ················sb2.append(wifiClient2);142 ················sb2.append(wifiClient2);
146 ················Log.d(s,·sb2.toString());143 ················Log.d(s,·sb2.toString());
147 ················final·WifiNative·access$700·=·SoftApManager.access$700(this.this$1.this$0);144 ················SoftApManager.access$700(this.this$1.this$0).forceClientDisconnect(SoftApManager.access$300(this.this$1.this$0),·wifiClient2.getMacAddress(),·1);
148 ················final·String·access$701·=·SoftApManager.access$300(this.this$1.this$0); 
149 ················final·MacAddress·macAddress·=·wifiClient2.getMacAddress(); 
150 ················final·int·n3·=·1; 
151 ················if·(!access$700.forceClientDisconnect(access$701,·macAddress,·n3))·{ 
152 ····················SoftApManager.access$2100(this.this$1.this$0,·wifiClient2,·n3); 
153 ················} 
154 ················--n2;145 ················--n2;
155 ············}146 ············}
156 ········}147 ········}
157 ····}148 ····}
158 ····149 ····
159 ····private·void·updateConnectedClients(final·WifiClient·wifiClient,·final·boolean·b)·{150 ····private·void·updateConnectedClients(final·WifiClient·wifiClient,·final·boolean·b)·{
160 ········if·(wifiClient·==·null)·{151 ········if·(wifiClient·==·null)·{
161 ············return;152 ············return;
162 ········}153 ········}
163 ········final·Object·remove·=·this.this$1.this$0.mPendingDisconnectClients.remove(wifiClient);154 ········final·int·index·=·SoftApManager.access$1900(this.this$1.this$0).indexOf(wifiClient);
 155 ········final·boolean·b2·=·index·!=·-1;
164 ········final·String·s·=·"SoftApManager";156 ········final·String·s·=·"SoftApManager";
165 ········if·(remove·!=·null)·{157 ········if·(b2·==·b)·{
166 ············final·StringBuilder·sb·=·new·StringBuilder();158 ············final·StringBuilder·sb·=·new·StringBuilder();
167 ············sb.append("Remove·client:·");159 ············sb.append("Drop·client·connection·event,·client·");
168 ············sb.append(wifiClient.getMacAddress());160 ············sb.append(wifiClient);
169 ············sb.append("from·pending·disconnectionlist");161 ············sb.append("isConnected:·");
170 ············Log.d(s,·sb.toString());162 ············sb.append(b);
171 ········}163 ············sb.append("·,·duplicate·event·or·client·is·blocked");
172 ········final·int·index·=·SoftApManager.access$1900(this.this$1.this$0).indexOf(wifiClient);164 ············Log.e(s,·sb.toString());
173 ········if·(index·!=·-1·==·b)·{ 
174 ············final·StringBuilder·sb2·=·new·StringBuilder(); 
175 ············sb2.append("Drop·client·connection·event,·client·"); 
176 ············sb2.append(wifiClient); 
177 ············sb2.append("isConnected:·"); 
178 ············sb2.append(b); 
179 ············sb2.append("·,·duplicate·event·or·client·is·blocked"); 
180 ············Log.e(s,·sb2.toString()); 
181 ············return;165 ············return;
182 ········}166 ········}
183 ········if·(b)·{167 ········if·(b)·{
184 ············final·SoftApManager·this$0·=·this.this$1.this$0;168 ············final·SoftApManager·this$0·=·this.this$1.this$0;
185 ············if·(!SoftApManager.access$2200(this$0,·SoftApManager.access$1400(this$0).getSoftApConfiguration(),·wifiClient))·{169 ············if·(!SoftApManager.access$2100(this$0,·SoftApManager.access$1400(this$0).getSoftApConfiguration(),·wifiClient))·{
186 ················return;170 ················return;
187 ············}171 ············}
188 ············SoftApManager.access$1900(this.this$1.this$0).add(wifiClient);172 ············SoftApManager.access$1900(this.this$1.this$0).add(wifiClient);
189 ········}173 ········}
190 ········else·{174 ········else·{
191 ············SoftApManager.access$1900(this.this$1.this$0).remove(index);175 ············SoftApManager.access$1900(this.this$1.this$0).remove(index);
192 ········}176 ········}
193 ········final·StringBuilder·sb3·=·new·StringBuilder();177 ········final·StringBuilder·sb2·=·new·StringBuilder();
194 ········sb3.append("The·connected·wifi·stations·have·changed·with·count:·");178 ········sb2.append("The·connected·wifi·stations·have·changed·with·count:·");
195 ········sb3.append(SoftApManager.access$1900(this.this$1.this$0).size());179 ········sb2.append(SoftApManager.access$1900(this.this$1.this$0).size());
196 ········sb3.append(":·");180 ········sb2.append(":·");
197 ········sb3.append(SoftApManager.access$1900(this.this$1.this$0));181 ········sb2.append(SoftApManager.access$1900(this.this$1.this$0));
198 ········Log.d(s,·sb3.toString());182 ········Log.d(s,·sb2.toString());
199 ········if·(SoftApManager.access$2300(this.this$1.this$0)·!=·null)·{183 ········if·(SoftApManager.access$2200(this.this$1.this$0)·!=·null)·{
200 ············SoftApManager.access$2300(this.this$1.this$0).onConnectedClientsChanged(SoftApManager.access$1900(this.this$1.this$0));184 ············SoftApManager.access$2200(this.this$1.this$0).onConnectedClientsChanged(SoftApManager.access$1900(this.this$1.this$0));
201 ········}185 ········}
202 ········else·{186 ········else·{
203 ············Log.e(s,·"SoftApCallback·is·null.·Dropping·ConnectedClientsChanged·event.");187 ············Log.e(s,·"SoftApCallback·is·null.·Dropping·ConnectedClientsChanged·event.");
204 ········}188 ········}
205 ········SoftApManager.access$900(this.this$1.this$0).addSoftApNumAssociatedStationsChangedEvent(SoftApManager.access$1900(this.this$1.this$0).size(),·SoftApManager.access$1400(this.this$1.this$0).getTargetMode());189 ········SoftApManager.access$900(this.this$1.this$0).addSoftApNumAssociatedStationsChangedEvent(SoftApManager.access$1900(this.this$1.this$0).size(),·SoftApManager.access$1400(this.this$1.this$0).getTargetMode());
206 ········this.scheduleTimeoutMessage();190 ········this.scheduleTimeoutMessage();
207 ····}191 ····}
208 ····192 ····
209 ····private·void·updateUserBandPreferenceViolationMetricsIfNeeded()·{193 ····private·void·updateUserBandPreferenceViolationMetricsIfNeeded()·{
210 ········final·int·band·=·SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration().getBand();194 ········final·int·band·=·SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration().getBand();
211 ········final·boolean·is24GHz·=·ScanResult.is24GHz(SoftApManager.access$2400(this.this$1.this$0).getFrequency());195 ········final·boolean·is24GHz·=·ScanResult.is24GHz(SoftApManager.access$2300(this.this$1.this$0).getFrequency());
212 ········int·n·=·1;196 ········int·n·=·1;
213 ········if·((!is24GHz·||·ApConfigUtil.containsBand(band,·n))·&&·(!ScanResult.is5GHz(SoftApManager.access$2400(this.this$1.this$0).getFrequency())·||·ApConfigUtil.containsBand(band,·2)))·{197 ········if·((!is24GHz·||·ApConfigUtil.containsBand(band,·n))·&&·(!ScanResult.is5GHz(SoftApManager.access$2300(this.this$1.this$0).getFrequency())·||·ApConfigUtil.containsBand(band,·2)))·{
214 ············if·(!ScanResult.is6GHz(SoftApManager.access$2400(this.this$1.this$0).getFrequency())·||·ApConfigUtil.containsBand(band,·4))·{198 ············if·(!ScanResult.is6GHz(SoftApManager.access$2300(this.this$1.this$0).getFrequency())·||·ApConfigUtil.containsBand(band,·4))·{
215 ················n·=·0;199 ················n·=·0;
216 ············}200 ············}
217 ········}201 ········}
218 ········if·(n·!=·0)·{202 ········if·(n·!=·0)·{
219 ············final·StringBuilder·sb·=·new·StringBuilder();203 ············final·StringBuilder·sb·=·new·StringBuilder();
220 ············sb.append("Channel·does·not·satisfy·user·band·preference:·");204 ············sb.append("Channel·does·not·satisfy·user·band·preference:·");
221 ············sb.append(SoftApManager.access$2400(this.this$1.this$0).getFrequency());205 ············sb.append(SoftApManager.access$2300(this.this$1.this$0).getFrequency());
222 ············Log.e("SoftApManager",·sb.toString());206 ············Log.e("SoftApManager",·sb.toString());
223 ············SoftApManager.access$900(this.this$1.this$0).incrementNumSoftApUserBandPreferenceUnsatisfied();207 ············SoftApManager.access$900(this.this$1.this$0).incrementNumSoftApUserBandPreferenceUnsatisfied();
224 ········}208 ········}
225 ····}209 ····}
226 ····210 ····
227 ····public·void·enter()·{211 ····public·void·enter()·{
228 ········SoftApManager.access$402(this.this$1.this$0,·false);212 ········SoftApManager.access$402(this.this$1.this$0,·false);
229 ········SoftApManager.access$502(this.this$1.this$0,·false);213 ········SoftApManager.access$502(this.this$1.this$0,·false);
230 ········this.onUpChanged(SoftApManager.access$700(this.this$1.this$0).isInterfaceUp(SoftApManager.access$300(this.this$1.this$0)));214 ········this.onUpChanged(SoftApManager.access$700(this.this$1.this$0).isInterfaceUp(SoftApManager.access$300(this.this$1.this$0)));
231 ········this.mSoftApTimeoutMessage·=·new·WakeupMessage((Context)SoftApManager.access$2500(this.this$1.this$0),·((StateMachine)SoftApManager.access$000(this.this$1.this$0)).getHandler(),·"SoftApManager·Soft·AP·Send·Message·Timeout",·5);215 ········this.mSoftApTimeoutMessage·=·new·WakeupMessage((Context)SoftApManager.access$2400(this.this$1.this$0),·((StateMachine)SoftApManager.access$000(this.this$1.this$0)).getHandler(),·"SoftApManager·Soft·AP·Send·Message·Timeout",·5);
232 ········SoftApManager.access$2600(this.this$1.this$0).setSapWifiState(13);216 ········SoftApManager.access$2500(this.this$1.this$0).setSapWifiState(13);
233 ········Log.d("SoftApManager",·"Resetting·connected·clients·on·start");217 ········Log.d("SoftApManager",·"Resetting·connected·clients·on·start");
234 ········SoftApManager.access$1900(this.this$1.this$0).clear();218 ········SoftApManager.access$1900(this.this$1.this$0).clear();
235 ········this.this$1.this$0.mPendingDisconnectClients.clear();219 ········SoftApManager.access$2602(this.this$1.this$0,·false);
236 ········SoftApManager.access$2702(this.this$1.this$0,·false); 
237 ········this.scheduleTimeoutMessage();220 ········this.scheduleTimeoutMessage();
238 ····}221 ····}
239 ····222 ····
240 ····public·void·exit()·{223 ····public·void·exit()·{
241 ········if·(!SoftApManager.access$500(this.this$1.this$0))·{224 ········if·(!SoftApManager.access$500(this.this$1.this$0))·{
242 ············SoftApManager.access$1200(this.this$1.this$0);225 ············SoftApManager.access$1200(this.this$1.this$0);
243 ········}226 ········}
244 ········Log.d("SoftApManager",·"Resetting·num·stations·on·stop");227 ········Log.d("SoftApManager",·"Resetting·num·stations·on·stop");
245 ········if·(SoftApManager.access$1900(this.this$1.this$0).size()·!=·0)·{228 ········if·(SoftApManager.access$1900(this.this$1.this$0).size()·!=·0)·{
246 ············SoftApManager.access$1900(this.this$1.this$0).clear();229 ············SoftApManager.access$1900(this.this$1.this$0).clear();
247 ············if·(SoftApManager.access$2300(this.this$1.this$0)·!=·null)·{230 ············if·(SoftApManager.access$2200(this.this$1.this$0)·!=·null)·{
248 ················SoftApManager.access$2300(this.this$1.this$0).onConnectedClientsChanged(SoftApManager.access$1900(this.this$1.this$0));231 ················SoftApManager.access$2200(this.this$1.this$0).onConnectedClientsChanged(SoftApManager.access$1900(this.this$1.this$0));
249 ············}232 ············}
250 ············SoftApManager.access$900(this.this$1.this$0).addSoftApNumAssociatedStationsChangedEvent(0,·SoftApManager.access$1400(this.this$1.this$0).getTargetMode());233 ············SoftApManager.access$900(this.this$1.this$0).addSoftApNumAssociatedStationsChangedEvent(0,·SoftApManager.access$1400(this.this$1.this$0).getTargetMode());
251 ········}234 ········}
252 ········this.this$1.this$0.mPendingDisconnectClients.clear(); 
253 ········this.cancelTimeoutMessage();235 ········this.cancelTimeoutMessage();
254 ········SoftApManager.access$900(this.this$1.this$0).addSoftApUpChangedEvent(false,·SoftApManager.access$1400(this.this$1.this$0).getTargetMode(),·SoftApManager.access$2000(this.this$1.this$0));236 ········SoftApManager.access$900(this.this$1.this$0).addSoftApUpChangedEvent(false,·SoftApManager.access$1400(this.this$1.this$0).getTargetMode(),·SoftApManager.access$2000(this.this$1.this$0));
255 ········final·SoftApManager·this$0·=·this.this$1.this$0;237 ········final·SoftApManager·this$0·=·this.this$1.this$0;
256 ········final·int·sapWifiState·=·11;238 ········final·int·sapWifiState·=·11;
257 ········SoftApManager.access$800(this$0,·sapWifiState,·10,·0);239 ········SoftApManager.access$800(this$0,·sapWifiState,·10,·0);
258 ········SoftApManager.access$2600(this.this$1.this$0).setSapWifiState(sapWifiState);240 ········SoftApManager.access$2500(this.this$1.this$0).setSapWifiState(sapWifiState);
259 ········SoftApManager.access$302(this.this$1.this$0,·(String)null);241 ········SoftApManager.access$302(this.this$1.this$0,·(String)null);
260 ········SoftApManager.access$402(this.this$1.this$0,·false);242 ········SoftApManager.access$402(this.this$1.this$0,·false);
261 ········SoftApManager.access$502(this.this$1.this$0,·false);243 ········SoftApManager.access$502(this.this$1.this$0,·false);
262 ········SoftApManager.access$2802(this.this$1.this$0,·-1);244 ········SoftApManager.access$2702(this.this$1.this$0,·-1);
263 ········((StateMachine)SoftApManager.access$000(this.this$1.this$0)).quitNow();245 ········((StateMachine)SoftApManager.access$000(this.this$1.this$0)).quitNow();
264 ········SoftApManager.access$1000(this.this$1.this$0).onStopped();246 ········SoftApManager.access$1000(this.this$1.this$0).onStopped();
265 ········this.setSoftApChannel(0,·0);247 ········this.setSoftApChannel(0,·0);
266 ····}248 ····}
267 ····249 ····
268 ····public·boolean·processMessage(final·Message·message)·{250 ····public·boolean·processMessage(final·Message·message)·{
269 ········final·int·what·=·message.what;251 ········final·int·what·=·message.what;
270 ········final·int·n·=·12;252 ········final·int·n·=·13;
271 ········final·int·n2·=·13;253 ········final·int·n2·=·10;
272 ········final·int·n3·=·10; 
273 ········final·boolean·b·=·true;254 ········final·boolean·b·=·true;
274 ········boolean·b2·=·false;255 ········boolean·b2·=·false;
275 ········final·String·s·=·"SoftApManager";256 ········final·String·s·=·"SoftApManager";
276 ········switch·(what)·{257 ········switch·(what)·{
277 ············default:·{258 ············default:·{
278 ················return·false;259 ················return·false;
279 ············}260 ············}
280 ············case·12:·{ 
281 ················if·(this.this$1.this$0.mPendingDisconnectClients.size()·!=·0)·{ 
282 ····················Log.d(s,·"Disconnect·pending·list·is·NOT·empty"); 
283 ····················this.this$1.this$0.mPendingDisconnectClients.forEach((BiConsumer)new·-$$Lambda$SoftApManager$SoftApStateMachine$StartedState$tYFzLMZOtb2t4OliJUo3FJp_1j8(this)); 
284 ····················((StateMachine)this.this$1).sendMessageDelayed(n,·1000L); 
285 ····················return·b; 
286 ················} 
287 ················return·b; 
288 ············} 
289 ············case·11:·{261 ············case·11:·{
290 ················final·SoftApConfiguration·softApConfiguration·=·(SoftApConfiguration)message.obj;262 ················final·SoftApConfiguration·softApConfiguration·=·(SoftApConfiguration)message.obj;
291 ················SoftApConfiguration·softApConfiguration2·=·SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration();263 ················SoftApConfiguration·softApConfiguration2·=·SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration();
292 ················if·(SoftApManager.access$3000(this.this$1.this$0))·{264 ················if·(SoftApManager.access$2900(this.this$1.this$0))·{
293 ····················softApConfiguration2·=·new·SoftApConfiguration$Builder(softApConfiguration2).setBssid((MacAddress)null).build();265 ····················softApConfiguration2·=·new·SoftApConfiguration$Builder(softApConfiguration2).setBssid((MacAddress)null).build();
294 ················}266 ················}
295 ················if·(!ApConfigUtil.checkConfigurationChangeNeedToRestart(softApConfiguration2,·softApConfiguration))·{267 ················if·(!ApConfigUtil.checkConfigurationChangeNeedToRestart(softApConfiguration2,·softApConfiguration))·{
296 ····················final·StringBuilder·sb·=·new·StringBuilder();268 ····················final·StringBuilder·sb·=·new·StringBuilder();
297 ····················sb.append("Configuration·changed·to·");269 ····················sb.append("Configuration·changed·to·");
298 ····················sb.append(softApConfiguration);270 ····················sb.append(softApConfiguration);
299 ····················Log.d(s,·sb.toString());271 ····················Log.d(s,·sb.toString());
300 ····················if·(SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration().getMaxNumberOfClients()·!=·softApConfiguration.getMaxNumberOfClients())·{272 ····················if·(SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration().getMaxNumberOfClients()·!=·softApConfiguration.getMaxNumberOfClients())·{
301 ························Log.d(s,·"Max·Client·changed,·reset·to·record·the·metrics");273 ························Log.d(s,·"Max·Client·changed,·reset·to·record·the·metrics");
302 ························SoftApManager.access$2702(this.this$1.this$0,·false);274 ························SoftApManager.access$2602(this.this$1.this$0,·false);
303 ····················}275 ····················}
304 ····················if·(SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration().getShutdownTimeoutMillis()·!=·softApConfiguration.getShutdownTimeoutMillis()·||·SoftApManager.access$1800(this.this$1.this$0)·!=·softApConfiguration.isAutoShutdownEnabled())·{276 ····················if·(SoftApManager.access$1400(this.this$1.this$0).getSoftApConfiguration().getShutdownTimeoutMillis()·!=·softApConfiguration.getShutdownTimeoutMillis()·||·SoftApManager.access$1800(this.this$1.this$0)·!=·softApConfiguration.isAutoShutdownEnabled())·{
305 ························b2·=·b;277 ························b2·=·b;
306 ····················}278 ····················}
307 ····················SoftApManager.access$1602(this.this$1.this$0,·(Set)new·HashSet(softApConfiguration.getBlockedClientList()));279 ····················SoftApManager.access$1602(this.this$1.this$0,·(Set)new·HashSet(softApConfiguration.getBlockedClientList()));
308 ····················SoftApManager.access$1702(this.this$1.this$0,·(Set)new·HashSet(softApConfiguration.getAllowedClientList()));280 ····················SoftApManager.access$1702(this.this$1.this$0,·(Set)new·HashSet(softApConfiguration.getAllowedClientList()));
309 ····················SoftApManager.access$1802(this.this$1.this$0,·softApConfiguration.isAutoShutdownEnabled());281 ····················SoftApManager.access$1802(this.this$1.this$0,·softApConfiguration.isAutoShutdownEnabled());
Offset 352, 17 lines modifiedOffset 324, 17 lines modified
352 ················}324 ················}
353 ················if·(SoftApManager.access$1900(this.this$1.this$0).size()·!=·0)·{325 ················if·(SoftApManager.access$1900(this.this$1.this$0).size()·!=·0)·{
354 ····················Log.wtf(s,·"Timeout·message·received·but·has·clients.·Dropping.");326 ····················Log.wtf(s,·"Timeout·message·received·but·has·clients.·Dropping.");
355 ····················return·b;327 ····················return·b;
356 ················}328 ················}
357 ················this.this$1.this$0.mSoftApNotifier.showSoftApShutDownTimeoutExpiredNotification();329 ················this.this$1.this$0.mSoftApNotifier.showSoftApShutDownTimeoutExpiredNotification();
358 ················Log.i(s,·"Timeout·message·received.·Stopping·soft·AP.");330 ················Log.i(s,·"Timeout·message·received.·Stopping·soft·AP.");
359 ················SoftApManager.access$800(this.this$1.this$0,·n3,·n2,·0);331 ················SoftApManager.access$800(this.this$1.this$0,·n2,·n,·0);
360 ················final·SoftApManager$SoftApStateMachine·this$2·=·this.this$1;332 ················final·SoftApManager$SoftApStateMachine·this$2·=·this.this$1;
361 ················((StateMachine)this$2).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2900(this$2));333 ················((StateMachine)this$2).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2800(this$2));
362 ················return·b;334 ················return·b;
363 ············}335 ············}
364 ············case·4:·{336 ············case·4:·{
365 ················final·Object·obj·=·message.obj;337 ················final·Object·obj·=·message.obj;
366 ················if·(!(obj·instanceof·NativeWifiClient))·{338 ················if·(!(obj·instanceof·NativeWifiClient))·{
367 ····················Log.e(s,·"Invalid·type·returned·for·CMD_ASSOCIATED_STATIONS_CHANGED");339 ····················Log.e(s,·"Invalid·type·returned·for·CMD_ASSOCIATED_STATIONS_CHANGED");
368 ····················return·b;340 ····················return·b;
Offset 385, 18 lines modifiedOffset 357, 18 lines modified
385 ················return·b;357 ················return·b;
386 ············}358 ············}
387 ············case·0:·{359 ············case·0:·{
388 ················return·b;360 ················return·b;
389 ············}361 ············}
390 ············case·7:·{362 ············case·7:·{
391 ················Log.d(s,·"Interface·was·cleanly·destroyed.");363 ················Log.d(s,·"Interface·was·cleanly·destroyed.");
392 ················SoftApManager.access$800(this.this$1.this$0,·n3,·n2,·0);364 ················SoftApManager.access$800(this.this$1.this$0,·n2,·n,·0);
393 ················SoftApManager.access$502(this.this$1.this$0,·b);365 ················SoftApManager.access$502(this.this$1.this$0,·b);
394 ················final·SoftApManager$SoftApStateMachine·this$3·=·this.this$1;366 ················final·SoftApManager$SoftApStateMachine·this$3·=·this.this$1;
395 ················((StateMachine)this$3).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2900(this$3));367 ················((StateMachine)this$3).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2800(this$3));
396 ················return·b;368 ················return·b;
397 ············}369 ············}
398 ············case·3:·{370 ············case·3:·{
399 ················if·(message.arg1·==·(b·?·1·:·0))·{371 ················if·(message.arg1·==·(b·?·1·:·0))·{
400 ····················b2·=·b;372 ····················b2·=·b;
401 ················}373 ················}
402 ················this.onUpChanged(b2);374 ················this.onUpChanged(b2);
Offset 404, 28 lines modifiedOffset 376, 28 lines modified
404 ············}376 ············}
405 ············case·2:·{377 ············case·2:·{
406 ················Log.w(s,·"hostapd·failure,·stop·and·report·failure");378 ················Log.w(s,·"hostapd·failure,·stop·and·report·failure");
407 ············}379 ············}
408 ············case·8:·{380 ············case·8:·{
409 ················Log.w(s,·"interface·error,·stop·and·report·failure");381 ················Log.w(s,·"interface·error,·stop·and·report·failure");
410 ················final·SoftApManager·this$4·=·this.this$1.this$0;382 ················final·SoftApManager·this$4·=·this.this$1.this$0;
411 ················final·int·n4·=·14;383 ················final·int·n3·=·14;
412 ················SoftApManager.access$800(this$4,·n4,·n2,·0);384 ················SoftApManager.access$800(this$4,·n3,·n,·0);
413 ················SoftApManager.access$800(this.this$1.this$0,·n3,·n4,·0);385 ················SoftApManager.access$800(this.this$1.this$0,·n2,·n3,·0);
414 ················final·SoftApManager$SoftApStateMachine·this$5·=·this.this$1;386 ················final·SoftApManager$SoftApStateMachine·this$5·=·this.this$1;
415 ················((StateMachine)this$5).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2900(this$5));387 ················((StateMachine)this$5).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2800(this$5));
416 ················return·b;388 ················return·b;
417 ············}389 ············}
418 ············case·1:·{390 ············case·1:·{
419 ················if·(SoftApManager.access$400(this.this$1.this$0))·{391 ················if·(SoftApManager.access$400(this.this$1.this$0))·{
420 ····················SoftApManager.access$800(this.this$1.this$0,·n3,·n2,·0);392 ····················SoftApManager.access$800(this.this$1.this$0,·n2,·n,·0);
421 ················}393 ················}
422 ················else·{394 ················else·{
423 ····················SoftApManager.access$800(this.this$1.this$0,·n3,·n,·0);395 ····················SoftApManager.access$800(this.this$1.this$0,·n2,·12,·0);
424 ················}396 ················}
425 ················final·SoftApManager$SoftApStateMachine·this$6·=·this.this$1;397 ················final·SoftApManager$SoftApStateMachine·this$6·=·this.this$1;
426 ················((StateMachine)this$6).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2900(this$6));398 ················((StateMachine)this$6).transitionTo((IState)SoftApManager$SoftApStateMachine.access$2800(this$6));
427 ················return·b;399 ················return·b;
428 ············}400 ············}
429 ········}401 ········}
430 ····}402 ····}
431 }403 }