From deb6b4230d4b2a41aaf8e4d155a2312e9ec349ee Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Thu, 5 Feb 2026 13:03:13 +0800 Subject: [PATCH] FinishedMIssionStore: Throw exception if column is missing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ../../src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java:105: Value must be ≥ 0 but getColumnIndex can be -1 Signed-off-by: Aayush Gupta --- .../giga/get/sqlite/FinishedMissionStore.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java b/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java index 704385212..215a6553b 100644 --- a/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java +++ b/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java @@ -102,14 +102,23 @@ public class FinishedMissionStore extends SQLiteOpenHelper { db.beginTransaction(); while (cursor.moveToNext()) { ContentValues values = new ContentValues(); - values.put(KEY_SOURCE, cursor.getString(cursor.getColumnIndex(KEY_SOURCE))); - values.put(KEY_DONE, cursor.getString(cursor.getColumnIndex(KEY_DONE))); - values.put(KEY_TIMESTAMP, cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))); - values.put(KEY_KIND, cursor.getString(cursor.getColumnIndex(KEY_KIND))); + values.put( + KEY_SOURCE, + cursor.getString(cursor.getColumnIndexOrThrow(KEY_SOURCE)) + ); + values.put( + KEY_DONE, + cursor.getString(cursor.getColumnIndexOrThrow(KEY_DONE)) + ); + values.put( + KEY_TIMESTAMP, + cursor.getLong(cursor.getColumnIndexOrThrow(KEY_TIMESTAMP)) + ); + values.put(KEY_KIND, cursor.getString(cursor.getColumnIndexOrThrow(KEY_KIND))); values.put(KEY_PATH, Uri.fromFile( new File( - cursor.getString(cursor.getColumnIndex(KEY_LOCATION)), - cursor.getString(cursor.getColumnIndex(KEY_NAME)) + cursor.getString(cursor.getColumnIndexOrThrow(KEY_LOCATION)), + cursor.getString(cursor.getColumnIndexOrThrow(KEY_NAME)) ) ).toString()); @@ -141,7 +150,8 @@ public class FinishedMissionStore extends SQLiteOpenHelper { } private FinishedMission getMissionFromCursor(Cursor cursor) { - String kind = Objects.requireNonNull(cursor).getString(cursor.getColumnIndex(KEY_KIND)); + String kind = Objects.requireNonNull(cursor) + .getString(cursor.getColumnIndexOrThrow(KEY_KIND)); if (kind == null || kind.isEmpty()) kind = "?"; String path = cursor.getString(cursor.getColumnIndexOrThrow(KEY_PATH));