From 9b7fda539c6d1c323a7cd5542767c4c492e628c8 Mon Sep 17 00:00:00 2001 From: Aitor Viana Date: Sat, 11 Nov 2023 09:48:54 +0000 Subject: [PATCH] Retry notifyVpnStart to allow value propagation (#3847) Task/Issue URL: https://app.asana.com/0/488551667048375/1205911542931688/f ### Description See [asana](https://app.asana.com/0/488551667048375/1205911542931688/f) for better explanation ### Steps to test this PR Smoke test AppTP/VPN enable/disable and general functionality --- .../vpn/service/TrackerBlockingVpnService.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/service/TrackerBlockingVpnService.kt b/app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/service/TrackerBlockingVpnService.kt index dee49845fb8f..55315fc0f444 100644 --- a/app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/service/TrackerBlockingVpnService.kt +++ b/app-tracking-protection/vpn-impl/src/main/java/com/duckduckgo/mobile/android/vpn/service/TrackerBlockingVpnService.kt @@ -610,9 +610,17 @@ class TrackerBlockingVpnService : VpnService(), CoroutineScope by MainScope(), V */ private fun notifyVpnStart(): Boolean { val emptyNotification = VpnEnabledNotificationContentPlugin.VpnEnabledNotificationContent.EMPTY - val vpnNotification: VpnEnabledNotificationContentPlugin.VpnEnabledNotificationContent = - vpnEnabledNotificationContentPluginPoint.getHighestPriorityPlugin()?.getInitialContent() - ?: emptyNotification + var vpnNotification: VpnEnabledNotificationContentPlugin.VpnEnabledNotificationContent = emptyNotification + for (retries in 1..20) { + vpnNotification = + vpnEnabledNotificationContentPluginPoint.getHighestPriorityPlugin()?.getInitialContent() + ?: emptyNotification + + if (vpnNotification != emptyNotification) { + logcat { "Notification in retry: $retries" } + break + } + } startForeground( VPN_FOREGROUND_SERVICE_ID,