diff --git a/src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java b/src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java index 415cdbf3..26dd8080 100644 --- a/src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java +++ b/src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java @@ -10,6 +10,7 @@ import org.mtransit.android.commons.ComparatorUtils; import org.mtransit.android.commons.CursorExtKt; import org.mtransit.android.commons.MTLog; +import org.mtransit.android.commons.SqlUtils; import org.mtransit.android.commons.TimeUtils; import org.mtransit.android.commons.provider.serviceupdate.ServiceUpdateProviderContract; @@ -255,7 +256,8 @@ public static ServiceUpdate fromCursor(@NonNull Cursor cursor) { final String originalId = CursorExtKt.optString(cursor, ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_ORIGINAL_ID, null); final String sourceLabel = cursor.getString(cursor.getColumnIndexOrThrow(ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_SOURCE_LABEL)); final String sourceId = cursor.getString(cursor.getColumnIndexOrThrow(ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_SOURCE_ID)); - return new ServiceUpdate(id, targetUUID, targetTripId, lastUpdateInMs, maxValidityInMs, text, htmlText, severity, sourceId, sourceLabel, originalId, language); + final Boolean noService = CursorExtKt.optBoolean(cursor, ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_NO_SERVICE, null); + return new ServiceUpdate(id, targetUUID, targetTripId, lastUpdateInMs, maxValidityInMs, text, htmlText, severity, noService, sourceId, sourceLabel, originalId, language); } /** @@ -275,7 +277,8 @@ public Object[] getCursorRow() { language, originalId, sourceLabel, - sourceId + sourceId, + noService == null ? null : SqlUtils.toSQLBoolean(noService) }; } @@ -296,6 +299,9 @@ public ContentValues toContentValues() { contentValues.put(ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_ORIGINAL_ID, this.originalId); contentValues.put(ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_SOURCE_LABEL, this.sourceLabel); contentValues.put(ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_SOURCE_ID, this.sourceId); + if (this.noService != null) { + contentValues.put(ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_NO_SERVICE, SqlUtils.toSQLBoolean(this.noService)); + } return contentValues; } diff --git a/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateDbHelper.kt b/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateDbHelper.kt index 6cca551c..8d003d2e 100644 --- a/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateDbHelper.kt +++ b/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateDbHelper.kt @@ -29,6 +29,7 @@ abstract class ServiceUpdateDbHelper( const val T_SERVICE_UPDATE_K_SOURCE_LABEL = "source_label" const val T_SERVICE_UPDATE_K_ORIGINAL_ID = "original_id" const val T_SERVICE_UPDATE_K_SOURCE_ID = "source_id" + const val T_SERVICE_UPDATE_K_NO_SERVICE = "no_service" @Suppress("unused") val T_SERVICE_UPDATE_SQL_CREATE = getSqlCreateBuilder(T_SERVICE_UPDATE).build() @@ -53,6 +54,7 @@ abstract class ServiceUpdateDbHelper( .appendColumn(T_SERVICE_UPDATE_K_ORIGINAL_ID, SqlUtils.TXT) .appendColumn(T_SERVICE_UPDATE_K_SOURCE_LABEL, SqlUtils.TXT) .appendColumn(T_SERVICE_UPDATE_K_SOURCE_ID, SqlUtils.TXT) + .appendColumn(T_SERVICE_UPDATE_K_NO_SERVICE, SqlUtils.INT) } abstract val dbName: String diff --git a/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java b/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java index a89eb407..0bd8a311 100644 --- a/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java +++ b/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java @@ -53,6 +53,7 @@ public static void append(@NonNull UriMatcher uriMatcher, @NonNull String author .appendTableColumn(ServiceUpdateDbHelper.T_SERVICE_UPDATE, ServiceUpdateDbHelper.T_SERVICE_UPDATE_K_ORIGINAL_ID, Columns.T_SERVICE_UPDATE_K_ORIGINAL_ID) .appendTableColumn(ServiceUpdateDbHelper.T_SERVICE_UPDATE, ServiceUpdateDbHelper.T_SERVICE_UPDATE_K_SOURCE_LABEL, ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_SOURCE_LABEL) // .appendTableColumn(ServiceUpdateDbHelper.T_SERVICE_UPDATE, ServiceUpdateDbHelper.T_SERVICE_UPDATE_K_SOURCE_ID, ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_SOURCE_ID) // + .appendTableColumn(ServiceUpdateDbHelper.T_SERVICE_UPDATE, ServiceUpdateDbHelper.T_SERVICE_UPDATE_K_NO_SERVICE, ServiceUpdateProviderContract.Columns.T_SERVICE_UPDATE_K_NO_SERVICE) // .build(); // @formatter:on diff --git a/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java b/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java index fc681641..294cde5c 100644 --- a/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java +++ b/src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java @@ -75,7 +75,8 @@ public interface ServiceUpdateProviderContract extends ProviderContract { Columns.T_SERVICE_UPDATE_K_LANGUAGE, Columns.T_SERVICE_UPDATE_K_ORIGINAL_ID, Columns.T_SERVICE_UPDATE_K_SOURCE_LABEL, - Columns.T_SERVICE_UPDATE_K_SOURCE_ID + Columns.T_SERVICE_UPDATE_K_SOURCE_ID, + Columns.T_SERVICE_UPDATE_K_NO_SERVICE }; class Columns { @@ -91,6 +92,7 @@ class Columns { public static final String T_SERVICE_UPDATE_K_SOURCE_LABEL = "source_label"; public static final String T_SERVICE_UPDATE_K_ORIGINAL_ID = "original_id"; public static final String T_SERVICE_UPDATE_K_SOURCE_ID = "source_id"; + public static final String T_SERVICE_UPDATE_K_NO_SERVICE = "no_service"; } @SuppressWarnings("WeakerAccess")