From a6d10d57e88ccdc334f23b329820978d0b14b2af Mon Sep 17 00:00:00 2001 From: MCleinman <9295855+mcleinman@users.noreply.github.com> Date: Mon, 3 Feb 2025 08:45:27 -0800 Subject: [PATCH] VPN-6710 fix Android time (#10242) --- .../main/java/org/mozilla/firefox/vpn/daemon/VPNService.kt | 5 ++++- src/controller.cpp | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/android/daemon/src/main/java/org/mozilla/firefox/vpn/daemon/VPNService.kt b/android/daemon/src/main/java/org/mozilla/firefox/vpn/daemon/VPNService.kt index 82443a320e..9387c2cac0 100644 --- a/android/daemon/src/main/java/org/mozilla/firefox/vpn/daemon/VPNService.kt +++ b/android/daemon/src/main/java/org/mozilla/firefox/vpn/daemon/VPNService.kt @@ -108,7 +108,10 @@ class VPNService : android.net.VpnService() { set(value: Int) { field = value if (value > -1) { - mConnectionTime = System.currentTimeMillis() + if (!isAppChangingServers) { + // Don't reset the timer on a server switch + mConnectionTime = System.currentTimeMillis() + } Log.i(tag, "Dispatch Daemon State -> connected") mBinder.dispatchEvent( CoreBinder.EVENTS.connected, diff --git a/src/controller.cpp b/src/controller.cpp index 53debd0191..d79e3bef84 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1048,7 +1048,9 @@ bool Controller::activate(const ServerData& serverData, // https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9639, and caused // a bug on iOS where server switches stopped working. See more details in // VPN-6495. -#ifndef MZ_IOS + // On Android, we need to skip this so that the client knows it is a + // server switch when appropriate. +#ifndef MZ_MOBILE if (initiator != ExtensionUser) { setState(StateConnecting); }