]> git.ktnx.net Git - mobile-ledger-staging.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java
detect and report API errors when saving new transactions
[mobile-ledger-staging.git] / app / src / main / java / net / ktnx / mobileledger / model / MobileLedgerProfile.java
index 55746dddd1279f803798357fd4441190ea5f9452..21d15d162ebb1743586bdb71c5f1b210e905d16f 100644 (file)
 
 package net.ktnx.mobileledger.model;
 
+import android.content.Context;
+import android.content.Intent;
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
+import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.SparseArray;
 
@@ -28,7 +31,9 @@ import androidx.annotation.Nullable;
 import net.ktnx.mobileledger.App;
 import net.ktnx.mobileledger.R;
 import net.ktnx.mobileledger.async.DbOpQueue;
-import net.ktnx.mobileledger.async.SendTransactionTask;
+import net.ktnx.mobileledger.json.API;
+import net.ktnx.mobileledger.ui.activity.ProfileDetailActivity;
+import net.ktnx.mobileledger.ui.profiles.ProfileDetailFragment;
 import net.ktnx.mobileledger.utils.Logger;
 import net.ktnx.mobileledger.utils.Misc;
 import net.ktnx.mobileledger.utils.SimpleDate;
@@ -59,7 +64,7 @@ public final class MobileLedgerProfile {
     private String authPassword;
     private int themeHue;
     private int orderNo = -1;
-    private SendTransactionTask.API apiVersion = SendTransactionTask.API.auto;
+    private API apiVersion = API.auto;
     private FutureDates futureDates = FutureDates.None;
     private boolean accountsLoaded;
     private boolean transactionsLoaded;
@@ -161,6 +166,17 @@ public final class MobileLedgerProfile {
             db.endTransaction();
         }
     }
+    static public void startEditProfileActivity(Context context, MobileLedgerProfile profile) {
+        Intent intent = new Intent(context, ProfileDetailActivity.class);
+        Bundle args = new Bundle();
+        if (profile != null) {
+            int index = Data.getProfileIndex(profile);
+            if (index != -1)
+                intent.putExtra(ProfileDetailFragment.ARG_ITEM_ID, index);
+        }
+        intent.putExtras(args);
+        context.startActivity(intent, args);
+    }
     public HledgerVersion getDetectedVersion() {
         return detectedVersion;
     }
@@ -232,14 +248,14 @@ public final class MobileLedgerProfile {
         else
             this.defaultCommodity = String.valueOf(defaultCommodity);
     }
-    public SendTransactionTask.API getApiVersion() {
+    public API getApiVersion() {
         return apiVersion;
     }
-    public void setApiVersion(SendTransactionTask.API apiVersion) {
+    public void setApiVersion(API apiVersion) {
         this.apiVersion = apiVersion;
     }
     public void setApiVersion(int apiVersion) {
-        this.apiVersion = SendTransactionTask.API.valueOf(apiVersion);
+        this.apiVersion = API.valueOf(apiVersion);
     }
     public FutureDates getFutureDates() {
         return futureDates;
@@ -330,7 +346,7 @@ public final class MobileLedgerProfile {
                                  authEnabled ? authPassword : null, themeHue, orderNo,
                                  preferredAccountsFilter, futureDates.toInt(), apiVersion.toInt(),
                                  showCommodityByDefault, defaultCommodity, showCommentsByDefault,
-                                 (detectedVersion != null) && detectedVersion.isPre_1_20(),
+                                 (detectedVersion != null) && detectedVersion.isPre_1_20_1(),
                                  (detectedVersion == null) ? 0 : detectedVersion.getMajor(),
                                  (detectedVersion == null) ? 0 : detectedVersion.getMinor()
                     });
@@ -625,7 +641,7 @@ public final class MobileLedgerProfile {
             }
         }
 
-        private int value;
+        private final int value;
         FutureDates(int value) {
             this.value = value;
         }