From 2b862e5e75ad419f17a4cea185b9349e0da70e7b Mon Sep 17 00:00:00 2001 From: Vinit Deshapnde Date: Wed, 2 Oct 2013 11:50:39 -0700 Subject: [PATCH] Fix incorrect VPN time First, startTime's default value is -1 and not 0, so use it to test if the startTime is set. Also, startTime isn't being set when connecting legacy VPN; this change fixes that too. Bug: 10985174 Change-Id: Ibf52b8f489b18c96efba501b76aa73e9a9e0e3e8 --- .../VpnDialogs/src/com/android/vpndialogs/ManageDialog.java | 2 +- services/java/com/android/server/connectivity/Vpn.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java index 42b8cce05d6ab..3d5654a56b9e2 100644 --- a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java +++ b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java @@ -147,7 +147,7 @@ public class ManageDialog extends AlertActivity implements mHandler.removeMessages(0); if (!isFinishing()) { - if (mConfig.startTime != 0) { + if (mConfig.startTime != -1) { long seconds = (SystemClock.elapsedRealtime() - mConfig.startTime) / 1000; mDuration.setText(String.format("%02d:%02d:%02d", seconds / 3600, seconds / 60 % 60, seconds % 60)); diff --git a/services/java/com/android/server/connectivity/Vpn.java b/services/java/com/android/server/connectivity/Vpn.java index 8cc5b4f69cd98..45797b2e4d969 100644 --- a/services/java/com/android/server/connectivity/Vpn.java +++ b/services/java/com/android/server/connectivity/Vpn.java @@ -1096,6 +1096,9 @@ public class Vpn extends BaseNetworkStateTracker { // Here is the last step and it must be done synchronously. synchronized (Vpn.this) { + // Set the start time + mConfig.startTime = SystemClock.elapsedRealtime(); + // Check if the thread is interrupted while we are waiting. checkpoint(false);