More settings working (accounts and network mostly)
This commit is contained in:
parent
6eb333bcf6
commit
cbb8641c91
5 changed files with 261 additions and 83 deletions
|
@ -18,10 +18,10 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
import org.linphone.compatibility.Compatibility;
|
||||
import org.linphone.ui.PreferencesListFragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.Preference.OnPreferenceChangeListener;
|
||||
|
@ -103,8 +103,16 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
return true;
|
||||
}
|
||||
};
|
||||
OnPreferenceChangeListener deleteChangedListener = new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
private void manageAccountPreferencesFields(PreferenceScreen parent) {
|
||||
boolean isDefaultAccount = LinphonePreferences.instance().getDefaultAccountIndex() == n;
|
||||
|
||||
PreferenceCategory account = (PreferenceCategory) getPreferenceScreen().getPreference(0);
|
||||
EditTextPreference username = (EditTextPreference) account.getPreference(0);
|
||||
username.setText(LinphonePreferences.instance().getAccountUsername(n));
|
||||
|
@ -136,13 +144,14 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
proxy.setOnPreferenceChangeListener(proxyChangedListener);
|
||||
proxy.setSummary("".equals(proxy.getText()) || (proxy.getText() == null) ? getString(R.string.pref_help_proxy) : proxy.getText());
|
||||
|
||||
Preference outboundProxy = advanced.getPreference(1);
|
||||
Compatibility.setPreferenceChecked(outboundProxy, LinphonePreferences.instance().isAccountOutboundProxySet(n));
|
||||
CheckBoxPreference outboundProxy = (CheckBoxPreference) advanced.getPreference(1);
|
||||
outboundProxy.setChecked(LinphonePreferences.instance().isAccountOutboundProxySet(n));
|
||||
outboundProxy.setOnPreferenceChangeListener(outboundProxyChangedListener);
|
||||
|
||||
final Preference disable = advanced.getPreference(2);
|
||||
final CheckBoxPreference disable = (CheckBoxPreference) advanced.getPreference(2);
|
||||
disable.setEnabled(true);
|
||||
Compatibility.setPreferenceChecked(disable, !LinphonePreferences.instance().isAccountEnabled(n));
|
||||
disable.setChecked(!LinphonePreferences.instance().isAccountEnabled(n));
|
||||
disable.setOnPreferenceChangeListener(disableChangedListener);
|
||||
|
||||
final Preference delete = advanced.getPreference(4);
|
||||
delete.setEnabled(true);
|
||||
|
@ -154,15 +163,15 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
}
|
||||
});
|
||||
|
||||
Preference mainAccount = advanced.getPreference(3);
|
||||
Compatibility.setPreferenceChecked(mainAccount, LinphonePreferences.instance().getDefaultAccountIndex() == n);
|
||||
mainAccount.setEnabled(!Compatibility.isPreferenceChecked(mainAccount));
|
||||
CheckBoxPreference mainAccount = (CheckBoxPreference) advanced.getPreference(3);
|
||||
mainAccount.setChecked(isDefaultAccount);
|
||||
mainAccount.setEnabled(!mainAccount.isChecked());
|
||||
mainAccount.setOnPreferenceClickListener(new OnPreferenceClickListener()
|
||||
{
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
LinphonePreferences.instance().setDefaultAccount(n);
|
||||
disable.setEnabled(false);
|
||||
Compatibility.setPreferenceChecked(disable, false);
|
||||
disable.setChecked(false);
|
||||
preference.setEnabled(false);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -600,7 +600,6 @@ public class LinphoneManager implements LinphoneCoreListener {
|
|||
|
||||
private void copyIfNotExist(int ressourceId,String target) throws IOException {
|
||||
File lFileToCopy = new File(target);
|
||||
Log.w("File " + target + " exists ? " + lFileToCopy.exists());
|
||||
if (!lFileToCopy.exists()) {
|
||||
copyFromPackage(ressourceId,lFileToCopy.getName());
|
||||
}
|
||||
|
|
|
@ -60,14 +60,15 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public boolean isFirstLaunch() {
|
||||
return false;
|
||||
return getLc().getConfig().getBool("app", "first_launch", true);
|
||||
}
|
||||
|
||||
public void firstLaunchSuccessful() {
|
||||
getLc().getConfig().setBool("app", "first_launch", false);
|
||||
}
|
||||
|
||||
public boolean isDebugEnabled() {
|
||||
return true;
|
||||
return true; //TODO
|
||||
}
|
||||
|
||||
public void setRemoteProvisioningUrl(String url) {
|
||||
|
@ -79,31 +80,31 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public String getTunnelMode() {
|
||||
return null;
|
||||
return null; //TODO
|
||||
}
|
||||
|
||||
public boolean useFrontCam() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean isVideoEnabled() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean shouldInitiateVideoCall() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean shouldAutomaticallyAcceptVideoRequests() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public void setPushNotificationRegistrationID(String regId) {
|
||||
|
||||
//TODO
|
||||
}
|
||||
|
||||
public String getPushNotificationRegistrationID() {
|
||||
return null;
|
||||
return null; //TODO
|
||||
}
|
||||
|
||||
public boolean isAutoStartEnabled() {
|
||||
|
@ -123,35 +124,35 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public boolean shouldUseLinphoneToStoreChatHistory() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean areAnimationsEnabled() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean shouldAutomaticallyAcceptFriendsRequests() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean isBackgroundModeEnabled() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean shouldOnlyRegisterOnWifiNetwork() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public boolean shouldUseSoftvolume() {
|
||||
return false;
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public String getRingtone(String defaultRingtone) {
|
||||
return defaultRingtone;
|
||||
return defaultRingtone; //TODO
|
||||
}
|
||||
|
||||
public void setRingtone(String ringtone) {
|
||||
|
||||
//TODO
|
||||
}
|
||||
|
||||
// Accounts
|
||||
|
@ -177,7 +178,7 @@ public class LinphonePreferences {
|
|||
private boolean tempOutboundProxy;
|
||||
|
||||
/**
|
||||
* Saves a created account or an edited account
|
||||
* Creates a new account using values previously set using setNew* functions
|
||||
* @throws LinphoneCoreException
|
||||
*/
|
||||
public void saveNewAccount() throws LinphoneCoreException {
|
||||
|
@ -208,7 +209,7 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public void setAccountUsername(int n, String username) {
|
||||
|
||||
getAuthInfo(n).setUsername(username);
|
||||
}
|
||||
|
||||
public String getAccountUsername(int n) {
|
||||
|
@ -220,7 +221,7 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public void setAccountUserId(int n, String userId) {
|
||||
|
||||
getAuthInfo(n).setUserId(userId);
|
||||
}
|
||||
|
||||
public String getAccountUserId(int n) {
|
||||
|
@ -232,7 +233,7 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public void setAccountPassword(int n, String password) {
|
||||
|
||||
getAuthInfo(n).setPassword(password);
|
||||
}
|
||||
|
||||
public String getAccountPassword(int n) {
|
||||
|
@ -244,7 +245,7 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public void setAccountDomain(int n, String domain) {
|
||||
|
||||
//TODO
|
||||
}
|
||||
|
||||
public String getAccountDomain(int n) {
|
||||
|
@ -256,7 +257,7 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public void setAccountProxy(int n, String proxy) {
|
||||
|
||||
//TODO
|
||||
}
|
||||
|
||||
public String getAccountProxy(int n) {
|
||||
|
@ -268,17 +269,13 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public void setAccountOutboundProxyEnabled(int n, boolean enabled) {
|
||||
|
||||
//TODO
|
||||
}
|
||||
|
||||
public boolean isAccountOutboundProxySet(int n) {
|
||||
return getProxyConfig(n).getRoute() != null;
|
||||
}
|
||||
|
||||
public void setAccountEnabled(int n, Boolean enabled) {
|
||||
|
||||
}
|
||||
|
||||
public void setDefaultAccount(int accountIndex) {
|
||||
LinphoneProxyConfig[] prxCfgs = getLc().getProxyConfigList();
|
||||
if (accountIndex >= 0 && accountIndex < prxCfgs.length)
|
||||
|
@ -289,23 +286,33 @@ public class LinphonePreferences {
|
|||
LinphoneProxyConfig defaultPrxCfg = getLc().getDefaultProxyConfig();
|
||||
LinphoneProxyConfig[] prxCfgs = getLc().getProxyConfigList();
|
||||
for (int i = 0; i < prxCfgs.length; i++) {
|
||||
if (defaultPrxCfg.equals(prxCfgs[i])) {
|
||||
if (defaultPrxCfg.getIdentity().equals(prxCfgs[i].getIdentity())) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getAccountCount() {
|
||||
return getLc().getProxyConfigList().length;
|
||||
}
|
||||
|
||||
public void setAccountEnabled(int n, boolean disabled) {
|
||||
LinphoneProxyConfig prxCfg = getProxyConfig(n);
|
||||
try {
|
||||
prxCfg.enableRegister(!disabled);
|
||||
prxCfg.done();
|
||||
} catch (LinphoneCoreException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAccountEnabled(int n) {
|
||||
return false;
|
||||
return getProxyConfig(n).registerEnabled();
|
||||
}
|
||||
|
||||
public void deleteAccount(int n) {
|
||||
|
||||
//TODO
|
||||
}
|
||||
// End of Accounts
|
||||
|
||||
|
@ -372,11 +379,11 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public String getExpire() {
|
||||
return null;
|
||||
return null; //TODO
|
||||
}
|
||||
|
||||
public void setExpire(String expire) {
|
||||
|
||||
//TODO
|
||||
}
|
||||
|
||||
public String getSipPortIfNotRandom() {
|
||||
|
@ -405,11 +412,51 @@ public class LinphonePreferences {
|
|||
getLc().setSignalingTransportPorts(transports);
|
||||
}
|
||||
|
||||
public void setIceEnabled(boolean b) {
|
||||
public void setIceEnabled(boolean enabled) {
|
||||
//TODO
|
||||
}
|
||||
|
||||
public boolean isIceEnabled() {
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public void setUpnpEnabled(boolean enabled) {
|
||||
//TODO
|
||||
}
|
||||
|
||||
public boolean isUpnpEnabled() {
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public void setPushNotificationEnabled(boolean b) {
|
||||
//TODO
|
||||
}
|
||||
|
||||
public boolean isPushNotificationEnabled() {
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public void useRandomPort(boolean enabled) {
|
||||
//TODO
|
||||
}
|
||||
|
||||
public boolean isUsingRandomPort() {
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public void useIpv6(Boolean newValue) {
|
||||
//TODO
|
||||
}
|
||||
|
||||
public boolean isUsingIpv6() {
|
||||
return false; //TODO
|
||||
}
|
||||
|
||||
public void setWifiOnlyEnabled(Boolean newValue) {
|
||||
//TODO
|
||||
}
|
||||
|
||||
public boolean isWifiOnlyEnabled() {
|
||||
return false; //TODO
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,11 +46,10 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
// Inits the values or the listener on some settings
|
||||
private void initSettings() {
|
||||
//initAccounts(); Init accounts on Resume instead of on Create to update the account list when coming back from wizard
|
||||
initMediaEncryptionPreference((ListPreference) findPreference(getString(R.string.pref_media_encryption_key)));
|
||||
initializeTransportPreferences((ListPreference) findPreference(getString(R.string.pref_transport_key)));
|
||||
|
||||
initNetworkSettings();
|
||||
initializePreferredVideoSizePreferences((ListPreference) findPreference(getString(R.string.pref_preferred_video_size_key)));
|
||||
|
||||
findPreference(getString(R.string.pref_stun_server_key)).setSummary(mPrefs.getStunServer());
|
||||
findPreference(getString(R.string.pref_image_sharing_server_key)).setSummary(mPrefs.getSharingPictureServerUrl());
|
||||
findPreference(getString(R.string.pref_remote_provisioning_key)).setSummary(mPrefs.getRemoteProvisioningUrl());
|
||||
findPreference(getString(R.string.pref_expire_key)).setSummary(mPrefs.getExpire());
|
||||
|
@ -75,11 +74,6 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
}
|
||||
});
|
||||
|
||||
// Disable sip port choice if port is random
|
||||
Preference sipPort = findPreference(getString(R.string.pref_sip_port_key));
|
||||
sipPort.setEnabled(!((CheckBoxPreference)findPreference(getString(R.string.pref_transport_use_random_ports_key))).isChecked());
|
||||
sipPort.setSummary(mPrefs.getSipPortIfNotRandom());
|
||||
|
||||
if (getResources().getBoolean(R.bool.disable_all_patented_codecs_for_markets)) {
|
||||
Preference prefH264 = findPreference(getString(R.string.pref_video_codec_h264_key));
|
||||
prefH264.setEnabled(false);
|
||||
|
@ -101,22 +95,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
|
||||
// Sets listener for each preference to update the matching value in linphonecore
|
||||
private void setListeners() {
|
||||
findPreference(getString(R.string.pref_stun_server_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setStunServer(newValue.toString());
|
||||
preference.setSummary(newValue.toString());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
findPreference(getString(R.string.pref_transport_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setTransport(newValue.toString());
|
||||
preference.setSummary(mPrefs.getTransport());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
setNetworkPreferencesListener();
|
||||
}
|
||||
|
||||
// Read the values set in resources and hides the settings accordingly
|
||||
|
@ -231,6 +210,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
accounts.removeAll();
|
||||
|
||||
// Get already configured extra accounts
|
||||
int defaultAccountID = mPrefs.getDefaultAccountIndex();
|
||||
int nbAccounts = mPrefs.getAccountCount();
|
||||
for (int i = 0; i < nbAccounts; i++) {
|
||||
final int accountId = i;
|
||||
|
@ -245,6 +225,10 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
account.setTitle(username + "@" + domain);
|
||||
}
|
||||
|
||||
if (defaultAccountID == i) {
|
||||
account.setSummary(R.string.pref_default_account);
|
||||
}
|
||||
|
||||
account.setOnPreferenceClickListener(new OnPreferenceClickListener()
|
||||
{
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
|
@ -284,7 +268,15 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
setListPreferenceValues(pref, entries, values);
|
||||
}
|
||||
|
||||
pref.setSummary(mPrefs.getMediaEncryption().toString());
|
||||
MediaEncryption value = mPrefs.getMediaEncryption();
|
||||
pref.setSummary(value.toString());
|
||||
|
||||
String key = getString(R.string.pref_media_encryption_key_none);
|
||||
if (value.toString().equals(getString(R.string.media_encryption_srtp)))
|
||||
key = getString(R.string.pref_media_encryption_key_srtp);
|
||||
else if (value.toString().equals(getString(R.string.media_encryption_zrtp)))
|
||||
key = getString(R.string.pref_media_encryption_key_zrtp);
|
||||
pref.setDefaultValue(key);
|
||||
}
|
||||
|
||||
private void initializeTransportPreferences(ListPreference pref) {
|
||||
|
@ -300,7 +292,14 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
values.add(getString(R.string.pref_transport_tls_key));
|
||||
}
|
||||
setListPreferenceValues(pref, entries, values);
|
||||
pref.setSummary(mPrefs.getTransport());
|
||||
String value = mPrefs.getTransport();
|
||||
pref.setSummary(value);
|
||||
String key = getString(R.string.pref_transport_udp_key);
|
||||
if (value.equals(getString(R.string.pref_transport_tcp)))
|
||||
key = getString(R.string.pref_transport_tcp_key);
|
||||
else if (value.equals(getString(R.string.pref_transport_tls)))
|
||||
key = getString(R.string.pref_transport_tls_key);
|
||||
pref.setDefaultValue(key);
|
||||
}
|
||||
|
||||
private void initializePreferredVideoSizePreferences(ListPreference pref) {
|
||||
|
@ -327,6 +326,124 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
pref.setEntryValues(contents);
|
||||
}
|
||||
|
||||
private void initNetworkSettings() {
|
||||
initMediaEncryptionPreference((ListPreference) findPreference(getString(R.string.pref_media_encryption_key)));
|
||||
initializeTransportPreferences((ListPreference) findPreference(getString(R.string.pref_transport_key)));
|
||||
|
||||
((CheckBoxPreference) findPreference(getString(R.string.pref_wifi_only_key))).setChecked(mPrefs.isWifiOnlyEnabled());
|
||||
((CheckBoxPreference) findPreference(getString(R.string.pref_ice_enable_key))).setChecked(mPrefs.isIceEnabled());
|
||||
((CheckBoxPreference) findPreference(getString(R.string.pref_upnp_enable_key))).setChecked(mPrefs.isUpnpEnabled());
|
||||
|
||||
CheckBoxPreference randomPort = (CheckBoxPreference) findPreference(getString(R.string.pref_transport_use_random_ports_key));
|
||||
randomPort.setChecked(mPrefs.isUsingRandomPort());
|
||||
|
||||
// Disable sip port choice if port is random
|
||||
Preference sipPort = findPreference(getString(R.string.pref_sip_port_key));
|
||||
sipPort.setEnabled(!randomPort.isChecked());
|
||||
sipPort.setSummary(mPrefs.getSipPortIfNotRandom());
|
||||
sipPort.setDefaultValue(mPrefs.getSipPortIfNotRandom());
|
||||
|
||||
Preference stun = findPreference(getString(R.string.pref_stun_server_key));
|
||||
stun.setSummary(mPrefs.getStunServer());
|
||||
stun.setDefaultValue(mPrefs.getStunServer());
|
||||
|
||||
((CheckBoxPreference) findPreference(getString(R.string.pref_push_notification_key))).setChecked(mPrefs.isPushNotificationEnabled());
|
||||
((CheckBoxPreference) findPreference(getString(R.string.pref_ipv6_key))).setChecked(mPrefs.isUsingIpv6());
|
||||
}
|
||||
|
||||
private void setNetworkPreferencesListener() {
|
||||
findPreference(getString(R.string.pref_wifi_only_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setWifiOnlyEnabled((Boolean) newValue);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_stun_server_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setStunServer(newValue.toString());
|
||||
preference.setSummary(newValue.toString());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_ice_enable_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setIceEnabled((Boolean) newValue);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_upnp_enable_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setUpnpEnabled((Boolean) newValue);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_transport_use_random_ports_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.useRandomPort((Boolean) newValue);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_sip_port_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setSipPortIfNotRandom((Integer) newValue);
|
||||
preference.setSummary(newValue.toString());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_transport_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setTransport(newValue.toString());
|
||||
preference.setSummary(mPrefs.getTransport());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_media_encryption_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
String value = newValue.toString();
|
||||
MediaEncryption menc = MediaEncryption.None;
|
||||
if (value.equals(getString(R.string.pref_media_encryption_key_srtp)))
|
||||
menc = MediaEncryption.SRTP;
|
||||
else if (value.equals(getString(R.string.pref_media_encryption_key_zrtp)))
|
||||
menc = MediaEncryption.ZRTP;
|
||||
mPrefs.setMediaEncryption(menc);
|
||||
|
||||
preference.setSummary(mPrefs.getMediaEncryption().toString());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_push_notification_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.setPushNotificationEnabled((Boolean) newValue);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_ipv6_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
mPrefs.useIpv6((Boolean) newValue);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEcCalibrationStatus(EcCalibratorStatus status, int delayMs) {
|
||||
|
||||
|
|
|
@ -588,6 +588,11 @@ public class StatusFragment extends Fragment {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Force led if account is disabled
|
||||
if (!LinphonePreferences.instance().isAccountEnabled(accountIndex)) {
|
||||
status.setImageResource(getStatusIconResource(RegistrationState.RegistrationNone, false));
|
||||
} else {
|
||||
if (LinphonePreferences.instance().getDefaultAccountIndex() == accountIndex) {
|
||||
isDefault.setChecked(true);
|
||||
isDefault.setEnabled(false);
|
||||
|
@ -595,6 +600,7 @@ public class StatusFragment extends Fragment {
|
|||
} else {
|
||||
status.setImageResource(getStatusIconResource(lpc.getState(), false));
|
||||
}
|
||||
}
|
||||
|
||||
isDefault.setOnClickListener(defaultListener);
|
||||
|
||||
|
|
Loading…
Reference in a new issue