From cb3094b51c9940d7eca7e829c1df9a4df6b77ee2 Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Mon, 18 Jul 2022 19:06:21 +0300 Subject: [PATCH] Fix DB update issue (#5016) --- .../fr/free/nrw/commons/category/CategoryDao.java | 15 ++++++++++++--- .../fr/free/nrw/commons/category/CategoryItem.kt | 4 ++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java b/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java index 4369350f4..b638fc508 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategoryDao.java @@ -93,9 +93,11 @@ public class CategoryDao { // fixme add a limit on the original query instead of falling out of the loop? while (cursor != null && cursor.moveToNext() && cursor.getPosition() < limit) { - items.add(new CategoryItem(fromCursor(cursor).getName(), - fromCursor(cursor).getDescription(), fromCursor(cursor).getThumbnail(), - false)); + if (fromCursor(cursor).getName() != null ) { + items.add(new CategoryItem(fromCursor(cursor).getName(), + fromCursor(cursor).getDescription(), fromCursor(cursor).getThumbnail(), + false)); + } } } catch (RemoteException e) { throw new RuntimeException(e); @@ -193,6 +195,13 @@ public class CategoryDao { onUpdate(db, from, to); return; } + if (from == 17) { + db.execSQL("ALTER TABLE categories ADD COLUMN description STRING;"); + db.execSQL("ALTER TABLE categories ADD COLUMN thumbnail STRING;"); + from++; + onUpdate(db, from, to); + return; + } } } } diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategoryItem.kt b/app/src/main/java/fr/free/nrw/commons/category/CategoryItem.kt index 8da0b6b6a..d4ecdfdd1 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategoryItem.kt +++ b/app/src/main/java/fr/free/nrw/commons/category/CategoryItem.kt @@ -4,8 +4,8 @@ import android.os.Parcelable import kotlinx.android.parcel.Parcelize @Parcelize -data class CategoryItem(val name: String, val description: String, - val thumbnail: String, var isSelected: Boolean) : Parcelable { +data class CategoryItem(val name: String, val description: String?, + val thumbnail: String?, var isSelected: Boolean) : Parcelable { override fun toString(): String { return "CategoryItem: '$name'"