diff options
-rw-r--r-- | AndroidManifest.xml | 1 | ||||
-rw-r--r-- | src/org/connectbot/service/TerminalManager.java | 9 |
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; } - } |