diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index 8e12f1149..9a1d8187b 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -13,6 +13,7 @@ import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteException; import android.os.Build; import android.os.Process; import android.util.Log; @@ -324,7 +325,12 @@ public class CommonsApplication extends MultiDexApplication { CategoryDao.Table.onDelete(db); dbOpenHelper.deleteTable(db,CONTRIBUTIONS_TABLE);//Delete the contributions table in the existing db on older versions - contributionDao.deleteAll(); + + try { + contributionDao.deleteAll(); + } catch (SQLiteException e) { + Timber.e(e); + } BookmarkPicturesDao.Table.onDelete(db); BookmarkLocationsDao.Table.onDelete(db); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java index 510d63949..437521b76 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionDao.java @@ -1,5 +1,6 @@ package fr.free.nrw.commons.contributions; +import android.database.sqlite.SQLiteException; import androidx.paging.DataSource; import androidx.room.Dao; import androidx.room.Delete; @@ -68,7 +69,7 @@ public abstract class ContributionDao { public abstract Single updateStates(int state, int[] toUpdateStates); @Query("Delete FROM contribution") - public abstract void deleteAll(); + public abstract void deleteAll() throws SQLiteException; @Update public abstract void updateSynchronous(Contribution contribution);