Wifi only preference
This commit is contained in:
parent
f7d7660662
commit
367ff82a6e
5 changed files with 25 additions and 3 deletions
|
@ -41,6 +41,8 @@
|
|||
<string name="pref_debug_key">pref_debug_key</string>
|
||||
<string name="first_launch_suceeded_once_key">first_launch_suceeded_once_key</string>
|
||||
|
||||
<string name="pref_wifi_only_key">pref_wifi_only_key</string>
|
||||
|
||||
<string name="pref_video_use_front_camera_key">pref_video_use_front_camera_key</string>
|
||||
<string name="pref_video_codec_h263_key">pref_video_codec_h263_key</string>
|
||||
<string name="pref_video_codec_mpeg4_key">pref_video_codec_mpeg4_key</string>
|
||||
|
|
|
@ -235,6 +235,8 @@
|
|||
<string name="pref_default_account">pref_default_account</string>
|
||||
<string name="pref_sipaccounts">SIP Accounts</string>
|
||||
|
||||
<string name="pref_wifi_only">Use wifi only</string>
|
||||
|
||||
<string name="wizard_username_hint">Username</string>
|
||||
<string name="wizard_password_hint">Password</string>
|
||||
<string name="wizard_password_confirm_hint">Confirmation</string>
|
||||
|
|
|
@ -175,6 +175,9 @@
|
|||
android:title="@string/pref_transport_tls" />
|
||||
<CheckBoxPreference android:key="@string/pref_transport_use_standard_ports_key"
|
||||
android:title="@string/pref_transport_use_standard_ports"/>
|
||||
|
||||
<CheckBoxPreference android:key="@string/pref_wifi_only_key"
|
||||
android:title="@string/pref_wifi_only"/>
|
||||
</PreferenceScreen>
|
||||
<ListPreference android:title="@string/pref_media_encryption"
|
||||
android:key="@string/pref_media_encryption_key"
|
||||
|
|
|
@ -855,8 +855,15 @@ public final class LinphoneManager implements LinphoneCoreListener {
|
|||
mLc.setNetworkReachable(false);
|
||||
} else if (eventInfo.getState() == NetworkInfo.State.CONNECTED){
|
||||
manageTunnelServer(activeInfo);
|
||||
Log.i(eventInfo.getTypeName()," connected: setting network reachable");
|
||||
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(mServiceContext);
|
||||
boolean wifiOnly = pref.getBoolean(getString(R.string.pref_wifi_only_key), false);
|
||||
if (eventInfo.getTypeName().equals("WIFI") || (eventInfo.getTypeName().equals("mobile") && !wifiOnly)) {
|
||||
mLc.setNetworkReachable(true);
|
||||
Log.i(eventInfo.getTypeName()," connected: setting network reachable");
|
||||
} else {
|
||||
mLc.setNetworkReachable(false);
|
||||
Log.i(eventInfo.getTypeName()," connected: wifi only activated, setting network unreachable");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,8 +23,10 @@ import org.linphone.core.Log;
|
|||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
|
||||
|
||||
|
@ -52,7 +54,13 @@ public class NetworkManager extends BroadcastReceiver {
|
|||
if (lNoConnectivity | ((lNetworkInfo.getState() == NetworkInfo.State.DISCONNECTED) /*&& !lIsFailOver*/)) {
|
||||
LinphoneManager.getLc().setNetworkReachable(false);
|
||||
} else if (lNetworkInfo.getState() == NetworkInfo.State.CONNECTED){
|
||||
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean wifiOnly = pref.getBoolean(context.getString(R.string.pref_wifi_only_key), false);
|
||||
if (lNetworkInfo.getTypeName().equals("WIFI") || (lNetworkInfo.getTypeName().equals("mobile") && !wifiOnly)) {
|
||||
LinphoneManager.getLc().setNetworkReachable(true);
|
||||
} else {
|
||||
LinphoneManager.getLc().setNetworkReachable(false);
|
||||
}
|
||||
} else {
|
||||
// Other unhandled events
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue