FinishedMIssionStore: Throw exception if column is missing

../../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 <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta 2026-02-05 13:03:13 +08:00
parent 44b044f01d
commit bc462c05ab

View file

@ -102,14 +102,23 @@ public class FinishedMissionStore extends SQLiteOpenHelper {
db.beginTransaction(); db.beginTransaction();
while (cursor.moveToNext()) { while (cursor.moveToNext()) {
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
values.put(KEY_SOURCE, cursor.getString(cursor.getColumnIndex(KEY_SOURCE))); values.put(
values.put(KEY_DONE, cursor.getString(cursor.getColumnIndex(KEY_DONE))); KEY_SOURCE,
values.put(KEY_TIMESTAMP, cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))); cursor.getString(cursor.getColumnIndexOrThrow(KEY_SOURCE))
values.put(KEY_KIND, cursor.getString(cursor.getColumnIndex(KEY_KIND))); );
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( values.put(KEY_PATH, Uri.fromFile(
new File( new File(
cursor.getString(cursor.getColumnIndex(KEY_LOCATION)), cursor.getString(cursor.getColumnIndexOrThrow(KEY_LOCATION)),
cursor.getString(cursor.getColumnIndex(KEY_NAME)) cursor.getString(cursor.getColumnIndexOrThrow(KEY_NAME))
) )
).toString()); ).toString());
@ -141,7 +150,8 @@ public class FinishedMissionStore extends SQLiteOpenHelper {
} }
private FinishedMission getMissionFromCursor(Cursor cursor) { 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 = "?"; if (kind == null || kind.isEmpty()) kind = "?";
String path = cursor.getString(cursor.getColumnIndexOrThrow(KEY_PATH)); String path = cursor.getString(cursor.getColumnIndexOrThrow(KEY_PATH));