Merge branch 'master' of git.linphone.org:linphone-android

This commit is contained in:
Sylvain Berfini 2013-03-20 14:02:53 +01:00
commit e84c46e78b
7 changed files with 40 additions and 22 deletions

View file

@ -169,7 +169,7 @@
android:contentDescription="@string/content_description_led" android:contentDescription="@string/content_description_led"
android:id="@+id/statusLed" android:id="@+id/statusLed"
android:paddingLeft="5dp" android:paddingLeft="5dp"
android:src="@drawable/led_error" android:src="@drawable/led_disconnected"
android:adjustViewBounds="true" android:adjustViewBounds="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"

View file

@ -96,12 +96,12 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + key); outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + key);
final Preference disable = advanced.getPreference(2); final Preference disable = advanced.getPreference(2);
disable.setEnabled(prefs.getInt(getString(R.string.pref_default_account_key), 0) != n); disable.setEnabled(true);
Compatibility.setPreferenceChecked(disable, prefs.getBoolean(getString(R.string.pref_disable_account_key) + key, false)); Compatibility.setPreferenceChecked(disable, prefs.getBoolean(getString(R.string.pref_disable_account_key) + key, false));
disable.setKey(getString(R.string.pref_disable_account_key) + key); disable.setKey(getString(R.string.pref_disable_account_key) + key);
final Preference delete = advanced.getPreference(4); final Preference delete = advanced.getPreference(4);
delete.setEnabled(prefs.getInt(getString(R.string.pref_default_account_key), 0) != n); delete.setEnabled(true);
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);
@ -116,6 +116,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(i), prefs.getBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(i+1), false)); editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(i), prefs.getBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(i+1), false));
} }
if (n != 0) {
int lastAccount = nbAccounts - 1; int lastAccount = nbAccounts - 1;
editor.putString(getString(R.string.pref_username_key) + getAccountNumber(lastAccount), null); editor.putString(getString(R.string.pref_username_key) + getAccountNumber(lastAccount), null);
editor.putString(getString(R.string.pref_passwd_key) + getAccountNumber(lastAccount), null); editor.putString(getString(R.string.pref_passwd_key) + getAccountNumber(lastAccount), null);
@ -128,8 +129,15 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
if (defaultAccount > n) { if (defaultAccount > n) {
editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 1); editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 1);
} }
editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 1); editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 1);
} else if (n == 0 && nbAccounts <= 1) {
editor.putString(getString(R.string.pref_username_key), "");
editor.putString(getString(R.string.pref_passwd_key), "");
editor.putString(getString(R.string.pref_domain_key), "");
} else {
editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 1);
}
editor.commit(); editor.commit();
LinphoneActivity.instance().displaySettings(); LinphoneActivity.instance().displaySettings();
@ -148,7 +156,6 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
SharedPreferences.Editor editor = prefs.edit(); SharedPreferences.Editor editor = prefs.edit();
editor.putInt(getString(R.string.pref_default_account_key), n); editor.putInt(getString(R.string.pref_default_account_key), n);
editor.commit(); editor.commit();
delete.setEnabled(false);
disable.setEnabled(false); disable.setEnabled(false);
Compatibility.setPreferenceChecked(disable, false); Compatibility.setPreferenceChecked(disable, false);
preference.setEnabled(false); preference.setEnabled(false);
@ -170,7 +177,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
int n = prefs.getInt(getString(R.string.pref_extra_accounts), 1); int n = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
String keyUsername = getString(R.string.pref_username_key) + (n-1 == 0 ? "" : Integer.toString(n-1)); String keyUsername = getString(R.string.pref_username_key) + getAccountNumber(n-1);
if (prefs.getString(keyUsername, "").equals("")) { if (prefs.getString(keyUsername, "").equals("")) {
//If not, we suppress it to not display a blank field //If not, we suppress it to not display a blank field

View file

@ -762,6 +762,8 @@ public class LinphoneActivity extends FragmentActivity implements
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
if (lc != null && lc.getDefaultProxyConfig() != null) if (lc != null && lc.getDefaultProxyConfig() != null)
statusFragment.registrationStateChanged(lc.getDefaultProxyConfig().getState()); statusFragment.registrationStateChanged(lc.getDefaultProxyConfig().getState());
else
statusFragment.registrationStateChanged(RegistrationState.RegistrationNone);
} }
} }

View file

@ -666,7 +666,7 @@ public final class LinphoneManager implements LinphoneCoreListener {
} }
LinphoneProxyConfig lDefaultProxyConfig = mLc.getDefaultProxyConfig(); LinphoneProxyConfig lDefaultProxyConfig = mLc.getDefaultProxyConfig();
if (lDefaultProxyConfig !=null) { if (lDefaultProxyConfig != null) {
//prefix //prefix
String lPrefix = getPrefString(R.string.pref_prefix_key, null); String lPrefix = getPrefString(R.string.pref_prefix_key, null);
if (lPrefix != null) { if (lPrefix != null) {
@ -674,6 +674,8 @@ public final class LinphoneManager implements LinphoneCoreListener {
} }
//escape + //escape +
lDefaultProxyConfig.setDialEscapePlus(getPrefBoolean(R.string.pref_escape_plus_key, false)); lDefaultProxyConfig.setDialEscapePlus(getPrefBoolean(R.string.pref_escape_plus_key, false));
} else if (LinphoneService.isReady()) {
LinphoneService.instance().onRegistrationStateChanged(RegistrationState.RegistrationNone, null);
} }
} }

View file

@ -518,6 +518,9 @@ public final class LinphoneService extends Service implements LinphoneServiceLis
if ((state == RegistrationState.RegistrationFailed || state == RegistrationState.RegistrationCleared) && (LinphoneManager.getLc().getDefaultProxyConfig() == null || !LinphoneManager.getLc().getDefaultProxyConfig().isRegistered())) { if ((state == RegistrationState.RegistrationFailed || state == RegistrationState.RegistrationCleared) && (LinphoneManager.getLc().getDefaultProxyConfig() == null || !LinphoneManager.getLc().getDefaultProxyConfig().isRegistered())) {
sendNotification(IC_LEVEL_OFFLINE, R.string.notification_register_failure); sendNotification(IC_LEVEL_OFFLINE, R.string.notification_register_failure);
} }
if (state == RegistrationState.RegistrationNone) {
sendNotification(IC_LEVEL_OFFLINE, R.string.notification_started);
}
mHandler.post(new Runnable() { mHandler.post(new Runnable() {
public void run() { public void run() {

View file

@ -257,6 +257,10 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa
addAccount.setTitle(getString(R.string.pref_add_account)); addAccount.setTitle(getString(R.string.pref_add_account));
addAccount.setOnPreferenceClickListener(new OnPreferenceClickListener() { addAccount.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) { public boolean onPreferenceClick(Preference preference) {
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
nbAccounts = prefs.getInt(getString(R.string.pref_extra_accounts), 0);
prefs.edit().putInt(getString(R.string.pref_extra_accounts), nbAccounts+1).commit();
addExtraAccountPreferencesButton(accounts, nbAccounts, true); addExtraAccountPreferencesButton(accounts, nbAccounts, true);
LinphoneActivity.instance().displayAccountSettings(nbAccounts); LinphoneActivity.instance().displayAccountSettings(nbAccounts);
nbAccounts++; nbAccounts++;

View file

@ -231,7 +231,7 @@ public class StatusFragment extends Fragment {
e.printStackTrace(); e.printStackTrace();
} }
return -1; return R.drawable.led_disconnected;
} }
private String getStatusIconText(LinphoneCore.RegistrationState state) { private String getStatusIconText(LinphoneCore.RegistrationState state) {
@ -253,7 +253,7 @@ public class StatusFragment extends Fragment {
e.printStackTrace(); e.printStackTrace();
} }
return null; return context.getString(R.string.status_not_connected);
} }
private void startCallQuality() { private void startCallQuality() {