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:id="@+id/statusLed"
android:paddingLeft="5dp"
android:src="@drawable/led_error"
android:src="@drawable/led_disconnected"
android:adjustViewBounds="true"
android:layout_centerVertical="true"
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);
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));
disable.setKey(getString(R.string.pref_disable_account_key) + key);
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() {
public boolean onPreferenceClick(Preference preference) {
int nbAccounts = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
@ -116,20 +116,28 @@ 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));
}
int lastAccount = nbAccounts - 1;
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_domain_key) + getAccountNumber(lastAccount), null);
editor.putString(getString(R.string.pref_proxy_key) + getAccountNumber(lastAccount), null);
editor.putBoolean(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(lastAccount), false);
editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(lastAccount), false);
int defaultAccount = prefs.getInt(getString(R.string.pref_default_account_key), 0);
if (defaultAccount > n) {
editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 1);
}
editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 1);
if (n != 0) {
int lastAccount = nbAccounts - 1;
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_domain_key) + getAccountNumber(lastAccount), null);
editor.putString(getString(R.string.pref_proxy_key) + getAccountNumber(lastAccount), null);
editor.putBoolean(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(lastAccount), false);
editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(lastAccount), false);
int defaultAccount = prefs.getInt(getString(R.string.pref_default_account_key), 0);
if (defaultAccount > n) {
editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 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();
LinphoneActivity.instance().displaySettings();
@ -148,7 +156,6 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(getString(R.string.pref_default_account_key), n);
editor.commit();
delete.setEnabled(false);
disable.setEnabled(false);
Compatibility.setPreferenceChecked(disable, false);
preference.setEnabled(false);
@ -170,7 +177,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
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 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();
if (lc != null && lc.getDefaultProxyConfig() != null)
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();
if (lDefaultProxyConfig !=null) {
if (lDefaultProxyConfig != null) {
//prefix
String lPrefix = getPrefString(R.string.pref_prefix_key, null);
if (lPrefix != null) {
@ -674,6 +674,8 @@ public final class LinphoneManager implements LinphoneCoreListener {
}
//escape +
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())) {
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() {
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.setOnPreferenceClickListener(new OnPreferenceClickListener() {
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);
LinphoneActivity.instance().displayAccountSettings(nbAccounts);
nbAccounts++;

View file

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