From 1bc494d701b5634b563f234f085a3b5c609ead60 Mon Sep 17 00:00:00 2001 From: Damyan Ivanov Date: Fri, 29 Mar 2019 00:13:42 +0200 Subject: [PATCH] Profile: drop constructors filling all fields adding fields becomes fragile and tracing correspondence between constructor arguments and fields feels like a jedi art --- .../model/MobileLedgerProfile.java | 43 +++++-------------- .../ui/profiles/ProfileDetailFragment.java | 6 +-- 2 files changed, 13 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java b/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java index 9731e3e6..459c3b5c 100644 --- a/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java +++ b/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java @@ -44,36 +44,11 @@ public final class MobileLedgerProfile { private String authPassword; private int themeId; private int orderNo = -1; - public MobileLedgerProfile(String uuid, String name, boolean permitPosting, String url, - boolean authEnabled, String authUserName, String authPassword) { - this(uuid, name, permitPosting, url, authEnabled, authUserName, authPassword, -1); - + public MobileLedgerProfile() { + this.uuid = String.valueOf(UUID.randomUUID()); } - public MobileLedgerProfile(String uuid, String name, boolean permitPosting, String url, - boolean authEnabled, String authUserName, String authPassword, - int themeId) { + public MobileLedgerProfile(String uuid) { this.uuid = uuid; - this.name = name; - this.permitPosting = permitPosting; - this.url = url; - this.authEnabled = authEnabled; - this.authUserName = authUserName; - this.authPassword = authPassword; - this.themeId = themeId; - this.orderNo = -1; - } - public MobileLedgerProfile(CharSequence name, boolean permitPosting, CharSequence url, - boolean authEnabled, CharSequence authUserName, - CharSequence authPassword, int themeId) { - this.uuid = String.valueOf(UUID.randomUUID()); - this.name = String.valueOf(name); - this.permitPosting = permitPosting; - this.url = String.valueOf(url); - this.authEnabled = authEnabled; - this.authUserName = String.valueOf(authUserName); - this.authPassword = String.valueOf(authPassword); - this.themeId = themeId; - this.orderNo = -1; } // loads all profiles into Data.profiles // returns the profile with the given UUID @@ -86,10 +61,14 @@ public final class MobileLedgerProfile { "profiles order by order_no", null)) { while (cursor.moveToNext()) { - MobileLedgerProfile item = - new MobileLedgerProfile(cursor.getString(0), cursor.getString(1), - cursor.getInt(6) == 1, cursor.getString(2), cursor.getInt(3) == 1, - cursor.getString(4), cursor.getString(5), cursor.getInt(7)); + MobileLedgerProfile item = new MobileLedgerProfile(cursor.getString(0)); + item.setName(cursor.getString(1)); + item.setUrl(cursor.getString(2)); + item.setAuthEnabled(cursor.getInt(3) == 1); + item.setAuthUserName(cursor.getString(4)); + item.setAuthPassword(cursor.getString(5)); + item.setPostingPermitted(cursor.getInt(6) == 1); + item.setThemeId(cursor.getInt(7)); item.orderNo = cursor.getInt(8); list.add(item); if (item.getUuid().equals(currentProfileUUID)) result = item; diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java index 2d58e40b..299ec42b 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/profiles/ProfileDetailFragment.java @@ -155,10 +155,8 @@ public class ProfileDetailFragment extends Fragment implements HueRingDialog.Hue } } else { - mProfile = - new MobileLedgerProfile(profileName.getText(), postingPermitted.isChecked(), - url.getText(), useAuthentication.isChecked(), userName.getText(), - password.getText(), (int) huePickerView.getTag()); + mProfile = new MobileLedgerProfile(); + updateProfileFromUI(); mProfile.storeInDB(); Data.profiles.add(mProfile); MobileLedgerProfile.storeProfilesOrder(); -- 2.39.5