Offset 3, 18 lines modifiedOffset 3, 22 lines modified
  
3 import·java.io.ObjectInputStream;3 import·java.io.ObjectInputStream;
4 import·java.io.IOException;4 import·java.io.IOException;
5 import·java.io.ObjectOutputStream;5 import·java.io.ObjectOutputStream;
6 import·java.io.Serializable;6 import·java.io.Serializable;
7 import·java.io.PrintWriter;7 import·java.io.PrintWriter;
8 import·java.io.FileDescriptor;8 import·java.io.FileDescriptor;
 9 import·java.util.Objects;
9 import·android.net.InetAddresses;10 import·android.net.InetAddresses;
10 import·android.os.Parcelable;11 import·android.os.Parcelable;
11 import·android.content.Context;12 import·android.content.Context;
12 import·android.content.Intent;13 import·android.content.Intent;
 14 import·android.net.wifi.WifiInfo;
 15 import·android.net.wifi.ScanResult;
 16 import·android.net.wifi.WifiManager;
13 import·android.app.AlertDialog;17 import·android.app.AlertDialog;
14 import·android.net.wifi.WpsInfo;18 import·android.net.wifi.WpsInfo;
15 import·android.content.DialogInterface$OnKeyListener;19 import·android.content.DialogInterface$OnKeyListener;
16 import·android.content.DialogInterface$OnCancelListener;20 import·android.content.DialogInterface$OnCancelListener;
17 import·android.content.DialogInterface$OnClickListener;21 import·android.content.DialogInterface$OnClickListener;
18 import·android.widget.EditText;22 import·android.widget.EditText;
19 import·android.app.AlertDialog$Builder;23 import·android.app.AlertDialog$Builder;
Offset 158, 19 lines modifiedOffset 162, 19 lines modified
158 ············return·false;162 ············return·false;
159 ········}163 ········}
160 ········this.clearClientDeadChannels();164 ········this.clearClientDeadChannels();
161 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);165 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);
162 ········if·(clientInfo·==·null)·{166 ········if·(clientInfo·==·null)·{
163 ············return·false;167 ············return·false;
164 ········}168 ········}
165 ········if·(!WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).add(wifiP2pServiceInfo))·{169 ········if·(!WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).add(wifiP2pServiceInfo))·{
166 ············return·false;170 ············return·false;
167 ········}171 ········}
168 ········if·(!this.mWifiNative.p2pServiceAdd(wifiP2pServiceInfo))·{172 ········if·(!this.mWifiNative.p2pServiceAdd(wifiP2pServiceInfo))·{
169 ············WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).remove(wifiP2pServiceInfo);173 ············WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).remove(wifiP2pServiceInfo);
170 ············return·false;174 ············return·false;
171 ········}175 ········}
172 ········return·true;176 ········return·true;
173 ····}177 ····}
174 ····178 ····
175 ····private·void·addRowToDialog(final·ViewGroup·viewGroup,·final·int·n,·final·String·text)·{179 ····private·void·addRowToDialog(final·ViewGroup·viewGroup,·final·int·n,·final·String·text)·{
176 ········final·Resources·resources·=·WifiP2pServiceImpl.access$1100(this.this$0).getResources();180 ········final·Resources·resources·=·WifiP2pServiceImpl.access$1100(this.this$0).getResources();
Offset 186, 34 lines modifiedOffset 190, 34 lines modified
186 ············return·false;190 ············return·false;
187 ········}191 ········}
188 ········this.clearClientDeadChannels();192 ········this.clearClientDeadChannels();
189 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);193 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);
190 ········if·(clientInfo·==·null)·{194 ········if·(clientInfo·==·null)·{
191 ············return·false;195 ············return·false;
192 ········}196 ········}
193 ········WifiP2pServiceImpl.access$11304(this.this$0);197 ········WifiP2pServiceImpl.access$11404(this.this$0);
194 ········if·(WifiP2pServiceImpl.access$11300(this.this$0)·==·0)·{198 ········if·(WifiP2pServiceImpl.access$11400(this.this$0)·==·0)·{
195 ············WifiP2pServiceImpl.access$11304(this.this$0);199 ············WifiP2pServiceImpl.access$11404(this.this$0);
196 ········}200 ········}
197 ········wifiP2pServiceRequest.setTransactionId((int)WifiP2pServiceImpl.access$11300(this.this$0));201 ········wifiP2pServiceRequest.setTransactionId((int)WifiP2pServiceImpl.access$11400(this.this$0));
198 ········WifiP2pServiceImpl$ClientInfo.access$11600(clientInfo).put((int)WifiP2pServiceImpl.access$11300(this.this$0),·(Object)wifiP2pServiceRequest);202 ········WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).put((int)WifiP2pServiceImpl.access$11400(this.this$0),·(Object)wifiP2pServiceRequest);
199 ········return·WifiP2pServiceImpl.access$7600(this.this$0)·==·null·||·this.updateSupplicantServiceRequest();203 ········return·WifiP2pServiceImpl.access$7600(this.this$0)·==·null·||·this.updateSupplicantServiceRequest();
200 ····}204 ····}
201 ····205 ····
202 ····private·void·checkAndReEnableP2p()·{206 ····private·void·checkAndReEnableP2p()·{
203 ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable();207 ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable();
204 ········final·StringBuilder·sb·=·new·StringBuilder();208 ········final·StringBuilder·sb·=·new·StringBuilder();
205 ········sb.append("Wifi·enabled=");209 ········sb.append("Wifi·enabled=");
206 ········sb.append(this.mIsWifiEnabled);210 ········sb.append(this.mIsWifiEnabled);
207 ········sb.append(",·P2P·Interface·availability=");211 ········sb.append(",·P2P·Interface·availability=");
208 ········sb.append(halInterfaceAvailable);212 ········sb.append(halInterfaceAvailable);
209 ········sb.append(",·Number·of·clients=");213 ········sb.append(",·Number·of·clients=");
210 ········sb.append(WifiP2pServiceImpl.access$10900(this.this$0).size());214 ········sb.append(WifiP2pServiceImpl.access$11000(this.this$0).size());
211 ········Log.d("WifiP2pService",·sb.toString());215 ········Log.d("WifiP2pService",·sb.toString());
212 ········if·(this.mIsWifiEnabled·&&·halInterfaceAvailable·&&·!WifiP2pServiceImpl.access$10900(this.this$0).isEmpty())·{216 ········if·(this.mIsWifiEnabled·&&·halInterfaceAvailable·&&·!WifiP2pServiceImpl.access$11000(this.this$0).isEmpty())·{
213 ············this.sendMessage(143376);217 ············this.sendMessage(143376);
214 ········}218 ········}
215 ····}219 ····}
216 ····220 ····
217 ····private·void·checkAndSendP2pStateChangedBroadcast()·{221 ····private·void·checkAndSendP2pStateChangedBroadcast()·{
218 ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable();222 ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable();
219 ········final·StringBuilder·sb·=·new·StringBuilder();223 ········final·StringBuilder·sb·=·new·StringBuilder();
Offset 229, 25 lines modifiedOffset 233, 25 lines modified
229 ········final·ArrayList<Messenger>·list·=·new·ArrayList<Messenger>();233 ········final·ArrayList<Messenger>·list·=·new·ArrayList<Messenger>();
230 ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{234 ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{
231 ············final·Message·obtain·=·Message.obtain();235 ············final·Message·obtain·=·Message.obtain();
232 ············obtain.what·=·139313;236 ············obtain.what·=·139313;
233 ············obtain.arg1·=·0;237 ············obtain.arg1·=·0;
234 ············obtain.arg2·=·0;238 ············obtain.arg2·=·0;
235 ············obtain.obj·=·null;239 ············obtain.obj·=·null;
236 ············if·(WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo)·==·null)·{240 ············if·(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo)·==·null)·{
237 ················continue;241 ················continue;
238 ············}242 ············}
239 ············try·{243 ············try·{
240 ················WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo).send(obtain);244 ················WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo).send(obtain);
241 ············}245 ············}
242 ············catch·(RemoteException·ex)·{246 ············catch·(RemoteException·ex)·{
243 ················if·(WifiP2pServiceImpl.access$500(this.this$0))·{247 ················if·(WifiP2pServiceImpl.access$500(this.this$0))·{
244 ····················this.logd("detect·dead·channel");248 ····················this.logd("detect·dead·channel");
245 ················}249 ················}
246 ················list.add(WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo));250 ················list.add(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo));
247 ············}251 ············}
248 ········}252 ········}
249 ········final·Iterator<Messenger>·iterator2·=·list.iterator();253 ········final·Iterator<Messenger>·iterator2·=·list.iterator();
250 ········while·(iterator2.hasNext())·{254 ········while·(iterator2.hasNext())·{
251 ············this.clearClientInfo(iterator2.next());255 ············this.clearClientInfo(iterator2.next());
252 ········}256 ········}
253 ····}257 ····}
Offset 270, 44 lines modifiedOffset 274, 44 lines modified
270 ············Log.e("WifiP2pService",·"Illegal·argument(s)");274 ············Log.e("WifiP2pService",·"Illegal·argument(s)");
271 ············return;275 ············return;
272 ········}276 ········}
273 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);277 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);
274 ········if·(clientInfo·==·null)·{278 ········if·(clientInfo·==·null)·{
275 ············return;279 ············return;
276 ········}280 ········}
277 ········final·Iterator·iterator·=·WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).iterator();281 ········final·Iterator·iterator·=·WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).iterator();
278 ········while·(iterator.hasNext())·{282 ········while·(iterator.hasNext())·{
279 ············this.mWifiNative.p2pServiceDel((WifiP2pServiceInfo)iterator.next());283 ············this.mWifiNative.p2pServiceDel((WifiP2pServiceInfo)iterator.next());
280 ········}284 ········}
281 ········WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).clear();285 ········WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).clear();
282 ····}286 ····}
283 ····287 ····
284 ····private·void·clearServiceRequests(final·Messenger·messenger)·{288 ····private·void·clearServiceRequests(final·Messenger·messenger)·{
285 ········if·(messenger·==·null)·{289 ········if·(messenger·==·null)·{
286 ············Log.e("WifiP2pService",·"Illegal·argument(s)");290 ············Log.e("WifiP2pService",·"Illegal·argument(s)");
287 ············return;291 ············return;
288 ········}292 ········}
289 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);293 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);
290 ········if·(clientInfo·==·null)·{294 ········if·(clientInfo·==·null)·{
291 ············return;295 ············return;
292 ········}296 ········}
293 ········if·(WifiP2pServiceImpl$ClientInfo.access$11600(clientInfo).size()·==·0)·{297 ········if·(WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).size()·==·0)·{
294 ············return;298 ············return;
295 ········}299 ········}
296 ········WifiP2pServiceImpl$ClientInfo.access$11600(clientInfo).clear();300 ········WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).clear();
297 ········if·(WifiP2pServiceImpl.access$7600(this.this$0)·==·null)·{301 ········if·(WifiP2pServiceImpl.access$7600(this.this$0)·==·null)·{
298 ············return;302 ············return;
299 ········}303 ········}
300 ········this.updateSupplicantServiceRequest();304 ········this.updateSupplicantServiceRequest();
301 ····}305 ····}
302 ····306 ····
303 ····private·void·clearServicesForAllClients()·{307 ····private·void·clearServicesForAllClients()·{
304 ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{308 ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{
305 ············this.clearLocalServices(WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo));309 ············this.clearLocalServices(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo));
306 ············this.clearServiceRequests(WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo));310 ············this.clearServiceRequests(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo));
307 ········}311 ········}
308 ····}312 ····}
309 ····313 ····
310 ····private·void·clearSupplicantServiceRequest()·{314 ····private·void·clearSupplicantServiceRequest()·{
311 ········if·(WifiP2pServiceImpl.access$7600(this.this$0)·==·null)·{315 ········if·(WifiP2pServiceImpl.access$7600(this.this$0)·==·null)·{
312 ············return;316 ············return;
313 ········}317 ········}
Offset 516, 26 lines modifiedOffset 520, 26 lines modified
516 ········}520 ········}
517 ········return·new·WifiP2pDeviceList();521 ········return·new·WifiP2pDeviceList();
518 ····}522 ····}
519 ····523 ····
520 ····private·String·getPersistedDeviceName()·{524 ····private·String·getPersistedDeviceName()·{
521 ········final·String·s·=·(String)WifiP2pServiceImpl.access$1400(this.this$0).get(WifiSettingsConfigStore.WIFI_P2P_DEVICE_NAME);525 ········final·String·s·=·(String)WifiP2pServiceImpl.access$1400(this.this$0).get(WifiSettingsConfigStore.WIFI_P2P_DEVICE_NAME);
522 ········if·(s·==·null)·{526 ········if·(s·==·null)·{
523 ············final·String·secureStringSetting·=·WifiP2pServiceImpl.access$11200(this.this$0).getSecureStringSetting(WifiP2pServiceImpl.access$1100(this.this$0),·"android_id");527 ············final·String·secureStringSetting·=·WifiP2pServiceImpl.access$11300(this.this$0).getSecureStringSetting(WifiP2pServiceImpl.access$1100(this.this$0),·"android_id");
524 ············final·StringBuilder·sb·=·new·StringBuilder();528 ············final·StringBuilder·sb·=·new·StringBuilder();
525 ············sb.append("Android_");529 ············sb.append("Android_");
526 ············sb.append(secureStringSetting.substring(0,·4));530 ············sb.append(secureStringSetting.substring(0,·4));
527 ············return·sb.toString();531 ············return·sb.toString();
528 ········}532 ········}
529 ········return·s;533 ········return·s;
530 ····}534 ····}
531 ····535 ····
532 ····private·void·handleGroupCreationFailure()·{536 ····private·void·handleGroupCreationFailure()·{
533 ········this.resetWifiP2pInfo();537 ········this.resetWifiP2pInfo();
534 ········WifiP2pServiceImpl.access$10102(this.this$0,·NetworkInfo$DetailedState.FAILED);538 ········WifiP2pServiceImpl.access$10202(this.this$0,·NetworkInfo$DetailedState.FAILED);
535 ········this.sendP2pConnectionChangedBroadcast();539 ········this.sendP2pConnectionChangedBroadcast();
536 ········boolean·remove·=·this.mPeers.remove(this.mPeersLostDuringConnection);540 ········boolean·remove·=·this.mPeers.remove(this.mPeersLostDuringConnection);
537 ········if·(!TextUtils.isEmpty((CharSequence)this.mSavedPeerConfig.deviceAddress)·&&·this.mPeers.remove(this.mSavedPeerConfig.deviceAddress)·!=·null)·{541 ········if·(!TextUtils.isEmpty((CharSequence)this.mSavedPeerConfig.deviceAddress)·&&·this.mPeers.remove(this.mSavedPeerConfig.deviceAddress)·!=·null)·{
538 ············remove·=·true;542 ············remove·=·true;
539 ········}543 ········}
540 ········if·(remove)·{544 ········if·(remove)·{
541 ············this.sendPeersChangedBroadcast();545 ············this.sendPeersChangedBroadcast();
Offset 546, 15 lines modifiedOffset 550, 15 lines modified
546 ····}550 ····}
547 ····551 ····
548 ····private·void·handleGroupRemoved()·{552 ····private·void·handleGroupRemoved()·{
549 ········if·(!this.mGroup.isGroupOwner())·{553 ········if·(!this.mGroup.isGroupOwner())·{
550 ············if·(WifiP2pServiceImpl.access$500(this.this$0))·{554 ············if·(WifiP2pServiceImpl.access$500(this.this$0))·{
551 ················this.logd("stop·IpClient");555 ················this.logd("stop·IpClient");
552 ············}556 ············}
553 ············WifiP2pServiceImpl.access$11400(this.this$0);557 ············WifiP2pServiceImpl.access$11500(this.this$0);
554 ············try·{558 ············try·{
555 ················final·WifiP2pServiceImpl·this$0·=·this.this$0;559 ················final·WifiP2pServiceImpl·this$0·=·this.this$0;
556 ················try·{560 ················try·{
557 ····················final·NetdWrapper·mNetdWrapper·=·this$0.mNetdWrapper;561 ····················final·NetdWrapper·mNetdWrapper·=·this$0.mNetdWrapper;
558 ····················try·{562 ····················try·{
559 ························final·WifiP2pGroup·mGroup·=·this.mGroup;563 ························final·WifiP2pGroup·mGroup·=·this.mGroup;
560 ························try·{564 ························try·{
Offset 617, 22 lines modifiedOffset 621, 22 lines modified
617 ········}621 ········}
618 ········if·(n2·!=·0)·{622 ········if·(n2·!=·0)·{
619 ············this.sendPeersChangedBroadcast();623 ············this.sendPeersChangedBroadcast();
620 ········}624 ········}
621 ········this.mGroup·=·null;625 ········this.mGroup·=·null;
622 ········this.mPeersLostDuringConnection.clear();626 ········this.mPeersLostDuringConnection.clear();
623 ········WifiP2pServiceImpl.access$7602(this.this$0,·(String)null);627 ········WifiP2pServiceImpl.access$7602(this.this$0,·(String)null);
624 ········if·(WifiP2pServiceImpl.access$10000(this.this$0))·{628 ········if·(WifiP2pServiceImpl.access$10100(this.this$0))·{
625 ············if·(WifiP2pServiceImpl.access$1500(this.this$0)·!=·null)·{629 ············if·(WifiP2pServiceImpl.access$1500(this.this$0)·!=·null)·{
626 ················WifiP2pServiceImpl.access$1500(this.this$0).sendMessage(143372,·0);630 ················WifiP2pServiceImpl.access$1500(this.this$0).sendMessage(143372,·0);
627 ············}631 ············}
628 ············else·{632 ············else·{
629 ················this.loge("handleGroupRemoved():·WifiChannel·is·null");633 ················this.loge("handleGroupRemoved():·WifiChannel·is·null");
630 ············}634 ············}
631 ············WifiP2pServiceImpl.access$10002(this.this$0,·false);635 ············WifiP2pServiceImpl.access$10102(this.this$0,·false);
632 ········}636 ········}
633 ····}637 ····}
634 ····638 ····
635 ····private·void·initializeP2pSettings()·{639 ····private·void·initializeP2pSettings()·{
636 ········WifiP2pServiceImpl.access$4100(this.this$0).deviceName·=·this.getPersistedDeviceName();640 ········WifiP2pServiceImpl.access$4100(this.this$0).deviceName·=·this.getPersistedDeviceName();
637 ········WifiP2pServiceImpl.access$4100(this.this$0).primaryDeviceType·=·WifiP2pServiceImpl.access$1100(this.this$0).getResources().getString(2131165188);641 ········WifiP2pServiceImpl.access$4100(this.this$0).primaryDeviceType·=·WifiP2pServiceImpl.access$1100(this.this$0).getResources().getString(2131165188);
638 ········this.mWifiNative.setP2pDeviceName(WifiP2pServiceImpl.access$4100(this.this$0).deviceName);642 ········this.mWifiNative.setP2pDeviceName(WifiP2pServiceImpl.access$4100(this.this$0).deviceName);
Offset 649, 17 lines modifiedOffset 653, 17 lines modified
649 ············final·StringBuilder·sb2·=·new·StringBuilder();653 ············final·StringBuilder·sb2·=·new·StringBuilder();
650 ············sb2.append("DeviceAddress:·");654 ············sb2.append("DeviceAddress:·");
651 ············sb2.append(WifiP2pServiceImpl.access$4100(this.this$0).deviceAddress);655 ············sb2.append(WifiP2pServiceImpl.access$4100(this.this$0).deviceAddress);
652 ············this.logd(sb2.toString());656 ············this.logd(sb2.toString());
653 ········}657 ········}
654 ········this.mWifiNative.p2pFlush();658 ········this.mWifiNative.p2pFlush();
655 ········this.mWifiNative.p2pServiceFlush();659 ········this.mWifiNative.p2pServiceFlush();
656 ········WifiP2pServiceImpl.access$11302(this.this$0,·(byte)0);660 ········WifiP2pServiceImpl.access$11402(this.this$0,·(byte)0);
657 ········WifiP2pServiceImpl.access$7602(this.this$0,·(String)null);661 ········WifiP2pServiceImpl.access$7602(this.this$0,·(String)null);
658 ········this.updatePersistentNetworks(WifiP2pServiceImpl.access$8900());662 ········this.updatePersistentNetworks(WifiP2pServiceImpl.access$9000());
659 ········this.enableVerboseLogging((boolean)WifiP2pServiceImpl.access$1400(this.this$0).get(WifiSettingsConfigStore.WIFI_VERBOSE_LOGGING_ENABLED));663 ········this.enableVerboseLogging((boolean)WifiP2pServiceImpl.access$1400(this.this$0).get(WifiSettingsConfigStore.WIFI_VERBOSE_LOGGING_ENABLED));
660 ····}664 ····}
661 ····665 ····
662 ····private·boolean·isConfigInvalid(final·WifiP2pConfig·wifiP2pConfig)·{666 ····private·boolean·isConfigInvalid(final·WifiP2pConfig·wifiP2pConfig)·{
663 ········final·boolean·b·=·true;667 ········final·boolean·b·=·true;
664 ········if·(wifiP2pConfig·==·null)·{668 ········if·(wifiP2pConfig·==·null)·{
665 ············return·b;669 ············return·b;
Offset 817, 14 lines modifiedOffset 821, 15 lines modified
817 ············return;821 ············return;
818 ········}822 ········}
819 ········final·WifiP2pDevice·fetchCurrentDeviceDetails·=·this.fetchCurrentDeviceDetails(wifiP2pConfig);823 ········final·WifiP2pDevice·fetchCurrentDeviceDetails·=·this.fetchCurrentDeviceDetails(wifiP2pConfig);
820 ········if·(fetchCurrentDeviceDetails·==·null)·{824 ········if·(fetchCurrentDeviceDetails·==·null)·{
821 ············Log.e(s,·"Invalid·device");825 ············Log.e(s,·"Invalid·device");
822 ············return;826 ············return;
823 ········}827 ········}
 828 ········wifiP2pConfig.groupOwnerIntent·=·this.selectGroupOwnerIntentIfNecessary(wifiP2pConfig);
824 ········final·String·p2pConnect·=·this.mWifiNative.p2pConnect(wifiP2pConfig,·fetchCurrentDeviceDetails.isGroupOwner());829 ········final·String·p2pConnect·=·this.mWifiNative.p2pConnect(wifiP2pConfig,·fetchCurrentDeviceDetails.isGroupOwner());
825 ········try·{830 ········try·{
826 ············Integer.parseInt(p2pConnect);831 ············Integer.parseInt(p2pConnect);
827 ············this.notifyInvitationSent(p2pConnect,·wifiP2pConfig.deviceAddress);832 ············this.notifyInvitationSent(p2pConnect,·wifiP2pConfig.deviceAddress);
828 ········}833 ········}
829 ········catch·(NumberFormatException·ex)·{}834 ········catch·(NumberFormatException·ex)·{}
830 ····}835 ····}
Offset 890, 15 lines modifiedOffset 895, 15 lines modified
890 ············}895 ············}
891 ············if·(netId·>=·0)·{896 ············if·(netId·>=·0)·{
892 ················if·(this.mWifiNative.p2pReinvoke(netId,·fetchCurrentDeviceDetails.deviceAddress))·{897 ················if·(this.mWifiNative.p2pReinvoke(netId,·fetchCurrentDeviceDetails.deviceAddress))·{
893 ····················wifiP2pConfig.netId·=·netId;898 ····················wifiP2pConfig.netId·=·netId;
894 ····················return·b;899 ····················return·b;
895 ················}900 ················}
896 ················this.loge("p2pReinvoke()·failed,·update·networks");901 ················this.loge("p2pReinvoke()·failed,·update·networks");
897 ················this.updatePersistentNetworks(WifiP2pServiceImpl.access$8900());902 ················this.updatePersistentNetworks(WifiP2pServiceImpl.access$9000());
898 ············}903 ············}
899 ········}904 ········}
900 ········return·false;905 ········return·false;
901 ····}906 ····}
902 ····907 ····
903 ····private·boolean·removeClientFromList(final·int·n,·String·string,·final·boolean·b)·{908 ····private·boolean·removeClientFromList(final·int·n,·String·string,·final·boolean·b)·{
904 ········final·StringBuilder·sb·=·new·StringBuilder();909 ········final·StringBuilder·sb·=·new·StringBuilder();
Offset 958, 29 lines modifiedOffset 963, 29 lines modified
958 ············return;963 ············return;
959 ········}964 ········}
960 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);965 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);
961 ········if·(clientInfo·==·null)·{966 ········if·(clientInfo·==·null)·{
962 ············return;967 ············return;
963 ········}968 ········}
964 ········this.mWifiNative.p2pServiceDel(wifiP2pServiceInfo);969 ········this.mWifiNative.p2pServiceDel(wifiP2pServiceInfo);
965 ········WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).remove(wifiP2pServiceInfo);970 ········WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).remove(wifiP2pServiceInfo);
966 ····}971 ····}
967 ····972 ····
968 ····private·void·removeServiceRequest(final·Messenger·messenger,·final·WifiP2pServiceRequest·wifiP2pServiceRequest)·{973 ····private·void·removeServiceRequest(final·Messenger·messenger,·final·WifiP2pServiceRequest·wifiP2pServiceRequest)·{
969 ········if·(messenger·==·null·||·wifiP2pServiceRequest·==·null)·{974 ········if·(messenger·==·null·||·wifiP2pServiceRequest·==·null)·{
970 ············Log.e("WifiP2pService",·"Illegal·argument(s)");975 ············Log.e("WifiP2pService",·"Illegal·argument(s)");
971 ········}976 ········}
972 ········boolean·b·=·false;977 ········boolean·b·=·false;
973 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);978 ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false);
974 ········if·(clientInfo·==·null)·{979 ········if·(clientInfo·==·null)·{
975 ············return;980 ············return;
976 ········}981 ········}
977 ········for·(int·i·=·0;·i·<·WifiP2pServiceImpl$ClientInfo.access$11600(clientInfo).size();·++i)·{982 ········for·(int·i·=·0;·i·<·WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).size();·++i)·{
978 ············if·(wifiP2pServiceRequest.equals(WifiP2pServiceImpl$ClientInfo.access$11600(clientInfo).valueAt(i)))·{983 ············if·(wifiP2pServiceRequest.equals(WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).valueAt(i)))·{
979 ················WifiP2pServiceImpl$ClientInfo.access$11600(clientInfo).removeAt(i);984 ················WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).removeAt(i);
980 ················b·=·true;985 ················b·=·true;
981 ················break;986 ················break;
982 ············}987 ············}
983 ········}988 ········}
984 ········if·(!b)·{989 ········if·(!b)·{
985 ············return;990 ············return;
986 ········}991 ········}
Offset 992, 49 lines modifiedOffset 997, 85 lines modified
992 ····997 ····
993 ····private·void·replyToMessage(final·Message·message,·final·int·what)·{998 ····private·void·replyToMessage(final·Message·message,·final·int·what)·{
994 ········if·(message.replyTo·==·null)·{999 ········if·(message.replyTo·==·null)·{
995 ············return;1000 ············return;
996 ········}1001 ········}
997 ········final·Message·obtainMessage·=·this.obtainMessage(message);1002 ········final·Message·obtainMessage·=·this.obtainMessage(message);
998 ········obtainMessage.what·=·what;1003 ········obtainMessage.what·=·what;
999 ········WifiP2pServiceImpl.access$11500(this.this$0).replyToMessage(message,·obtainMessage);1004 ········WifiP2pServiceImpl.access$11600(this.this$0).replyToMessage(message,·obtainMessage);
1000 ····}1005 ····}
1001 ····1006 ····
1002 ····private·void·replyToMessage(final·Message·message,·final·int·what,·final·int·arg1)·{1007 ····private·void·replyToMessage(final·Message·message,·final·int·what,·final·int·arg1)·{
1003 ········if·(message.replyTo·==·null)·{1008 ········if·(message.replyTo·==·null)·{
1004 ············return;1009 ············return;
1005 ········}1010 ········}
1006 ········final·Message·obtainMessage·=·this.obtainMessage(message);1011 ········final·Message·obtainMessage·=·this.obtainMessage(message);
1007 ········obtainMessage.what·=·what;1012 ········obtainMessage.what·=·what;
1008 ········obtainMessage.arg1·=·arg1;1013 ········obtainMessage.arg1·=·arg1;
1009 ········WifiP2pServiceImpl.access$11500(this.this$0).replyToMessage(message,·obtainMessage);1014 ········WifiP2pServiceImpl.access$11600(this.this$0).replyToMessage(message,·obtainMessage);
1010 ····}1015 ····}
1011 ····1016 ····
1012 ····private·void·replyToMessage(final·Message·message,·final·int·what,·final·Object·obj)·{1017 ····private·void·replyToMessage(final·Message·message,·final·int·what,·final·Object·obj)·{
1013 ········if·(message.replyTo·==·null)·{1018 ········if·(message.replyTo·==·null)·{
1014 ············return;1019 ············return;
1015 ········}1020 ········}
1016 ········final·Message·obtainMessage·=·this.obtainMessage(message);1021 ········final·Message·obtainMessage·=·this.obtainMessage(message);
1017 ········obtainMessage.what·=·what;1022 ········obtainMessage.what·=·what;
1018 ········obtainMessage.obj·=·obj;1023 ········obtainMessage.obj·=·obj;
1019 ········WifiP2pServiceImpl.access$11500(this.this$0).replyToMessage(message,·obtainMessage);1024 ········WifiP2pServiceImpl.access$11600(this.this$0).replyToMessage(message,·obtainMessage);
1020 ····}1025 ····}
1021 ····1026 ····
1022 ····private·void·resetWifiP2pInfo()·{1027 ····private·void·resetWifiP2pInfo()·{
1023 ········final·WifiP2pInfo·mWifiP2pInfo·=·this.mWifiP2pInfo;1028 ········final·WifiP2pInfo·mWifiP2pInfo·=·this.mWifiP2pInfo;
1024 ········mWifiP2pInfo.groupFormed·=·false;1029 ········mWifiP2pInfo.groupFormed·=·false;
1025 ········mWifiP2pInfo.isGroupOwner·=·false;1030 ········mWifiP2pInfo.isGroupOwner·=·false;
1026 ········mWifiP2pInfo.groupOwnerAddress·=·null;1031 ········mWifiP2pInfo.groupOwnerAddress·=·null;
1027 ····}1032 ····}
1028 ····1033 ····
 1034 ····private·int·selectGroupOwnerIntentIfNecessary(final·WifiP2pConfig·wifiP2pConfig)·{
 1035 ········int·groupOwnerIntent·=·wifiP2pConfig.groupOwnerIntent;
 1036 ········int·n·=·6;
 1037 ········final·int·n2·=·-1;
 1038 ········if·(groupOwnerIntent·!=·n2)·{
 1039 ············if·(groupOwnerIntent·<·0·||·groupOwnerIntent·>·15)·{
 1040 ················groupOwnerIntent·=·n;
 1041 ············}
 1042 ············return·groupOwnerIntent;
 1043 ········}
 1044 ········final·WifiInfo·connectionInfo·=·((WifiManager)WifiP2pServiceImpl.access$1100(this.this$0).getSystemService((Class)WifiManager.class)).getConnectionInfo();
 1045 ········final·StringBuilder·sb·=·new·StringBuilder();
 1046 ········sb.append("WifiInfo:·");
 1047 ········sb.append(connectionInfo);
 1048 ········final·String·string·=·sb.toString();
 1049 ········final·String·s·=·"WifiP2pService";
 1050 ········Log.d(s,·string);
 1051 ········final·int·frequency·=·connectionInfo.getFrequency();
 1052 ········if·(connectionInfo.getNetworkId()·==·n2)·{
 1053 ············n·=·7;
 1054 ········}
 1055 ········else·if·(ScanResult.is24GHz(frequency))·{
 1056 ············n·=·0;
 1057 ········}
 1058 ········else·if·(ScanResult.is5GHz(frequency))·{
 1059 ············n·=·14;
 1060 ········}
 1061 ········final·StringBuilder·sb2·=·new·StringBuilder();
 1062 ········sb2.append("change·GO·intent·value·from·");
 1063 ········sb2.append(wifiP2pConfig.groupOwnerIntent);
 1064 ········sb2.append("·to·");
 1065 ········sb2.append(n);
 1066 ········Log.i(s,·sb2.toString());
 1067 ········return·n;
 1068 ····}
 1069 ····
1029 ····private·void·sendBroadcastMultiplePermissions(final·Intent·intent)·{1070 ····private·void·sendBroadcastMultiplePermissions(final·Intent·intent)·{
1030 ········final·Context·contextAsUser·=·WifiP2pServiceImpl.access$1100(this.this$0).createContextAsUser(UserHandle.ALL,·0);1071 ········final·Context·contextAsUser·=·WifiP2pServiceImpl.access$1100(this.this$0).createContextAsUser(UserHandle.ALL,·0);
1031 ········String[]·array·=·WifiP2pServiceImpl.access$11000();1072 ········String[]·array·=·WifiP2pServiceImpl.access$11100();
1032 ········if·(!WifiP2pServiceImpl.access$1200(this.this$0).isLocationModeEnabled())·{1073 ········if·(!WifiP2pServiceImpl.access$1200(this.this$0).isLocationModeEnabled())·{
1033 ············array·=·WifiP2pServiceImpl.access$11100();1074 ············array·=·WifiP2pServiceImpl.access$11200();
1034 ········}1075 ········}
1035 ········contextAsUser.sendBroadcastWithMultiplePermissions(intent,·array);1076 ········contextAsUser.sendBroadcastWithMultiplePermissions(intent,·array);
1036 ····}1077 ····}
1037 ····1078 ····
1038 ····private·void·sendP2pConnectionChangedBroadcast()·{1079 ····private·void·sendP2pConnectionChangedBroadcast()·{
1039 ········if·(WifiP2pServiceImpl.access$500(this.this$0))·{1080 ········if·(WifiP2pServiceImpl.access$500(this.this$0))·{
1040 ············this.logd("sending·p2p·connection·changed·broadcast");1081 ············this.logd("sending·p2p·connection·changed·broadcast");
Offset 1121, 32 lines modifiedOffset 1162, 32 lines modified
1121 ····1162 ····
1122 ····private·void·sendServiceResponse(final·WifiP2pServiceResponse·obj)·{1163 ····private·void·sendServiceResponse(final·WifiP2pServiceResponse·obj)·{
1123 ········if·(obj·==·null)·{1164 ········if·(obj·==·null)·{
1124 ············Log.e("WifiP2pService",·"sendServiceResponse·with·null·response");1165 ············Log.e("WifiP2pService",·"sendServiceResponse·with·null·response");
1125 ············return;1166 ············return;
1126 ········}1167 ········}
1127 ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{1168 ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{
1128 ············if·(WifiP2pServiceImpl$ClientInfo.access$11600(wifiP2pServiceImpl$ClientInfo).get(obj.getTransactionId())·!=·null)·{1169 ············if·(WifiP2pServiceImpl$ClientInfo.access$11700(wifiP2pServiceImpl$ClientInfo).get(obj.getTransactionId())·!=·null)·{
1129 ················final·Message·obtain·=·Message.obtain();1170 ················final·Message·obtain·=·Message.obtain();
1130 ················obtain.what·=·139314;1171 ················obtain.what·=·139314;
1131 ················obtain.arg1·=·0;1172 ················obtain.arg1·=·0;
1132 ················obtain.arg2·=·0;1173 ················obtain.arg2·=·0;
1133 ················obtain.obj·=·obj;1174 ················obtain.obj·=·obj;
1134 ················if·(WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo)·==·null)·{1175 ················if·(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo)·==·null)·{
1135 ····················continue;1176 ····················continue;
1136 ················}1177 ················}
1137 ················try·{1178 ················try·{
1138 ····················WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo).send(obtain);1179 ····················WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo).send(obtain);
1139 ····················continue;1180 ····················continue;
1140 ················}1181 ················}
1141 ················catch·(RemoteException·ex)·{1182 ················catch·(RemoteException·ex)·{
1142 ····················if·(WifiP2pServiceImpl.access$500(this.this$0))·{1183 ····················if·(WifiP2pServiceImpl.access$500(this.this$0))·{
1143 ························this.logd("detect·dead·channel");1184 ························this.logd("detect·dead·channel");
1144 ····················}1185 ····················}
1145 ····················this.clearClientInfo(WifiP2pServiceImpl$ClientInfo.access$11800(wifiP2pServiceImpl$ClientInfo));1186 ····················this.clearClientInfo(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo));
1146 ················}1187 ················}
1147 ················break;1188 ················break;
1148 ············}1189 ············}
1149 ········}1190 ········}
1150 ····}1191 ····}
1151 ····1192 ····
1152 ····private·void·sendThisDeviceChangedBroadcast()·{1193 ····private·void·sendThisDeviceChangedBroadcast()·{
Offset 1218, 15 lines modifiedOffset 1259, 21 lines modified
1218 ····1259 ····
1219 ····private·void·updatePersistentNetworks(final·boolean·b)·{1260 ····private·void·updatePersistentNetworks(final·boolean·b)·{
1220 ········if·(b)·{1261 ········if·(b)·{
1221 ············this.mGroups.clear();1262 ············this.mGroups.clear();
1222 ········}1263 ········}
1223 ········if·(this.mWifiNative.p2pListNetworks(this.mGroups)·||·b)·{1264 ········if·(this.mWifiNative.p2pListNetworks(this.mGroups)·||·b)·{
1224 ············for·(final·WifiP2pGroup·wifiP2pGroup·:·this.mGroups.getGroupList())·{1265 ············for·(final·WifiP2pGroup·wifiP2pGroup·:·this.mGroups.getGroupList())·{
1225 ················if·(WifiP2pServiceImpl.access$4100(this.this$0).deviceAddress.equals(wifiP2pGroup.getOwner().deviceAddress))·{1266 ················if·(wifiP2pGroup.getOwner()·==·null)·{
 1267 ····················Log.d("WifiP2pService",·"group.getOwner()·null");
 1268 ················}
 1269 ················else·{
 1270 ····················if·(!Objects.equals(WifiP2pServiceImpl.access$4100(this.this$0).deviceAddress,·wifiP2pGroup.getOwner().deviceAddress))·{
 1271 ························continue;
 1272 ····················}
1226 ····················wifiP2pGroup.setOwner(WifiP2pServiceImpl.access$4100(this.this$0));1273 ····················wifiP2pGroup.setOwner(WifiP2pServiceImpl.access$4100(this.this$0));
1227 ················}1274 ················}
1228 ············}1275 ············}
1229 ············this.mWifiNative.saveConfig();1276 ············this.mWifiNative.saveConfig();
1230 ············WifiP2pServiceImpl.access$6100(this.this$0).updatePersistentGroup(this.mGroups);1277 ············WifiP2pServiceImpl.access$6100(this.this$0).updatePersistentGroup(this.mGroups);
1231 ············this.sendP2pPersistentGroupsChangedBroadcast();1278 ············this.sendP2pPersistentGroupsChangedBroadcast();
1232 ········}1279 ········}
Offset 1238, 16 lines modifiedOffset 1285, 16 lines modified
1238 ········final·Iterator<WifiP2pServiceImpl$ClientInfo>·iterator·=·WifiP2pServiceImpl.access$4600(this.this$0).values().iterator();1285 ········final·Iterator<WifiP2pServiceImpl$ClientInfo>·iterator·=·WifiP2pServiceImpl.access$4600(this.this$0).values().iterator();
1239 ········while·(true)·{1286 ········while·(true)·{
1240 ············final·boolean·hasNext·=·iterator.hasNext();1287 ············final·boolean·hasNext·=·iterator.hasNext();
1241 ············int·i·=·0;1288 ············int·i·=·0;
1242 ············if·(!hasNext)·{1289 ············if·(!hasNext)·{
1243 ················break;1290 ················break;
1244 ············}1291 ············}
1245 ············for·(WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·=·(WifiP2pServiceImpl$ClientInfo)iterator.next();·i·<·WifiP2pServiceImpl$ClientInfo.access$11600(wifiP2pServiceImpl$ClientInfo).size();·++i)·{1292 ············for·(WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·=·(WifiP2pServiceImpl$ClientInfo)iterator.next();·i·<·WifiP2pServiceImpl$ClientInfo.access$11700(wifiP2pServiceImpl$ClientInfo).size();·++i)·{
1246 ················final·WifiP2pServiceRequest·wifiP2pServiceRequest·=·(WifiP2pServiceRequest)WifiP2pServiceImpl$ClientInfo.access$11600(wifiP2pServiceImpl$ClientInfo).valueAt(i);1293 ················final·WifiP2pServiceRequest·wifiP2pServiceRequest·=·(WifiP2pServiceRequest)WifiP2pServiceImpl$ClientInfo.access$11700(wifiP2pServiceImpl$ClientInfo).valueAt(i);
1247 ················if·(wifiP2pServiceRequest·!=·null)·{1294 ················if·(wifiP2pServiceRequest·!=·null)·{
1248 ····················sb.append(wifiP2pServiceRequest.getSupplicantQuery());1295 ····················sb.append(wifiP2pServiceRequest.getSupplicantQuery());
1249 ················}1296 ················}
1250 ············}1297 ············}
1251 ········}1298 ········}
1252 ········if·(sb.length()·==·0)·{1299 ········if·(sb.length()·==·0)·{
1253 ············return·false;1300 ············return·false;