Offset 47, 14 lines modifiedOffset 47, 15 lines modified
47 import·android.net.wifi.WifiConfiguration;47 import·android.net.wifi.WifiConfiguration;
48 import·com.android.server.wifi.WifiConfigStore$StoreData;48 import·com.android.server.wifi.WifiConfigStore$StoreData;
49 import·java.util.HashMap;49 import·java.util.HashMap;
50 import·com.android.server.wifi.WifiConfigStore;50 import·com.android.server.wifi.WifiConfigStore;
51 import·com.android.server.wifi.Clock;51 import·com.android.server.wifi.Clock;
52 import·com.android.server.wifi.WifiNative;52 import·com.android.server.wifi.WifiNative;
53 import·android.content.Context;53 import·android.content.Context;
 54 import·com.android.server.wifi.util.WifiPermissionsUtil;
54 import·com.android.server.wifi.WifiMetrics;55 import·com.android.server.wifi.WifiMetrics;
55 import·com.android.server.wifi.WifiInjector;56 import·com.android.server.wifi.WifiInjector;
56 import·com.android.server.wifi.WifiConfigManager;57 import·com.android.server.wifi.WifiConfigManager;
57 import·com.android.server.wifi.WifiCarrierInfoManager;58 import·com.android.server.wifi.WifiCarrierInfoManager;
58 import·com.android.server.wifi.MacAddressUtil;59 import·com.android.server.wifi.MacAddressUtil;
59 import·com.android.server.wifi.WifiKeyStore;60 import·com.android.server.wifi.WifiKeyStore;
60 import·android.os.Handler;61 import·android.os.Handler;
Offset 78, 16 lines modifiedOffset 79, 17 lines modified
78 ····private·long·mProviderIndex;79 ····private·long·mProviderIndex;
79 ····private·final·Map·mProviders;80 ····private·final·Map·mProviders;
80 ····private·boolean·mVerboseLoggingEnabled;81 ····private·boolean·mVerboseLoggingEnabled;
81 ····private·final·WifiCarrierInfoManager·mWifiCarrierInfoManager;82 ····private·final·WifiCarrierInfoManager·mWifiCarrierInfoManager;
82 ····private·final·WifiConfigManager·mWifiConfigManager;83 ····private·final·WifiConfigManager·mWifiConfigManager;
83 ····private·final·WifiInjector·mWifiInjector;84 ····private·final·WifiInjector·mWifiInjector;
84 ····private·final·WifiMetrics·mWifiMetrics;85 ····private·final·WifiMetrics·mWifiMetrics;
 86 ····private·final·WifiPermissionsUtil·mWifiPermissionsUtil;
85 ····87 ····
86 ····public·PasspointManager(final·Context·context,·final·WifiInjector·mWifiInjector,·final·Handler·mHandler,·final·WifiNative·wifiNative,·final·WifiKeyStore·mKeyStore,·final·Clock·clock,·final·PasspointObjectFactory·mObjectFactory,·final·WifiConfigManager·mWifiConfigManager,·final·WifiConfigStore·wifiConfigStore,·final·WifiMetrics·mWifiMetrics,·final·WifiCarrierInfoManager·mWifiCarrierInfoManager,·final·MacAddressUtil·mMacAddressUtil)·{88 ····public·PasspointManager(final·Context·context,·final·WifiInjector·mWifiInjector,·final·Handler·mHandler,·final·WifiNative·wifiNative,·final·WifiKeyStore·mKeyStore,·final·Clock·clock,·final·PasspointObjectFactory·mObjectFactory,·final·WifiConfigManager·mWifiConfigManager,·final·WifiConfigStore·wifiConfigStore,·final·WifiMetrics·mWifiMetrics,·final·WifiCarrierInfoManager·mWifiCarrierInfoManager,·final·MacAddressUtil·mMacAddressUtil,·final·WifiPermissionsUtil·mWifiPermissionsUtil)·{
87 ········this.mAppOpsChangedListenerPerApp·=·new·HashMap();89 ········this.mAppOpsChangedListenerPerApp·=·new·HashMap();
88 ········this.mVerboseLoggingEnabled·=·false;90 ········this.mVerboseLoggingEnabled·=·false;
89 ········this.mPasspointEventHandler·=·mObjectFactory.makePasspointEventHandler(wifiNative,·(PasspointEventHandler$Callbacks)new·PasspointManager$CallbackHandler(this,·context));91 ········this.mPasspointEventHandler·=·mObjectFactory.makePasspointEventHandler(wifiNative,·(PasspointEventHandler$Callbacks)new·PasspointManager$CallbackHandler(this,·context));
90 ········this.mWifiInjector·=·mWifiInjector;92 ········this.mWifiInjector·=·mWifiInjector;
91 ········this.mHandler·=·mHandler;93 ········this.mHandler·=·mHandler;
92 ········this.mKeyStore·=·mKeyStore;94 ········this.mKeyStore·=·mKeyStore;
93 ········this.mObjectFactory·=·mObjectFactory;95 ········this.mObjectFactory·=·mObjectFactory;
Offset 100, 14 lines modifiedOffset 102, 15 lines modified
100 ········this.mWifiCarrierInfoManager·=·mWifiCarrierInfoManager;102 ········this.mWifiCarrierInfoManager·=·mWifiCarrierInfoManager;
101 ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigUserStoreData(this.mKeyStore,·mWifiCarrierInfoManager,·(PasspointConfigUserStoreData$DataSource)new·PasspointManager$UserDataSourceHandler(this,·(PasspointManager$1)null)));103 ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigUserStoreData(this.mKeyStore,·mWifiCarrierInfoManager,·(PasspointConfigUserStoreData$DataSource)new·PasspointManager$UserDataSourceHandler(this,·(PasspointManager$1)null)));
102 ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigSharedStoreData((PasspointConfigSharedStoreData$DataSource)new·PasspointManager$SharedDataSourceHandler(this,·(PasspointManager$1)null)));104 ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigSharedStoreData((PasspointConfigSharedStoreData$DataSource)new·PasspointManager$SharedDataSourceHandler(this,·(PasspointManager$1)null)));
103 ········this.mPasspointProvisioner·=·mObjectFactory.makePasspointProvisioner(context,·wifiNative,·this,·mWifiMetrics);105 ········this.mPasspointProvisioner·=·mObjectFactory.makePasspointProvisioner(context,·wifiNative,·this,·mWifiMetrics);
104 ········this.mAppOps·=·(AppOpsManager)context.getSystemService("appops");106 ········this.mAppOps·=·(AppOpsManager)context.getSystemService("appops");
105 ········PasspointManager.sPasspointManager·=·this;107 ········PasspointManager.sPasspointManager·=·this;
106 ········this.mMacAddressUtil·=·mMacAddressUtil;108 ········this.mMacAddressUtil·=·mMacAddressUtil;
 109 ········this.mWifiPermissionsUtil·=·mWifiPermissionsUtil;
107 ····}110 ····}
108 ····111 ····
109 ····public·static·boolean·addLegacyPasspointConfig(final·WifiConfiguration·wifiConfiguration)·{112 ····public·static·boolean·addLegacyPasspointConfig(final·WifiConfiguration·wifiConfiguration)·{
110 ········final·PasspointManager·sPasspointManager·=·PasspointManager.sPasspointManager;113 ········final·PasspointManager·sPasspointManager·=·PasspointManager.sPasspointManager;
111 ········final·String·s·=·"PasspointManager";114 ········final·String·s·=·"PasspointManager";
112 ········if·(sPasspointManager·==·null)·{115 ········if·(sPasspointManager·==·null)·{
113 ············Log.e(s,·"PasspointManager·have·not·been·initialized·yet");116 ············Log.e(s,·"PasspointManager·have·not·been·initialized·yet");
Offset 276, 39 lines modifiedOffset 279, 48 lines modified
276 ················return·true;279 ················return·true;
277 ············}280 ············}
278 ········}281 ········}
279 ········return·false;282 ········return·false;
280 ····}283 ····}
281 ····284 ····
282 ····private·boolean·removeProviderInternal(final·PasspointProvider·passpointProvider,·final·int·n,·final·boolean·b)·{285 ····private·boolean·removeProviderInternal(final·PasspointProvider·passpointProvider,·final·int·n,·final·boolean·b)·{
283 ········final·String·s·=·"PasspointManager";286 ········final·String·s·=·"UID·";
 287 ········final·String·s2·=·"PasspointManager";
284 ········if·(!b·&&·n·!=·passpointProvider.getCreatorUid())·{288 ········if·(!b·&&·n·!=·passpointProvider.getCreatorUid())·{
285 ············final·StringBuilder·sb·=·new·StringBuilder();289 ············final·StringBuilder·sb·=·new·StringBuilder();
286 ············sb.append("UID·");290 ············sb.append(s);
287 ············sb.append(n);291 ············sb.append(n);
288 ············sb.append("·cannot·remove·profile·created·by·");292 ············sb.append("·cannot·remove·profile·created·by·");
289 ············sb.append(passpointProvider.getCreatorUid());293 ············sb.append(passpointProvider.getCreatorUid());
290 ············Log.e(s,·sb.toString());294 ············Log.e(s2,·sb.toString());
 295 ············return·false;
 296 ········}
 297 ········if·(!this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n))·{
 298 ············final·StringBuilder·sb2·=·new·StringBuilder();
 299 ············sb2.append(s);
 300 ············sb2.append(n);
 301 ············sb2.append("·not·visible·to·the·current·user");
 302 ············Log.e(s2,·sb2.toString());
291 ············return·false;303 ············return·false;
292 ········}304 ········}
293 ········passpointProvider.uninstallCertsAndKeys();305 ········passpointProvider.uninstallCertsAndKeys();
294 ········final·String·packageName·=·passpointProvider.getPackageName();306 ········final·String·packageName·=·passpointProvider.getPackageName();
295 ········this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey());307 ········this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey());
296 ········final·String·uniqueId·=·passpointProvider.getConfig().getUniqueId();308 ········final·String·uniqueId·=·passpointProvider.getConfig().getUniqueId();
297 ········this.mProviders.remove(uniqueId);309 ········this.mProviders.remove(uniqueId);
298 ········final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager;310 ········final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager;
299 ········final·boolean·b2·=·true;311 ········final·boolean·b2·=·true;
300 ········mWifiConfigManager.saveToStore(b2);312 ········mWifiConfigManager.saveToStore(b2);
301 ········if·(this.mAppOpsChangedListenerPerApp.containsKey(packageName)·&&·this.getPasspointProviderWithPackage(packageName).size()·==·0)·{313 ········if·(this.mAppOpsChangedListenerPerApp.containsKey(packageName)·&&·this.getPasspointProviderWithPackage(packageName).size()·==·0)·{
302 ············this.stopTrackingAppOpsChange(packageName);314 ············this.stopTrackingAppOpsChange(packageName);
303 ········}315 ········}
304 ········final·StringBuilder·sb2·=·new·StringBuilder();316 ········final·StringBuilder·sb3·=·new·StringBuilder();
305 ········sb2.append("Removed·Passpoint·configuration:·");317 ········sb3.append("Removed·Passpoint·configuration:·");
306 ········sb2.append(uniqueId);318 ········sb3.append(uniqueId);
307 ········Log.d(s,·sb2.toString());319 ········Log.d(s2,·sb3.toString());
308 ········this.mWifiMetrics.incrementNumPasspointProviderUninstallSuccess();320 ········this.mWifiMetrics.incrementNumPasspointProviderUninstallSuccess();
309 ········return·b2;321 ········return·b2;
310 ····}322 ····}
311 ····323 ····
312 ····private·void·startTrackingAppOpsChange(final·String·s,·final·int·n)·{324 ····private·void·startTrackingAppOpsChange(final·String·s,·final·int·n)·{
313 ········if·(this.mAppOpsChangedListenerPerApp.containsKey(s))·{325 ········if·(this.mAppOpsChangedListenerPerApp.containsKey(s))·{
314 ············return;326 ············return;
Offset 379, 40 lines modifiedOffset 391, 48 lines modified
379 ············Log.e(s2,·"Invalid·configuration");391 ············Log.e(s2,·"Invalid·configuration");
380 ············return·false;392 ············return·false;
381 ········}393 ········}
382 ········if·(!b·&&·!trusted)·{394 ········if·(!b·&&·!trusted)·{
383 ············Log.e(s2,·"Set·isTrusted·to·false·on·a·non·suggestion·passpoint·is·not·allowed");395 ············Log.e(s2,·"Set·isTrusted·to·false·on·a·non·suggestion·passpoint·is·not·allowed");
384 ············return·false;396 ············return·false;
385 ········}397 ········}
 398 ········if·(!this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n))·{
 399 ············final·StringBuilder·sb·=·new·StringBuilder();
 400 ············sb.append("UID·");
 401 ············sb.append(n);
 402 ············sb.append("·not·visible·to·the·current·user");
 403 ············Log.e(s2,·sb.toString());
 404 ············return·false;
 405 ········}
386 ········this.mWifiCarrierInfoManager.tryUpdateCarrierIdForPasspoint(passpointConfiguration);406 ········this.mWifiCarrierInfoManager.tryUpdateCarrierIdForPasspoint(passpointConfiguration);
387 ········final·PasspointObjectFactory·mObjectFactory·=·this.mObjectFactory;407 ········final·PasspointObjectFactory·mObjectFactory·=·this.mObjectFactory;
388 ········final·WifiKeyStore·mKeyStore·=·this.mKeyStore;408 ········final·WifiKeyStore·mKeyStore·=·this.mKeyStore;
389 ········final·WifiCarrierInfoManager·mWifiCarrierInfoManager·=·this.mWifiCarrierInfoManager;409 ········final·WifiCarrierInfoManager·mWifiCarrierInfoManager·=·this.mWifiCarrierInfoManager;
390 ········final·long·mProviderIndex·=·this.mProviderIndex;410 ········final·long·mProviderIndex·=·this.mProviderIndex;
391 ········this.mProviderIndex·=·1L·+·mProviderIndex;411 ········this.mProviderIndex·=·1L·+·mProviderIndex;
392 ········final·PasspointProvider·passpointProvider·=·mObjectFactory.makePasspointProvider(passpointConfiguration,·mKeyStore,·mWifiCarrierInfoManager,·mProviderIndex,·n,·s,·b);412 ········final·PasspointProvider·passpointProvider·=·mObjectFactory.makePasspointProvider(passpointConfiguration,·mKeyStore,·mWifiCarrierInfoManager,·mProviderIndex,·n,·s,·b);
393 ········passpointProvider.setTrusted(trusted);413 ········passpointProvider.setTrusted(trusted);
394 ········final·Credential$UserCredential·userCredential·=·passpointConfiguration.getCredential().getUserCredential();414 ········final·Credential$UserCredential·userCredential·=·passpointConfiguration.getCredential().getUserCredential();
395 ········final·boolean·b2·=·true;415 ········final·boolean·b2·=·true;
396 ········if·(userCredential·==·null·&&·passpointConfiguration.getCredential().getCertCredential()·==·null)·{416 ········if·(userCredential·==·null·&&·passpointConfiguration.getCredential().getCertCredential()·==·null)·{
397 ············goto·Label_0270;417 ············goto·Label_0344;
398 ········}418 ········}
399 ········final·X509Certificate[]·caCertificates·=·passpointConfiguration.getCredential().getCaCertificates();419 ········final·X509Certificate[]·caCertificates·=·passpointConfiguration.getCredential().getCaCertificates();
400 ········boolean·b3;420 ········boolean·b3;
401 ········boolean·b4;421 ········boolean·b4;
402 ········if·(caCertificates·==·null)·{422 ········if·(caCertificates·==·null)·{
403 ············b3·=·b2;423 ············b3·=·b2;
404 ············b4·=·false;424 ············b4·=·false;
405 ········}425 ········}
406 ········else·{426 ········else·{
407 ············try·{427 ············try·{
408 ················for·(int·length·=·caCertificates.length,·i·=·0;·i·<·length;·++i)·{428 ················for·(int·length·=·caCertificates.length,·i·=·0;·i·<·length;·++i)·{
409 ····················this.verifyCaCert(caCertificates[i]);429 ····················this.verifyCaCert(caCertificates[i]);
410 ················}430 ················}
411 ················goto·Label_0270;431 ················goto·Label_0344;
412 ············}432 ············}
413 ············catch·(Exception·ex2)·{}433 ············catch·(Exception·ex2)·{}
414 ············catch·(CertPathValidatorException·ex)·{434 ············catch·(CertPathValidatorException·ex)·{
415 ················b4·=·(ex.getReason()·==·PKIXReason.NO_TRUST_ANCHOR·&&·b2);435 ················b4·=·(ex.getReason()·==·PKIXReason.NO_TRUST_ANCHOR·&&·b2);
416 ················b3·=·false;436 ················b3·=·false;
417 ············}437 ············}
418 ········}438 ········}
Offset 423, 20 lines modifiedOffset 443, 20 lines modified
423 ········}443 ········}
424 ········if·(this.mProviders.containsKey(passpointConfiguration.getUniqueId()))·{444 ········if·(this.mProviders.containsKey(passpointConfiguration.getUniqueId()))·{
425 ············final·PasspointProvider·passpointProvider2·=·(PasspointProvider)this.mProviders.get(passpointConfiguration.getUniqueId());445 ············final·PasspointProvider·passpointProvider2·=·(PasspointProvider)this.mProviders.get(passpointConfiguration.getUniqueId());
426 ············if·(b·&&·!passpointProvider2.getPackageName().equals(s))·{446 ············if·(b·&&·!passpointProvider2.getPackageName().equals(s))·{
427 ················passpointProvider.uninstallCertsAndKeys();447 ················passpointProvider.uninstallCertsAndKeys();
428 ················return·false;448 ················return·false;
429 ············}449 ············}
430 ············final·StringBuilder·sb·=·new·StringBuilder();450 ············final·StringBuilder·sb2·=·new·StringBuilder();
431 ············sb.append("Replacing·configuration·for·FQDN:·");451 ············sb2.append("Replacing·configuration·for·FQDN:·");
432 ············sb.append(passpointConfiguration.getHomeSp().getFqdn());452 ············sb2.append(passpointConfiguration.getHomeSp().getFqdn());
433 ············sb.append("·and·unique·ID:·");453 ············sb2.append("·and·unique·ID:·");
434 ············sb.append(passpointConfiguration.getUniqueId());454 ············sb2.append(passpointConfiguration.getUniqueId());
435 ············Log.d(s2,·sb.toString());455 ············Log.d(s2,·sb2.toString());
436 ············passpointProvider2.uninstallCertsAndKeys();456 ············passpointProvider2.uninstallCertsAndKeys();
437 ············this.mProviders.remove(passpointConfiguration.getUniqueId());457 ············this.mProviders.remove(passpointConfiguration.getUniqueId());
438 ············if·(!passpointProvider2.equals((Object)passpointProvider))·{458 ············if·(!passpointProvider2.equals((Object)passpointProvider))·{
439 ················this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey());459 ················this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey());
440 ············}460 ············}
441 ············else·{461 ············else·{
442 ················this.updateWifiConfigInWcmIfPresent(passpointProvider.getWifiConfig(),·n,·s,·b);462 ················this.updateWifiConfigInWcmIfPresent(passpointProvider.getWifiConfig(),·n,·s,·b);
Offset 444, 22 lines modifiedOffset 464, 22 lines modified
444 ········}464 ········}
445 ········passpointProvider.enableVerboseLogging((int)(this.mVerboseLoggingEnabled·?·1·:·0));465 ········passpointProvider.enableVerboseLogging((int)(this.mVerboseLoggingEnabled·?·1·:·0));
446 ········this.mProviders.put(passpointConfiguration.getUniqueId(),·passpointProvider);466 ········this.mProviders.put(passpointConfiguration.getUniqueId(),·passpointProvider);
447 ········this.mWifiConfigManager.saveToStore(b2);467 ········this.mWifiConfigManager.saveToStore(b2);
448 ········if·(!b·&&·passpointProvider.getPackageName()·!=·null)·{468 ········if·(!b·&&·passpointProvider.getPackageName()·!=·null)·{
449 ············this.startTrackingAppOpsChange(passpointProvider.getPackageName(),·n);469 ············this.startTrackingAppOpsChange(passpointProvider.getPackageName(),·n);
450 ········}470 ········}
451 ········final·StringBuilder·sb2·=·new·StringBuilder();471 ········final·StringBuilder·sb3·=·new·StringBuilder();
452 ········sb2.append("Added/updated·Passpoint·configuration·for·FQDN:·");472 ········sb3.append("Added/updated·Passpoint·configuration·for·FQDN:·");
453 ········sb2.append(passpointConfiguration.getHomeSp().getFqdn());473 ········sb3.append(passpointConfiguration.getHomeSp().getFqdn());
454 ········sb2.append("·with·unique·ID:·");474 ········sb3.append("·with·unique·ID:·");
455 ········sb2.append(passpointConfiguration.getUniqueId());475 ········sb3.append(passpointConfiguration.getUniqueId());
456 ········sb2.append("·by·UID:·");476 ········sb3.append("·by·UID:·");
457 ········sb2.append(n);477 ········sb3.append(n);
458 ········Log.d(s2,·sb2.toString());478 ········Log.d(s2,·sb3.toString());
459 ········if·(b3)·{479 ········if·(b3)·{
460 ············this.mWifiMetrics.incrementNumPasspointProviderWithNoRootCa();480 ············this.mWifiMetrics.incrementNumPasspointProviderWithNoRootCa();
461 ········}481 ········}
462 ········if·(b4)·{482 ········if·(b4)·{
463 ············this.mWifiMetrics.incrementNumPasspointProviderWithSelfSignedRootCa();483 ············this.mWifiMetrics.incrementNumPasspointProviderWithSelfSignedRootCa();
464 ········}484 ········}
465 ········if·(b5)·{485 ········if·(b5)·{
Offset 507, 15 lines modifiedOffset 527, 14 lines modified
507 ························if·(b)·{527 ························if·(b)·{
508 ····························n3·=·n;528 ····························n3·=·n;
509 ························}529 ························}
510 ························else·{530 ························else·{
511 ····························n3·=·n2;531 ····························n3·=·n2;
512 ························}532 ························}
513 ························mWifiMetrics.logUserActionEvent(n3,·passpointProvider.isFromSuggestion(),·b3);533 ························mWifiMetrics.logUserActionEvent(n3,·passpointProvider.isFromSuggestion(),·b3);
514 ························this.updateWifiConfigInWcmIfPresent(passpointProvider.getWifiConfig(),·passpointProvider.getCreatorUid(),·passpointProvider.getPackageName(),·passpointProvider.isFromSuggestion()); 
515 ····················}534 ····················}
516 ····················b2·=·b3;535 ····················b2·=·b3;
517 ················}536 ················}
518 ············}537 ············}
519 ············if·(b2)·{538 ············if·(b2)·{
520 ················this.mWifiConfigManager.saveToStore(b3);539 ················this.mWifiConfigManager.saveToStore(b3);
521 ············}540 ············}
Offset 528, 15 lines modifiedOffset 547, 14 lines modified
528 ········}547 ········}
529 ········if·(passpointProvider2.setAutojoinEnabled(b))·{548 ········if·(passpointProvider2.setAutojoinEnabled(b))·{
530 ············final·WifiMetrics·mWifiMetrics2·=·this.mWifiMetrics;549 ············final·WifiMetrics·mWifiMetrics2·=·this.mWifiMetrics;
531 ············if·(!b)·{550 ············if·(!b)·{
532 ················n·=·n2;551 ················n·=·n2;
533 ············}552 ············}
534 ············mWifiMetrics2.logUserActionEvent(n,·passpointProvider2.isFromSuggestion(),·b3);553 ············mWifiMetrics2.logUserActionEvent(n,·passpointProvider2.isFromSuggestion(),·b3);
535 ············this.updateWifiConfigInWcmIfPresent(passpointProvider2.getWifiConfig(),·passpointProvider2.getCreatorUid(),·passpointProvider2.getPackageName(),·passpointProvider2.isFromSuggestion()); 
536 ········}554 ········}
537 ········this.mWifiConfigManager.saveToStore(b3);555 ········this.mWifiConfigManager.saveToStore(b3);
538 ········return·b3;556 ········return·b3;
539 ····}557 ····}
540 ····558 ····
541 ····public·boolean·enableMacRandomization(final·String·s,·final·boolean·macRandomizationEnabled)·{559 ····public·boolean·enableMacRandomization(final·String·s,·final·boolean·macRandomizationEnabled)·{
542 ········final·Iterator<PasspointProvider>·iterator·=·new·ArrayList<PasspointProvider>(this.mProviders.values()).iterator();560 ········final·Iterator<PasspointProvider>·iterator·=·new·ArrayList<PasspointProvider>(this.mProviders.values()).iterator();