X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdb%2FProfile.java;h=35230e2f99340c7223e963534ecec56ecbb8f630;hb=860e0419d619210bb59bcae1b64d8c5db90eef70;hp=030ae1ba51d5215d1d4d5b04b6592317ba64e05c;hpb=9b4d7761927317f74b68ca22e53b7d60bbabf2e3;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/db/Profile.java b/app/src/main/java/net/ktnx/mobileledger/db/Profile.java index 030ae1ba..35230e2f 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/Profile.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/Profile.java @@ -17,23 +17,26 @@ package net.ktnx.mobileledger.db; -import android.os.AsyncTask; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.room.ColumnInfo; import androidx.room.Entity; +import androidx.room.Index; import androidx.room.PrimaryKey; import androidx.room.Transaction; import net.ktnx.mobileledger.dao.AccountDAO; +import net.ktnx.mobileledger.dao.BaseDAO; import net.ktnx.mobileledger.dao.OptionDAO; import net.ktnx.mobileledger.dao.TransactionDAO; import net.ktnx.mobileledger.utils.Misc; import org.jetbrains.annotations.NotNull; -@Entity(tableName = "profiles") +import java.util.UUID; + +@Entity(tableName = "profiles", + indices = {@Index(name = "profiles_uuid_idx", unique = true, value = "uuid")}) public class Profile { public static final long NO_PROFILE_ID = 0; @ColumnInfo @@ -42,8 +45,9 @@ public class Profile { @NonNull @ColumnInfo private String name = ""; - @ColumnInfo(name = "deprecated_uuid") - private String deprecatedUUID; + @NonNull + @ColumnInfo() + private String uuid; @NonNull @ColumnInfo private String url = ""; @@ -77,11 +81,15 @@ public class Profile { private int detectedVersionMajor; @ColumnInfo(name = "detected_version_minor") private int detectedVersionMinor; - public String getDeprecatedUUID() { - return deprecatedUUID; + public Profile() { + uuid = UUID.randomUUID() + .toString(); + } + public String getUuid() { + return uuid; } - public void setDeprecatedUUID(String deprecatedUUID) { - this.deprecatedUUID = deprecatedUUID; + public void setUuid(String uuid) { + this.uuid = uuid; } public long getId() { return id; @@ -204,8 +212,7 @@ public class Profile { if (!(o instanceof Profile)) return false; Profile p = (Profile) o; - return id == p.id && Misc.equalStrings(name, p.name) && - Misc.equalStrings(deprecatedUUID, p.deprecatedUUID) && + return id == p.id && Misc.equalStrings(name, p.name) && Misc.equalStrings(uuid, p.uuid) && Misc.equalStrings(url, p.url) && useAuthentication == p.useAuthentication && Misc.equalStrings(authUser, p.authUser) && Misc.equalStrings(authPassword, p.authPassword) && orderNo == p.orderNo && @@ -234,7 +241,7 @@ public class Profile { trnDao.deleteSync(trnDao.getAllForProfileUnorderedSync(id)); } public void wipeAllData() { - AsyncTask.execute(this::wipeAllDataSync); + BaseDAO.runAsync(this::wipeAllDataSync); } }