diff --git a/res/layout-land/dialer.xml b/res/layout-land/dialer.xml
index e4305bba1..e14182a6d 100644
--- a/res/layout-land/dialer.xml
+++ b/res/layout-land/dialer.xml
@@ -15,20 +15,70 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/org/linphone/DialerActivity.java b/src/org/linphone/DialerActivity.java
index 342e0d128..6dbcb34bd 100644
--- a/src/org/linphone/DialerActivity.java
+++ b/src/org/linphone/DialerActivity.java
@@ -95,19 +95,21 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
private void displayRegisterStatus() {
ListView accounts = (ListView) findViewById(R.id.accounts);
- accounts.setDividerHeight(0);
- ArrayList> hashMapAccountsStateList = new ArrayList>();
- for (LinphoneProxyConfig lpc : LinphoneManager.getLc().getProxyConfigList()) {
- HashMap entitiesHashMap = new HashMap();
- entitiesHashMap.put("Identity", lpc.getIdentity().split("sip:")[1]);
- entitiesHashMap.put("State", getStatusIcon(lpc.getState()));
- hashMapAccountsStateList.add(entitiesHashMap);
+ if (accounts != null) {
+ accounts.setDividerHeight(0);
+ ArrayList> hashMapAccountsStateList = new ArrayList>();
+ for (LinphoneProxyConfig lpc : LinphoneManager.getLc().getProxyConfigList()) {
+ HashMap entitiesHashMap = new HashMap();
+ entitiesHashMap.put("Identity", lpc.getIdentity().split("sip:")[1]);
+ entitiesHashMap.put("State", getStatusIcon(lpc.getState()));
+ hashMapAccountsStateList.add(entitiesHashMap);
+ }
+ Adapter adapterForList = new SimpleAdapter(this, hashMapAccountsStateList, R.layout.accounts,
+ new String[] {"Identity", "State"},
+ new int[] { R.id.Identity, R.id.State });
+ accounts.setAdapter((ListAdapter) adapterForList);
+ accounts.invalidate();
}
- Adapter adapterForList = new SimpleAdapter(this, hashMapAccountsStateList, R.layout.accounts,
- new String[] {"Identity", "State"},
- new int[] { R.id.Identity, R.id.State });
- accounts.setAdapter((ListAdapter) adapterForList);
- accounts.invalidate();
}
public void onCreate(Bundle savedInstanceState) {
@@ -123,15 +125,17 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
mStatus = (TextView) findViewById(R.id.status_label);
SlidingDrawer drawer = (SlidingDrawer) findViewById(R.id.drawer);
- drawer.setOnDrawerScrollListener(new OnDrawerScrollListener() {
- public void onScrollEnded() {
-
- }
-
- public void onScrollStarted() {
- displayRegisterStatus();
- }
- });
+ if (drawer != null) {
+ drawer.setOnDrawerScrollListener(new OnDrawerScrollListener() {
+ public void onScrollEnded() {
+
+ }
+
+ public void onScrollStarted() {
+ displayRegisterStatus();
+ }
+ });
+ }
AddressAware numpad = (AddressAware) findViewById(R.id.Dialer);
if (numpad != null)
diff --git a/src/org/linphone/LinphonePreferencesActivity.java b/src/org/linphone/LinphonePreferencesActivity.java
index 87e6ad1bb..008b6a567 100644
--- a/src/org/linphone/LinphonePreferencesActivity.java
+++ b/src/org/linphone/LinphonePreferencesActivity.java
@@ -123,6 +123,7 @@ public class LinphonePreferencesActivity extends PreferenceActivity implements E
// Get the good preference screen
accounts = (PreferenceCategory) root.getPreference(0);
accounts.removeAll();
+
Preference addAccount = (Preference) root.getPreference(1);
addAccount.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
@@ -198,7 +199,20 @@ public class LinphonePreferencesActivity extends PreferenceActivity implements E
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
+
if (requestCode == ADD_SIP_ACCOUNT) {
+ //Verify if last created account is filled
+ 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));
+
+ if (prefs.getString(keyUsername, "").equals("")) {
+ //If not, we suppress it to not display a blank field
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putInt(getString(R.string.pref_extra_accounts), n-1);
+ editor.commit();
+ }
+
createDynamicAccountsPreferences();
}
}
diff --git a/src/org/linphone/LinphonePreferencesSIPAccountActivity.java b/src/org/linphone/LinphonePreferencesSIPAccountActivity.java
index 0c5a247f4..551e2ba4c 100644
--- a/src/org/linphone/LinphonePreferencesSIPAccountActivity.java
+++ b/src/org/linphone/LinphonePreferencesSIPAccountActivity.java
@@ -144,7 +144,7 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity {
private String getAccountNumber(int n) {
if (n > 0)
- return n + "";
+ return Integer.toString(n);
else
return "";
}