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=2b587c8ed4ad6d01331577122702e2f8c8ef6eec;hp=8514e71d04816918f009df20c229dc5ddb8f213c;hb=e809f9bacb61890374d1b9c8c46edeaed8a838b0;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..2b587c8e 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() { @@ -209,7 +217,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()) {