Added display name optionnal setting in account params

This commit is contained in:
Sylvain Berfini 2014-04-04 16:57:08 +02:00
parent 9257417ed6
commit 04402c5367
6 changed files with 73 additions and 14 deletions

View file

@ -378,6 +378,11 @@
<string name="download_image">Télécharger</string> <string name="download_image">Télécharger</string>
<string name="download_image_failed">Téléchargement échoué. Vérifiez votre connexion internet ou reéssayez plus tard.</string> <string name="download_image_failed">Téléchargement échoué. Vérifiez votre connexion internet ou reéssayez plus tard.</string>
<string name="pref_auth_userid">Identifiant d\'authentification</string>
<string name="pref_help_auth_userid">Entrez votre identifiant (optionnel)</string>
<string name="pref_display_name">Nom d\'affichage</string>
<string name="pref_help_display_name">Entrez votre nom (optionnel)</string>
<string name="wait">Merci de patienter...</string> <string name="wait">Merci de patienter...</string>
<string name="importing_messages">Mise à jour de la base des messages</string> <string name="importing_messages">Mise à jour de la base des messages</string>
<string name="default_account_flag">Compte par défaut</string> <string name="default_account_flag">Compte par défaut</string>

View file

@ -426,9 +426,10 @@
<string name="download_image">Скачать</string> <string name="download_image">Скачать</string>
<string name="download_image_failed">Ошибка скачивания. Проверьте ваше интернет соединение или попробуйте позже.</string> <string name="download_image_failed">Ошибка скачивания. Проверьте ваше интернет соединение или попробуйте позже.</string>
<string name="pref_auth_userid">Auth userid</string> <string name="pref_auth_userid">Auth userid</string>
<string name="pref_help_auth_userid">Enter authentication userid (optionnal)</string> <string name="pref_help_auth_userid">Enter authentication userid (optionnal)</string>
<string name="pref_display_name">Display name</string>
<string name="pref_help_display_name">Enter display name (optionnal)</string>
<string name="pref_upnp_enable">Enable UPNP</string> <string name="pref_upnp_enable">Enable UPNP</string>
<string name="pref_manage">Manage</string> <string name="pref_manage">Manage</string>

View file

@ -424,8 +424,9 @@
<string name="download_image_failed">Download failed. Please check your internet access or try again later.</string> <string name="download_image_failed">Download failed. Please check your internet access or try again later.</string>
<string name="pref_auth_userid">Auth userid</string> <string name="pref_auth_userid">Auth userid</string>
<string name="pref_help_auth_userid">Enter authentication userid (optionnal)</string> <string name="pref_help_auth_userid">Enter authentication userid (optionnal)</string>
<string name="pref_display_name">Display name</string>
<string name="pref_help_display_name">Enter display name (optionnal)</string>
<string name="pref_upnp_enable">Enable UPNP</string> <string name="pref_upnp_enable">Enable UPNP</string>
<string name="pref_manage">Manage</string> <string name="pref_manage">Manage</string>

View file

@ -8,7 +8,9 @@
<EditTextPreference <EditTextPreference
android:title="@string/pref_username" android:title="@string/pref_username"
android:dialogMessage="@string/pref_help_username" android:dialogMessage="@string/pref_help_username"
android:persistent="true"/><EditTextPreference android:persistent="true"/>
<EditTextPreference
android:title="@string/pref_auth_userid" android:title="@string/pref_auth_userid"
android:dialogMessage="@string/pref_help_auth_userid" android:dialogMessage="@string/pref_help_auth_userid"
android:persistent="true"/> android:persistent="true"/>
@ -22,6 +24,11 @@
android:dialogMessage="@string/pref_help_domain" android:dialogMessage="@string/pref_help_domain"
android:persistent="true"/> android:persistent="true"/>
<EditTextPreference
android:title="@string/pref_display_name"
android:dialogMessage="@string/pref_help_display_name"
android:persistent="true"/>
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory <PreferenceCategory

View file

@ -94,6 +94,14 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
return true; return true;
} }
}; };
OnPreferenceChangeListener displayNameChangedListener = new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
mPrefs.setAccountDisplayName(n, newValue.toString());
preference.setSummary(newValue.toString());
return true;
}
};
OnPreferenceChangeListener proxyChangedListener = new OnPreferenceChangeListener() { OnPreferenceChangeListener proxyChangedListener = new OnPreferenceChangeListener() {
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
@ -193,6 +201,12 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
domain.setOnPreferenceChangeListener(domainChangedListener); domain.setOnPreferenceChangeListener(domainChangedListener);
domain.setSummary(domain.getText()); domain.setSummary(domain.getText());
EditTextPreference displayName = (EditTextPreference) account.getPreference(4);
displayName.setText(mPrefs.getAccountDisplayName(n));
password.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PERSON_NAME);
displayName.setOnPreferenceChangeListener(displayNameChangedListener);
displayName.setSummary(displayName.getText());
PreferenceCategory advanced = (PreferenceCategory) getPreferenceScreen().findPreference(getString(R.string.pref_advanced_key)); PreferenceCategory advanced = (PreferenceCategory) getPreferenceScreen().findPreference(getString(R.string.pref_advanced_key));
mTransportPreference = (ListPreference) advanced.getPreference(0); mTransportPreference = (ListPreference) advanced.getPreference(0);
initializeTransportPreference(mTransportPreference); initializeTransportPreference(mTransportPreference);

View file

@ -149,10 +149,8 @@ public class LinphonePreferences {
public static class AccountBuilder { public static class AccountBuilder {
private LinphoneCore lc; private LinphoneCore lc;
public AccountBuilder(LinphoneCore lc) {
this.lc = lc;
}
private String tempUsername; private String tempUsername;
private String tempDisplayName;
private String tempUserId; private String tempUserId;
private String tempPassword; private String tempPassword;
private String tempDomain; private String tempDomain;
@ -164,15 +162,25 @@ public class LinphonePreferences {
private boolean tempEnabled = true; private boolean tempEnabled = true;
private boolean tempNoDefault = false; private boolean tempNoDefault = false;
public AccountBuilder(LinphoneCore lc) {
this.lc = lc;
}
public AccountBuilder setTransport(TransportType transport) { public AccountBuilder setTransport(TransportType transport) {
tempTransport = transport; tempTransport = transport;
return this; return this;
} }
public AccountBuilder setUsername(String username) { public AccountBuilder setUsername(String username) {
tempUsername = username; tempUsername = username;
return this; return this;
} }
public AccountBuilder setDisplayName(String displayName) {
tempDisplayName = displayName;
return this;
}
public AccountBuilder setPassword(String password) { public AccountBuilder setPassword(String password) {
tempPassword = password; tempPassword = password;
return this; return this;
@ -187,6 +195,7 @@ public class LinphonePreferences {
tempProxy = proxy; tempProxy = proxy;
return this; return this;
} }
public AccountBuilder setOutboundProxyEnabled(boolean enabled) { public AccountBuilder setOutboundProxyEnabled(boolean enabled) {
tempOutboundProxy = enabled; tempOutboundProxy = enabled;
return this; return this;
@ -235,6 +244,11 @@ public class LinphonePreferences {
} }
} }
LinphoneAddress proxyAddr = LinphoneCoreFactory.instance().createLinphoneAddress(proxy); LinphoneAddress proxyAddr = LinphoneCoreFactory.instance().createLinphoneAddress(proxy);
LinphoneAddress identityAddr = LinphoneCoreFactory.instance().createLinphoneAddress(identity);
if (tempDisplayName != null) {
identityAddr.setDisplayName(tempDisplayName);
}
if (tempTransport != null) { if (tempTransport != null) {
proxyAddr.setTransport(tempTransport); proxyAddr.setTransport(tempTransport);
@ -242,7 +256,7 @@ public class LinphonePreferences {
String route = tempOutboundProxy ? proxyAddr.asStringUriOnly() : null; String route = tempOutboundProxy ? proxyAddr.asStringUriOnly() : null;
LinphoneProxyConfig prxCfg = LinphoneCoreFactory.instance().createProxyConfig(identity, proxyAddr.asStringUriOnly(), route, tempEnabled); LinphoneProxyConfig prxCfg = LinphoneCoreFactory.instance().createProxyConfig(identityAddr.asString(), proxyAddr.asStringUriOnly(), route, tempEnabled);
if (tempContactsParams != null) if (tempContactsParams != null)
prxCfg.setContactUriParameters(tempContactsParams); prxCfg.setContactUriParameters(tempContactsParams);
@ -262,10 +276,6 @@ public class LinphonePreferences {
} }
} }
public void setAccountTransport(int n, String transport) { public void setAccountTransport(int n, String transport) {
LinphoneProxyConfig proxyConfig = getProxyConfig(n); LinphoneProxyConfig proxyConfig = getProxyConfig(n);
@ -335,8 +345,6 @@ public class LinphonePreferences {
return getString(R.string.pref_transport_udp); return getString(R.string.pref_transport_udp);
} }
public void setAccountUsername(int n, String username) { public void setAccountUsername(int n, String username) {
String identity = "sip:" + username + "@" + getAccountDomain(n); String identity = "sip:" + username + "@" + getAccountDomain(n);
LinphoneAuthInfo info = getClonedAuthInfo(n); // Get the auth info before editing the proxy config to ensure to get the correct auth info LinphoneAuthInfo info = getClonedAuthInfo(n); // Get the auth info before editing the proxy config to ensure to get the correct auth info
@ -357,6 +365,29 @@ public class LinphonePreferences {
return authInfo == null ? null : authInfo.getUsername(); return authInfo == null ? null : authInfo.getUsername();
} }
public void setAccountDisplayName(int n, String displayName) {
try {
LinphoneProxyConfig prxCfg = getProxyConfig(n);
LinphoneAddress addr = LinphoneCoreFactory.instance().createLinphoneAddress(prxCfg.getIdentity());
addr.setDisplayName(displayName);
prxCfg.setIdentity(addr.asString());
prxCfg.done();
} catch (Exception e) {
e.printStackTrace();
}
}
public String getAccountDisplayName(int n) {
try {
LinphoneAddress addr = LinphoneCoreFactory.instance().createLinphoneAddress(getProxyConfig(n).getIdentity());
return addr.getDisplayName();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public void setAccountUserId(int n, String userId) { public void setAccountUserId(int n, String userId) {
LinphoneAuthInfo info = getClonedAuthInfo(n); LinphoneAuthInfo info = getClonedAuthInfo(n);
info.setUserId(userId); info.setUserId(userId);