@@ -66,18 +66,32 @@ class ThreadListViewModel @Inject constructor(
66
66
}
67
67
68
68
fun checkWebViewVersion (canShowWebViewOutdated : Boolean ) {
69
- val (webViewVersionName, webViewMajorVersion) =
70
- WebViewCompat .getCurrentWebViewPackage(appContext)?.versionName?.let { versionName ->
71
- val majorVersion = runCatching { versionName.substringBefore(' .' ).toInt() }.getOrDefault(0 )
72
- versionName to majorVersion
73
- } ? : (null to 0 )
69
+ val webViewPackage = WebViewCompat .getCurrentWebViewPackage(appContext)
70
+ val webViewPackageName = webViewPackage?.packageName
74
71
75
- val badMajorVersion = webViewMajorVersion < WEBVIEW_MIN_VERSION
76
- if (badMajorVersion) SentryDebug .sendWebViewVersionName(webViewVersionName, webViewMajorVersion)
77
- isWebViewOutdated.value = canShowWebViewOutdated && badMajorVersion
72
+ val (webViewVersionName, webViewMajorVersion) = webViewPackage?.versionName?.let { versionName ->
73
+ val majorVersion = runCatching {
74
+ versionName.substringBefore(' .' ).toInt()
75
+ }.getOrDefault(defaultValue = DEFAULT_WEBVIEW_VERSION )
76
+
77
+ return @let versionName to majorVersion
78
+ } ? : (null to DEFAULT_WEBVIEW_VERSION )
79
+
80
+ val hasOutdatedMajorVersion = when (webViewPackageName) {
81
+ WEBVIEW_OFFICIAL_PACKAGE_NAME -> webViewMajorVersion < WEBVIEW_OFFICIAL_MIN_VERSION
82
+ else -> false // We'll add other package names in the future if needed here
83
+ }
84
+
85
+ // TODO: (23/07) Remove this log in a few weeks/month if we don't have any Sentry anymore
86
+ if (hasOutdatedMajorVersion) {
87
+ SentryDebug .sendWebViewVersionName(webViewPackageName, webViewVersionName, webViewMajorVersion)
88
+ }
89
+ isWebViewOutdated.value = canShowWebViewOutdated && hasOutdatedMajorVersion
78
90
}
79
91
80
92
companion object {
81
- private const val WEBVIEW_MIN_VERSION = 124
93
+ private const val WEBVIEW_OFFICIAL_PACKAGE_NAME = " com.google.android.webview"
94
+ private const val WEBVIEW_OFFICIAL_MIN_VERSION = 124
95
+ private const val DEFAULT_WEBVIEW_VERSION = 0
82
96
}
83
97
}
0 commit comments