summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-09 12:49:29 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-07-09 12:49:29 -0700
commitad921cb4a421e8caf241b977818cf0b9fd19303c (patch)
treefc6242ea5d0e091cbd7ca4062971e391b1741466
parentbda4584bf6ce5ddad0bff1b0ae32607552e0a2fc (diff)
parentc52d55c5404a09a3845a322f50577fc4c125a86d (diff)
downloadframeworks_base-ad921cb4a421e8caf241b977818cf0b9fd19303c.zip
frameworks_base-ad921cb4a421e8caf241b977818cf0b9fd19303c.tar.gz
frameworks_base-ad921cb4a421e8caf241b977818cf0b9fd19303c.tar.bz2
am c52d55c5: Merge change 6608 into donut
Merge commit 'c52d55c5404a09a3845a322f50577fc4c125a86d' * commit 'c52d55c5404a09a3845a322f50577fc4c125a86d': Move the watchdog timer to a separate thread...
-rw-r--r--packages/VpnServices/src/com/android/server/vpn/VpnService.java35
1 files changed, 21 insertions, 14 deletions
diff --git a/packages/VpnServices/src/com/android/server/vpn/VpnService.java b/packages/VpnServices/src/com/android/server/vpn/VpnService.java
index a60788a..22669d2 100644
--- a/packages/VpnServices/src/com/android/server/vpn/VpnService.java
+++ b/packages/VpnServices/src/com/android/server/vpn/VpnService.java
@@ -189,7 +189,7 @@ abstract class VpnService<E extends VpnProfile> {
mServiceHelper.stop();
} catch (Throwable e) {
- Log.e(TAG, "onError()", e);
+ Log.e(TAG, "onDisconnect()", e);
onFinalCleanUp();
}
}
@@ -219,21 +219,28 @@ abstract class VpnService<E extends VpnProfile> {
}
private void waitUntilConnectedOrTimedout() {
- sleep(2000); // 2 seconds
- for (int i = 0; i < 60; i++) {
- if (VPN_IS_UP.equals(SystemProperties.get(VPN_UP))) {
- onConnected();
- return;
- }
- sleep(500); // 0.5 second
- }
+ // Run this in the background thread to not block UI
+ new Thread(new Runnable() {
+ public void run() {
+ sleep(2000); // 2 seconds
+ for (int i = 0; i < 60; i++) {
+ if (VPN_IS_UP.equals(SystemProperties.get(VPN_UP))) {
+ onConnected();
+ return;
+ } else if (mState != VpnState.CONNECTING) {
+ break;
+ }
+ sleep(500); // 0.5 second
+ }
- synchronized (this) {
- if (mState == VpnState.CONNECTING) {
- Log.d(TAG, " connecting timed out !!");
- onError();
+ synchronized (VpnService.this) {
+ if (mState == VpnState.CONNECTING) {
+ Log.d(TAG, " connecting timed out !!");
+ onError();
+ }
+ }
}
- }
+ }).start();
}
private synchronized void onConnected() {