* #27064 New creation process (faster), lightened parameters
Refactoring on accounts
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index feb8789..a15ee97 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -76,6 +76,15 @@
                 android:name="android.support.PARENT_ACTIVITY"
                 android:value="com.savoirfairelinux.sflphone.client.SFLPhoneHome" />
         </activity>
+        
+        <activity
+            android:name="com.savoirfairelinux.sflphone.client.AccountWizard"
+            android:screenOrientation="portrait" >
+            <meta-data
+                android:name="android.support.PARENT_ACTIVITY"
+                android:value="com.savoirfairelinux.sflphone.client.SFLPhoneHome" />
+        </activity>
+        
         <activity
             android:name="com.savoirfairelinux.sflphone.client.AccountPreferenceActivity"
             android:label="@string/app_name"
diff --git a/bin/AndroidManifest.xml b/bin/AndroidManifest.xml
index feb8789..a15ee97 100644
--- a/bin/AndroidManifest.xml
+++ b/bin/AndroidManifest.xml
@@ -76,6 +76,15 @@
                 android:name="android.support.PARENT_ACTIVITY"
                 android:value="com.savoirfairelinux.sflphone.client.SFLPhoneHome" />
         </activity>
+        
+        <activity
+            android:name="com.savoirfairelinux.sflphone.client.AccountWizard"
+            android:screenOrientation="portrait" >
+            <meta-data
+                android:name="android.support.PARENT_ACTIVITY"
+                android:value="com.savoirfairelinux.sflphone.client.SFLPhoneHome" />
+        </activity>
+        
         <activity
             android:name="com.savoirfairelinux.sflphone.client.AccountPreferenceActivity"
             android:label="@string/app_name"
diff --git a/res/layout/activity_sflphone_home.xml b/res/layout/activity_sflphone_home.xml
index 263a65b..cabd173 100644
--- a/res/layout/activity_sflphone_home.xml
+++ b/res/layout/activity_sflphone_home.xml
@@ -68,7 +68,7 @@
                 <android.support.v4.view.ViewPager
                     android:id="@+id/pager"
                     android:layout_width="match_parent"
-                    android:background="#000000"
+                    android:background="#FFFFFF"
                     android:layout_height="0dp"
                     android:layout_weight="1" />
             </LinearLayout>
diff --git a/res/layout/activity_wizard.xml b/res/layout/activity_wizard.xml
new file mode 100644
index 0000000..c0d71ed
--- /dev/null
+++ b/res/layout/activity_wizard.xml
@@ -0,0 +1,12 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical" >
+
+    <android.support.v4.view.ViewPager
+        android:id="@+id/pager"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#000000" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/frag_account_creation.xml b/res/layout/frag_account_creation.xml
new file mode 100644
index 0000000..48dbe0c
--- /dev/null
+++ b/res/layout/frag_account_creation.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/login_form"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/light" >
+
+    <LinearLayout
+        style="@style/LoginFormContainer"
+        android:orientation="vertical" >
+
+        <EditText
+            android:id="@+id/alias"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/prompt_alias"
+            android:inputType="textEmailAddress"
+            android:maxLines="1"
+            android:singleLine="true" >
+
+            <requestFocus />
+        </EditText>
+
+        <EditText
+            android:id="@+id/hostname"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/prompt_hostname"
+            android:maxLines="1"
+            android:singleLine="true" >
+        </EditText>
+
+        <EditText
+            android:id="@+id/username"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/prompt_username"
+            android:maxLines="1"
+            android:singleLine="true" />
+
+        <EditText
+            android:id="@+id/password"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/prompt_password"
+            android:imeActionId="@+id/login"
+            android:imeActionLabel="@string/action_create_short"
+            android:imeOptions="actionUnspecified"
+            android:inputType="textPassword"
+            android:maxLines="1"
+            android:singleLine="true" />
+
+        <Button
+            android:id="@+id/create_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="right"
+            android:layout_marginTop="16dp"
+            android:paddingLeft="32dp"
+            android:paddingRight="32dp"
+            android:text="@string/action_create" />
+    </LinearLayout>
+
+</ScrollView>
\ No newline at end of file
diff --git a/res/values/strings_activity_login.xml b/res/values/strings_activity_login.xml
new file mode 100644
index 0000000..c21eab2
--- /dev/null
+++ b/res/values/strings_activity_login.xml
@@ -0,0 +1,17 @@
+<resources>
+
+    <!-- Strings related to login -->
+    <string name="prompt_alias">Alias</string>
+    <string name="prompt_hostname">Hostname</string>
+    <string name="prompt_username">Username</string>
+    <string name="prompt_password">Password</string>
+    <string name="action_create"><b>Create Account</b></string>
+    <string name="action_create_short">Create</string>
+    <string name="action_forgot_password">Recover lost password</string>
+    <string name="login_progress_signing_in">Signing in&#8230;</string>
+    <string name="error_invalid_email">This email address is invalid</string>
+    <string name="error_invalid_password">This password is too short</string>
+    <string name="error_incorrect_password">This password is incorrect</string>
+    <string name="error_field_required">This field is required</string>
+
+</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 4842a6c..55345e2 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -39,4 +39,10 @@
 		<item name="android:dividerHeight">5dp</item>
 	</style>
 	
+	<style name="LoginFormContainer">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:padding">16dp</item>
+    </style>
+	
 </resources>
\ No newline at end of file
diff --git a/res/xml/account_creation_preferences.xml b/res/xml/account_creation_preferences.xml
index 5424dc4..e6853c0 100644
--- a/res/xml/account_creation_preferences.xml
+++ b/res/xml/account_creation_preferences.xml
@@ -33,14 +33,14 @@
   <PreferenceCategory
       android:id="@+id/account_basic_category"
       android:title="Basic settings">
-    <CheckBoxPreference
-        android:id="@+id/account_creation_enable"
-        android:key="Account.enable"
-        android:persistent="false"
-        android:defaultValue="true"
-        android:title="Account enabled"
-        android:summaryOn="enabled"
-        android:summaryOff="disabled"/>
+<!--     <CheckBoxPreference -->
+<!--         android:id="@+id/account_creation_enable" -->
+<!--         android:key="Account.enable" -->
+<!--         android:persistent="false" -->
+<!--         android:defaultValue="true" -->
+<!--         android:title="Account enabled" -->
+<!--         android:summaryOn="enabled" -->
+<!--         android:summaryOff="disabled"/> -->
 <!--     <EditTextPreference -->
 <!--         android:id="@+id/account_creation_type" -->
 <!--         android:key="Account.type" -->
diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java
index 57d1d26..892598f 100644
--- a/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java
+++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailAdvanced.java
@@ -54,10 +54,14 @@
     public static final String CONFIG_LOCAL_PORT = "Account.localPort";
     public static final String CONFIG_PUBLISHED_PORT = "Account.publishedPort";
     public static final String CONFIG_PUBLISHED_ADDRESS = "Account.publishedAddress";
-    public static final String CONFIG_DEFAULT_LOCAL_PORT = "5060";
-    public static final String CONFIG_DEFAULT_PUBLISHED_PORT = "5060";
+    
+    
+    
+    public static final String CONFIG_DEFAULT_LOCAL_PORT = "5070";
+    public static final String CONFIG_DEFAULT_PUBLISHED_PORT = "5070";
     public static final String CONFIG_DEFAULT_PUBLISHED_SAMEAS_LOCAL = "true";
-    public static final String CONFIG_DEFAULT_INTERFACE = "default";
+    public static final String CONFIG_DEFAULT_INTERFACE = "wlan0";
+    public static final String CONFIG_DEFAULT_REGISTRATION_EXPIRE = "60";
 
     public static final String CONFIG_DISPLAY_NAME = "Account.displayName";
     public static final String CONFIG_DEFAULT_ADDRESS = "0.0.0.0";
diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java
index 3694ec5..4f9137d 100644
--- a/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java
+++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailBasic.java
@@ -23,6 +23,7 @@
 
 import com.savoirfairelinux.sflphone.R;
 import com.savoirfairelinux.sflphone.account.AccountDetail;
+import com.savoirfairelinux.sflphone.service.ServiceConstants;
 
 import android.util.Log;
 
@@ -36,15 +37,22 @@
     private static final String TAG = "AccountDetailBasic";
     public static final String BUNDLE_TAG = "BasicPreferenceArrayList";
 
-    public static final String CONFIG_ACCOUNT_ENABLE = "Account.enable";
-    public static final String CONFIG_ACCOUNT_TYPE = "Account.type";
-    public static final String CONFIG_ACCOUNT_ALIAS = "Account.alias";
     public static final String CONFIG_ACCOUNT_HOSTNAME = "Account.hostname";
     public static final String CONFIG_ACCOUNT_USERNAME = "Account.username";
     public static final String CONFIG_ACCOUNT_ROUTESET = "Account.routeset";
     public static final String CONFIG_ACCOUNT_PASSWORD = "Account.password";
     public static final String CONFIG_ACCOUNT_REALM = "Account.realm";
     public static final String CONFIG_ACCOUNT_USERAGENT = "Account.useragent";
+    public static final String CONFIG_ACCOUNT_AUTOANSWER = "Account.autoAnswer";
+    public static final String CONFIG_ACCOUNT_TYPE = "Account.type";
+    public static final String CONFIG_ACCOUNT_ALIAS = "Account.alias";
+    public static final String CONFIG_ACCOUNT_ENABLE = "Account.enable";
+    
+    
+    public static final String CONFIG_ACCOUNT_DEFAULT_TYPE = "SIP";
+    public static final String CONFIG_ACCOUNT_DEFAULT_ENABLE = "true";
+    public static final String CONFIG_ACCOUNT_DEFAULT_REALM = "*";
+    public static final String CONFIG_ACCOUNT_DEFAULT_USERAGENT = "SFLphone";
 
     private ArrayList<AccountDetail.PreferenceEntry> privateArray;
 
diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java
index 2585ffa..a193f85 100644
--- a/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java
+++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailSrtp.java
@@ -24,6 +24,7 @@
 import com.savoirfairelinux.sflphone.R;
 import com.savoirfairelinux.sflphone.account.AccountDetail;
 import com.savoirfairelinux.sflphone.account.AccountDetail.PreferenceEntry;
+import com.savoirfairelinux.sflphone.service.ServiceConstants;
 
 import android.util.Log;
 
@@ -36,7 +37,7 @@
 
     private static final String TAG = "AccountDetailSrtp";
     public static final String BUNDLE_TAG = "SrtpPreferenceArrayList";
-
+    
     public static final String CONFIG_SRTP_ENABLE = "SRTP.enable";
     public static final String CONFIG_SRTP_KEY_EXCHANGE = "SRTP.keyExchange";
     public static final String CONFIG_SRTP_ENCRYPTION_ALGO = "SRTP.encryptionAlgorithm";  // Provided by ccRTP,0=NULL,1=AESCM,2=AESF8
diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java
index 92864b0..0794749 100644
--- a/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java
+++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailTls.java
@@ -21,22 +21,19 @@
  */
 package com.savoirfairelinux.sflphone.account;
 
-import com.savoirfairelinux.sflphone.R;
-import com.savoirfairelinux.sflphone.account.AccountDetail;
-import com.savoirfairelinux.sflphone.account.AccountDetail.PreferenceEntry;
+import java.util.ArrayList;
+import java.util.HashMap;
 
 import android.util.Log;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Set;
-import java.util.HashMap;
+import com.savoirfairelinux.sflphone.R;
+import com.savoirfairelinux.sflphone.service.ServiceConstants;
 
 public class AccountDetailTls implements AccountDetail {
 
     private static final String TAG = "AccountDetailTls";
     public static final String BUNDLE_TAG = "TlsPreferenceArrayList";
- 
+    
     public static final String CONFIG_TLS_LISTENER_PORT = "TLS.listenerPort";
     public static final String CONFIG_TLS_ENABLE = "TLS.enable";
     public static final String CONFIG_TLS_CA_LIST_FILE = "TLS.certificateListFile";
@@ -51,7 +48,7 @@
     public static final String CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE = "TLS.requireClientCertificate";
     public static final String CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC = "TLS.negotiationTimeoutSec";
     public static final String CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC = "TLS.negotiationTimemoutMsec";
-
+ 
     private ArrayList<AccountDetail.PreferenceEntry> privateArray;
 
     public static ArrayList<AccountDetail.PreferenceEntry> getPreferenceEntries()
diff --git a/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java b/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java
index 726fffc..fb6c5cc 100644
--- a/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java
+++ b/src/com/savoirfairelinux/sflphone/account/AccountDetailsHandler.java
@@ -44,16 +44,16 @@
     public static ArrayList<PreferenceEntry> getBasicDetailsKeys() {
         ArrayList<PreferenceEntry> basicDetailKeys = new ArrayList<PreferenceEntry>();
 
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_TYPE, R.string.account_type_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_ALIAS, R.string.account_alias_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_ENABLE, R.string.account_enabled_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_HOSTNAME, R.string.account_hostname_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_USERNAME, R.string.account_username_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_ROUTESET, R.string.account_routeset_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_PASSWORD, R.string.account_password_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REALM, R.string.account_realm_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_DEFAULT_REALM, R.string.account_useragent_label));
-        basicDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_USERAGENT, R.string.account_autoanswer_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_TYPE, R.string.account_type_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS, R.string.account_alias_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_ENABLE, R.string.account_enabled_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME, R.string.account_hostname_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME, R.string.account_username_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_ROUTESET, R.string.account_routeset_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD, R.string.account_password_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_REALM, R.string.account_realm_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_DEFAULT_REALM, R.string.account_useragent_label));
+        basicDetailKeys.add(new PreferenceEntry(AccountDetailBasic.CONFIG_ACCOUNT_USERAGENT, R.string.account_autoanswer_label));
 
         return basicDetailKeys;
     }
@@ -61,50 +61,50 @@
     public static ArrayList<PreferenceEntry> getAdvancedDetailsKeys() {
         ArrayList<PreferenceEntry> advancedDetailKeys = new ArrayList<PreferenceEntry>();
 
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_EXPIRE, R.string.account_registration_exp_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATUS, R.string.account_registration_status_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_EXPIRE, R.string.account_registration_exp_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS, R.string.account_registration_status_label));
         advancedDetailKeys
-                .add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, R.string.account_registration_code_label));
+                .add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, R.string.account_registration_code_label));
         advancedDetailKeys
-                .add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, R.string.account_registration_state_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_CREDENTIAL_NUMBER, R.string.account_credential_count_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_DTMF_TYPE, R.string.account_config_dtmf_type_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_RINGTONE_PATH, R.string.account_ringtone_path_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_RINGTONE_ENABLED, R.string.account_ringtone_enabled_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_KEEP_ALIVE_ENABLED, R.string.account_keep_alive_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ACCOUNT_AUTOANSWER, R.string.account_autoanswer_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_LOCAL_INTERFACE, R.string.account_local_interface_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_PUBLISHED_SAMEAS_LOCAL, R.string.account_published_same_as_local_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_LOCAL_PORT, R.string.account_local_port_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_PUBLISHED_PORT, R.string.account_published_port_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_PUBLISHED_ADDRESS, R.string.account_published_address_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_DISPLAY_NAME, R.string.account_displayname_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_STUN_SERVER, R.string.account_stun_server_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_STUN_ENABLE, R.string.account_stun_enable_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_ENABLE, R.string.account_srtp_enabled_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_KEY_EXCHANGE, R.string.account_srtp_exchange_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_ENCRYPTION_ALGO, R.string.account_encryption_algo_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_SRTP_RTP_FALLBACK, R.string.account_srtp_fallback_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_HELLO_HASH, R.string.account_hello_hash_enable_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS, R.string.account_display_sas_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_NOT_SUPP_WARNING, R.string.account_not_supported_warning_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS_ONCE, R.string.account_display_sas_once_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_LISTENER_PORT, R.string.account_listener_port_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_ENABLE, R.string.account_tls_enabled_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_CA_LIST_FILE, R.string.account_tls_certificate_list_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_CERTIFICATE_FILE, R.string.account_tls_certificate_file_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_PRIVATE_KEY_FILE, R.string.account_tls_private_key_file_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_PASSWORD, R.string.account_tls_password_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_METHOD, R.string.account_tls_method_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_CIPHERS, R.string.account_tls_ciphers_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_SERVER_NAME, R.string.account_tls_server_name_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_VERIFY_SERVER, R.string.account_tls_verify_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_VERIFY_CLIENT, R.string.account_tls_verify_client_label));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE,
+                .add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, R.string.account_registration_state_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_CREDENTIAL_NUMBER, R.string.account_credential_count_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_ACCOUNT_DTMF_TYPE, R.string.account_config_dtmf_type_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_RINGTONE_PATH, R.string.account_ringtone_path_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_RINGTONE_ENABLED, R.string.account_ringtone_enabled_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_KEEP_ALIVE_ENABLED, R.string.account_keep_alive_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_ACCOUNT_AUTOANSWER, R.string.account_autoanswer_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE, R.string.account_local_interface_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_PUBLISHED_SAMEAS_LOCAL, R.string.account_published_same_as_local_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_LOCAL_PORT, R.string.account_local_port_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_PUBLISHED_PORT, R.string.account_published_port_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_PUBLISHED_ADDRESS, R.string.account_published_address_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_DISPLAY_NAME, R.string.account_displayname_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_STUN_SERVER, R.string.account_stun_server_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailAdvanced.CONFIG_STUN_ENABLE, R.string.account_stun_enable_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_SRTP_ENABLE, R.string.account_srtp_enabled_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE, R.string.account_srtp_exchange_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_SRTP_ENCRYPTION_ALGO, R.string.account_encryption_algo_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_SRTP_RTP_FALLBACK, R.string.account_srtp_fallback_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_ZRTP_HELLO_HASH, R.string.account_hello_hash_enable_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS, R.string.account_display_sas_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_ZRTP_NOT_SUPP_WARNING, R.string.account_not_supported_warning_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS_ONCE, R.string.account_display_sas_once_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_LISTENER_PORT, R.string.account_listener_port_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_ENABLE, R.string.account_tls_enabled_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE, R.string.account_tls_certificate_list_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE, R.string.account_tls_certificate_file_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE, R.string.account_tls_private_key_file_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_PASSWORD, R.string.account_tls_password_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_METHOD, R.string.account_tls_method_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_CIPHERS, R.string.account_tls_ciphers_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_SERVER_NAME, R.string.account_tls_server_name_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_VERIFY_SERVER, R.string.account_tls_verify_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_VERIFY_CLIENT, R.string.account_tls_verify_client_label));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE,
                 R.string.account_tls_require_client_certificat_label));
         advancedDetailKeys
-                .add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, R.string.account_tls_negotiation_timeout_sec));
-        advancedDetailKeys.add(new PreferenceEntry(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC,
+                .add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, R.string.account_tls_negotiation_timeout_sec));
+        advancedDetailKeys.add(new PreferenceEntry(AccountDetailTls.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC,
                 R.string.account_tls_negotiation_timeout_msec));
 
         return advancedDetailKeys;
@@ -113,61 +113,60 @@
     public static StringMap convertFromNativeToSwig(HashMap<String, String> nativemap) {
         StringMap swigmap = new StringMap();
 
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_ALIAS, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_ALIAS));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_HOSTNAME, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_HOSTNAME));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_USERNAME, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_USERNAME));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_PASSWORD, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_PASSWORD));
-        System.out.println(nativemap.get(ServiceConstants.CONFIG_ACCOUNT_PASSWORD));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_ROUTESET, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_ROUTESET));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_EXPIRE, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_EXPIRE));
-
-        swigmap.set(ServiceConstants.CONFIG_LOCAL_INTERFACE, nativemap.get(ServiceConstants.CONFIG_LOCAL_INTERFACE));
-        swigmap.set(ServiceConstants.CONFIG_STUN_SERVER, nativemap.get(ServiceConstants.CONFIG_STUN_SERVER));
-        swigmap.set(ServiceConstants.CONFIG_TLS_ENABLE, nativemap.get(ServiceConstants.CONFIG_TLS_ENABLE));
-        swigmap.set(ServiceConstants.CONFIG_SRTP_ENABLE, nativemap.get(ServiceConstants.CONFIG_SRTP_ENABLE));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_TYPE, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_TYPE));
-
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS));
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME));
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME));
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD));
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_ROUTESET, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_ROUTESET));
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_TYPE, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_TYPE));
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_ENABLE, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_ENABLE));
+        swigmap.set(AccountDetailBasic.CONFIG_ACCOUNT_USERAGENT, nativemap.get(AccountDetailBasic.CONFIG_ACCOUNT_USERAGENT));
+        
+        
+        swigmap.set(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_EXPIRE, nativemap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_EXPIRE));
+        swigmap.set(AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE, nativemap.get(AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE));
+        swigmap.set(AccountDetailAdvanced.CONFIG_STUN_SERVER, nativemap.get(AccountDetailAdvanced.CONFIG_STUN_SERVER));
+        
         // swigmap.set(ServiceConstants.CONFIG_ACCOUNT_MAILBOX, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_MAILBOX));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_ENABLE, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_ENABLE));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATUS, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATUS));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC));
+        
+        swigmap.set(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS, nativemap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS));
+        swigmap.set(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, nativemap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE));
+        swigmap.set(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, nativemap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC));
+        swigmap.set(AccountDetailAdvanced.CONFIG_ACCOUNT_AUTOANSWER, nativemap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_AUTOANSWER));
+        swigmap.set(AccountDetailAdvanced.CONFIG_ACCOUNT_DTMF_TYPE, nativemap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_DTMF_TYPE));
+        swigmap.set(AccountDetailAdvanced.CONFIG_KEEP_ALIVE_ENABLED, nativemap.get(AccountDetailAdvanced.CONFIG_KEEP_ALIVE_ENABLED));
+        swigmap.set(AccountDetailAdvanced.CONFIG_LOCAL_PORT, nativemap.get(AccountDetailAdvanced.CONFIG_LOCAL_PORT));
+        swigmap.set(AccountDetailAdvanced.CONFIG_PUBLISHED_ADDRESS, nativemap.get(AccountDetailAdvanced.CONFIG_PUBLISHED_ADDRESS));
+        swigmap.set(AccountDetailAdvanced.CONFIG_PUBLISHED_PORT, nativemap.get(AccountDetailAdvanced.CONFIG_PUBLISHED_PORT));
+        swigmap.set(AccountDetailAdvanced.CONFIG_PUBLISHED_SAMEAS_LOCAL, nativemap.get(AccountDetailAdvanced.CONFIG_PUBLISHED_SAMEAS_LOCAL));
+        swigmap.set(AccountDetailAdvanced.CONFIG_RINGTONE_ENABLED, nativemap.get(AccountDetailAdvanced.CONFIG_RINGTONE_ENABLED));
+        swigmap.set(AccountDetailAdvanced.CONFIG_RINGTONE_PATH, nativemap.get(AccountDetailAdvanced.CONFIG_RINGTONE_PATH));
+        swigmap.set(AccountDetailAdvanced.CONFIG_STUN_ENABLE, nativemap.get(AccountDetailAdvanced.CONFIG_STUN_ENABLE));
 
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_AUTOANSWER, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_AUTOANSWER));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_DTMF_TYPE, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_DTMF_TYPE));
-        swigmap.set(ServiceConstants.CONFIG_KEEP_ALIVE_ENABLED, nativemap.get(ServiceConstants.CONFIG_KEEP_ALIVE_ENABLED));
-        swigmap.set(ServiceConstants.CONFIG_LOCAL_PORT, nativemap.get(ServiceConstants.CONFIG_LOCAL_PORT));
-        swigmap.set(ServiceConstants.CONFIG_PUBLISHED_ADDRESS, nativemap.get(ServiceConstants.CONFIG_PUBLISHED_ADDRESS));
+        
+        swigmap.set(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE, nativemap.get(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE));
+        swigmap.set(AccountDetailSrtp.CONFIG_SRTP_RTP_FALLBACK, nativemap.get(AccountDetailSrtp.CONFIG_SRTP_RTP_FALLBACK));
+        swigmap.set(AccountDetailSrtp.CONFIG_SRTP_ENABLE, nativemap.get(AccountDetailSrtp.CONFIG_SRTP_ENABLE));
+        swigmap.set(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS, nativemap.get(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS));
+        swigmap.set(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS_ONCE, nativemap.get(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS_ONCE));
+        swigmap.set(AccountDetailSrtp.CONFIG_ZRTP_HELLO_HASH, nativemap.get(AccountDetailSrtp.CONFIG_ZRTP_HELLO_HASH));
+        swigmap.set(AccountDetailSrtp.CONFIG_ZRTP_NOT_SUPP_WARNING, nativemap.get(AccountDetailSrtp.CONFIG_ZRTP_NOT_SUPP_WARNING));
 
-        swigmap.set(ServiceConstants.CONFIG_PUBLISHED_PORT, nativemap.get(ServiceConstants.CONFIG_PUBLISHED_PORT));
-        swigmap.set(ServiceConstants.CONFIG_PUBLISHED_SAMEAS_LOCAL, nativemap.get(ServiceConstants.CONFIG_PUBLISHED_SAMEAS_LOCAL));
-        swigmap.set(ServiceConstants.CONFIG_RINGTONE_ENABLED, nativemap.get(ServiceConstants.CONFIG_RINGTONE_ENABLED));
-        swigmap.set(ServiceConstants.CONFIG_RINGTONE_PATH, nativemap.get(ServiceConstants.CONFIG_RINGTONE_PATH));
-        swigmap.set(ServiceConstants.CONFIG_ACCOUNT_USERAGENT, nativemap.get(ServiceConstants.CONFIG_ACCOUNT_USERAGENT));
-
-        swigmap.set(ServiceConstants.CONFIG_SRTP_KEY_EXCHANGE, nativemap.get(ServiceConstants.CONFIG_SRTP_KEY_EXCHANGE));
-        swigmap.set(ServiceConstants.CONFIG_SRTP_RTP_FALLBACK, nativemap.get(ServiceConstants.CONFIG_SRTP_RTP_FALLBACK));
-        swigmap.set(ServiceConstants.CONFIG_STUN_ENABLE, nativemap.get(ServiceConstants.CONFIG_STUN_ENABLE));
-        swigmap.set(ServiceConstants.CONFIG_TLS_CERTIFICATE_FILE, nativemap.get(ServiceConstants.CONFIG_TLS_CERTIFICATE_FILE));
-        swigmap.set(ServiceConstants.CONFIG_TLS_CA_LIST_FILE, nativemap.get(ServiceConstants.CONFIG_TLS_CA_LIST_FILE));
-
-        swigmap.set(ServiceConstants.CONFIG_TLS_CIPHERS, nativemap.get(ServiceConstants.CONFIG_TLS_CIPHERS));
-        swigmap.set(ServiceConstants.CONFIG_TLS_LISTENER_PORT, nativemap.get(ServiceConstants.CONFIG_TLS_LISTENER_PORT));
-        swigmap.set(ServiceConstants.CONFIG_TLS_METHOD, nativemap.get(ServiceConstants.CONFIG_TLS_METHOD));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_CIPHERS, nativemap.get(AccountDetailTls.CONFIG_TLS_CIPHERS));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_LISTENER_PORT, nativemap.get(AccountDetailTls.CONFIG_TLS_LISTENER_PORT));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_METHOD, nativemap.get(AccountDetailTls.CONFIG_TLS_METHOD));
         // swigmap.set(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC, nativemap.get(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC));
         // swigmap.set(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, nativemap.get(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC));
-
-        swigmap.set(ServiceConstants.CONFIG_TLS_PASSWORD, nativemap.get(ServiceConstants.CONFIG_TLS_PASSWORD));
-        swigmap.set(ServiceConstants.CONFIG_TLS_PRIVATE_KEY_FILE, nativemap.get(ServiceConstants.CONFIG_TLS_PRIVATE_KEY_FILE));
-        swigmap.set(ServiceConstants.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, nativemap.get(ServiceConstants.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE));
-        swigmap.set(ServiceConstants.CONFIG_TLS_SERVER_NAME, nativemap.get(ServiceConstants.CONFIG_TLS_SERVER_NAME));
-        swigmap.set(ServiceConstants.CONFIG_TLS_VERIFY_CLIENT, nativemap.get(ServiceConstants.CONFIG_TLS_VERIFY_CLIENT));
-
-        swigmap.set(ServiceConstants.CONFIG_TLS_VERIFY_SERVER, nativemap.get(ServiceConstants.CONFIG_TLS_VERIFY_SERVER));
-        swigmap.set(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS, nativemap.get(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS));
-        swigmap.set(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS_ONCE, nativemap.get(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS_ONCE));
-        swigmap.set(ServiceConstants.CONFIG_ZRTP_HELLO_HASH, nativemap.get(ServiceConstants.CONFIG_ZRTP_HELLO_HASH));
-        swigmap.set(ServiceConstants.CONFIG_ZRTP_NOT_SUPP_WARNING, nativemap.get(ServiceConstants.CONFIG_ZRTP_NOT_SUPP_WARNING));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_ENABLE, nativemap.get(AccountDetailTls.CONFIG_TLS_ENABLE));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_PASSWORD, nativemap.get(AccountDetailTls.CONFIG_TLS_PASSWORD));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE, nativemap.get(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, nativemap.get(AccountDetailTls.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_SERVER_NAME, nativemap.get(AccountDetailTls.CONFIG_TLS_SERVER_NAME));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_VERIFY_CLIENT, nativemap.get(AccountDetailTls.CONFIG_TLS_VERIFY_CLIENT));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE, nativemap.get(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE, nativemap.get(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE));
+        swigmap.set(AccountDetailTls.CONFIG_TLS_VERIFY_SERVER, nativemap.get(AccountDetailTls.CONFIG_TLS_VERIFY_SERVER));
+        
 
         return swigmap;
     }
@@ -176,61 +175,57 @@
 
         HashMap<String, String> nativemap = new HashMap<String, String>();
 
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_ALIAS, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_ALIAS));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_HOSTNAME, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_HOSTNAME));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_USERNAME, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_USERNAME));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_PASSWORD, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_PASSWORD));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_ROUTESET, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_ROUTESET));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_EXPIRE, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_EXPIRE));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_ROUTESET, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_ROUTESET));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_TYPE, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_TYPE));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_ENABLE, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_ENABLE));
+        nativemap.put(AccountDetailBasic.CONFIG_ACCOUNT_USERAGENT, swigmap.get(AccountDetailBasic.CONFIG_ACCOUNT_USERAGENT));
 
-        nativemap.put(ServiceConstants.CONFIG_LOCAL_INTERFACE, swigmap.get(ServiceConstants.CONFIG_LOCAL_INTERFACE));
-        nativemap.put(ServiceConstants.CONFIG_STUN_SERVER, swigmap.get(ServiceConstants.CONFIG_STUN_SERVER));
-        nativemap.put(ServiceConstants.CONFIG_TLS_ENABLE, swigmap.get(ServiceConstants.CONFIG_TLS_ENABLE));
-        nativemap.put(ServiceConstants.CONFIG_SRTP_ENABLE, swigmap.get(ServiceConstants.CONFIG_SRTP_ENABLE));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_TYPE, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_TYPE));
+        nativemap.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_EXPIRE, swigmap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_EXPIRE));
+        nativemap.put(AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE, swigmap.get(AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE));
+        nativemap.put(AccountDetailAdvanced.CONFIG_STUN_SERVER, swigmap.get(AccountDetailAdvanced.CONFIG_STUN_SERVER));
+        nativemap.put(AccountDetailAdvanced.CONFIG_ACCOUNT_MAILBOX, swigmap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_MAILBOX));
+        nativemap.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS, swigmap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS));
+        nativemap.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, swigmap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE));
+        nativemap.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, swigmap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC));
+        nativemap.put(AccountDetailAdvanced.CONFIG_ACCOUNT_AUTOANSWER, swigmap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_AUTOANSWER));
+        nativemap.put(AccountDetailAdvanced.CONFIG_ACCOUNT_DTMF_TYPE, swigmap.get(AccountDetailAdvanced.CONFIG_ACCOUNT_DTMF_TYPE));
+        nativemap.put(AccountDetailAdvanced.CONFIG_KEEP_ALIVE_ENABLED, swigmap.get(AccountDetailAdvanced.CONFIG_KEEP_ALIVE_ENABLED));
+        nativemap.put(AccountDetailAdvanced.CONFIG_LOCAL_PORT, swigmap.get(AccountDetailAdvanced.CONFIG_LOCAL_PORT));
+        nativemap.put(AccountDetailAdvanced.CONFIG_PUBLISHED_ADDRESS, swigmap.get(AccountDetailAdvanced.CONFIG_PUBLISHED_ADDRESS));
+        nativemap.put(AccountDetailAdvanced.CONFIG_PUBLISHED_PORT, swigmap.get(AccountDetailAdvanced.CONFIG_PUBLISHED_PORT));
+        nativemap.put(AccountDetailAdvanced.CONFIG_PUBLISHED_SAMEAS_LOCAL, swigmap.get(AccountDetailAdvanced.CONFIG_PUBLISHED_SAMEAS_LOCAL));
+        nativemap.put(AccountDetailAdvanced.CONFIG_RINGTONE_ENABLED, swigmap.get(AccountDetailAdvanced.CONFIG_RINGTONE_ENABLED));
+        nativemap.put(AccountDetailAdvanced.CONFIG_RINGTONE_PATH, swigmap.get(AccountDetailAdvanced.CONFIG_RINGTONE_PATH));
+        nativemap.put(AccountDetailAdvanced.CONFIG_STUN_ENABLE, swigmap.get(AccountDetailAdvanced.CONFIG_STUN_ENABLE));
+        
+        
+        nativemap.put(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE, swigmap.get(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE));
+        nativemap.put(AccountDetailSrtp.CONFIG_SRTP_RTP_FALLBACK, swigmap.get(AccountDetailSrtp.CONFIG_SRTP_RTP_FALLBACK));
+        nativemap.put(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS, swigmap.get(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS));
+        nativemap.put(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS_ONCE, swigmap.get(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS_ONCE));
+        nativemap.put(AccountDetailSrtp.CONFIG_ZRTP_HELLO_HASH, swigmap.get(AccountDetailSrtp.CONFIG_ZRTP_HELLO_HASH));
+        nativemap.put(AccountDetailSrtp.CONFIG_ZRTP_NOT_SUPP_WARNING, swigmap.get(AccountDetailSrtp.CONFIG_ZRTP_NOT_SUPP_WARNING));
+        nativemap.put(AccountDetailSrtp.CONFIG_SRTP_ENABLE, swigmap.get(AccountDetailSrtp.CONFIG_SRTP_ENABLE));
 
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_MAILBOX, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_MAILBOX));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_ENABLE, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_ENABLE));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATUS, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATUS));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC));
-
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_AUTOANSWER, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_AUTOANSWER));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_DTMF_TYPE, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_DTMF_TYPE));
-        nativemap.put(ServiceConstants.CONFIG_KEEP_ALIVE_ENABLED, swigmap.get(ServiceConstants.CONFIG_KEEP_ALIVE_ENABLED));
-        nativemap.put(ServiceConstants.CONFIG_LOCAL_PORT, swigmap.get(ServiceConstants.CONFIG_LOCAL_PORT));
-        nativemap.put(ServiceConstants.CONFIG_PUBLISHED_ADDRESS, swigmap.get(ServiceConstants.CONFIG_PUBLISHED_ADDRESS));
-
-        nativemap.put(ServiceConstants.CONFIG_PUBLISHED_PORT, swigmap.get(ServiceConstants.CONFIG_PUBLISHED_PORT));
-        nativemap.put(ServiceConstants.CONFIG_PUBLISHED_SAMEAS_LOCAL, swigmap.get(ServiceConstants.CONFIG_PUBLISHED_SAMEAS_LOCAL));
-        nativemap.put(ServiceConstants.CONFIG_RINGTONE_ENABLED, swigmap.get(ServiceConstants.CONFIG_RINGTONE_ENABLED));
-        nativemap.put(ServiceConstants.CONFIG_RINGTONE_PATH, swigmap.get(ServiceConstants.CONFIG_RINGTONE_PATH));
-        nativemap.put(ServiceConstants.CONFIG_ACCOUNT_USERAGENT, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_USERAGENT));
-
-        nativemap.put(ServiceConstants.CONFIG_SRTP_KEY_EXCHANGE, swigmap.get(ServiceConstants.CONFIG_SRTP_KEY_EXCHANGE));
-        nativemap.put(ServiceConstants.CONFIG_SRTP_RTP_FALLBACK, swigmap.get(ServiceConstants.CONFIG_SRTP_RTP_FALLBACK));
-        nativemap.put(ServiceConstants.CONFIG_STUN_ENABLE, swigmap.get(ServiceConstants.CONFIG_STUN_ENABLE));
-        nativemap.put(ServiceConstants.CONFIG_TLS_CERTIFICATE_FILE, swigmap.get(ServiceConstants.CONFIG_TLS_CERTIFICATE_FILE));
-        nativemap.put(ServiceConstants.CONFIG_TLS_CA_LIST_FILE, swigmap.get(ServiceConstants.CONFIG_TLS_CA_LIST_FILE));
-
-        nativemap.put(ServiceConstants.CONFIG_TLS_CIPHERS, swigmap.get(ServiceConstants.CONFIG_TLS_CIPHERS));
-        nativemap.put(ServiceConstants.CONFIG_TLS_LISTENER_PORT, swigmap.get(ServiceConstants.CONFIG_TLS_LISTENER_PORT));
-        nativemap.put(ServiceConstants.CONFIG_TLS_METHOD, swigmap.get(ServiceConstants.CONFIG_TLS_METHOD));
-        nativemap.put(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC, swigmap.get(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC));
-        nativemap.put(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, swigmap.get(ServiceConstants.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC));
-
-        nativemap.put(ServiceConstants.CONFIG_TLS_PASSWORD, swigmap.get(ServiceConstants.CONFIG_TLS_PASSWORD));
-        nativemap.put(ServiceConstants.CONFIG_TLS_PRIVATE_KEY_FILE, swigmap.get(ServiceConstants.CONFIG_TLS_PRIVATE_KEY_FILE));
-        nativemap.put(ServiceConstants.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, swigmap.get(ServiceConstants.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE));
-        nativemap.put(ServiceConstants.CONFIG_TLS_SERVER_NAME, swigmap.get(ServiceConstants.CONFIG_TLS_SERVER_NAME));
-        nativemap.put(ServiceConstants.CONFIG_TLS_VERIFY_CLIENT, swigmap.get(ServiceConstants.CONFIG_TLS_VERIFY_CLIENT));
-
-        nativemap.put(ServiceConstants.CONFIG_TLS_VERIFY_SERVER, swigmap.get(ServiceConstants.CONFIG_TLS_VERIFY_SERVER));
-        nativemap.put(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS, swigmap.get(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS));
-        nativemap.put(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS_ONCE, swigmap.get(ServiceConstants.CONFIG_ZRTP_DISPLAY_SAS_ONCE));
-        nativemap.put(ServiceConstants.CONFIG_ZRTP_HELLO_HASH, swigmap.get(ServiceConstants.CONFIG_ZRTP_HELLO_HASH));
-        nativemap.put(ServiceConstants.CONFIG_ZRTP_NOT_SUPP_WARNING, swigmap.get(ServiceConstants.CONFIG_ZRTP_NOT_SUPP_WARNING));
-
+        nativemap.put(AccountDetailTls.CONFIG_TLS_CIPHERS, swigmap.get(AccountDetailTls.CONFIG_TLS_CIPHERS));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_LISTENER_PORT, swigmap.get(AccountDetailTls.CONFIG_TLS_LISTENER_PORT));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_METHOD, swigmap.get(AccountDetailTls.CONFIG_TLS_METHOD));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC, swigmap.get(AccountDetailTls.CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC, swigmap.get(AccountDetailTls.CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_PASSWORD, swigmap.get(AccountDetailTls.CONFIG_TLS_PASSWORD));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE, swigmap.get(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, swigmap.get(AccountDetailTls.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_SERVER_NAME, swigmap.get(AccountDetailTls.CONFIG_TLS_SERVER_NAME));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_VERIFY_CLIENT, swigmap.get(AccountDetailTls.CONFIG_TLS_VERIFY_CLIENT));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_VERIFY_SERVER, swigmap.get(AccountDetailTls.CONFIG_TLS_VERIFY_SERVER));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE, swigmap.get(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE, swigmap.get(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE));
+        nativemap.put(AccountDetailTls.CONFIG_TLS_ENABLE, swigmap.get(AccountDetailTls.CONFIG_TLS_ENABLE));
+        
         /*
          * nativemap.put(ServiceConstants.CONFIG_CREDENTIAL_NUMBER, swigmap.get(ServiceConstants.CONFIG_CREDENTIAL_NUMBER));
          * nativemap.put(ServiceConstants.CONFIG_ACCOUNT_PASSWORD, swigmap.get(ServiceConstants.CONFIG_ACCOUNT_PASSWORD));
diff --git a/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java b/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java
index 9dfeca7..154dc61 100644
--- a/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java
+++ b/src/com/savoirfairelinux/sflphone/adapters/SectionsPagerAdapter.java
@@ -36,28 +36,6 @@
         return fragments.get(i);
     }
 
-//    public Fragment getFragment(int i) {
-//        Fragment fragment;
-//
-//        switch (i) {
-//        case 0:
-//            fragment = new DialingFragment();
-//            break;
-//        case 1:
-//            fragment = new CallElementListFragment();
-//            break;
-//        case 2:
-//            fragment = new HistoryFragment();
-//            break;
-//        default:
-//            Log.e(TAG, "getClassName: unknown fragment position " + i);
-//            fragment = null;
-//        }
-
-        // Log.w(TAG, "getFragment: fragment=" + fragment);
-//        return fragment;
-//    }
-
     public String getClassName(int i) {
         String name;
 
diff --git a/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java b/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java
index f3cf3f4..9970015 100644
--- a/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/AccountPreferenceActivity.java
@@ -62,19 +62,14 @@
 import com.savoirfairelinux.sflphone.account.AccountDetailBasic;
 import com.savoirfairelinux.sflphone.account.AccountDetailSrtp;
 import com.savoirfairelinux.sflphone.account.AccountDetailTls;
+import com.savoirfairelinux.sflphone.service.ServiceConstants;
 
 public class AccountPreferenceActivity extends PreferenceActivity {
     private static final String TAG = "AccoutPreferenceActivity";
 
     public static final String KEY_MODE = "mode";
 
-    public interface mode {
-        static final int CREATION_MODE = 0;
-        static final int EDITION_MODE = 1;
-    }
-
     public interface result {
-        static final int ACCOUNT_CREATED = Activity.RESULT_FIRST_USER + 0;
         static final int ACCOUNT_MODIFIED = Activity.RESULT_FIRST_USER + 1;
         static final int ACCOUNT_DELETED = Activity.RESULT_FIRST_USER + 2;
     }
@@ -93,18 +88,7 @@
         addPreferencesFromResource(R.xml.account_creation_preferences);
         mPreferenceManager = getPreferenceManager();
 
-        Bundle b = getIntent().getExtras();
-
-        switch (b.getInt(KEY_MODE)) {
-        case mode.CREATION_MODE:
-            Log.i(TAG, "CREATION");
-            initCreation();
-            break;
-        case mode.EDITION_MODE:
-            Log.i(TAG, "EDITION");
-            initEdition();
-            break;
-        }
+        initEdition();
 
         getActionBar().setDisplayHomeAsUpEnabled(true);
 
@@ -116,19 +100,6 @@
 
     }
 
-    private void initCreation() {
-        basicDetails = new AccountDetailBasic();
-        advancedDetails = new AccountDetailAdvanced();
-        srtpDetails = new AccountDetailSrtp();
-        tlsDetails = new AccountDetailTls();
-
-        addPreferenceListener(basicDetails, changeBasicPreferenceListener);
-        // addPreferenceListener(advancedDetails, changeAdvancedPreferenceListener);
-        // addPreferenceListener(srtpDetails, changeSrtpPreferenceListener);
-        // addPreferenceListener(tlsDetails, changeTlsPreferenceListener);
-
-    }
-
     private void initEdition() {
 
         Bundle b = getIntent().getExtras();
@@ -158,38 +129,18 @@
     public boolean onCreateOptionsMenu(Menu menu) {
         MenuInflater inflater = getMenuInflater();
 
-        Bundle b = getIntent().getExtras();
+        Log.i(TAG, "onCreateOptionsMenu: " + mAccountID);
 
-        switch (b.getInt(KEY_MODE)) {
-        case mode.CREATION_MODE:
-            Log.i(TAG, "CREATION");
-            inflater.inflate(R.menu.account_creation, menu);
-            break;
-        case mode.EDITION_MODE:
-            Log.i(TAG, "onCreateOptionsMenu: " + mAccountID);
-
-            if (mAccountID.equals("IP2IP"))
-                return true;
-
-            inflater.inflate(R.menu.account_edition, menu);
-            break;
-        }
+        inflater.inflate(R.menu.account_edition, menu);
 
         return true;
     }
 
     @Override
     public void onBackPressed() {
-        Bundle b = getIntent().getExtras();
-        switch (b.getInt(KEY_MODE)) {
-        case mode.CREATION_MODE:
-            Log.i(TAG, "CREATION");
-            AlertDialog dialog = createCancelDialog();
-            dialog.show();
-            break;
-        case mode.EDITION_MODE:
-            finish();
-        }
+
+        AlertDialog dialog = createCancelDialog();
+        dialog.show();
 
     }
 
@@ -204,10 +155,6 @@
             AlertDialog dialog = createDeleteDialog();
             dialog.show();
             break;
-        case R.id.menuitem_create:
-            Toast.makeText(this, "ACCOUNT_CREATED", Toast.LENGTH_LONG).show();
-            processAccount(result.ACCOUNT_CREATED);
-            break;
         case R.id.menuitem_edit:
             processAccount(result.ACCOUNT_MODIFIED);
             break;
@@ -230,9 +177,8 @@
             updateAccountDetails(accountDetails, advancedDetails);
             updateAccountDetails(accountDetails, srtpDetails);
             updateAccountDetails(accountDetails, tlsDetails);
-            
+
             accountDetails.put("Account.type", "SIP");
-            Toast.makeText(this, "updateAccountDetails", Toast.LENGTH_LONG).show();
             bundle.putSerializable(AccountDetail.TAG, accountDetails);
             Intent resultIntent = new Intent();
             resultIntent.putExtras(bundle);
@@ -269,11 +215,11 @@
             if (p.isTwoState) {
                 accountDetails.put(p.mKey, det.getDetailString(p.mKey));
             } else {
-//                if (p.mKey == AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE) {
-//                    accountDetails.put(p.mKey, det.getDetailString(p.mKey));
-//                } else {
-                    accountDetails.put(p.mKey, det.getDetailString(p.mKey));
-//                }
+                // if (p.mKey == AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE) {
+                // accountDetails.put(p.mKey, det.getDetailString(p.mKey));
+                // } else {
+                accountDetails.put(p.mKey, det.getDetailString(p.mKey));
+                // }
             }
 
             // Preference pref = mPreferenceManager.findPreference(p.mKey);
diff --git a/src/com/savoirfairelinux/sflphone/client/AccountWizard.java b/src/com/savoirfairelinux/sflphone/client/AccountWizard.java
new file mode 100644
index 0000000..6218ab9
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/client/AccountWizard.java
@@ -0,0 +1,190 @@
+/*
+ *  Copyright (C) 2004-2013 Savoir-Faire Linux Inc.
+ *
+ *  Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *  Additional permission under GNU GPL version 3 section 7:
+ *
+ *  If you modify this program, or any covered work, by linking or
+ *  combining it with the OpenSSL project's OpenSSL library (or a
+ *  modified version of that library), containing parts covered by the
+ *  terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.
+ *  grants you additional permission to convey the resulting work.
+ *  Corresponding Source for a non-source form of such a combination
+ *  shall include the source code for the parts of OpenSSL used as well
+ *  as that of the covered work.
+ */
+
+package com.savoirfairelinux.sflphone.client;
+
+import java.util.ArrayList;
+
+import android.app.Activity;
+import android.app.Fragment;
+import android.app.FragmentManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.support.v13.app.FragmentStatePagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.util.Log;
+import android.view.MenuItem;
+
+import com.savoirfairelinux.sflphone.R;
+import com.savoirfairelinux.sflphone.fragments.AccountCreationFragment;
+import com.savoirfairelinux.sflphone.interfaces.AccountsInterface;
+import com.savoirfairelinux.sflphone.service.ISipService;
+import com.savoirfairelinux.sflphone.service.SipService;
+
+public class AccountWizard extends Activity implements AccountsInterface {
+    static final String TAG = "AccountWizard";
+
+    public static final int ACCOUNT_CREATED = Activity.RESULT_OK;
+
+    ViewPager mViewPager;
+    private ISipService service;
+    private SectionsPagerAdapter mSectionsPagerAdapter;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        setContentView(R.layout.activity_wizard);
+        mViewPager = (ViewPager) findViewById(R.id.pager);
+
+        getActionBar().setDisplayHomeAsUpEnabled(true);
+        getActionBar().setHomeButtonEnabled(true);
+
+        Intent intent = new Intent(this, SipService.class);
+        bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
+
+    }
+
+    /* activity finishes itself or is being killed by the system */
+    @Override
+    protected void onDestroy() {
+        /* stop the service, if no other bound user, no need to check if it is running */
+
+        unbindService(mConnection);
+
+        super.onDestroy();
+    }
+
+    /** Defines callbacks for service binding, passed to bindService() */
+    private ServiceConnection mConnection = new ServiceConnection() {
+
+        @Override
+        public void onServiceConnected(ComponentName className, IBinder binder) {
+            service = ISipService.Stub.asInterface(binder);
+
+            mSectionsPagerAdapter = new SectionsPagerAdapter(AccountWizard.this, getFragmentManager());
+            mViewPager.setAdapter(mSectionsPagerAdapter);
+
+        }
+
+        @Override
+        public void onServiceDisconnected(ComponentName arg0) {
+
+        }
+    };
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+        case android.R.id.home:
+            finish();
+            return true;
+        default:
+            return true;
+        }
+    }
+
+    @Override
+    public void accountsChanged() {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void accountStateChanged(Intent accountState) {
+        // TODO Auto-generated method stub
+
+    }
+
+    public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
+
+        Context mContext;
+        final private int[] icon_res_id = { R.drawable.ic_tab_call, R.drawable.ic_tab_call, R.drawable.ic_tab_history };
+        ArrayList<Fragment> fragments;
+
+        public SectionsPagerAdapter(Context c, FragmentManager fm) {
+            super(fm);
+            mContext = c;
+            fragments = new ArrayList<Fragment>();
+            fragments.add(new AccountCreationFragment());
+
+        }
+
+        @Override
+        public Fragment getItem(int i) {
+
+            return fragments.get(i);
+        }
+
+        public String getClassName(int i) {
+            String name;
+
+            switch (i) {
+            case 0:
+                name = AccountCreationFragment.class.getName();
+                break;
+
+            default:
+                Log.e(TAG, "getClassName: unknown fragment position " + i);
+                return null;
+            }
+
+            // Log.w(TAG, "getClassName: name=" + name);
+            return name;
+        }
+
+        @Override
+        public int getCount() {
+            return 1;
+        }
+
+        public int getIconOf(int pos) {
+            return icon_res_id[pos];
+        }
+
+        @Override
+        public CharSequence getPageTitle(int position) {
+            switch (position) {
+            case 0:
+                return mContext.getString(R.string.title_section0).toUpperCase();
+            default:
+                Log.e(TAG, "getPageTitle: unknown tab position " + position);
+                break;
+            }
+            return null;
+        }
+    }
+
+}
diff --git a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java
index cac9296..9038739 100644
--- a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHomeActivity.java
@@ -100,9 +100,6 @@
     private CharSequence mDrawerTitle;
     private CharSequence mTitle;
 
-    // AccountSelectionAdapter mAdapter;
-    // private Spinner spinnerAccounts;
-
     public static final int REQUEST_CODE_PREFERENCES = 1;
     private static final int REQUEST_CODE_CALL = 2;
 
diff --git a/src/com/savoirfairelinux/sflphone/fragments/AccountCreationFragment.java b/src/com/savoirfairelinux/sflphone/fragments/AccountCreationFragment.java
new file mode 100644
index 0000000..69ec50c
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/fragments/AccountCreationFragment.java
@@ -0,0 +1,221 @@
+package com.savoirfairelinux.sflphone.fragments;
+
+import java.util.HashMap;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.Fragment;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.savoirfairelinux.sflphone.R;
+import com.savoirfairelinux.sflphone.account.AccountDetail;
+import com.savoirfairelinux.sflphone.account.AccountDetailAdvanced;
+import com.savoirfairelinux.sflphone.account.AccountDetailBasic;
+import com.savoirfairelinux.sflphone.account.AccountDetailSrtp;
+import com.savoirfairelinux.sflphone.account.AccountDetailTls;
+
+public class AccountCreationFragment extends Fragment {
+
+    // Values for email and password at the time of the login attempt.
+    private String mAlias;
+    private String mHostname;
+    private String mUsername;
+    private String mPassword;
+
+    // UI references.
+    private EditText mAliasView;
+    private EditText mHostnameView;
+    private EditText mUsernameView;
+    private EditText mPasswordView;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // mAdapter = new HistoryAdapter(getActivity(),new ArrayList<HashMap<String, String>>());
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
+        View inflatedView = inflater.inflate(R.layout.frag_account_creation, parent, false);
+
+        mAliasView = (EditText) inflatedView.findViewById(R.id.alias);
+        mHostnameView = (EditText) inflatedView.findViewById(R.id.hostname);
+        mUsernameView = (EditText) inflatedView.findViewById(R.id.username);
+        mPasswordView = (EditText) inflatedView.findViewById(R.id.password);
+        inflatedView.findViewById(R.id.create_button).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                attemptCreation();
+            }
+        });
+
+        return inflatedView;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+
+    }
+
+    /**
+     * Attempts to sign in or register the account specified by the login form. If there are form errors (invalid email, missing fields, etc.), the
+     * errors are presented and no actual login attempt is made.
+     */
+    public void attemptCreation() {
+
+        // Reset errors.
+        mAliasView.setError(null);
+        mPasswordView.setError(null);
+
+        // Store values at the time of the login attempt.
+        mAlias = mAliasView.getText().toString();
+        mHostname = mHostnameView.getText().toString();
+        mUsername = mUsernameView.getText().toString();
+        mPassword = mPasswordView.getText().toString();
+
+        boolean cancel = false;
+        View focusView = null;
+
+        // Check for a valid password.
+        if (TextUtils.isEmpty(mPassword)) {
+            mPasswordView.setError(getString(R.string.error_field_required));
+            focusView = mPasswordView;
+            cancel = true;
+        }
+
+        if (TextUtils.isEmpty(mUsername)) {
+            mUsernameView.setError(getString(R.string.error_field_required));
+            focusView = mUsernameView;
+            cancel = true;
+        }
+
+        if (TextUtils.isEmpty(mHostname)) {
+            mHostnameView.setError(getString(R.string.error_field_required));
+            focusView = mHostnameView;
+            cancel = true;
+        }
+
+        // Check for a valid email address.
+        if (TextUtils.isEmpty(mAlias)) {
+            mAliasView.setError(getString(R.string.error_field_required));
+            focusView = mAliasView;
+            cancel = true;
+        }
+
+        if (cancel) {
+            // There was an error; don't attempt login and focus the first
+            // form field with an error.
+            focusView.requestFocus();
+        } else {
+            // Show a progress spinner, and kick off a background task to
+            // perform the user login attempt.
+            initCreation();
+
+        }
+    }
+
+    private void initCreation() {
+
+        HashMap<String, String> accountDetails = new HashMap<String, String>();
+
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_TYPE, AccountDetailBasic.CONFIG_ACCOUNT_DEFAULT_TYPE);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS, mAlias);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME, mHostname);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME, mUsername);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD, mPassword);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_ROUTESET, "");
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_REALM, AccountDetailBasic.CONFIG_ACCOUNT_DEFAULT_REALM);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_ENABLE, AccountDetailBasic.CONFIG_ACCOUNT_DEFAULT_ENABLE);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD, mPassword);
+        accountDetails.put(AccountDetailBasic.CONFIG_ACCOUNT_USERAGENT, AccountDetailBasic.CONFIG_ACCOUNT_DEFAULT_USERAGENT);
+
+        accountDetails.put(AccountDetailAdvanced.CONFIG_LOCAL_PORT, AccountDetailAdvanced.CONFIG_DEFAULT_LOCAL_PORT);
+        accountDetails.put(AccountDetailAdvanced.CONFIG_LOCAL_INTERFACE, AccountDetailAdvanced.CONFIG_DEFAULT_INTERFACE);
+        accountDetails.put(AccountDetailAdvanced.CONFIG_PUBLISHED_PORT, AccountDetailAdvanced.CONFIG_DEFAULT_PUBLISHED_PORT);
+        accountDetails.put(AccountDetailAdvanced.CONFIG_PUBLISHED_ADDRESS, AccountDetailAdvanced.CONFIG_DEFAULT_ADDRESS);
+        accountDetails.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_EXPIRE, AccountDetailAdvanced.CONFIG_DEFAULT_REGISTRATION_EXPIRE);
+        accountDetails.put(AccountDetailAdvanced.CONFIG_STUN_SERVER, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_CODE, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATE_DESC, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_ACCOUNT_AUTOANSWER, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_ACCOUNT_DTMF_TYPE, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_KEEP_ALIVE_ENABLED, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_STUN_SERVER, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_PUBLISHED_SAMEAS_LOCAL, AccountDetailAdvanced.CONFIG_DEFAULT_PUBLISHED_SAMEAS_LOCAL);
+        accountDetails.put(AccountDetailAdvanced.CONFIG_RINGTONE_ENABLED, "false");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_RINGTONE_PATH, "");
+        accountDetails.put(AccountDetailAdvanced.CONFIG_STUN_ENABLE, "false");
+
+        accountDetails.put(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_SRTP_RTP_FALLBACK, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_SRTP_ENABLE, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_ZRTP_DISPLAY_SAS_ONCE, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_SRTP_KEY_EXCHANGE, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_ZRTP_HELLO_HASH, "");
+        accountDetails.put(AccountDetailSrtp.CONFIG_ZRTP_NOT_SUPP_WARNING, "");
+
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_CIPHERS, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_LISTENER_PORT, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_METHOD, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_ENABLE, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_PASSWORD, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_PRIVATE_KEY_FILE, "");
+        
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_SERVER_NAME, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE, "false");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_LISTENER_PORT, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_VERIFY_CLIENT, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_CERTIFICATE_FILE, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_CA_LIST_FILE, "");
+        accountDetails.put(AccountDetailTls.CONFIG_TLS_VERIFY_SERVER, "");
+        
+        Bundle bundle = new Bundle();
+        bundle.putSerializable(AccountDetail.TAG, accountDetails);
+        Intent resultIntent = new Intent();
+        resultIntent.putExtras(bundle);
+
+        getActivity().setResult(Activity.RESULT_OK, resultIntent);
+        getActivity().finish();
+
+    }
+
+    private AlertDialog createCancelDialog() {
+        Activity ownerActivity = getActivity();
+        AlertDialog.Builder builder = new AlertDialog.Builder(ownerActivity);
+        builder.setMessage("All parameters will be lost").setTitle("Account Creation").setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+            public void onClick(DialogInterface dialog, int whichButton) {
+                Activity activity = ((Dialog) dialog).getOwnerActivity();
+                activity.finish();
+            }
+        }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+            public void onClick(DialogInterface dialog, int whichButton) {
+                /* Terminate with no action */
+            }
+        });
+
+        AlertDialog alertDialog = builder.create();
+        alertDialog.setOwnerActivity(ownerActivity);
+
+        return alertDialog;
+    }
+
+}
diff --git a/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java b/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java
index 43c7191..6ad55be 100644
--- a/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java
+++ b/src/com/savoirfairelinux/sflphone/fragments/AccountManagementFragment.java
@@ -1,7 +1,8 @@
 /*
- *  Copyright (C) 2004-2012 Savoir-Faire Linux Inc.
+ *  Copyright (C) 2004-2013 Savoir-Faire Linux Inc.
  *
  *  Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com>
+ *      Alexandre Lision <alexandre.lision@savoirfairelinux.com>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -41,7 +42,6 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.os.Bundle;
-import android.os.Environment;
 import android.os.RemoteException;
 import android.preference.Preference;
 import android.preference.PreferenceCategory;
@@ -49,6 +49,7 @@
 import android.preference.PreferenceScreen;
 import android.support.v4.content.LocalBroadcastManager;
 import android.util.Log;
+import android.widget.Toast;
 
 import com.savoirfairelinux.sflphone.R;
 import com.savoirfairelinux.sflphone.account.AccountDetail;
@@ -57,8 +58,10 @@
 import com.savoirfairelinux.sflphone.account.AccountDetailSrtp;
 import com.savoirfairelinux.sflphone.account.AccountDetailTls;
 import com.savoirfairelinux.sflphone.client.AccountPreferenceActivity;
+import com.savoirfairelinux.sflphone.client.AccountWizard;
 import com.savoirfairelinux.sflphone.client.SFLPhonePreferenceActivity;
 import com.savoirfairelinux.sflphone.client.SFLphoneApplication;
+import com.savoirfairelinux.sflphone.model.Account;
 import com.savoirfairelinux.sflphone.service.ConfigurationManagerCallback;
 import com.savoirfairelinux.sflphone.service.ISipService;
 import com.savoirfairelinux.sflphone.service.ServiceConstants;
@@ -71,10 +74,10 @@
     private SFLPhonePreferenceActivity sflphonePreferenceActivity;
     private ISipService service = null;
 
-    ArrayList<AccountDetail.PreferenceEntry> basicDetailKeys = null;
-//    ArrayList<AccountDetail.PreferenceEntry> advancedDetailKeys = null;
-//    ArrayList<AccountDetail.PreferenceEntry> srtpDetailKeys = null;
-//    ArrayList<AccountDetail.PreferenceEntry> tlsDetailKeys = null;
+    // ArrayList<AccountDetail.PreferenceEntry> basicDetailKeys = null;
+    // ArrayList<AccountDetail.PreferenceEntry> advancedDetailKeys = null;
+    // ArrayList<AccountDetail.PreferenceEntry> srtpDetailKeys = null;
+    // ArrayList<AccountDetail.PreferenceEntry> tlsDetailKeys = null;
     HashMap<String, Preference> accountPreferenceHashMap = null;
     PreferenceScreen mRoot = null;
 
@@ -87,10 +90,10 @@
     }
 
     public AccountManagementFragment() {
-        basicDetailKeys = AccountDetailBasic.getPreferenceEntries();
-//        advancedDetailKeys = AccountDetailAdvanced.getPreferenceEntries();
-//        srtpDetailKeys = AccountDetailSrtp.getPreferenceEntries();
-//        tlsDetailKeys = AccountDetailTls.getPreferenceEntries();
+        // basicDetailKeys = AccountDetailBasic.getPreferenceEntries();
+        // advancedDetailKeys = AccountDetailAdvanced.getPreferenceEntries();
+        // srtpDetailKeys = AccountDetailSrtp.getPreferenceEntries();
+        // tlsDetailKeys = AccountDetailTls.getPreferenceEntries();
 
         accountPreferenceHashMap = new HashMap<String, Preference>();
     }
@@ -111,7 +114,6 @@
                 Log.e(TAG, "onCreate() service=" + service);
             }
         }
-        Log.w(TAG, "onCreate() service=" + service);
 
         setPreferenceScreen(getAccountListPreferenceScreen());
 
@@ -136,11 +138,15 @@
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
         case ACCOUNT_CREATE_REQUEST:
-            if (resultCode == AccountPreferenceActivity.result.ACCOUNT_CREATED) {
+            if (resultCode == AccountWizard.ACCOUNT_CREATED) {
                 Bundle bundle = data.getExtras();
                 Log.i(TAG, "Create account settings");
                 HashMap<String, String> accountDetails = new HashMap<String, String>();
                 accountDetails = (HashMap<String, String>) bundle.getSerializable(AccountDetail.TAG);
+//                if(accountDetails == null){
+//                    Toast.makeText(getActivity(), "NUUUUL", Toast.LENGTH_SHORT).show();
+//                } else 
+//                    Toast.makeText(getActivity(), "OKKKK", Toast.LENGTH_SHORT).show();
                 createNewAccount(accountDetails);
             }
             break;
@@ -152,7 +158,7 @@
 
                 HashMap<String, String> accountDetails = new HashMap<String, String>();
                 accountDetails = (HashMap<String, String>) bundle.getSerializable(AccountDetail.TAG);
-                
+
                 Preference accountScreen = accountPreferenceHashMap.get(accountID);
                 mRoot.removePreference(accountScreen);
                 accountPreferenceHashMap.remove(accountID);
@@ -247,28 +253,23 @@
     private void launchAccountCreationActivity(Preference preference) {
         Log.i(TAG, "Launch account creation activity");
         Intent intent = preference.getIntent();
-        intent.putExtra(AccountPreferenceActivity.KEY_MODE, AccountPreferenceActivity.mode.CREATION_MODE);
         startActivityForResult(intent, ACCOUNT_CREATE_REQUEST);
     }
 
     private void launchAccountEditActivity(Preference preference) {
         Log.i(TAG, "Launch account edit activity");
         Intent intent = preference.getIntent();
-        intent.putExtra(AccountPreferenceActivity.KEY_MODE, AccountPreferenceActivity.mode.EDITION_MODE);
         Bundle bundle = intent.getExtras();
         String accountID = bundle.getString("AccountID");
 
         HashMap<String, String> preferenceMap = getAccountDetails(accountID);
 
-        AccountDetailBasic basicDetails = new AccountDetailBasic(preferenceMap);
-        AccountDetailAdvanced advancedDetails = new AccountDetailAdvanced(preferenceMap);
-        AccountDetailSrtp srtpDetails = new AccountDetailSrtp(preferenceMap);
-        AccountDetailTls tlsDetails = new AccountDetailTls(preferenceMap);
+        Account d = new Account(accountID, preferenceMap);
 
-        bundle.putStringArrayList(AccountDetailBasic.BUNDLE_TAG, basicDetails.getValuesOnly());
-        bundle.putStringArrayList(AccountDetailAdvanced.BUNDLE_TAG, advancedDetails.getValuesOnly());
-        bundle.putStringArrayList(AccountDetailSrtp.BUNDLE_TAG, srtpDetails.getValuesOnly());
-        bundle.putStringArrayList(AccountDetailTls.BUNDLE_TAG, tlsDetails.getValuesOnly());
+        bundle.putStringArrayList(AccountDetailBasic.BUNDLE_TAG, d.getBasicDetails().getValuesOnly());
+        bundle.putStringArrayList(AccountDetailAdvanced.BUNDLE_TAG, d.getAdvancedDetails().getValuesOnly());
+        bundle.putStringArrayList(AccountDetailSrtp.BUNDLE_TAG, d.getSrtpDetails().getValuesOnly());
+        bundle.putStringArrayList(AccountDetailTls.BUNDLE_TAG, d.getTlsDetails().getValuesOnly());
 
         intent.putExtras(bundle);
 
@@ -293,13 +294,6 @@
         HashMap<String, String> accountDetails = null;
         try {
             accountDetails = (HashMap<String, String>) service.getAccountDetails(accountID);
-//            ArrayList<Integer> tmp = (ArrayList<Integer>) service.getAudioCodecList(accountID);
-//            for(Integer i : tmp){
-//                Log.w(TAG,"Codec : "+i);
-//            }
-
-//            if (accountDetails.containsKey("TLS.negotiationTimeoutSec"))
-//                Log.i(TAG, "localinterface existe");
         } catch (RemoteException e) {
             Log.e(TAG, "Cannot call service method", e);
         }
@@ -313,11 +307,11 @@
         mRoot = getPreferenceManager().createPreferenceScreen(currentContext);
 
         // Default account category
-        PreferenceCategory defaultAccountCat = new PreferenceCategory(currentContext);
-        defaultAccountCat.setTitle(R.string.default_account_category);
-        mRoot.addPreference(defaultAccountCat);
-
-        mRoot.addPreference(createAccountPreferenceScreen(DEFAULT_ACCOUNT_ID));
+        // PreferenceCategory defaultAccountCat = new PreferenceCategory(currentContext);
+        // defaultAccountCat.setTitle(R.string.default_account_category);
+        // mRoot.addPreference(defaultAccountCat);
+        //
+        // mRoot.addPreference(createAccountPreferenceScreen(DEFAULT_ACCOUNT_ID));
 
         // Account list category
         PreferenceCategory accountListCat = new PreferenceCategory(currentContext);
@@ -327,7 +321,7 @@
         Preference createNewAccount = new Preference(currentContext);
         createNewAccount.setTitle("Create New Account");
         createNewAccount.setOnPreferenceClickListener(launchAccountCreationOnClick);
-        createNewAccount.setIntent(new Intent().setClass(getActivity(), AccountPreferenceActivity.class));
+        createNewAccount.setIntent(new Intent().setClass(getActivity(), AccountWizard.class));
         mRoot.addPreference(createNewAccount);
 
         ArrayList<String> accountList = getAccountList();
diff --git a/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java b/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java
index dedf36f..b96b929 100644
--- a/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java
+++ b/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java
@@ -31,9 +31,12 @@
 
 package com.savoirfairelinux.sflphone.fragments;
 
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
 import android.app.Activity;
 import android.app.Fragment;
 import android.content.Context;
+import android.os.Build;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -54,15 +57,12 @@
     private static final String TAG = DialingFragment.class.getSimpleName();
     public static final String ARG_SECTION_NUMBER = "section_number";
 
-
     ClearableEditText textField;
     // private AccountSelectionSpinner mAccountSelectionSpinner;
 
-//    AccountSelectionAdapter mAdapter;
+    // AccountSelectionAdapter mAdapter;
     private Callbacks mCallbacks = sDummyCallbacks;
-//    private Spinner spinnerAccounts;
-
-    
+    // private Spinner spinnerAccounts;
 
     /**
      * A dummy implementation of the {@link Callbacks} interface that does nothing. Used only when this fragment is not attached to an activity.
@@ -118,8 +118,6 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
         View inflatedView = inflater.inflate(R.layout.frag_dialing, parent, false);
 
-        
-
         textField = (ClearableEditText) inflatedView.findViewById(R.id.textField);
         ((ImageButton) inflatedView.findViewById(R.id.buttonCall)).setOnClickListener(new OnClickListener() {
             @Override
@@ -157,6 +155,7 @@
         return inflatedView;
     }
 
+
     @Override
     public void onResume() {
         super.onResume();
diff --git a/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java b/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java
index be14488..375a039 100644
--- a/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java
+++ b/src/com/savoirfairelinux/sflphone/loaders/AccountsLoader.java
@@ -8,8 +8,6 @@
 import android.os.RemoteException;
 import android.util.Log;
 
-import com.savoirfairelinux.sflphone.account.AccountDetailAdvanced;
-import com.savoirfairelinux.sflphone.account.AccountDetailBasic;
 import com.savoirfairelinux.sflphone.model.Account;
 import com.savoirfairelinux.sflphone.service.ISipService;
 
@@ -26,36 +24,25 @@
 
     @Override
     public ArrayList<Account> loadInBackground() {
-        
-        
+
         ArrayList<Account> result = new ArrayList<Account>();
-        Account.AccountBuilder builder = Account.AccountBuilder.getInstance();
 
         ArrayList<String> accountIDs;
         HashMap<String, String> details;
         try {
             accountIDs = (ArrayList<String>) service.getAccountList();
             for (String id : accountIDs) {
-                
-                if(id.contentEquals("IP2IP")){
+
+                if (id.contentEquals("IP2IP")) {
                     continue;
                 }
                 details = (HashMap<String, String>) service.getAccountDetails(id);
-
-                builder.setAccountID(id).setAlias(details.get(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS))
-                        .setHost(details.get(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME))
-                        .setRegisteredState(details.get(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS));
-                
-                try {
-                    result.add(builder.build());
-                } catch (Exception e) {
-                    Log.e(TAG, e.toString());
-                }
+                result.add(new Account(id, details));
 
             }
         } catch (RemoteException e) {
             Log.e(TAG, e.toString());
-        } catch (NullPointerException e1){
+        } catch (NullPointerException e1) {
             Log.e(TAG, e1.toString());
         }
 
diff --git a/src/com/savoirfairelinux/sflphone/model/Account.java b/src/com/savoirfairelinux/sflphone/model/Account.java
index 13f5d15..0ed30fa 100644
--- a/src/com/savoirfairelinux/sflphone/model/Account.java
+++ b/src/com/savoirfairelinux/sflphone/model/Account.java
@@ -31,22 +31,31 @@
 
 package com.savoirfairelinux.sflphone.model;
 
+import java.util.HashMap;
+
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.util.Log;
+
+import com.savoirfairelinux.sflphone.account.AccountDetailAdvanced;
+import com.savoirfairelinux.sflphone.account.AccountDetailBasic;
+import com.savoirfairelinux.sflphone.account.AccountDetailSrtp;
+import com.savoirfairelinux.sflphone.account.AccountDetailTls;
+import com.savoirfairelinux.sflphone.service.ServiceConstants;
 
 public class Account implements Parcelable {
 
     String accountID;
-    String host;
-    String registered_state;
-    String alias;
+    private AccountDetailBasic basicDetails = null;
+    private AccountDetailAdvanced advancedDetails = null;
+    private AccountDetailSrtp srtpDetails = null;
+    private AccountDetailTls tlsDetails = null;
 
-    private Account(String bAccountID, String bHost, String bRegistered_state, String bAlias) {
+    public Account(String bAccountID, HashMap<String, String> details) {
         accountID = bAccountID;
-        host = bHost;
-        registered_state = bRegistered_state;
-        alias = bAlias;
+        basicDetails = new AccountDetailBasic(details);
+        advancedDetails = new AccountDetailAdvanced(details);
+        srtpDetails = new AccountDetailSrtp(details);
+        tlsDetails = new AccountDetailTls(details);
     }
 
     public String getAccountID() {
@@ -58,27 +67,27 @@
     }
 
     public String getHost() {
-        return host;
+        return basicDetails.getDetailString(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME);
     }
 
     public void setHost(String host) {
-        this.host = host;
+        basicDetails.setDetailString(AccountDetailBasic.CONFIG_ACCOUNT_HOSTNAME, host);
     }
 
     public String getRegistered_state() {
-        return registered_state;
+        return advancedDetails.getDetailString(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS);
     }
 
     public void setRegistered_state(String registered_state) {
-        this.registered_state = registered_state;
+        advancedDetails.setDetailString(AccountDetailAdvanced.CONFIG_ACCOUNT_REGISTRATION_STATUS, registered_state);
     }
 
     public String getAlias() {
-        return alias;
+        return basicDetails.getDetailString(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS);
     }
 
     public void setAlias(String alias) {
-        this.alias = alias;
+        basicDetails.setDetailString(AccountDetailBasic.CONFIG_ACCOUNT_ALIAS, alias);
     }
 
     public Account(Parcel in) {
@@ -92,19 +101,19 @@
 
     @Override
     public void writeToParcel(Parcel dest, int arg1) {
-        
+
         dest.writeString(accountID);
-        dest.writeString(host);
-        dest.writeString(registered_state);
-        dest.writeString(alias);
+//        dest.writeString(host);
+//        dest.writeString(registered_state);
+//        dest.writeString(alias);
     }
 
     private void readFromParcel(Parcel in) {
 
         accountID = in.readString();
-        host = in.readString();
-        registered_state = in.readString();
-        alias = in.readString();
+//        host = in.readString();
+//        registered_state = in.readString();
+//        alias = in.readString();
     }
 
     public static final Parcelable.Creator<Account> CREATOR = new Parcelable.Creator<Account>() {
@@ -119,49 +128,36 @@
         }
     };
 
-    public static class AccountBuilder {
+    public AccountDetailBasic getBasicDetails() {
+        return basicDetails;
+    }
 
-        String bAccountID;
-        String bHost;
-        String bRegistered_state;
-        String bAlias;
-        
-        private static final String TAG = AccountBuilder.class.getSimpleName();
+    public void setBasicDetails(AccountDetailBasic basicDetails) {
+        this.basicDetails = basicDetails;
+    }
 
-        public AccountBuilder setHost(String h) {
-            Log.i(TAG, "setHost" + h);
-            bHost = h;
-            return this;
-        }
+    public AccountDetailAdvanced getAdvancedDetails() {
+        return advancedDetails;
+    }
 
-        public AccountBuilder setAlias(String h) {
-            Log.i(TAG, "setAlias" + h);
-            bAlias = h;
-            return this;
-        }
+    public void setAdvancedDetails(AccountDetailAdvanced advancedDetails) {
+        this.advancedDetails = advancedDetails;
+    }
 
-        public AccountBuilder setRegisteredState(String h) {
-            Log.i(TAG, "setRegisteredState" + h);
-            bRegistered_state = h;
-            return this;
-        }
+    public AccountDetailSrtp getSrtpDetails() {
+        return srtpDetails;
+    }
 
-        public AccountBuilder setAccountID(String h) {
-            Log.i(TAG, "setAccountID" + h);
-            bAccountID = h;
-            return this;
-        }
+    public void setSrtpDetails(AccountDetailSrtp srtpDetails) {
+        this.srtpDetails = srtpDetails;
+    }
 
-        public Account build() throws Exception {
-            if (bHost.contentEquals("") || bAlias.contentEquals("") || bAccountID.contentEquals("") || bRegistered_state.contentEquals("")) {
-                throw new Exception("Builders parameters missing");
-            }
-            return new Account(bAccountID, bHost, bRegistered_state, bAlias);
-        }
-        
-        public static AccountBuilder getInstance() {
-            return new AccountBuilder();
-        }
+    public AccountDetailTls getTlsDetails() {
+        return tlsDetails;
+    }
+
+    public void setTlsDetails(AccountDetailTls tlsDetails) {
+        this.tlsDetails = tlsDetails;
     }
 
 }
diff --git a/src/com/savoirfairelinux/sflphone/service/ServiceConstants.java b/src/com/savoirfairelinux/sflphone/service/ServiceConstants.java
index 7e82a0c..be47f34 100644
--- a/src/com/savoirfairelinux/sflphone/service/ServiceConstants.java
+++ b/src/com/savoirfairelinux/sflphone/service/ServiceConstants.java
@@ -5,72 +5,6 @@
     public static final String INTENT_SIP_SERVICE = "com.savoirfairelinux.sflphone.service.SipService";
     public static final String EXTRA_OUTGOING_ACTIVITY = "outgoing_activity";
 
-    public static final String CONFIG_ACCOUNT_TYPE = "Account.type";
-    public static final String CONFIG_ACCOUNT_ALIAS = "Account.alias";
-    public static final String CONFIG_ACCOUNT_MAILBOX = "Account.mailbox";
-    public static final String CONFIG_ACCOUNT_ENABLE = "Account.enable";
-    public static final String CONFIG_ACCOUNT_REGISTRATION_EXPIRE = "Account.registrationExpire";
-    public static final String CONFIG_ACCOUNT_REGISTRATION_STATUS = "Account.registrationStatus";
-    public static final String CONFIG_ACCOUNT_REGISTRATION_STATE_CODE = "Account.registrationCode";
-    public static final String CONFIG_ACCOUNT_REGISTRATION_STATE_DESC = "Account.registrationDescription";
-    public static final String CONFIG_CREDENTIAL_NUMBER = "Credential.count";
-    public static final String CONFIG_ACCOUNT_DTMF_TYPE = "Account.dtmfType";
-    public static final String CONFIG_RINGTONE_PATH = "Account.ringtonePath";
-    public static final String CONFIG_RINGTONE_ENABLED = "Account.ringtoneEnabled";
-    public static final String CONFIG_KEEP_ALIVE_ENABLED = "Account.keepAliveEnabled";
-
-    public static final String CONFIG_ACCOUNT_HOSTNAME = "Account.hostname";
-    public static final String CONFIG_ACCOUNT_USERNAME = "Account.username";
-    public static final String CONFIG_ACCOUNT_ROUTESET = "Account.routeset";
-    public static final String CONFIG_ACCOUNT_PASSWORD = "Account.password";
-    public static final String CONFIG_ACCOUNT_REALM = "Account.realm";
-    public static final String CONFIG_ACCOUNT_DEFAULT_REALM = "*";
-    public static final String CONFIG_ACCOUNT_USERAGENT = "Account.useragent";
-    public static final String CONFIG_ACCOUNT_AUTOANSWER = "Account.autoAnswer";
-
-    public static final String CONFIG_LOCAL_INTERFACE = "Account.localInterface";
-    public static final String CONFIG_INTERFACE = "Account.interface";
-    public static final String CONFIG_PUBLISHED_SAMEAS_LOCAL = "Account.publishedSameAsLocal";
-    public static final String CONFIG_LOCAL_PORT = "Account.localPort";
-    public static final String CONFIG_PUBLISHED_PORT = "Account.publishedPort";
-    public static final String CONFIG_PUBLISHED_ADDRESS = "Account.publishedAddress";
-    public static final String CONFIG_DEFAULT_LOCAL_PORT = "5060";
-    public static final String CONFIG_DEFAULT_PUBLISHED_PORT = "5060";
-    public static final String CONFIG_DEFAULT_PUBLISHED_SAMEAS_LOCAL = "true";
-    public static final String CONFIG_DEFAULT_INTERFACE = "default";
-
-    public static final String CONFIG_DISPLAY_NAME = "Account.displayName";
-    public static final String CONFIG_DEFAULT_ADDRESS = "0.0.0.0";
-
-    public static final String CONFIG_STUN_SERVER = "STUN.server";
-    public static final String CONFIG_STUN_ENABLE = "STUN.enable";
-
-    // SRTP specific parameters
-    public static final String CONFIG_SRTP_ENABLE = "SRTP.enable";
-    public static final String CONFIG_SRTP_KEY_EXCHANGE = "SRTP.keyExchange";
-    public static final String CONFIG_SRTP_ENCRYPTION_ALGO = "SRTP.encryptionAlgorithm";  // Provided by ccRTP,0=NULL,1=AESCM,2=AESF8
-    public static final String CONFIG_SRTP_RTP_FALLBACK = "SRTP.rtpFallback";
-    public static final String CONFIG_ZRTP_HELLO_HASH = "ZRTP.helloHashEnable";
-    public static final String CONFIG_ZRTP_DISPLAY_SAS = "ZRTP.displaySAS";
-    public static final String CONFIG_ZRTP_NOT_SUPP_WARNING = "ZRTP.notSuppWarning";
-    public static final String CONFIG_ZRTP_DISPLAY_SAS_ONCE = "ZRTP.displaySasOnce";
-
-    public static final String CONFIG_TLS_LISTENER_PORT = "TLS.listenerPort";
-    public static final String CONFIG_TLS_ENABLE = "TLS.enable";
-    public static final String CONFIG_TLS_CA_LIST_FILE = "TLS.certificateListFile";
-    public static final String CONFIG_TLS_CERTIFICATE_FILE = "TLS.certificateFile";
-    public static final String CONFIG_TLS_PRIVATE_KEY_FILE = "TLS.privateKeyFile";
-    public static final String CONFIG_TLS_PASSWORD = "TLS.password";
-    public static final String CONFIG_TLS_METHOD = "TLS.method";
-    public static final String CONFIG_TLS_CIPHERS = "TLS.ciphers";
-    public static final String CONFIG_TLS_SERVER_NAME = "TLS.serverName";
-    public static final String CONFIG_TLS_VERIFY_SERVER = "TLS.verifyServer";
-    public static final String CONFIG_TLS_VERIFY_CLIENT = "TLS.verifyClient";
-    public static final String CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE = "TLS.requireClientCertificate";
-    public static final String CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC = "TLS.negotiationTimeoutSec";
-    public static final String CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC = "TLS.negotiationTimemoutMsec";
-    
-    
     public static final String HISTORY_ACCOUNT_ID_KEY =        "accountid";
     public static final String HISTORY_CALLID_KEY =            "callid";
     public static final String HISTORY_CONFID_KEY =            "confid";
diff --git a/src/com/savoirfairelinux/sflphone/service/SipService.java b/src/com/savoirfairelinux/sflphone/service/SipService.java
index 80afd4e..21d73b2 100644
--- a/src/com/savoirfairelinux/sflphone/service/SipService.java
+++ b/src/com/savoirfairelinux/sflphone/service/SipService.java
@@ -53,6 +53,7 @@
 import android.widget.Toast;
 
 import com.savoirfairelinux.sflphone.R;
+import com.savoirfairelinux.sflphone.account.AccountDetailBasic;
 import com.savoirfairelinux.sflphone.account.AccountDetailsHandler;
 import com.savoirfairelinux.sflphone.account.HistoryHandler;
 import com.savoirfairelinux.sflphone.client.SFLPhoneHomeActivity;
@@ -515,12 +516,12 @@
                 private VectMap extractCredentials(Map map) {
                     VectMap swigmap = new VectMap();
                     StringMap entry = new StringMap();
-                    entry.set(ServiceConstants.CONFIG_ACCOUNT_USERNAME, (String) map.get(ServiceConstants.CONFIG_ACCOUNT_USERNAME));
-                    if ((String) map.get(ServiceConstants.CONFIG_ACCOUNT_REALM) != null)
-                        entry.set(ServiceConstants.CONFIG_ACCOUNT_REALM, (String) map.get(ServiceConstants.CONFIG_ACCOUNT_REALM));
+                    entry.set(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME, (String) map.get(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME));
+                    if ((String) map.get(AccountDetailBasic.CONFIG_ACCOUNT_REALM) != null)
+                        entry.set(AccountDetailBasic.CONFIG_ACCOUNT_REALM, (String) map.get(AccountDetailBasic.CONFIG_ACCOUNT_REALM));
                     else
-                        entry.set(ServiceConstants.CONFIG_ACCOUNT_REALM, "*");
-                    entry.set(ServiceConstants.CONFIG_ACCOUNT_PASSWORD, (String) map.get(ServiceConstants.CONFIG_ACCOUNT_PASSWORD));
+                        entry.set(AccountDetailBasic.CONFIG_ACCOUNT_REALM, "*");
+                    entry.set(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD, (String) map.get(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD));
                     swigmap.add(entry);
                     return swigmap;
 
@@ -535,9 +536,9 @@
             for (int i = 0; i < swigmap.size(); ++i) {
                 Log.i(TAG, "Entry " + i);
                 StringMap tmp = swigmap.get(i);
-                Log.i(TAG, tmp.get(ServiceConstants.CONFIG_ACCOUNT_USERNAME));
+                Log.i(TAG, tmp.get(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME));
                 // Log.i(TAG, tmp.get(ServiceConstants.CONFIG_ACCOUNT_REALM));
-                Log.i(TAG, tmp.get(ServiceConstants.CONFIG_ACCOUNT_PASSWORD));
+                Log.i(TAG, tmp.get(AccountDetailBasic.CONFIG_ACCOUNT_PASSWORD));
             }
 
             return nativemap;