From 209abda73449feca7e63dc4cbf9f8b0166fbe485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Fri, 6 Feb 2026 11:39:00 -0500 Subject: [PATCH 1/5] Service updates/alerts compat w/ trip IDs --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index f5bd6da..9223d79 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -62,5 +62,8 @@ object FeatureFlags { // endregion Schedule + const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = false + // const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = true // WIP + // @formatter:on } From b4d91d79c4d11195db4a4575c8ee23db78d0fa9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Fri, 6 Feb 2026 14:51:55 -0500 Subject: [PATCH 2/5] new FF --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index 9223d79..aaf3020 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -62,6 +62,9 @@ object FeatureFlags { // endregion Schedule + const val F_PROVIDER_READS_TRIP_ID_DIRECTLY = false + // const val F_PROVIDER_READS_TRIP_ID_DIRECTLY = true // WIP + const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = false // const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = true // WIP From cd551f23787f8a6a4b6173b58194072b83975d95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Fri, 6 Feb 2026 15:22:29 -0500 Subject: [PATCH 3/5] clean --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index aaf3020..e827d46 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -1,6 +1,6 @@ package org.mtransit.commons -@Suppress("unused", "SimplifyBooleanWithConstants") +@Suppress("unused", "KotlinConstantConditions", "SimplifyBooleanWithConstants") object FeatureFlags { // @formatter:off From be43b0aa9e60a669b763c6b40f3ac2feca48081b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Fri, 6 Feb 2026 15:59:49 -0500 Subject: [PATCH 4/5] SQL utils fix where group --- src/main/java/org/mtransit/commons/sql/SQLUtils.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/mtransit/commons/sql/SQLUtils.kt b/src/main/java/org/mtransit/commons/sql/SQLUtils.kt index de85f85..a2908fa 100644 --- a/src/main/java/org/mtransit/commons/sql/SQLUtils.kt +++ b/src/main/java/org/mtransit/commons/sql/SQLUtils.kt @@ -107,15 +107,16 @@ object SQLUtils { } @JvmStatic - fun getWhereGroup(andOr: String, vararg whereClauses: String): String { - val sb = StringBuilder(P1) + fun getWhereGroup(andOr: String, vararg whereClauses: String) = buildString { for (whereClause in whereClauses) { - if (sb.isNotEmpty()) { - sb.append(andOr) + if (isEmpty()) { + append(P1) + } else { + append(andOr) } - sb.append(whereClause) + append(whereClause) } - return sb.append(P2).toString() + if (isNotEmpty()) append(P2) } @JvmStatic From ed3ea509b7ee07ac1d0b9412f92df17616b3ac1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Mon, 9 Feb 2026 13:47:11 -0500 Subject: [PATCH 5/5] Provider always read trip IDs directly when useful & turn ON FF for using trip IDs for service alerts --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index e827d46..336870f 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -62,11 +62,8 @@ object FeatureFlags { // endregion Schedule - const val F_PROVIDER_READS_TRIP_ID_DIRECTLY = false - // const val F_PROVIDER_READS_TRIP_ID_DIRECTLY = true // WIP - - const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = false - // const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = true // WIP + // const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = false + const val F_USE_TRIP_IS_FOR_SERVICE_UPDATES = true // WIP // @formatter:on }