diff options
author | desperateCoder <echotodevnull@gmail.com> | 2023-04-17 13:27:06 +0300 |
---|---|---|
committer | desperateCoder <echotodevnull@gmail.com> | 2024-01-03 16:12:53 +0300 |
commit | ab2ba0d23edf91f993d7b000d0201b200eb02da0 (patch) | |
tree | 5bdd3a5a6cb3ba4bc5d90dfaa822d474818fdd77 /app/src/main/java/it/niedermann/nextcloud/deck/remote | |
parent | d059a8b9c2ad7ec4421719195fd8b8650caa2d89 (diff) |
get some more info...
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/remote')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java index 7f5d166d9..0d79b82f8 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java @@ -1,10 +1,12 @@ package it.niedermann.nextcloud.deck.remote.helpers; import android.annotation.SuppressLint; +import android.database.sqlite.SQLiteConstraintException; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.google.gson.Gson; import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException; import java.net.HttpURLConnection; @@ -64,7 +66,13 @@ public class SyncHelper { T existingEntity = provider.getSingleFromDB(dataBaseAdapter, accountId, entityFromServer); if (existingEntity == null) { - provider.createInDB(dataBaseAdapter, accountId, entityFromServer); + try { + provider.createInDB(dataBaseAdapter, accountId, entityFromServer); + } catch (SQLiteConstraintException e) { + throw new RuntimeException("ConstraintViolation! Entity: " + provider.getClass().getSimpleName()+"\n" + +entityFromServer.getClass().getSimpleName()+": "+ new Gson().toJson(entityFromServer), + e); + } } else { //TODO: how to handle deletes? what about archived? if (existingEntity.getStatus() != DBStatus.UP_TO_DATE.getId()) { |