Hide advanced settings unless user wants them
This commit is contained in:
parent
8082598bdf
commit
480d6fc376
3 changed files with 42 additions and 4 deletions
4
res/layout/visible.xml
Normal file
4
res/layout/visible.xml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="fill_parent" android:layout_height="fill_parent" android:visibility="visible">
|
||||||
|
</LinearLayout>
|
|
@ -44,7 +44,8 @@
|
||||||
<string name="first_launch_suceeded_once_key">first_launch_suceeded_once_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_wifi_only_key">pref_wifi_only_key</string>
|
||||||
|
<string name="pref_advanced_key">pref_advanced_key</string>
|
||||||
|
|
||||||
<string name="pref_video_use_front_camera_key">pref_video_use_front_camera_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_h263_key">pref_video_codec_h263_key</string>
|
||||||
<string name="pref_video_codec_mpeg4_key">pref_video_codec_mpeg4_key</string>
|
<string name="pref_video_codec_mpeg4_key">pref_video_codec_mpeg4_key</string>
|
||||||
|
|
|
@ -23,6 +23,7 @@ import android.os.Bundle;
|
||||||
import android.preference.CheckBoxPreference;
|
import android.preference.CheckBoxPreference;
|
||||||
import android.preference.EditTextPreference;
|
import android.preference.EditTextPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.preference.Preference.OnPreferenceClickListener;
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
import android.preference.PreferenceCategory;
|
import android.preference.PreferenceCategory;
|
||||||
|
@ -65,24 +66,34 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity {
|
||||||
domain.setPersistent(true);
|
domain.setPersistent(true);
|
||||||
domain.setKey(getString(R.string.pref_domain_key) + getAccountNumber(n));
|
domain.setKey(getString(R.string.pref_domain_key) + getAccountNumber(n));
|
||||||
|
|
||||||
EditTextPreference proxy = new EditTextPreference(this);
|
CheckBoxPreference advanced = new CheckBoxPreference(this);
|
||||||
|
advanced.setTitle(getString(R.string.pref_advanced));
|
||||||
|
advanced.setTitle(getString(R.string.pref_advanced_key));
|
||||||
|
advanced.setDefaultValue(false);
|
||||||
|
domain.setPersistent(true);
|
||||||
|
|
||||||
|
final EditTextPreference proxy = new EditTextPreference(this);
|
||||||
proxy.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
|
proxy.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
|
||||||
proxy.setTitle(getString(R.string.pref_proxy));
|
proxy.setTitle(getString(R.string.pref_proxy));
|
||||||
proxy.setPersistent(true);
|
proxy.setPersistent(true);
|
||||||
proxy.setKey(getString(R.string.pref_proxy_key) + getAccountNumber(n));
|
proxy.setKey(getString(R.string.pref_proxy_key) + getAccountNumber(n));
|
||||||
|
proxy.setLayoutResource(R.layout.hidden);
|
||||||
|
|
||||||
CheckBoxPreference outboundProxy = new CheckBoxPreference(this);
|
final CheckBoxPreference outboundProxy = new CheckBoxPreference(this);
|
||||||
outboundProxy.setTitle(getString(R.string.pref_enable_outbound_proxy));
|
outboundProxy.setTitle(getString(R.string.pref_enable_outbound_proxy));
|
||||||
outboundProxy.setPersistent(true);
|
outboundProxy.setPersistent(true);
|
||||||
outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(n));
|
outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(n));
|
||||||
|
outboundProxy.setLayoutResource(R.layout.hidden);
|
||||||
|
|
||||||
final CheckBoxPreference disable = new CheckBoxPreference(this);
|
final CheckBoxPreference disable = new CheckBoxPreference(this);
|
||||||
disable.setTitle(getString(R.string.pref_disable_account));
|
disable.setTitle(getString(R.string.pref_disable_account));
|
||||||
disable.setPersistent(true);
|
disable.setPersistent(true);
|
||||||
disable.setKey(getString(R.string.pref_disable_account_key) + getAccountNumber(n));
|
disable.setKey(getString(R.string.pref_disable_account_key) + getAccountNumber(n));
|
||||||
|
disable.setLayoutResource(R.layout.hidden);
|
||||||
|
|
||||||
final Preference delete = new Preference(this);
|
final Preference delete = new Preference(this);
|
||||||
delete.setTitle(R.string.pref_delete_account);
|
delete.setTitle(R.string.pref_delete_account);
|
||||||
|
delete.setLayoutResource(R.layout.hidden);
|
||||||
delete.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
delete.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
int nbAccounts = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
|
int nbAccounts = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
|
||||||
|
@ -117,7 +128,8 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
CheckBoxPreference mainAccount = new CheckBoxPreference(this);
|
final CheckBoxPreference mainAccount = new CheckBoxPreference(this);
|
||||||
|
mainAccount.setLayoutResource(R.layout.hidden);
|
||||||
mainAccount.setTitle(R.string.pref_default_account_title);
|
mainAccount.setTitle(R.string.pref_default_account_title);
|
||||||
mainAccount.setOnPreferenceClickListener(new OnPreferenceClickListener()
|
mainAccount.setOnPreferenceClickListener(new OnPreferenceClickListener()
|
||||||
{
|
{
|
||||||
|
@ -139,10 +151,31 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity {
|
||||||
delete.setEnabled(prefs.getInt(getString(R.string.pref_default_account), 0) != n);
|
delete.setEnabled(prefs.getInt(getString(R.string.pref_default_account), 0) != n);
|
||||||
disable.setEnabled(prefs.getInt(getString(R.string.pref_default_account), 0) != n);
|
disable.setEnabled(prefs.getInt(getString(R.string.pref_default_account), 0) != n);
|
||||||
|
|
||||||
|
advanced.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
|
public boolean onPreferenceChange(Preference p, Object value) {
|
||||||
|
boolean activated = (Boolean) value;
|
||||||
|
if (activated) {
|
||||||
|
proxy.setLayoutResource(R.layout.visible);
|
||||||
|
outboundProxy.setLayoutResource(R.layout.visible);
|
||||||
|
disable.setLayoutResource(R.layout.visible);
|
||||||
|
delete.setLayoutResource(R.layout.visible);
|
||||||
|
mainAccount.setLayoutResource(R.layout.visible);
|
||||||
|
} else {
|
||||||
|
proxy.setLayoutResource(R.layout.hidden);
|
||||||
|
outboundProxy.setLayoutResource(R.layout.hidden);
|
||||||
|
disable.setLayoutResource(R.layout.hidden);
|
||||||
|
delete.setLayoutResource(R.layout.hidden);
|
||||||
|
mainAccount.setLayoutResource(R.layout.hidden);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
parent.addPreference(category);
|
parent.addPreference(category);
|
||||||
category.addPreference(username);
|
category.addPreference(username);
|
||||||
category.addPreference(password);
|
category.addPreference(password);
|
||||||
category.addPreference(domain);
|
category.addPreference(domain);
|
||||||
|
category.addPreference(advanced);
|
||||||
category.addPreference(proxy);
|
category.addPreference(proxy);
|
||||||
category.addPreference(outboundProxy);
|
category.addPreference(outboundProxy);
|
||||||
category.addPreference(disable);
|
category.addPreference(disable);
|
||||||
|
|
Loading…
Reference in a new issue