* #27064 New creation process (faster), lightened parameters
Refactoring on accounts
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;
}
}