From 338e7cfa23f9ec00132046681fee0c9600d25468 Mon Sep 17 00:00:00 2001
From: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
Date: Mon, 13 Jan 2014 11:55:29 -0500
Subject: [PATCH] account edition: password is correctly set.

---
 AndroidManifest.xml                                 |  4 ++--
 .../sflphone/fragments/GeneralAccountFragment.java  | 13 +++++++++----
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0a44dbbb1..1529fdb80 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -33,8 +33,8 @@ as that of the covered work.
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="org.sflphone"
     android:installLocation="auto"
-    android:versionCode="10"
-    android:versionName="1.2.3.15" >
+    android:versionCode="11"
+    android:versionName="1.2.3.16" >
 
     <supports-screens
         android:anyDensity="true"
diff --git a/src/org/sflphone/fragments/GeneralAccountFragment.java b/src/org/sflphone/fragments/GeneralAccountFragment.java
index 90187993e..4c1574b99 100644
--- a/src/org/sflphone/fragments/GeneralAccountFragment.java
+++ b/src/org/sflphone/fragments/GeneralAccountFragment.java
@@ -32,6 +32,7 @@ package org.sflphone.fragments;
 
 import org.sflphone.R;
 import org.sflphone.account.AccountDetail;
+import org.sflphone.account.AccountDetailBasic;
 import org.sflphone.model.Account;
 import org.sflphone.views.PasswordPreference;
 
@@ -134,19 +135,23 @@ public class GeneralAccountFragment extends PreferenceFragment {
 
             Log.i(TAG, "Changing preference value:" + newValue);
             if (preference instanceof CheckBoxPreference) {
-                mCallbacks.getAccount().getBasicDetails().setDetailString(preference.getKey(), ((Boolean) newValue).toString());
+                mCallbacks.getAccount().getBasicDetails().setDetailString(preference.getKey(), newValue.toString());
             } else {
                 if (preference instanceof PasswordPreference) {
                     String tmp = new String();
                     for (int i = 0; i < ((String) newValue).length(); ++i) {
                         tmp += "*";
-
                     }
+                    mCallbacks.getAccount().getCredentials().get(0).setDetailString(preference.getKey(), newValue.toString());
                     preference.setSummary(tmp);
-                } else
+                } else if(preference.getKey().contentEquals(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME)) {
+                    mCallbacks.getAccount().getCredentials().get(0).setDetailString(preference.getKey(), newValue.toString());
+                    preference.setSummary((CharSequence) newValue);
+                } else {
                     preference.setSummary((CharSequence) newValue);
+                }
                 
-                mCallbacks.getAccount().getBasicDetails().setDetailString(preference.getKey(), ((CharSequence) newValue).toString());
+                mCallbacks.getAccount().getBasicDetails().setDetailString(preference.getKey(), newValue.toString());
             }
             mCallbacks.getAccount().notifyObservers();
             return true;
-- 
GitLab