aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml1
-rw-r--r--src/org/connectbot/service/TerminalManager.java9
2 files changed, 8 insertions, 2 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ba8d5a1..374c452 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -44,6 +44,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
diff --git a/src/org/connectbot/service/TerminalManager.java b/src/org/connectbot/service/TerminalManager.java
index 92b97b4..298f179 100644
--- a/src/org/connectbot/service/TerminalManager.java
+++ b/src/org/connectbot/service/TerminalManager.java
@@ -36,6 +36,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
import android.net.Uri;
import android.net.wifi.WifiManager;
import android.os.Binder;
@@ -71,6 +73,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
protected SharedPreferences prefs;
private String pref_emulation, pref_scrollback, pref_keymode, pref_memkeys, pref_wifilock;
+ private ConnectivityManager connectivityManager;
private WifiManager.WifiLock wifilock;
@Override
@@ -104,6 +107,8 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
}
}
+ connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
+
WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifilock = manager.createWifiLock(TAG);
}
@@ -145,7 +150,8 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
bridges.add(bridge);
// Add a reference to the WifiLock
- if (isLockingWifi()) {
+ NetworkInfo info = connectivityManager.getActiveNetworkInfo();
+ if (isLockingWifi() && info.getType() == ConnectivityManager.TYPE_WIFI) {
Log.d(TAG, "Acquiring WifiLock");
wifilock.acquire();
}
@@ -281,5 +287,4 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
Log.i(TAG, "Someone bound to TerminalManager");
return binder;
}
-
}