From 42317137d8c9bda389c7bd6cf7d5378d60b3bdc0 Mon Sep 17 00:00:00 2001 From: Kai Shi Date: Fri, 28 Aug 2020 18:03:41 -0700 Subject: wifi: get the correct mainline version when wifi is disabled update getWifiStackVersion() to return the correct mainline version even when wifi is disabled. Bug: 166835054 Test: atest com.android.server.wifi Test: manual test to confirm post-boot detection can detect SW version change correctly Change-Id: I3eb878145a761452ddcfdd0b5c424e78212fc799 Merged-In: I3eb878145a761452ddcfdd0b5c424e78212fc799 --- .../com/android/server/wifi/WifiHealthMonitor.java | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'service') diff --git a/service/java/com/android/server/wifi/WifiHealthMonitor.java b/service/java/com/android/server/wifi/WifiHealthMonitor.java index 7b68ffce8..b21ea516d 100644 --- a/service/java/com/android/server/wifi/WifiHealthMonitor.java +++ b/service/java/com/android/server/wifi/WifiHealthMonitor.java @@ -330,8 +330,20 @@ public class WifiHealthMonitor { * @Return a non-zero value if version code is available, 0 otherwise. */ public long getWifiStackVersion() { - WifiSoftwareBuildInfo currentBuild = getWifiSystemInfoStats().getCurrSoftwareBuildInfo(); - return (currentBuild == null) ? 0 : currentBuild.getWifiStackVersion(); + PackageManager packageManager = mContext.getPackageManager(); + long wifiStackVersion = 0; + try { + ModuleInfo wifiModule = packageManager.getModuleInfo( + WIFI_APEX_NAME, PackageManager.MODULE_APEX_NAME); + String wifiPackageName = wifiModule.getPackageName(); + if (wifiPackageName != null) { + wifiStackVersion = packageManager.getPackageInfo( + wifiPackageName, PackageManager.MATCH_APEX).getLongVersionCode(); + } + } catch (PackageManager.NameNotFoundException e) { + Log.e(TAG, " Hit PackageManager exception", e); + } + return wifiStackVersion; } private synchronized void dailyDetectionHandler() { @@ -540,19 +552,7 @@ public class WifiHealthMonitor { if (!mWifiEnabled) { return null; } - PackageManager packageManager = mContext.getPackageManager(); - long wifiStackVersion = 0; - try { - ModuleInfo wifiModule = packageManager.getModuleInfo( - WIFI_APEX_NAME, PackageManager.MODULE_APEX_NAME); - String wifiPackageName = wifiModule.getPackageName(); - if (wifiPackageName != null) { - wifiStackVersion = packageManager.getPackageInfo( - wifiPackageName, PackageManager.MATCH_APEX).getLongVersionCode(); - } - } catch (PackageManager.NameNotFoundException e) { - Log.e(TAG, " Hit PackageManager exception", e); - } + long wifiStackVersion = getWifiStackVersion(); String osBuildVersion = replaceNullByEmptyString(Build.DISPLAY); if (mWifiNative == null) { return null; -- cgit v1.2.3