X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FMobileLedgerProfile.java;h=98d150ae18eab5e9482ff61130f7d19b29afc903;hp=8514e71d04816918f009df20c229dc5ddb8f213c;hb=a2bb308e57ccc4fc439559c0f90bde69439981c3;hpb=90706eb1669fb560578f49565939ad28059d12fe 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 8514e71d..98d150ae 100644 --- a/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java +++ b/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java @@ -21,6 +21,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; +import net.ktnx.mobileledger.utils.Globals; import net.ktnx.mobileledger.utils.MLDB; import java.util.ArrayList; @@ -52,18 +53,25 @@ public final class MobileLedgerProfile { this.authUserName = String.valueOf(authUserName); this.authPassword = String.valueOf(authPassword); } - public static List loadAllFromDB() { - List result = new ArrayList<>(); + // loads all profiles into Data.profiles + // returns the profile with the given UUID + public static MobileLedgerProfile loadAllFromDB(String currentProfileUUID) { + MobileLedgerProfile result = null; + List list = new ArrayList<>(); SQLiteDatabase db = MLDB.getReadableDatabase(); try (Cursor cursor = db.rawQuery("SELECT uuid, name, url, use_authentication, auth_user, " + "auth_password FROM profiles order by order_no", null)) { while (cursor.moveToNext()) { - result.add(new MobileLedgerProfile(cursor.getString(0), cursor.getString(1), + MobileLedgerProfile item = + new MobileLedgerProfile(cursor.getString(0), cursor.getString(1), cursor.getString(2), cursor.getInt(3) == 1, cursor.getString(4), - cursor.getString(5))); + cursor.getString(5)); + list.add(item); + if (item.getUuid().equals(currentProfileUUID)) result = item; } } + Data.profiles.setList(list); return result; } public static void storeProfilesOrder() { @@ -82,15 +90,6 @@ public final class MobileLedgerProfile { db.endTransaction(); } } - public static List createInitialProfileList() { - List result = new ArrayList<>(); - MobileLedgerProfile first = - new MobileLedgerProfile(UUID.randomUUID().toString(), "default", "", false, "", ""); - first.storeInDB(); - result.add(first); - - return result; - } public static MobileLedgerProfile loadUUIDFromDB(String profileUUID) { SQLiteDatabase db = MLDB.getReadableDatabase(); String name; @@ -209,7 +208,8 @@ public final class MobileLedgerProfile { db.execSQL("INSERT INTO transactions(profile, id, date, description, data_hash, keep) " + "values(?,?,?,?,?,1)", - new Object[]{uuid, tr.getId(), tr.getDate(), tr.getDescription(), tr.getDataHash() + new Object[]{uuid, tr.getId(), Globals.formatLedgerDate(tr.getDate()), + tr.getDescription(), tr.getDataHash() }); for (LedgerTransactionAccount item : tr.getAccounts()) {