| | | | |
| Offset 43, 14 lines modified | Offset 43, 15 lines modified |
| 43 | import·android.net.wifi.WifiConfiguration; | 43 | import·android.net.wifi.WifiConfiguration; |
| 44 | import·com.android.server.wifi.WifiConfigStore$StoreData; | 44 | import·com.android.server.wifi.WifiConfigStore$StoreData; |
| 45 | import·java.util.HashMap; | 45 | import·java.util.HashMap; |
| 46 | import·com.android.server.wifi.WifiConfigStore; | 46 | import·com.android.server.wifi.WifiConfigStore; |
| 47 | import·com.android.server.wifi.Clock; | 47 | import·com.android.server.wifi.Clock; |
| 48 | import·com.android.server.wifi.WifiNative; | 48 | import·com.android.server.wifi.WifiNative; |
| 49 | import·android.content.Context; | 49 | import·android.content.Context; |
| | 50 | import·com.android.server.wifi.util.WifiPermissionsUtil; |
| 50 | import·com.android.server.wifi.WifiMetrics; | 51 | import·com.android.server.wifi.WifiMetrics; |
| 51 | import·com.android.server.wifi.WifiInjector; | 52 | import·com.android.server.wifi.WifiInjector; |
| 52 | import·com.android.server.wifi.WifiConfigManager; | 53 | import·com.android.server.wifi.WifiConfigManager; |
| 53 | import·com.android.server.wifi.WifiCarrierInfoManager; | 54 | import·com.android.server.wifi.WifiCarrierInfoManager; |
| 54 | import·com.android.server.wifi.MacAddressUtil; | 55 | import·com.android.server.wifi.MacAddressUtil; |
| 55 | import·com.android.server.wifi.WifiKeyStore; | 56 | import·com.android.server.wifi.WifiKeyStore; |
| 56 | import·android.os.Handler; | 57 | import·android.os.Handler; |
| Offset 74, 16 lines modified | Offset 75, 17 lines modified |
| 74 | ····private·long·mProviderIndex; | 75 | ····private·long·mProviderIndex; |
| 75 | ····private·final·Map·mProviders; | 76 | ····private·final·Map·mProviders; |
| 76 | ····private·boolean·mVerboseLoggingEnabled; | 77 | ····private·boolean·mVerboseLoggingEnabled; |
| 77 | ····private·final·WifiCarrierInfoManager·mWifiCarrierInfoManager; | 78 | ····private·final·WifiCarrierInfoManager·mWifiCarrierInfoManager; |
| 78 | ····private·final·WifiConfigManager·mWifiConfigManager; | 79 | ····private·final·WifiConfigManager·mWifiConfigManager; |
| 79 | ····private·final·WifiInjector·mWifiInjector; | 80 | ····private·final·WifiInjector·mWifiInjector; |
| 80 | ····private·final·WifiMetrics·mWifiMetrics; | 81 | ····private·final·WifiMetrics·mWifiMetrics; |
| | 82 | ····private·final·WifiPermissionsUtil·mWifiPermissionsUtil; |
| 81 | ···· | 83 | ···· |
| 82 | ····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)·{ | 84 | ····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)·{ |
| 83 | ········this.mAppOpsChangedListenerPerApp·=·new·HashMap(); | 85 | ········this.mAppOpsChangedListenerPerApp·=·new·HashMap(); |
| 84 | ········this.mVerboseLoggingEnabled·=·false; | 86 | ········this.mVerboseLoggingEnabled·=·false; |
| 85 | ········this.mPasspointEventHandler·=·mObjectFactory.makePasspointEventHandler(wifiNative,·(PasspointEventHandler$Callbacks)new·PasspointManager$CallbackHandler(this,·context)); | 87 | ········this.mPasspointEventHandler·=·mObjectFactory.makePasspointEventHandler(wifiNative,·(PasspointEventHandler$Callbacks)new·PasspointManager$CallbackHandler(this,·context)); |
| 86 | ········this.mWifiInjector·=·mWifiInjector; | 88 | ········this.mWifiInjector·=·mWifiInjector; |
| 87 | ········this.mHandler·=·mHandler; | 89 | ········this.mHandler·=·mHandler; |
| 88 | ········this.mKeyStore·=·mKeyStore; | 90 | ········this.mKeyStore·=·mKeyStore; |
| 89 | ········this.mObjectFactory·=·mObjectFactory; | 91 | ········this.mObjectFactory·=·mObjectFactory; |
| Offset 96, 14 lines modified | Offset 98, 15 lines modified |
| 96 | ········this.mWifiCarrierInfoManager·=·mWifiCarrierInfoManager; | 98 | ········this.mWifiCarrierInfoManager·=·mWifiCarrierInfoManager; |
| 97 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigUserStoreData(this.mKeyStore,·mWifiCarrierInfoManager,·(PasspointConfigUserStoreData$DataSource)new·PasspointManager$UserDataSourceHandler(this,·(PasspointManager$1)null))); | 99 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigUserStoreData(this.mKeyStore,·mWifiCarrierInfoManager,·(PasspointConfigUserStoreData$DataSource)new·PasspointManager$UserDataSourceHandler(this,·(PasspointManager$1)null))); |
| 98 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigSharedStoreData((PasspointConfigSharedStoreData$DataSource)new·PasspointManager$SharedDataSourceHandler(this,·(PasspointManager$1)null))); | 100 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigSharedStoreData((PasspointConfigSharedStoreData$DataSource)new·PasspointManager$SharedDataSourceHandler(this,·(PasspointManager$1)null))); |
| 99 | ········this.mPasspointProvisioner·=·mObjectFactory.makePasspointProvisioner(context,·wifiNative,·this,·mWifiMetrics); | 101 | ········this.mPasspointProvisioner·=·mObjectFactory.makePasspointProvisioner(context,·wifiNative,·this,·mWifiMetrics); |
| 100 | ········this.mAppOps·=·(AppOpsManager)context.getSystemService("appops"); | 102 | ········this.mAppOps·=·(AppOpsManager)context.getSystemService("appops"); |
| 101 | ········PasspointManager.sPasspointManager·=·this; | 103 | ········PasspointManager.sPasspointManager·=·this; |
| 102 | ········this.mMacAddressUtil·=·mMacAddressUtil; | 104 | ········this.mMacAddressUtil·=·mMacAddressUtil; |
| | 105 | ········this.mWifiPermissionsUtil·=·mWifiPermissionsUtil; |
| 103 | ····} | 106 | ····} |
| 104 | ···· | 107 | ···· |
| 105 | ····public·static·boolean·addLegacyPasspointConfig(final·WifiConfiguration·wifiConfiguration)·{ | 108 | ····public·static·boolean·addLegacyPasspointConfig(final·WifiConfiguration·wifiConfiguration)·{ |
| 106 | ········final·PasspointManager·sPasspointManager·=·PasspointManager.sPasspointManager; | 109 | ········final·PasspointManager·sPasspointManager·=·PasspointManager.sPasspointManager; |
| 107 | ········final·String·s·=·"PasspointManager"; | 110 | ········final·String·s·=·"PasspointManager"; |
| 108 | ········if·(sPasspointManager·==·null)·{ | 111 | ········if·(sPasspointManager·==·null)·{ |
| 109 | ············Log.e(s,·"PasspointManager·have·not·been·initialized·yet"); | 112 | ············Log.e(s,·"PasspointManager·have·not·been·initialized·yet"); |
| Offset 449, 40 lines modified | Offset 452, 49 lines modified |
| 449 | ················Log.d("PasspointManager",·sb.toString()); | 452 | ················Log.d("PasspointManager",·sb.toString()); |
| 450 | ················return·true; | 453 | ················return·true; |
| 451 | ············} | 454 | ············} |
| 452 | ········} | 455 | ········} |
| 453 | ········return·false; | 456 | ········return·false; |
| 454 | ····} | 457 | ····} |
| 455 | ···· | 458 | ···· |
| 456 | ····private·boolean·removeProviderInternal(final·PasspointProvider·passpointProvider,·final·int·i,·final·boolean·b)·{ | 459 | ····private·boolean·removeProviderInternal(final·PasspointProvider·passpointProvider,·final·int·n,·final·boolean·b)·{ |
| | 460 | ········final·String·s·=·"UID·"; |
| 457 | ········final·String·s·=·"PasspointManager"; | 461 | ········final·String·s2·=·"PasspointManager"; |
| 458 | ········if·(!b·&&·i·!=·passpointProvider.getCreatorUid())·{ | 462 | ········if·(!b·&&·n·!=·passpointProvider.getCreatorUid())·{ |
| 459 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 463 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 460 | ············sb.append("UID·"); | |
| 461 | ············sb.append(i); | 464 | ············sb.append(s); |
| | 465 | ············sb.append(n); |
| 462 | ············sb.append("·cannot·remove·profile·created·by·"); | 466 | ············sb.append("·cannot·remove·profile·created·by·"); |
| 463 | ············sb.append(passpointProvider.getCreatorUid()); | 467 | ············sb.append(passpointProvider.getCreatorUid()); |
| 464 | ············Log.e(s,·sb.toString()); | 468 | ············Log.e(s2,·sb.toString()); |
| | 469 | ············return·false; |
| | 470 | ········} |
| | 471 | ········if·(!this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n))·{ |
| | 472 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| | 473 | ············sb2.append(s); |
| | 474 | ············sb2.append(n); |
| | 475 | ············sb2.append("·not·visible·to·the·current·user"); |
| | 476 | ············Log.e(s2,·sb2.toString()); |
| 465 | ············return·false; | 477 | ············return·false; |
| 466 | ········} | 478 | ········} |
| 467 | ········passpointProvider.uninstallCertsAndKeys(); | 479 | ········passpointProvider.uninstallCertsAndKeys(); |
| 468 | ········final·String·packageName·=·passpointProvider.getPackageName(); | 480 | ········final·String·packageName·=·passpointProvider.getPackageName(); |
| 469 | ········this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey()); | 481 | ········this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey()); |
| 470 | ········final·String·uniqueId·=·passpointProvider.getConfig().getUniqueId(); | 482 | ········final·String·uniqueId·=·passpointProvider.getConfig().getUniqueId(); |
| 471 | ········this.mProviders.remove(uniqueId); | 483 | ········this.mProviders.remove(uniqueId); |
| 472 | ········final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager; | 484 | ········final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager; |
| 473 | ········final·boolean·b2·=·true; | 485 | ········final·boolean·b2·=·true; |
| 474 | ········mWifiConfigManager.saveToStore(b2); | 486 | ········mWifiConfigManager.saveToStore(b2); |
| 475 | ········if·(this.mAppOpsChangedListenerPerApp.containsKey(packageName)·&&·this.getPasspointProviderWithPackage(packageName).size()·==·0)·{ | 487 | ········if·(this.mAppOpsChangedListenerPerApp.containsKey(packageName)·&&·this.getPasspointProviderWithPackage(packageName).size()·==·0)·{ |
| 476 | ············this.stopTrackingAppOpsChange(packageName); | 488 | ············this.stopTrackingAppOpsChange(packageName); |
| 477 | ········} | 489 | ········} |
| 478 | ········final·StringBuilder·sb2·=·new·StringBuilder(); | 490 | ········final·StringBuilder·sb3·=·new·StringBuilder(); |
| 479 | ········sb2.append("Removed·Passpoint·configuration:·"); | 491 | ········sb3.append("Removed·Passpoint·configuration:·"); |
| 480 | ········sb2.append(uniqueId); | 492 | ········sb3.append(uniqueId); |
| 481 | ········Log.d(s,·sb2.toString()); | 493 | ········Log.d(s2,·sb3.toString()); |
| 482 | ········this.mWifiMetrics.incrementNumPasspointProviderUninstallSuccess(); | 494 | ········this.mWifiMetrics.incrementNumPasspointProviderUninstallSuccess(); |
| 483 | ········return·b2; | 495 | ········return·b2; |
| 484 | ····} | 496 | ····} |
| 485 | ···· | 497 | ···· |
| 486 | ····private·void·startTrackingAppOpsChange(final·String·s,·final·int·n)·{ | 498 | ····private·void·startTrackingAppOpsChange(final·String·s,·final·int·n)·{ |
| 487 | ········if·(this.mAppOpsChangedListenerPerApp.containsKey(s))·{ | 499 | ········if·(this.mAppOpsChangedListenerPerApp.containsKey(s))·{ |
| 488 | ············return; | 500 | ············return; |
| Offset 538, 55 lines modified | Offset 550, 63 lines modified |
| 538 | ········final·KeyStore·instance3·=·KeyStore.getInstance("AndroidCAStore"); | 550 | ········final·KeyStore·instance3·=·KeyStore.getInstance("AndroidCAStore"); |
| 539 | ········instance3.load(null,·null); | 551 | ········instance3.load(null,·null); |
| 540 | ········final·PKIXParameters·params·=·new·PKIXParameters(instance3); | 552 | ········final·PKIXParameters·params·=·new·PKIXParameters(instance3); |
| 541 | ········params.setRevocationEnabled(false); | 553 | ········params.setRevocationEnabled(false); |
| 542 | ········instance2.validate(generateCertPath,·params); | 554 | ········instance2.validate(generateCertPath,·params); |
| 543 | ····} | 555 | ····} |
| 544 | ···· | 556 | ···· |
| 545 | ····public·boolean·addOrUpdateProvider(final·PasspointConfiguration·passpointConfiguration,·final·int·i,·final·String·anObject,·final·boolean·b,·final·boolean·trusted)·{ | 557 | ····public·boolean·addOrUpdateProvider(final·PasspointConfiguration·passpointConfiguration,·final·int·n,·final·String·anObject,·final·boolean·b,·final·boolean·trusted)·{ |
| 546 | ········this.mWifiMetrics.incrementNumPasspointProviderInstallation(); | 558 | ········this.mWifiMetrics.incrementNumPasspointProviderInstallation(); |
| 547 | ········final·String·s·=·"PasspointManager"; | 559 | ········final·String·s·=·"PasspointManager"; |
| 548 | ········if·(passpointConfiguration·==·null)·{ | 560 | ········if·(passpointConfiguration·==·null)·{ |
| 549 | ············Log.e(s,·"Configuration·not·provided"); | 561 | ············Log.e(s,·"Configuration·not·provided"); |
| 550 | ············return·false; | 562 | ············return·false; |
| 551 | ········} | 563 | ········} |
| 552 | ········if·(!passpointConfiguration.validate())·{ | 564 | ········if·(!passpointConfiguration.validate())·{ |
| 553 | ············Log.e(s,·"Invalid·configuration"); | 565 | ············Log.e(s,·"Invalid·configuration"); |
| 554 | ············return·false; | 566 | ············return·false; |
| 555 | ········} | 567 | ········} |
| 556 | ········if·(!b·&&·!trusted)·{ | 568 | ········if·(!b·&&·!trusted)·{ |
| 557 | ············Log.e(s,·"Set·isTrusted·to·false·on·a·non·suggestion·passpoint·is·not·allowed"); | 569 | ············Log.e(s,·"Set·isTrusted·to·false·on·a·non·suggestion·passpoint·is·not·allowed"); |
| 558 | ············return·false; | 570 | ············return·false; |
| 559 | ········} | 571 | ········} |
| | 572 | ········if·(!this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n))·{ |
| | 573 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| | 574 | ············sb.append("UID·"); |
| | 575 | ············sb.append(n); |
| | 576 | ············sb.append("·not·visible·to·the·current·user"); |
| | 577 | ············Log.e(s,·sb.toString()); |
| | 578 | ············return·false; |
| | 579 | ········} |
| 560 | ········this.mWifiCarrierInfoManager.tryUpdateCarrierIdForPasspoint(passpointConfiguration); | 580 | ········this.mWifiCarrierInfoManager.tryUpdateCarrierIdForPasspoint(passpointConfiguration); |
| 561 | ········final·PasspointObjectFactory·mObjectFactory·=·this.mObjectFactory; | 581 | ········final·PasspointObjectFactory·mObjectFactory·=·this.mObjectFactory; |
| 562 | ········final·WifiKeyStore·mKeyStore·=·this.mKeyStore; | 582 | ········final·WifiKeyStore·mKeyStore·=·this.mKeyStore; |
| 563 | ········final·WifiCarrierInfoManager·mWifiCarrierInfoManager·=·this.mWifiCarrierInfoManager; | 583 | ········final·WifiCarrierInfoManager·mWifiCarrierInfoManager·=·this.mWifiCarrierInfoManager; |
| 564 | ········final·long·mProviderIndex·=·this.mProviderIndex; | 584 | ········final·long·mProviderIndex·=·this.mProviderIndex; |
| 565 | ········this.mProviderIndex·=·1L·+·mProviderIndex; | 585 | ········this.mProviderIndex·=·1L·+·mProviderIndex; |
| 566 | ········final·PasspointProvider·passpointProvider·=·mObjectFactory.makePasspointProvider(passpointConfiguration,·mKeyStore,·mWifiCarrierInfoManager,·mProviderIndex,·i,·anObject,·b); | 586 | ········final·PasspointProvider·passpointProvider·=·mObjectFactory.makePasspointProvider(passpointConfiguration,·mKeyStore,·mWifiCarrierInfoManager,·mProviderIndex,·n,·anObject,·b); |
| 567 | ········passpointProvider.setTrusted(trusted); | 587 | ········passpointProvider.setTrusted(trusted); |
| 568 | ········final·Credential$UserCredential·userCredential·=·passpointConfiguration.getCredential().getUserCredential(); | 588 | ········final·Credential$UserCredential·userCredential·=·passpointConfiguration.getCredential().getUserCredential(); |
| 569 | ········final·boolean·b2·=·true; | 589 | ········final·boolean·b2·=·true; |
| 570 | ········if·(userCredential·==·null·&&·passpointConfiguration.getCredential().getCertCredential()·==·null)·{ | 590 | ········if·(userCredential·==·null·&&·passpointConfiguration.getCredential().getCertCredential()·==·null)·{ |
| 571 | ············goto·Label_0270; | 591 | ············goto·Label_0344; |
| 572 | ········} | 592 | ········} |
| 573 | ········final·X509Certificate[]·caCertificates·=·passpointConfiguration.getCredential().getCaCertificates(); | 593 | ········final·X509Certificate[]·caCertificates·=·passpointConfiguration.getCredential().getCaCertificates(); |
| 574 | ········boolean·b3; | 594 | ········boolean·b3; |
| 575 | ········boolean·b4; | 595 | ········boolean·b4; |
| 576 | ········if·(caCertificates·==·null)·{ | 596 | ········if·(caCertificates·==·null)·{ |
| 577 | ············b3·=·b2; | 597 | ············b3·=·b2; |
| 578 | ············b4·=·false; | 598 | ············b4·=·false; |
| 579 | ········} | 599 | ········} |
| 580 | ········else·{ | 600 | ········else·{ |
| 581 | ············try·{ | 601 | ············try·{ |
| 582 | ················for·(int·length·=·caCertificates.length,·j·=·0;·j·<·length;·++j)·{ | 602 | ················for·(int·length·=·caCertificates.length,·i·=·0;·i·<·length;·++i)·{ |
| 583 | ····················this.verifyCaCert(caCertificates[j]); | 603 | ····················this.verifyCaCert(caCertificates[i]); |
| 584 | ················} | 604 | ················} |
| 585 | ················goto·Label_0270; | 605 | ················goto·Label_0344; |
| 586 | ············} | 606 | ············} |
| 587 | ············catch·(Exception·ex2)·{} | 607 | ············catch·(Exception·ex2)·{} |
| 588 | ············catch·(CertPathValidatorException·ex)·{ | 608 | ············catch·(CertPathValidatorException·ex)·{ |
| 589 | ················b4·=·(ex.getReason()·==·PKIXReason.NO_TRUST_ANCHOR·&&·b2); | 609 | ················b4·=·(ex.getReason()·==·PKIXReason.NO_TRUST_ANCHOR·&&·b2); |
| 590 | ················b3·=·false; | 610 | ················b3·=·false; |
| 591 | ············} | 611 | ············} |
| 592 | ········} | 612 | ········} |
| Offset 597, 43 lines modified | Offset 617, 43 lines modified |
| 597 | ········} | 617 | ········} |
| 598 | ········if·(this.mProviders.containsKey(passpointConfiguration.getUniqueId()))·{ | 618 | ········if·(this.mProviders.containsKey(passpointConfiguration.getUniqueId()))·{ |
| 599 | ············final·PasspointProvider·passpointProvider2·=·(PasspointProvider)this.mProviders.get(passpointConfiguration.getUniqueId()); | 619 | ············final·PasspointProvider·passpointProvider2·=·(PasspointProvider)this.mProviders.get(passpointConfiguration.getUniqueId()); |
| 600 | ············if·(b·&&·!passpointProvider2.getPackageName().equals(anObject))·{ | 620 | ············if·(b·&&·!passpointProvider2.getPackageName().equals(anObject))·{ |
| 601 | ················passpointProvider.uninstallCertsAndKeys(); | 621 | ················passpointProvider.uninstallCertsAndKeys(); |
| 602 | ················return·false; | 622 | ················return·false; |
| 603 | ············} | 623 | ············} |
| 604 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 624 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| 605 | ············sb.append("Replacing·configuration·for·FQDN:·"); | 625 | ············sb2.append("Replacing·configuration·for·FQDN:·"); |
| 606 | ············sb.append(passpointConfiguration.getHomeSp().getFqdn()); | 626 | ············sb2.append(passpointConfiguration.getHomeSp().getFqdn()); |
| 607 | ············sb.append("·and·unique·ID:·"); | 627 | ············sb2.append("·and·unique·ID:·"); |
| 608 | ············sb.append(passpointConfiguration.getUniqueId()); | 628 | ············sb2.append(passpointConfiguration.getUniqueId()); |
| 609 | ············Log.d(s,·sb.toString()); | 629 | ············Log.d(s,·sb2.toString()); |
| 610 | ············passpointProvider2.uninstallCertsAndKeys(); | 630 | ············passpointProvider2.uninstallCertsAndKeys(); |
| 611 | ············this.mProviders.remove(passpointConfiguration.getUniqueId()); | 631 | ············this.mProviders.remove(passpointConfiguration.getUniqueId()); |
| 612 | ············if·(!passpointProvider2.equals((Object)passpointProvider))·{ | 632 | ············if·(!passpointProvider2.equals((Object)passpointProvider))·{ |
| 613 | ················this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey()); | 633 | ················this.mWifiConfigManager.removePasspointConfiguredNetwork(passpointProvider.getWifiConfig().getKey()); |
| 614 | ············} | 634 | ············} |
| 615 | ············else·{ | 635 | ············else·{ |
| 616 | ················this.updateWifiConfigInWcmIfPresent(passpointProvider.getWifiConfig(),·i,·anObject,·b); | 636 | ················this.updateWifiConfigInWcmIfPresent(passpointProvider.getWifiConfig(),·n,·anObject,·b); |
| 617 | ············} | 637 | ············} |
| 618 | ········} | 638 | ········} |
| 619 | ········passpointProvider.enableVerboseLogging((int)(this.mVerboseLoggingEnabled·?·1·:·0)); | 639 | ········passpointProvider.enableVerboseLogging((int)(this.mVerboseLoggingEnabled·?·1·:·0)); |
| 620 | ········this.mProviders.put(passpointConfiguration.getUniqueId(),·passpointProvider); | 640 | ········this.mProviders.put(passpointConfiguration.getUniqueId(),·passpointProvider); |
| 621 | ········this.mWifiConfigManager.saveToStore(b2); | 641 | ········this.mWifiConfigManager.saveToStore(b2); |
| 622 | ········if·(!b·&&·passpointProvider.getPackageName()·!=·null)·{ | 642 | ········if·(!b·&&·passpointProvider.getPackageName()·!=·null)·{ |
| 623 | ············this.startTrackingAppOpsChange(passpointProvider.getPackageName(),·i); | 643 | ············this.startTrackingAppOpsChange(passpointProvider.getPackageName(),·n); |
| 624 | ········} | 644 | ········} |
| 625 | ········final·StringBuilder·sb2·=·new·StringBuilder(); | 645 | ········final·StringBuilder·sb3·=·new·StringBuilder(); |
| 626 | ········sb2.append("Added/updated·Passpoint·configuration·for·FQDN:·"); | 646 | ········sb3.append("Added/updated·Passpoint·configuration·for·FQDN:·"); |
| 627 | ········sb2.append(passpointConfiguration.getHomeSp().getFqdn()); | 647 | ········sb3.append(passpointConfiguration.getHomeSp().getFqdn()); |
| 628 | ········sb2.append("·with·unique·ID:·"); | 648 | ········sb3.append("·with·unique·ID:·"); |
| 629 | ········sb2.append(passpointConfiguration.getUniqueId()); | 649 | ········sb3.append(passpointConfiguration.getUniqueId()); |
| 630 | ········sb2.append("·by·UID:·"); | 650 | ········sb3.append("·by·UID:·"); |
| 631 | ········sb2.append(i); | 651 | ········sb3.append(n); |
| 632 | ········Log.d(s,·sb2.toString()); | 652 | ········Log.d(s,·sb3.toString()); |
| 633 | ········if·(b3)·{ | 653 | ········if·(b3)·{ |
| 634 | ············this.mWifiMetrics.incrementNumPasspointProviderWithNoRootCa(); | 654 | ············this.mWifiMetrics.incrementNumPasspointProviderWithNoRootCa(); |
| 635 | ········} | 655 | ········} |
| 636 | ········if·(b4)·{ | 656 | ········if·(b4)·{ |
| 637 | ············this.mWifiMetrics.incrementNumPasspointProviderWithSelfSignedRootCa(); | 657 | ············this.mWifiMetrics.incrementNumPasspointProviderWithSelfSignedRootCa(); |
| 638 | ········} | 658 | ········} |
| 639 | ········if·(b5)·{ | 659 | ········if·(b5)·{ |
| Offset 681, 15 lines modified | Offset 701, 14 lines modified |
| 681 | ························if·(b)·{ | 701 | ························if·(b)·{ |
| 682 | ····························n3·=·n; | 702 | ····························n3·=·n; |
| 683 | ························} | 703 | ························} |
| 684 | ························else·{ | 704 | ························else·{ |
| 685 | ····························n3·=·n2; | 705 | ····························n3·=·n2; |
| 686 | ························} | 706 | ························} |
| 687 | ························mWifiMetrics.logUserActionEvent(n3,·passpointProvider.isFromSuggestion(),·b3); | 707 | ························mWifiMetrics.logUserActionEvent(n3,·passpointProvider.isFromSuggestion(),·b3); |
| 688 | ························this.updateWifiConfigInWcmIfPresent(passpointProvider.getWifiConfig(),·passpointProvider.getCreatorUid(),·passpointProvider.getPackageName(),·passpointProvider.isFromSuggestion()); | |
| 689 | ····················} | 708 | ····················} |
| 690 | ····················b2·=·b3; | 709 | ····················b2·=·b3; |
| 691 | ················} | 710 | ················} |
| 692 | ············} | 711 | ············} |
| 693 | ············if·(b2)·{ | 712 | ············if·(b2)·{ |
| 694 | ················this.mWifiConfigManager.saveToStore(b3); | 713 | ················this.mWifiConfigManager.saveToStore(b3); |
| 695 | ············} | 714 | ············} |
| Offset 702, 15 lines modified | Offset 721, 14 lines modified |
| 702 | ········} | 721 | ········} |
| 703 | ········if·(passpointProvider2.setAutojoinEnabled(b))·{ | 722 | ········if·(passpointProvider2.setAutojoinEnabled(b))·{ |
| 704 | ············final·WifiMetrics·mWifiMetrics2·=·this.mWifiMetrics; | 723 | ············final·WifiMetrics·mWifiMetrics2·=·this.mWifiMetrics; |
| 705 | ············if·(!b)·{ | 724 | ············if·(!b)·{ |
| 706 | ················n·=·n2; | 725 | ················n·=·n2; |
| 707 | ············} | 726 | ············} |
| 708 | ············mWifiMetrics2.logUserActionEvent(n,·passpointProvider2.isFromSuggestion(),·b3); | 727 | ············mWifiMetrics2.logUserActionEvent(n,·passpointProvider2.isFromSuggestion(),·b3); |
| 709 | ············this.updateWifiConfigInWcmIfPresent(passpointProvider2.getWifiConfig(),·passpointProvider2.getCreatorUid(),·passpointProvider2.getPackageName(),·passpointProvider2.isFromSuggestion()); | |
| 710 | ········} | 728 | ········} |
| 711 | ········this.mWifiConfigManager.saveToStore(b3); | 729 | ········this.mWifiConfigManager.saveToStore(b3); |
| 712 | ········return·b3; | 730 | ········return·b3; |
| 713 | ····} | 731 | ····} |
| 714 | ···· | 732 | ···· |
| 715 | ····public·boolean·enableMacRandomization(final·String·s,·final·boolean·macRandomizationEnabled)·{ | 733 | ····public·boolean·enableMacRandomization(final·String·s,·final·boolean·macRandomizationEnabled)·{ |
| 716 | ········final·Iterator<PasspointProvider>·iterator·=·new·ArrayList<PasspointProvider>(this.mProviders.values()).iterator(); | 734 | ········final·Iterator<PasspointProvider>·iterator·=·new·ArrayList<PasspointProvider>(this.mProviders.values()).iterator(); |