| | | | |
| Offset 16, 42 lines modified | Offset 16, 41 lines modified |
| 16 | import·android.net.ProxyInfo; | 16 | import·android.net.ProxyInfo; |
| 17 | import·android.net.IpConfiguration$ProxySettings; | 17 | import·android.net.IpConfiguration$ProxySettings; |
| 18 | import·android.net.StaticIpConfiguration; | 18 | import·android.net.StaticIpConfiguration; |
| 19 | import·android.net.IpConfiguration$IpAssignment; | 19 | import·android.net.IpConfiguration$IpAssignment; |
| 20 | import·android.text.TextUtils; | 20 | import·android.text.TextUtils; |
| 21 | import·java.io.IOException; | 21 | import·java.io.IOException; |
| 22 | import·org.xmlpull.v1.XmlPullParserException; | 22 | import·org.xmlpull.v1.XmlPullParserException; |
| 23 | import·android.net.wifi.WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo; | |
| 24 | import·android.util.ArraySet; | 23 | import·android.util.ArraySet; |
| 25 | import·com.android.wifi.x.android.net.util.MacAddressUtils; | 24 | import·com.android.wifi.x.android.net.util.MacAddressUtils; |
| | 25 | import·android.net.wifi.WifiConfiguration$NetworkSelectionStatus; |
| | 26 | import·android.net.wifi.WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo; |
| 26 | import·java.util.Collection; | 27 | import·java.util.Collection; |
| 27 | import·java.util.HashSet; | 28 | import·java.util.HashSet; |
| 28 | import·java.util.Set; | 29 | import·java.util.Set; |
| 29 | import·android.content.ContentResolver; | 30 | import·android.content.ContentResolver; |
| 30 | import·android.net.wifi.WifiEnterpriseConfig; | 31 | import·android.net.wifi.WifiEnterpriseConfig; |
| 31 | import·android.provider.Settings$Global; | 32 | import·android.provider.Settings$Global; |
| 32 | import·java.util.Iterator; | 33 | import·java.util.Iterator; |
| 33 | import·java.util.BitSet; | 34 | import·java.util.BitSet; |
| 34 | import·android.util.Log; | 35 | import·android.util.Log; |
| 35 | import·android.net.wifi.WifiConfiguration; | 36 | import·android.net.wifi.WifiConfiguration; |
| 36 | import·android.app.ActivityManager; | 37 | import·android.app.ActivityManager; |
| 37 | import·android.net.wifi.WifiConfiguration$NetworkSelectionStatus; | |
| 38 | import·java.util.ArrayList; | 38 | import·java.util.ArrayList; |
| 39 | import·java.util.HashMap; | 39 | import·java.util.HashMap; |
| 40 | import·android.os.UserHandle; | 40 | import·android.os.UserHandle; |
| 41 | import·android.os.Handler; | 41 | import·android.os.Handler; |
| 42 | import·com.android.server.wifi.util.WifiPermissionsWrapper; | 42 | import·com.android.server.wifi.util.WifiPermissionsWrapper; |
| 43 | import·com.android.server.wifi.util.WifiPermissionsUtil; | 43 | import·com.android.server.wifi.util.WifiPermissionsUtil; |
| 44 | import·com.android.server.wifi.util.MissingCounterTimerLockList; | 44 | import·com.android.server.wifi.util.MissingCounterTimerLockList; |
| 45 | import·android.os.UserManager; | 45 | import·android.os.UserManager; |
| 46 | import·java.util.Map; | 46 | import·java.util.Map; |
| 47 | import·com.android.server.wifi.util.LruConnectionTracker; | 47 | import·com.android.server.wifi.util.LruConnectionTracker; |
| 48 | import·com.android.wifi.x.android.util.LocalLog; | 48 | import·com.android.wifi.x.android.util.LocalLog; |
| 49 | import·java.util.List; | 49 | import·java.util.List; |
| 50 | import·android.util.SparseArray; | |
| 51 | import·android.content.Context; | 50 | import·android.content.Context; |
| 52 | import·android.net.MacAddress; | 51 | import·android.net.MacAddress; |
| | |
| 53 | public·class·WifiConfigManager | 52 | public·class·WifiConfigManager |
| 54 | { | 53 | { |
| 55 | ····protected·static·final·long·AGGRESSIVE_MAC_REFRESH_MS_MAX·=·86400000L; | 54 | ····protected·static·final·long·AGGRESSIVE_MAC_REFRESH_MS_MAX·=·86400000L; |
| 56 | ····protected·static·final·long·AGGRESSIVE_MAC_REFRESH_MS_MIN·=·1800000L; | 55 | ····protected·static·final·long·AGGRESSIVE_MAC_REFRESH_MS_MIN·=·1800000L; |
| Offset 71, 15 lines modified | Offset 70, 14 lines modified |
| 71 | ····private·final·BackupManagerProxy·mBackupManagerProxy; | 70 | ····private·final·BackupManagerProxy·mBackupManagerProxy; |
| 72 | ····private·final·Clock·mClock; | 71 | ····private·final·Clock·mClock; |
| 73 | ····private·final·ConfigurationMap·mConfiguredNetworks; | 72 | ····private·final·ConfigurationMap·mConfiguredNetworks; |
| 74 | ····private·final·Context·mContext; | 73 | ····private·final·Context·mContext; |
| 75 | ····private·int·mCurrentUserId; | 74 | ····private·int·mCurrentUserId; |
| 76 | ····private·boolean·mDeferredUserUnlockRead; | 75 | ····private·boolean·mDeferredUserUnlockRead; |
| 77 | ····private·final·DeviceConfigFacade·mDeviceConfigFacade; | 76 | ····private·final·DeviceConfigFacade·mDeviceConfigFacade; |
| 78 | ····private·final·SparseArray·mDisableReasonInfo; | |
| 79 | ····private·final·FrameworkFacade·mFrameworkFacade; | 77 | ····private·final·FrameworkFacade·mFrameworkFacade; |
| 80 | ····private·int·mLastSelectedNetworkId; | 78 | ····private·int·mLastSelectedNetworkId; |
| 81 | ····private·long·mLastSelectedTimeStamp; | 79 | ····private·long·mLastSelectedTimeStamp; |
| 82 | ····private·final·List·mListeners; | 80 | ····private·final·List·mListeners; |
| 83 | ····private·final·LocalLog·mLocalLog; | 81 | ····private·final·LocalLog·mLocalLog; |
| 84 | ····private·final·LruConnectionTracker·mLruConnectionTracker; | 82 | ····private·final·LruConnectionTracker·mLruConnectionTracker; |
| 85 | ····private·final·MacAddressUtil·mMacAddressUtil; | 83 | ····private·final·MacAddressUtil·mMacAddressUtil; |
| Offset 138, 16 lines modified | Offset 136, 14 lines modified |
| 138 | ········this.mNetworkListUserStoreData·=·mNetworkListUserStoreData; | 136 | ········this.mNetworkListUserStoreData·=·mNetworkListUserStoreData; |
| 139 | ········this.mRandomizedMacStoreData·=·mRandomizedMacStoreData; | 137 | ········this.mRandomizedMacStoreData·=·mRandomizedMacStoreData; |
| 140 | ········this.mWifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mNetworkListSharedStoreData); | 138 | ········this.mWifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mNetworkListSharedStoreData); |
| 141 | ········this.mWifiConfigStore.registerStoreData((WifiConfigStore$StoreData)this.mNetworkListUserStoreData); | 139 | ········this.mWifiConfigStore.registerStoreData((WifiConfigStore$StoreData)this.mNetworkListUserStoreData); |
| 142 | ········this.mWifiConfigStore.registerStoreData((WifiConfigStore$StoreData)this.mRandomizedMacStoreData); | 140 | ········this.mWifiConfigStore.registerStoreData((WifiConfigStore$StoreData)this.mRandomizedMacStoreData); |
| 143 | ········this.mFrameworkFacade·=·mFrameworkFacade; | 141 | ········this.mFrameworkFacade·=·mFrameworkFacade; |
| 144 | ········this.mDeviceConfigFacade·=·mDeviceConfigFacade; | 142 | ········this.mDeviceConfigFacade·=·mDeviceConfigFacade; |
| 145 | ········this.mDisableReasonInfo·=·WifiConfiguration$NetworkSelectionStatus.DISABLE_REASON_INFOS.clone(); | |
| 146 | ········this.loadCustomConfigsForDisableReasonInfos(); | |
| 147 | ········int·n; | 143 | ········int·n; |
| 148 | ········if·(((ActivityManager)mContext.getSystemService((Class)ActivityManager.class)).isLowRamDevice())·{ | 144 | ········if·(((ActivityManager)mContext.getSystemService((Class)ActivityManager.class)).isLowRamDevice())·{ |
| 149 | ············n·=·128; | 145 | ············n·=·128; |
| 150 | ········} | 146 | ········} |
| 151 | ········else·{ | 147 | ········else·{ |
| 152 | ············n·=·256; | 148 | ············n·=·256; |
| 153 | ········} | 149 | ········} |
| Offset 386, 15 lines modified | Offset 382, 15 lines modified |
| 386 | ········while·(true)·{ | 382 | ········while·(true)·{ |
| 387 | ············final·boolean·hasNext·=·iterator.hasNext(); | 383 | ············final·boolean·hasNext·=·iterator.hasNext(); |
| 388 | ············n·=·1; | 384 | ············n·=·1; |
| 389 | ············if·(!hasNext)·{ | 385 | ············if·(!hasNext)·{ |
| 390 | ················break; | 386 | ················break; |
| 391 | ············} | 387 | ············} |
| 392 | ············final·WifiConfiguration·wifiConfiguration·=·(WifiConfiguration)iterator.next(); | 388 | ············final·WifiConfiguration·wifiConfiguration·=·(WifiConfiguration)iterator.next(); |
| 393 | ············if·((!wifiConfiguration.shared·||·!this.doesUidBelongToCurrentUser(wifiConfiguration.creatorUid))·&&·!wifiConfiguration.ephemeral)·{ | 389 | ············if·((wifiConfiguration.shared·||·this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(wifiConfiguration.creatorUid))·&&·!wifiConfiguration.ephemeral)·{ |
| 394 | ················continue; | 390 | ················continue; |
| 395 | ············} | 391 | ············} |
| 396 | ············set.add(wifiConfiguration.networkId); | 392 | ············set.add(wifiConfiguration.networkId); |
| 397 | ············final·StringBuilder·sb2·=·new·StringBuilder(); | 393 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| 398 | ············sb2.append("clearInternalUserData:·removed·config.·netId="); | 394 | ············sb2.append("clearInternalUserData:·removed·config.·netId="); |
| 399 | ············sb2.append(wifiConfiguration.networkId); | 395 | ············sb2.append(wifiConfiguration.networkId); |
| 400 | ············sb2.append("·configKey="); | 396 | ············sb2.append("·configKey="); |
| Offset 451, 30 lines modified | Offset 447, 14 lines modified |
| 451 | ········} | 447 | ········} |
| 452 | ········defaultsInWifiConfiguration.lastUpdateName·=·nameForUid; | 448 | ········defaultsInWifiConfiguration.lastUpdateName·=·nameForUid; |
| 453 | ········defaultsInWifiConfiguration.creatorName·=·nameForUid; | 449 | ········defaultsInWifiConfiguration.creatorName·=·nameForUid; |
| 454 | ········this.initRandomizedMacForInternalConfig(defaultsInWifiConfiguration); | 450 | ········this.initRandomizedMacForInternalConfig(defaultsInWifiConfiguration); |
| 455 | ········return·defaultsInWifiConfiguration; | 451 | ········return·defaultsInWifiConfiguration; |
| 456 | ····} | 452 | ····} |
| 457 | ···· | 453 | ···· |
| 458 | ····private·boolean·doesUidBelongToCurrentUser(final·int·n)·{ | |
| 459 | ········boolean·b·=·true; | |
| 460 | ········if·(n·!=·1000)·{ | |
| 461 | ············if·(!this.mWifiPermissionsUtil.checkNetworkSettingsPermission(n))·{ | |
| 462 | ················final·UserHandle·of·=·UserHandle.of(this.mCurrentUserId); | |
| 463 | ················final·UserHandle·userHandleForUid·=·UserHandle.getUserHandleForUid(n); | |
| 464 | ················if·(!of.equals((Object)userHandleForUid))·{ | |
| 465 | ····················if·(!this.mUserManager.isSameProfileGroup(of,·userHandleForUid))·{ | |
| 466 | ························b·=·false; | |
| 467 | ····················} | |
| 468 | ················} | |
| 469 | ············} | |
| 470 | ········} | |
| 471 | ········return·b; | |
| 472 | ····} | |
| 473 | ···· | |
| 474 | ····private·void·generateRandomizedMacAddresses()·{ | 454 | ····private·void·generateRandomizedMacAddresses()·{ |
| 475 | ········for·(final·WifiConfiguration·wifiConfiguration·:·this.getInternalConfiguredNetworks())·{ | 455 | ········for·(final·WifiConfiguration·wifiConfiguration·:·this.getInternalConfiguredNetworks())·{ |
| 476 | ············if·(WifiConfigManager.DEFAULT_MAC_ADDRESS.equals((Object)wifiConfiguration.getRandomizedMacAddress()))·{ | 456 | ············if·(WifiConfigManager.DEFAULT_MAC_ADDRESS.equals((Object)wifiConfiguration.getRandomizedMacAddress()))·{ |
| 477 | ················this.initRandomizedMacForInternalConfig(wifiConfiguration); | 457 | ················this.initRandomizedMacForInternalConfig(wifiConfiguration); |
| 478 | ············} | 458 | ············} |
| 479 | ········} | 459 | ········} |
| 480 | ····} | 460 | ····} |
| Offset 547, 14 lines modified | Offset 527, 38 lines modified |
| 547 | ········return·byConfigKeyForCurrentUser; | 527 | ········return·byConfigKeyForCurrentUser; |
| 548 | ····} | 528 | ····} |
| 549 | ···· | 529 | ···· |
| 550 | ····private·Collection·getInternalConfiguredNetworks()·{ | 530 | ····private·Collection·getInternalConfiguredNetworks()·{ |
| 551 | ········return·this.mConfiguredNetworks.valuesForCurrentUser(); | 531 | ········return·this.mConfiguredNetworks.valuesForCurrentUser(); |
| 552 | ····} | 532 | ····} |
| 553 | ···· | 533 | ···· |
| | 534 | ····public·static·int·getNetworkSelectionDisableThreshold(final·int·i)·{ |
| | 535 | ········final·WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·=·(WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo)WifiConfiguration$NetworkSelectionStatus.DISABLE_REASON_INFOS.get(i); |
| | 536 | ········if·(wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·==·null)·{ |
| | 537 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| | 538 | ············sb.append("Unrecognized·network·disable·reason·code·for·disable·threshold:·"); |
| | 539 | ············sb.append(i); |
| | 540 | ············Log.e("WifiConfigManager",·sb.toString()); |
| | 541 | ············return·-1; |
| | 542 | ········} |
| | 543 | ········return·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo.mDisableThreshold; |
| | 544 | ····} |
| | 545 | ···· |
| | 546 | ····public·static·int·getNetworkSelectionDisableTimeoutMillis(final·int·i)·{ |
| | 547 | ········final·WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·=·(WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo)WifiConfiguration$NetworkSelectionStatus.DISABLE_REASON_INFOS.get(i); |
| | 548 | ········if·(wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·==·null)·{ |
| | 549 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| | 550 | ············sb.append("Unrecognized·network·disable·reason·code·for·disable·timeout:·"); |
| | 551 | ············sb.append(i); |
| | 552 | ············Log.e("WifiConfigManager",·sb.toString()); |
| | 553 | ············return·-1; |
| | 554 | ········} |
| | 555 | ········return·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo.mDisableTimeoutMillis; |
| | 556 | ····} |
| | 557 | ···· |
| 554 | ····private·ScanDetailCache·getOrCreateScanDetailCacheForNetwork(final·WifiConfiguration·wifiConfiguration)·{ | 558 | ····private·ScanDetailCache·getOrCreateScanDetailCacheForNetwork(final·WifiConfiguration·wifiConfiguration)·{ |
| 555 | ········if·(wifiConfiguration·==·null)·{ | 559 | ········if·(wifiConfiguration·==·null)·{ |
| 556 | ············return·null; | 560 | ············return·null; |
| 557 | ········} | 561 | ········} |
| 558 | ········ScanDetailCache·scanDetailCacheForNetwork·=·this.getScanDetailCacheForNetwork(wifiConfiguration.networkId); | 562 | ········ScanDetailCache·scanDetailCacheForNetwork·=·this.getScanDetailCacheForNetwork(wifiConfiguration.networkId); |
| 559 | ········if·(scanDetailCacheForNetwork·==·null·&&·wifiConfiguration.networkId·!=·-1)·{ | 563 | ········if·(scanDetailCacheForNetwork·==·null·&&·wifiConfiguration.networkId·!=·-1)·{ |
| 560 | ············scanDetailCacheForNetwork·=·new·ScanDetailCache(wifiConfiguration,·192,·128); | 564 | ············scanDetailCacheForNetwork·=·new·ScanDetailCache(wifiConfiguration,·192,·128); |
| Offset 618, 15 lines modified | Offset 622, 15 lines modified |
| 618 | ········} | 622 | ········} |
| 619 | ········if·(randomizedMacAddress·!=·null)·{ | 623 | ········if·(randomizedMacAddress·!=·null)·{ |
| 620 | ············wifiConfiguration.setRandomizedMacAddress(randomizedMacAddress); | 624 | ············wifiConfiguration.setRandomizedMacAddress(randomizedMacAddress); |
| 621 | ········} | 625 | ········} |
| 622 | ····} | 626 | ····} |
| 623 | ···· | 627 | ···· |
| 624 | ····private·boolean·isMacRandomizationSupported()·{ | 628 | ····private·boolean·isMacRandomizationSupported()·{ |
| 625 | ········return·this.mContext.getResources().getBoolean(2130837538); | 629 | ········return·this.mContext.getResources().getBoolean(2130837537); |
| 626 | ····} | 630 | ····} |
| 627 | ···· | 631 | ···· |
| 628 | ····private·boolean·isNetworkOptInForAggressiveRandomization(final·String·s)·{ | 632 | ····private·boolean·isNetworkOptInForAggressiveRandomization(final·String·s)·{ |
| 629 | ········final·ArraySet·set·=·new·ArraySet((Object[])this.mContext.getResources().getStringArray(2130771973)); | 633 | ········final·ArraySet·set·=·new·ArraySet((Object[])this.mContext.getResources().getStringArray(2130771973)); |
| 630 | ········final·boolean·contains·=·this.mDeviceConfigFacade.getAggressiveMacRandomizationSsidBlocklist().contains(s); | 634 | ········final·boolean·contains·=·this.mDeviceConfigFacade.getAggressiveMacRandomizationSsidBlocklist().contains(s); |
| 631 | ········boolean·b·=·false; | 635 | ········boolean·b·=·false; |
| 632 | ········if·(!contains)·{ | 636 | ········if·(!contains)·{ |
| Offset 658, 23 lines modified | Offset 662, 14 lines modified |
| 658 | ········final·HashMap·linkedConfigurations·=·wifiConfiguration2.linkedConfigurations; | 662 | ········final·HashMap·linkedConfigurations·=·wifiConfiguration2.linkedConfigurations; |
| 659 | ········final·String·key·=·wifiConfiguration.getKey(); | 663 | ········final·String·key·=·wifiConfiguration.getKey(); |
| 660 | ········final·int·n·=·1; | 664 | ········final·int·n·=·1; |
| 661 | ········linkedConfigurations.put(key,·n); | 665 | ········linkedConfigurations.put(key,·n); |
| 662 | ········wifiConfiguration.linkedConfigurations.put(wifiConfiguration2.getKey(),·n); | 666 | ········wifiConfiguration.linkedConfigurations.put(wifiConfiguration2.getKey(),·n); |
| 663 | ····} | 667 | ····} |
| 664 | ···· | 668 | ···· |
| 665 | ····private·void·loadCustomConfigsForDisableReasonInfos()·{ | |
| 666 | ········final·SparseArray·mDisableReasonInfo·=·this.mDisableReasonInfo; | |
| 667 | ········final·int·integer·=·this.mContext.getResources().getInteger(2131034132); | |
| 668 | ········final·int·n·=·300000; | |
| 669 | ········mDisableReasonInfo.put(1,·(Object)new·WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo("NETWORK_SELECTION_DISABLED_ASSOCIATION_REJECTION·",·integer,·n)); | |
| 670 | ········this.mDisableReasonInfo.put(2,·(Object)new·WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo("NETWORK_SELECTION_DISABLED_AUTHENTICATION_FAILURE",·this.mContext.getResources().getInteger(2131034133),·n)); | |
| 671 | ········this.mDisableReasonInfo.put(3,·(Object)new·WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo("config_wifiDisableReasonDhcpFailureThreshold",·this.mContext.getResources().getInteger(2131034134),·n)); | |
| 672 | ····} | |
| 673 | ···· | |
| 674 | ····private·boolean·loadFromUserStoreAfterUnlockOrSwitch(final·int·n)·{ | 669 | ····private·boolean·loadFromUserStoreAfterUnlockOrSwitch(final·int·n)·{ |
| 675 | ········final·String·s·=·"WifiConfigManager"; | 670 | ········final·String·s·=·"WifiConfigManager"; |
| 676 | ········try·{ | 671 | ········try·{ |
| 677 | ············final·FrameworkFacade·mFrameworkFacade·=·this.mFrameworkFacade; | 672 | ············final·FrameworkFacade·mFrameworkFacade·=·this.mFrameworkFacade; |
| 678 | ············try·{ | 673 | ············try·{ |
| 679 | ················final·List·userFiles·=·WifiConfigStore.createUserFiles(n,·mFrameworkFacade.isNiapModeOn(this.mContext)); | 674 | ················final·List·userFiles·=·WifiConfigStore.createUserFiles(n,·mFrameworkFacade.isNiapModeOn(this.mContext)); |
| 680 | ················if·(userFiles·==·null)·{ | 675 | ················if·(userFiles·==·null)·{ |
| Offset 1131, 45 lines modified | Offset 1126, 41 lines modified |
| 1131 | ················this.getInternalConfiguredNetwork(wifiConfiguration.networkId).setRandomizedMacAddress(persistentMacAddress); | 1126 | ················this.getInternalConfiguredNetwork(wifiConfiguration.networkId).setRandomizedMacAddress(persistentMacAddress); |
| 1132 | ············} | 1127 | ············} |
| 1133 | ········} | 1128 | ········} |
| 1134 | ········return·persistentMacAddress; | 1129 | ········return·persistentMacAddress; |
| 1135 | ····} | 1130 | ····} |
| 1136 | ···· | 1131 | ···· |
| 1137 | ····private·boolean·shouldNetworksBeLinked(final·WifiConfiguration·wifiConfiguration,·final·WifiConfiguration·wifiConfiguration2,·final·ScanDetailCache·scanDetailCache,·final·ScanDetailCache·scanDetailCache2)·{ | 1132 | ····private·boolean·shouldNetworksBeLinked(final·WifiConfiguration·wifiConfiguration,·final·WifiConfiguration·wifiConfiguration2,·final·ScanDetailCache·scanDetailCache,·final·ScanDetailCache·scanDetailCache2)·{ |
| 1138 | ········final·boolean·boolean1·=·this.mContext.getResources().getBoolean(2130837547); | 1133 | ········final·boolean·boolean1·=·this.mContext.getResources().getBoolean(2130837546); |
| 1139 | ········final·String·s·=·"WifiConfigManager"; | 1134 | ········final·String·s·=·"WifiConfigManager"; |
| 1140 | ········if·(boolean1·&&·!TextUtils.equals((CharSequence)wifiConfiguration.preSharedKey,·(CharSequence)wifiConfiguration2.preSharedKey))·{ | 1135 | ········if·(boolean1·&&·!TextUtils.equals((CharSequence)wifiConfiguration.preSharedKey,·(CharSequence)wifiConfiguration2.preSharedKey))·{ |
| 1141 | ············if·(this.mVerboseLoggingEnabled)·{ | 1136 | ············if·(this.mVerboseLoggingEnabled)·{ |
| 1142 | ················Log.v(s,·"shouldNetworksBeLinked·unlink·due·to·password·mismatch"); | 1137 | ················Log.v(s,·"shouldNetworksBeLinked·unlink·due·to·password·mismatch"); |
| 1143 | ············} | 1138 | ············} |
| 1144 | ············return·false; | 1139 | ············return·false; |
| 1145 | ········} | 1140 | ········} |
| 1146 | ········final·String·defaultGwMacAddress·=·wifiConfiguration.defaultGwMacAddress; | 1141 | ········final·String·defaultGwMacAddress·=·wifiConfiguration.defaultGwMacAddress; |
| 1147 | ········final·String·s2·=·"·and·"; | 1142 | ········final·String·s2·=·"·and·"; |
| 1148 | ········final·boolean·b·=·true; | 1143 | ········final·boolean·b·=·true; |
| 1149 | ········if·(defaultGwMacAddress·!=·null)·{ | 1144 | ········if·(defaultGwMacAddress·!=·null·&&·wifiConfiguration2.defaultGwMacAddress·!=·null)·{ |
| 1150 | ············final·String·defaultGwMacAddress2·=·wifiConfiguration2.defaultGwMacAddress; | 1145 | ············if·(wifiConfiguration.defaultGwMacAddress.equals(wifiConfiguration2.defaultGwMacAddress))·{ |
| 1151 | ············if·(defaultGwMacAddress2·!=·null)·{ | |
| 1152 | ················if·(defaultGwMacAddress.equals(defaultGwMacAddress2))·{ | |
| 1153 | ····················if·(this.mVerboseLoggingEnabled)·{ | 1146 | ················if·(this.mVerboseLoggingEnabled)·{ |
| 1154 | ························final·StringBuilder·sb·=·new·StringBuilder(); | 1147 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 1155 | ························sb.append("shouldNetworksBeLinked·link·due·to·same·gw·"); | 1148 | ····················sb.append("shouldNetworksBeLinked·link·due·to·same·gw·"); |
| 1156 | ························sb.append(wifiConfiguration2.SSID); | 1149 | ····················sb.append(wifiConfiguration2.SSID); |
| 1157 | ························sb.append(s2); | 1150 | ····················sb.append(s2); |
| 1158 | ························sb.append(wifiConfiguration.SSID); | 1151 | ····················sb.append(wifiConfiguration.SSID); |
| 1159 | ························sb.append("·GW·"); | 1152 | ····················sb.append("·GW·"); |
| 1160 | ························sb.append(wifiConfiguration.defaultGwMacAddress); | 1153 | ····················sb.append(wifiConfiguration.defaultGwMacAddress); |
| 1161 | ························Log.v(s,·sb.toString()); | 1154 | ····················Log.v(s,·sb.toString()); |
| 1162 | ····················} | |
| 1163 | ····················return·b; | |
| 1164 | ················} | 1155 | ················} |
| 1165 | ················return·false; | 1156 | ················return·b; |
| 1166 | ············} | 1157 | ············} |
| 1167 | ········} | 1158 | ········} |
| 1168 | ········if·(scanDetailCache·!=·null·&&·scanDetailCache2·!=·null)·{ | 1159 | ········else·if·(scanDetailCache·!=·null·&&·scanDetailCache2·!=·null)·{ |
| 1169 | ············for·(final·String·str·:·scanDetailCache.keySet())·{ | 1160 | ············for·(final·String·str·:·scanDetailCache.keySet())·{ |
| 1170 | ················for·(final·String·s3·:·scanDetailCache2.keySet())·{ | 1161 | ················for·(final·String·s3·:·scanDetailCache2.keySet())·{ |
| 1171 | ····················if·(str.regionMatches(true,·0,·s3,·0,·16))·{ | 1162 | ····················if·(str.regionMatches(true,·0,·s3,·0,·16))·{ |
| 1172 | ························if·(this.mVerboseLoggingEnabled)·{ | 1163 | ························if·(this.mVerboseLoggingEnabled)·{ |
| 1173 | ····························final·StringBuilder·sb2·=·new·StringBuilder(); | 1164 | ····························final·StringBuilder·sb2·=·new·StringBuilder(); |
| 1174 | ····························sb2.append("shouldNetworksBeLinked·link·due·to·DBDC·BSSID·match·"); | 1165 | ····························sb2.append("shouldNetworksBeLinked·link·due·to·DBDC·BSSID·match·"); |
| 1175 | ····························sb2.append(wifiConfiguration2.SSID); | 1166 | ····························sb2.append(wifiConfiguration2.SSID); |
| Offset 1193, 41 lines modified | Offset 1184, 40 lines modified |
| 1193 | ········final·WifiConfiguration$NetworkSelectionStatus·networkSelectionStatus·=·wifiConfiguration.getNetworkSelectionStatus(); | 1184 | ········final·WifiConfiguration$NetworkSelectionStatus·networkSelectionStatus·=·wifiConfiguration.getNetworkSelectionStatus(); |
| 1194 | ········if·(networkSelectionStatus.isNetworkTemporaryDisabled())·{ | 1185 | ········if·(networkSelectionStatus.isNetworkTemporaryDisabled())·{ |
| 1195 | ············final·long·n·=·this.mClock.getElapsedSinceBootMillis()·-·networkSelectionStatus.getDisableTime(); | 1186 | ············final·long·n·=·this.mClock.getElapsedSinceBootMillis()·-·networkSelectionStatus.getDisableTime(); |
| 1196 | ············final·int·networkSelectionDisableReason·=·networkSelectionStatus.getNetworkSelectionDisableReason(); | 1187 | ············final·int·networkSelectionDisableReason·=·networkSelectionStatus.getNetworkSelectionDisableReason(); |
| 1197 | ············final·int·min·=·Math.min(10,·this.mWifiInjector.getBssidBlocklistMonitor().updateAndGetNumBlockedBssidsForSsid(wifiConfiguration.SSID)); | 1188 | ············final·int·min·=·Math.min(10,·this.mWifiInjector.getBssidBlocklistMonitor().updateAndGetNumBlockedBssidsForSsid(wifiConfiguration.SSID)); |
| 1198 | ············long·n2·=·0L; | 1189 | ············long·n2·=·0L; |
| 1199 | ············if·(min·>·0)·{ | 1190 | ············if·(min·>·0)·{ |
| 1200 | ················n2·=·(long)(this.getNetworkSelectionDisableTimeoutMillis(networkSelectionDisableReason)·*·Math.pow(2.0,·(double)min·-·1.0)); | 1191 | ················n2·=·(long)(getNetworkSelectionDisableTimeoutMillis(networkSelectionDisableReason)·*·Math.pow(2.0,·(double)min·-·1.0)); |
| 1201 | ············} | 1192 | ············} |
| 1202 | ············if·(n·>=·n2)·{ | 1193 | ············if·(n·>=·n2)·{ |
| 1203 | ················return·this.updateNetworkSelectionStatus(wifiConfiguration,·0); | 1194 | ················return·this.updateNetworkSelectionStatus(wifiConfiguration,·0); |
| 1204 | ············} | 1195 | ············} |
| 1205 | ········} | 1196 | ········} |
| 1206 | ········return·false; | 1197 | ········return·false; |
| 1207 | ····} | 1198 | ····} |
| 1208 | ···· | 1199 | ···· |
| 1209 | ····private·void·unlinkNetworks(final·WifiConfiguration·wifiConfiguration,·final·WifiConfiguration·wifiConfiguration2)·{ | 1200 | ····private·void·unlinkNetworks(final·WifiConfiguration·wifiConfiguration,·final·WifiConfiguration·wifiConfiguration2)·{ |
| 1210 | ········final·HashMap·linkedConfigurations·=·wifiConfiguration2.linkedConfigurations; | 1201 | ········final·HashMap·linkedConfigurations·=·wifiConfiguration2.linkedConfigurations; |
| 1211 | ········final·String·s·=·"·from·"; | 1202 | ········final·String·s·=·"·from·"; |
| 1212 | ········final·String·s2·=·"unlinkNetworks·un-link·"; | 1203 | ········final·String·s2·=·"unlinkNetworks·un-link·"; |
| 1213 | ········final·String·s3·=·"WifiConfigManager"; | 1204 | ········final·String·s3·=·"WifiConfigManager"; |
| 1214 | ········if·(linkedConfigurations·!=·null·&&·linkedConfigurations.get(wifiConfiguration.getKey())·!=·null)·{ | 1205 | ········if·(linkedConfigurations·!=·null·&&·wifiConfiguration2.linkedConfigurations.get(wifiConfiguration.getKey())·!=·null)·{ |
| 1215 | ············if·(this.mVerboseLoggingEnabled)·{ | 1206 | ············if·(this.mVerboseLoggingEnabled)·{ |
| 1216 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 1207 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
| 1217 | ················sb.append(s2); | 1208 | ················sb.append(s2); |
| 1218 | ················sb.append(wifiConfiguration.getKey()); | 1209 | ················sb.append(wifiConfiguration.getKey()); |
| 1219 | ················sb.append(s); | 1210 | ················sb.append(s); |
| 1220 | ················sb.append(wifiConfiguration2.getKey()); | 1211 | ················sb.append(wifiConfiguration2.getKey()); |
| 1221 | ················Log.v(s3,·sb.toString()); | 1212 | ················Log.v(s3,·sb.toString()); |
| 1222 | ············} | 1213 | ············} |
| 1223 | ············wifiConfiguration2.linkedConfigurations.remove(wifiConfiguration.getKey()); | 1214 | ············wifiConfiguration2.linkedConfigurations.remove(wifiConfiguration.getKey()); |
| 1224 | ········} | 1215 | ········} |
| 1225 | ········final·HashMap·linkedConfigurations2·=·wifiConfiguration.linkedConfigurations; | |
| 1226 | ········if·(linkedConfigurations2·!=·null·&&·linkedConfigurations2.get(wifiConfiguration2.getKey())·!=·null)·{ | 1216 | ········if·(wifiConfiguration.linkedConfigurations·!=·null·&&·wifiConfiguration.linkedConfigurations.get(wifiConfiguration2.getKey())·!=·null)·{ |
| 1227 | ············if·(this.mVerboseLoggingEnabled)·{ | 1217 | ············if·(this.mVerboseLoggingEnabled)·{ |
| 1228 | ················final·StringBuilder·sb2·=·new·StringBuilder(); | 1218 | ················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 1229 | ················sb2.append(s2); | 1219 | ················sb2.append(s2); |
| 1230 | ················sb2.append(wifiConfiguration2.getKey()); | 1220 | ················sb2.append(wifiConfiguration2.getKey()); |
| 1231 | ················sb2.append(s); | 1221 | ················sb2.append(s); |
| 1232 | ················sb2.append(wifiConfiguration.getKey()); | 1222 | ················sb2.append(wifiConfiguration.getKey()); |
| 1233 | ················Log.v(s3,·sb2.toString()); | 1223 | ················Log.v(s3,·sb2.toString()); |
| Offset 1256, 15 lines modified | Offset 1246, 15 lines modified |
| 1256 | ················if·(this.mVerboseLoggingEnabled)·{ | 1246 | ················if·(this.mVerboseLoggingEnabled)·{ |
| 1257 | ····················Log.v(s,·"Ignore·update·network·selection·status·since·Watchdog·trigger·is·activated"); | 1247 | ····················Log.v(s,·"Ignore·update·network·selection·status·since·Watchdog·trigger·is·activated"); |
| 1258 | ················} | 1248 | ················} |
| 1259 | ················return·false; | 1249 | ················return·false; |
| 1260 | ············} | 1250 | ············} |
| 1261 | ············networkSelectionStatus.incrementDisableReasonCounter(n); | 1251 | ············networkSelectionStatus.incrementDisableReasonCounter(n); |
| 1262 | ············final·int·disableReasonCounter·=·networkSelectionStatus.getDisableReasonCounter(n); | 1252 | ············final·int·disableReasonCounter·=·networkSelectionStatus.getDisableReasonCounter(n); |
| 1263 | ············final·int·networkSelectionDisableThreshold·=·this.getNetworkSelectionDisableThreshold(n); | 1253 | ············final·int·networkSelectionDisableThreshold·=·getNetworkSelectionDisableThreshold(n); |
| 1264 | ············if·(disableReasonCounter·<·networkSelectionDisableThreshold)·{ | 1254 | ············if·(disableReasonCounter·<·networkSelectionDisableThreshold)·{ |
| 1265 | ················if·(this.mVerboseLoggingEnabled)·{ | 1255 | ················if·(this.mVerboseLoggingEnabled)·{ |
| 1266 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 1256 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 1267 | ····················sb.append("Disable·counter·for·network·"); | 1257 | ····················sb.append("Disable·counter·for·network·"); |
| 1268 | ····················sb.append(wifiConfiguration.getPrintableSsid()); | 1258 | ····················sb.append(wifiConfiguration.getPrintableSsid()); |
| 1269 | ····················sb.append("·for·reason·"); | 1259 | ····················sb.append("·for·reason·"); |
| 1270 | ····················sb.append(WifiConfiguration$NetworkSelectionStatus.getNetworkSelectionDisableReasonString(n)); | 1260 | ····················sb.append(WifiConfiguration$NetworkSelectionStatus.getNetworkSelectionDisableReasonString(n)); |
| Offset 1294, 15 lines modified | Offset 1284, 15 lines modified |
| 1294 | ····} | 1284 | ····} |
| 1295 | ···· | 1285 | ···· |
| 1296 | ····public·NetworkUpdateResult·addOrUpdateNetwork(final·WifiConfiguration·wifiConfiguration,·final·int·n)·{ | 1286 | ····public·NetworkUpdateResult·addOrUpdateNetwork(final·WifiConfiguration·wifiConfiguration,·final·int·n)·{ |
| 1297 | ········return·this.addOrUpdateNetwork(wifiConfiguration,·n,·null); | 1287 | ········return·this.addOrUpdateNetwork(wifiConfiguration,·n,·null); |
| 1298 | ····} | 1288 | ····} |
| 1299 | ···· | 1289 | ···· |
| 1300 | ····public·NetworkUpdateResult·addOrUpdateNetwork(final·WifiConfiguration·wifiConfiguration,·final·int·i,·final·String·s)·{ | 1290 | ····public·NetworkUpdateResult·addOrUpdateNetwork(final·WifiConfiguration·wifiConfiguration,·final·int·i,·final·String·s)·{ |
| 1301 | ········final·boolean·doesUidBelongToCurrentUser·=·this.doesUidBelongToCurrentUser(i); | 1291 | ········final·boolean·doesUidBelongToCurrentUser·=·this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(i); |
| 1302 | ········final·int·n·=·-1; | 1292 | ········final·int·n·=·-1; |
| 1303 | ········final·String·s2·=·"WifiConfigManager"; | 1293 | ········final·String·s2·=·"WifiConfigManager"; |
| 1304 | ········if·(!doesUidBelongToCurrentUser)·{ | 1294 | ········if·(!doesUidBelongToCurrentUser)·{ |
| 1305 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 1295 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 1306 | ············sb.append("UID·"); | 1296 | ············sb.append("UID·"); |
| 1307 | ············sb.append(i); | 1297 | ············sb.append(i); |
| 1308 | ············sb.append("·not·visible·to·the·current·user"); | 1298 | ············sb.append("·not·visible·to·the·current·user"); |
| Offset 1449, 15 lines modified | Offset 1439, 15 lines modified |
| 1449 | ········final·String·s2·=·"WifiConfigManager"; | 1439 | ········final·String·s2·=·"WifiConfigManager"; |
| 1450 | ········if·(mVerboseLoggingEnabled)·{ | 1440 | ········if·(mVerboseLoggingEnabled)·{ |
| 1451 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 1441 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 1452 | ············sb.append("Disabling·network·"); | 1442 | ············sb.append("Disabling·network·"); |
| 1453 | ············sb.append(updateNetworkSelectionStatus); | 1443 | ············sb.append(updateNetworkSelectionStatus); |
| 1454 | ············Log.v(s2,·sb.toString()); | 1444 | ············Log.v(s2,·sb.toString()); |
| 1455 | ········} | 1445 | ········} |
| 1456 | ········final·boolean·doesUidBelongToCurrentUser·=·this.doesUidBelongToCurrentUser(n); | 1446 | ········final·boolean·doesUidBelongToCurrentUser·=·this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n); |
| 1457 | ········final·String·s3·=·"UID·"; | 1447 | ········final·String·s3·=·"UID·"; |
| 1458 | ········if·(!doesUidBelongToCurrentUser)·{ | 1448 | ········if·(!doesUidBelongToCurrentUser)·{ |
| 1459 | ············final·StringBuilder·sb2·=·new·StringBuilder(); | 1449 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| 1460 | ············sb2.append(s3); | 1450 | ············sb2.append(s3); |
| 1461 | ············sb2.append(n); | 1451 | ············sb2.append(n); |
| 1462 | ············sb2.append("·not·visible·to·the·current·user"); | 1452 | ············sb2.append("·not·visible·to·the·current·user"); |
| 1463 | ············Log.e(s2,·sb2.toString()); | 1453 | ············Log.e(s2,·sb2.toString()); |
| Offset 1531, 15 lines modified | Offset 1521, 15 lines modified |
| 1531 | ············sb.append("Enabling·network·"); | 1521 | ············sb.append("Enabling·network·"); |
| 1532 | ············sb.append(updateNetworkSelectionStatus); | 1522 | ············sb.append(updateNetworkSelectionStatus); |
| 1533 | ············sb.append("·(disableOthers·"); | 1523 | ············sb.append("·(disableOthers·"); |
| 1534 | ············sb.append(b); | 1524 | ············sb.append(b); |
| 1535 | ············sb.append(")"); | 1525 | ············sb.append(")"); |
| 1536 | ············Log.v(s2,·sb.toString()); | 1526 | ············Log.v(s2,·sb.toString()); |
| 1537 | ········} | 1527 | ········} |
| 1538 | ········final·boolean·doesUidBelongToCurrentUser·=·this.doesUidBelongToCurrentUser(n); | 1528 | ········final·boolean·doesUidBelongToCurrentUser·=·this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n); |
| 1539 | ········final·String·s3·=·"UID·"; | 1529 | ········final·String·s3·=·"UID·"; |
| 1540 | ········if·(!doesUidBelongToCurrentUser)·{ | 1530 | ········if·(!doesUidBelongToCurrentUser)·{ |
| 1541 | ············final·StringBuilder·sb2·=·new·StringBuilder(); | 1531 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| 1542 | ············sb2.append(s3); | 1532 | ············sb2.append(s3); |
| 1543 | ············sb2.append(n); | 1533 | ············sb2.append(n); |
| 1544 | ············sb2.append("·not·visible·to·the·current·user"); | 1534 | ············sb2.append("·not·visible·to·the·current·user"); |
| 1545 | ············Log.e(s2,·sb2.toString()); | 1535 | ············Log.e(s2,·sb2.toString()); |
| Offset 1707, 38 lines modified | Offset 1697, 14 lines modified |
| 1707 | ········return·internalConfiguredNetwork.getKey(); | 1697 | ········return·internalConfiguredNetwork.getKey(); |
| 1708 | ····} | 1698 | ····} |
| 1709 | ···· | 1699 | ···· |
| 1710 | ····public·long·getLastSelectedTimeStamp()·{ | 1700 | ····public·long·getLastSelectedTimeStamp()·{ |
| 1711 | ········return·this.mLastSelectedTimeStamp; | 1701 | ········return·this.mLastSelectedTimeStamp; |
| 1712 | ····} | 1702 | ····} |
| 1713 | ···· | 1703 | ···· |
| 1714 | ····public·int·getNetworkSelectionDisableThreshold(final·int·i)·{ | |
| 1715 | ········final·WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·=·(WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo)this.mDisableReasonInfo.get(i); | |
| 1716 | ········if·(wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·==·null)·{ | |
| 1717 | ············final·StringBuilder·sb·=·new·StringBuilder(); | |
| 1718 | ············sb.append("Unrecognized·network·disable·reason·code·for·disable·threshold:·"); | |
| 1719 | ············sb.append(i); | |
| 1720 | ············Log.e("WifiConfigManager",·sb.toString()); | |
| 1721 | ············return·-1; | |
| 1722 | ········} | |
| 1723 | ········return·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo.mDisableThreshold; | |
| 1724 | ····} | |
| 1725 | ···· | |
| 1726 | ····public·int·getNetworkSelectionDisableTimeoutMillis(final·int·i)·{ | |
| 1727 | ········final·WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·=·(WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo)this.mDisableReasonInfo.get(i); | |
| 1728 | ········if·(wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo·==·null)·{ | |
| 1729 | ············final·StringBuilder·sb·=·new·StringBuilder(); | |
| 1730 | ············sb.append("Unrecognized·network·disable·reason·code·for·disable·timeout:·"); | |
| 1731 | ············sb.append(i); | |
| 1732 | ············Log.e("WifiConfigManager",·sb.toString()); | |
| 1733 | ············return·-1; | |
| 1734 | ········} | |
| 1735 | ········return·wifiConfiguration$NetworkSelectionStatus$DisableReasonInfo.mDisableTimeoutMillis; | |
| 1736 | ····} | |
| 1737 | ···· | |
| 1738 | ····protected·int·getRandomizedMacAddressMappingSize()·{ | 1704 | ····protected·int·getRandomizedMacAddressMappingSize()·{ |
| 1739 | ········return·this.mRandomizedMacAddressMapping.size(); | 1705 | ········return·this.mRandomizedMacAddressMapping.size(); |
| 1740 | ····} | 1706 | ····} |
| 1741 | ···· | 1707 | ···· |
| 1742 | ····public·MacAddress·getRandomizedMacAndUpdateIfNeeded(final·WifiConfiguration·randomizedMacToPersistentMac)·{ | 1708 | ····public·MacAddress·getRandomizedMacAndUpdateIfNeeded(final·WifiConfiguration·randomizedMacToPersistentMac)·{ |
| 1743 | ········MacAddress·macAddress; | 1709 | ········MacAddress·macAddress; |
| 1744 | ········if·(this.shouldUseAggressiveRandomization(randomizedMacToPersistentMac))·{ | 1710 | ········if·(this.shouldUseAggressiveRandomization(randomizedMacToPersistentMac))·{ |
| Offset 1959, 15 lines modified | Offset 1925, 15 lines modified |
| 1959 | ············} | 1925 | ············} |
| 1960 | ············++i; | 1926 | ············++i; |
| 1961 | ········} | 1927 | ········} |
| 1962 | ········return·b; | 1928 | ········return·b; |
| 1963 | ····} | 1929 | ····} |
| 1964 | ···· | 1930 | ···· |
| 1965 | ····public·boolean·removeNetwork(int·n,·int·n2,·final·String·s)·{ | 1931 | ····public·boolean·removeNetwork(int·n,·int·n2,·final·String·s)·{ |
| 1966 | ········final·boolean·doesUidBelongToCurrentUser·=·this.doesUidBelongToCurrentUser(n2); | 1932 | ········final·boolean·doesUidBelongToCurrentUser·=·this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n2); |
| 1967 | ········final·String·s2·=·"UID·"; | 1933 | ········final·String·s2·=·"UID·"; |
| 1968 | ········final·String·s3·=·"WifiConfigManager"; | 1934 | ········final·String·s3·=·"WifiConfigManager"; |
| 1969 | ········if·(!doesUidBelongToCurrentUser)·{ | 1935 | ········if·(!doesUidBelongToCurrentUser)·{ |
| 1970 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 1936 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 1971 | ············sb.append(s2); | 1937 | ············sb.append(s2); |
| 1972 | ············sb.append(n2); | 1938 | ············sb.append(n2); |
| 1973 | ············sb.append("·not·visible·to·the·current·user"); | 1939 | ············sb.append("·not·visible·to·the·current·user"); |
| Offset 2175, 27 lines modified | Offset 2141, 27 lines modified |
| 2175 | ········final·ArrayList<WifiConfiguration>·configurations2·=·new·ArrayList<WifiConfiguration>(); | 2141 | ········final·ArrayList<WifiConfiguration>·configurations2·=·new·ArrayList<WifiConfiguration>(); |
| 2176 | ········final·ArrayList<Integer>·list·=·new·ArrayList<Integer>(); | 2142 | ········final·ArrayList<Integer>·list·=·new·ArrayList<Integer>(); |
| 2177 | ········for·(final·WifiConfiguration·wifiConfiguration·:·this.mConfiguredNetworks.valuesForAllUsers())·{ | 2143 | ········for·(final·WifiConfiguration·wifiConfiguration·:·this.mConfiguredNetworks.valuesForAllUsers())·{ |
| 2178 | ············if·(!wifiConfiguration.ephemeral)·{ | 2144 | ············if·(!wifiConfiguration.ephemeral)·{ |
| 2179 | ················if·(wifiConfiguration.isPasspoint()·&&·!wifiConfiguration.isLegacyPasspointConfig)·{ | 2145 | ················if·(wifiConfiguration.isPasspoint()·&&·!wifiConfiguration.isLegacyPasspointConfig)·{ |
| 2180 | ····················continue; | 2146 | ····················continue; |
| 2181 | ················} | 2147 | ················} |
| 2182 | ················if·(wifiConfiguration.isLegacyPasspointConfig·&&·this.doesUidBelongToCurrentUser(wifiConfiguration.creatorUid))·{ | 2148 | ················if·(wifiConfiguration.isLegacyPasspointConfig·&&·!this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(wifiConfiguration.creatorUid))·{ |
| 2183 | ····················list.add(wifiConfiguration.networkId); | 2149 | ····················list.add(wifiConfiguration.networkId); |
| 2184 | ····················if·(PasspointManager.addLegacyPasspointConfig(wifiConfiguration))·{ | 2150 | ····················if·(PasspointManager.addLegacyPasspointConfig(wifiConfiguration))·{ |
| 2185 | ························continue; | 2151 | ························continue; |
| 2186 | ····················} | 2152 | ····················} |
| 2187 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 2153 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 2188 | ····················sb.append("Failed·to·migrate·legacy·Passpoint·config:·"); | 2154 | ····················sb.append("Failed·to·migrate·legacy·Passpoint·config:·"); |
| 2189 | ····················sb.append(wifiConfiguration.FQDN); | 2155 | ····················sb.append(wifiConfiguration.FQDN); |
| 2190 | ····················Log.e(s,·sb.toString()); | 2156 | ····················Log.e(s,·sb.toString()); |
| 2191 | ················} | 2157 | ················} |
| 2192 | ················else·{ | 2158 | ················else·{ |
| 2193 | ····················wifiConfiguration.isMostRecentlyConnected·=·this.mLruConnectionTracker.isMostRecentlyConnected(wifiConfiguration); | 2159 | ····················wifiConfiguration.isMostRecentlyConnected·=·this.mLruConnectionTracker.isMostRecentlyConnected(wifiConfiguration); |
| 2194 | ····················if·(!wifiConfiguration.shared·&&·this.doesUidBelongToCurrentUser(wifiConfiguration.creatorUid))·{ | 2160 | ····················if·(!wifiConfiguration.shared·&&·this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(wifiConfiguration.creatorUid))·{ |
| 2195 | ························configurations2.add(wifiConfiguration); | 2161 | ························configurations2.add(wifiConfiguration); |
| 2196 | ····················} | 2162 | ····················} |
| 2197 | ····················else·{ | 2163 | ····················else·{ |
| 2198 | ························configurations.add(wifiConfiguration); | 2164 | ························configurations.add(wifiConfiguration); |
| 2199 | ····················} | 2165 | ····················} |
| 2200 | ················} | 2166 | ················} |
| 2201 | ············} | 2167 | ············} |
| Offset 2334, 15 lines modified | Offset 2300, 15 lines modified |
| 2334 | ········final·String·s·=·"WifiConfigManager"; | 2300 | ········final·String·s·=·"WifiConfigManager"; |
| 2335 | ········if·(mVerboseLoggingEnabled)·{ | 2301 | ········if·(mVerboseLoggingEnabled)·{ |
| 2336 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 2302 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 2337 | ············sb.append("Update·network·last·connect·UID·for·"); | 2303 | ············sb.append("Update·network·last·connect·UID·for·"); |
| 2338 | ············sb.append(i); | 2304 | ············sb.append(i); |
| 2339 | ············Log.v(s,·sb.toString()); | 2305 | ············Log.v(s,·sb.toString()); |
| 2340 | ········} | 2306 | ········} |
| 2341 | ········if·(!this.doesUidBelongToCurrentUser(n))·{ | 2307 | ········if·(!this.mWifiPermissionsUtil.doesUidBelongToCurrentUser(n))·{ |
| 2342 | ············final·StringBuilder·sb2·=·new·StringBuilder(); | 2308 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| 2343 | ············sb2.append("UID·"); | 2309 | ············sb2.append("UID·"); |
| 2344 | ············sb2.append(n); | 2310 | ············sb2.append(n); |
| 2345 | ············sb2.append("·not·visible·to·the·current·user"); | 2311 | ············sb2.append("·not·visible·to·the·current·user"); |
| 2346 | ············Log.e(s,·sb2.toString()); | 2312 | ············Log.e(s,·sb2.toString()); |
| 2347 | ············return·false; | 2313 | ············return·false; |
| 2348 | ········} | 2314 | ········} |
| Offset 2386, 17 lines modified | Offset 2352, 16 lines modified |
| 2386 | ············sb.append(i); | 2352 | ············sb.append(i); |
| 2387 | ············Log.v("WifiConfigManager",·sb.toString()); | 2353 | ············Log.v("WifiConfigManager",·sb.toString()); |
| 2388 | ········} | 2354 | ········} |
| 2389 | ········final·WifiConfiguration·internalConfiguredNetwork·=·this.getInternalConfiguredNetwork(i); | 2355 | ········final·WifiConfiguration·internalConfiguredNetwork·=·this.getInternalConfiguredNetwork(i); |
| 2390 | ········if·(internalConfiguredNetwork·==·null)·{ | 2356 | ········if·(internalConfiguredNetwork·==·null)·{ |
| 2391 | ············return·false; | 2357 | ············return·false; |
| 2392 | ········} | 2358 | ········} |
| 2393 | ········final·long·wallClockMillis·=·this.mClock.getWallClockMillis(); | |
| 2394 | ········internalConfiguredNetwork.lastDisconnected·=·wallClockMillis; | 2359 | ········internalConfiguredNetwork.lastDisconnected·=·this.mClock.getWallClockMillis(); |
| 2395 | ········internalConfiguredNetwork.randomizedMacExpirationTimeMs·=·Math.max(internalConfiguredNetwork.randomizedMacExpirationTimeMs,·wallClockMillis·+·14400000L); | 2360 | ········internalConfiguredNetwork.randomizedMacExpirationTimeMs·=·Math.max(internalConfiguredNetwork.randomizedMacExpirationTimeMs,·internalConfiguredNetwork.lastDisconnected·+·14400000L); |
| 2396 | ········if·(internalConfiguredNetwork.status·==·0)·{ | 2361 | ········if·(internalConfiguredNetwork.status·==·0)·{ |
| 2397 | ············this.setNetworkStatus(internalConfiguredNetwork,·2); | 2362 | ············this.setNetworkStatus(internalConfiguredNetwork,·2); |
| 2398 | ········} | 2363 | ········} |
| 2399 | ········this.saveToStore(false); | 2364 | ········this.saveToStore(false); |
| 2400 | ········return·true; | 2365 | ········return·true; |
| 2401 | ····} | 2366 | ····} |
| 2402 | ···· | 2367 | ···· |
| Offset 2430, 22 lines modified | Offset 2395, 21 lines modified |
| 2430 | ········if·(internalConfiguredNetwork·!=·null·&&·scanDetailCacheForNetwork·!=·null)·{ | 2395 | ········if·(internalConfiguredNetwork·!=·null·&&·scanDetailCacheForNetwork·!=·null)·{ |
| 2431 | ············final·ScanDetail·scanDetail·=·scanDetailCacheForNetwork.getScanDetail(wifiInfo.getBSSID()); | 2396 | ············final·ScanDetail·scanDetail·=·scanDetailCacheForNetwork.getScanDetail(wifiInfo.getBSSID()); |
| 2432 | ············if·(scanDetail·!=·null)·{ | 2397 | ············if·(scanDetail·!=·null)·{ |
| 2433 | ················final·ScanResult·scanResult·=·scanDetail.getScanResult(); | 2398 | ················final·ScanResult·scanResult·=·scanDetail.getScanResult(); |
| 2434 | ················final·long·seen·=·scanResult.seen; | 2399 | ················final·long·seen·=·scanResult.seen; |
| 2435 | ················final·int·level·=·scanResult.level; | 2400 | ················final·int·level·=·scanResult.level; |
| 2436 | ················scanDetail.setSeen(); | 2401 | ················scanDetail.setSeen(); |
| 2437 | ················final·int·rssi·=·wifiInfo.getRssi(); | |
| 2438 | ················scanResult.level·=·rssi; | 2402 | ················scanResult.level·=·wifiInfo.getRssi(); |
| 2439 | ················final·long·n·=·40000L; | 2403 | ················final·long·n·=·40000L; |
| 2440 | ················final·long·n2·=·scanResult.seen·-·seen; | 2404 | ················final·long·n2·=·scanResult.seen·-·seen; |
| 2441 | ················final·long·n3·=·0L; | 2405 | ················final·long·n3·=·0L; |
| 2442 | ················if·(seen·>·n3·&&·n2·>·n3·&&·n2·<·20000L)·{ | 2406 | ················if·(seen·>·n3·&&·n2·>·n3·&&·n2·<·20000L)·{ |
| 2443 | ····················final·double·n4·=·0.5·-·n2·/·n; | 2407 | ····················final·double·n4·=·0.5·-·n2·/·n; |
| 2444 | ····················scanResult.level·=·(int)(rssi·*·(1.0·-·n4)·+·level·*·n4); | 2408 | ····················scanResult.level·=·(int)(scanResult.level·*·(1.0·-·n4)·+·level·*·n4); |
| 2445 | ················} | 2409 | ················} |
| 2446 | ················if·(this.mVerboseLoggingEnabled)·{ | 2410 | ················if·(this.mVerboseLoggingEnabled)·{ |
| 2447 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 2411 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 2448 | ····················sb.append("Updating·scan·detail·cache·freq="); | 2412 | ····················sb.append("Updating·scan·detail·cache·freq="); |
| 2449 | ····················sb.append(scanResult.frequency); | 2413 | ····················sb.append(scanResult.frequency); |
| 2450 | ····················sb.append("·BSSID="); | 2414 | ····················sb.append("·BSSID="); |
| 2451 | ····················sb.append(scanResult.BSSID); | 2415 | ····················sb.append(scanResult.BSSID); |