From e30720d620fb106098876d681110594c7cb625e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Tue, 25 Nov 2025 11:24:56 -0500 Subject: [PATCH 1/9] Export `trips.trip_id` --- .../java/org/mtransit/commons/FeatureFlags.kt | 3 +++ .../java/org/mtransit/commons/GTFSCommons.kt | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index 2f5519b..0dfad1a 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -34,5 +34,8 @@ object FeatureFlags { const val F_EXPORT_STRINGS = false // const val F_EXPORT_STRINGS = true // WIP + const val F_EXPORT_TRIP_ID = false + // const val F_EXPORT_TRIP_ID = true // WIP + // @formatter:on } \ No newline at end of file diff --git a/src/main/java/org/mtransit/commons/GTFSCommons.kt b/src/main/java/org/mtransit/commons/GTFSCommons.kt index 22cfb89..7d11800 100644 --- a/src/main/java/org/mtransit/commons/GTFSCommons.kt +++ b/src/main/java/org/mtransit/commons/GTFSCommons.kt @@ -112,6 +112,29 @@ object GTFSCommons { // endregion Direction + // region Trip IDs + + const val T_TRIP_IDS = "trip_ids" + const val T_TRIP_IDS_K_ID_INT = "trip_id_int" + const val T_TRIP_IDS_K_ID = "trip_id" + + @JvmStatic + val T_TRIP_IDS_SQL_CREATE = SQLCreateBuilder.getNew(T_TRIP_IDS).apply { + appendColumn(T_TRIP_IDS_K_ID_INT, SQLUtils.INT) // TODO INT_PK_AUTO? + appendColumn(T_TRIP_IDS_K_ID, SQLUtils.TXT, unique = true) + }.build() + + @JvmStatic + val T_TRIP_IDS_SQL_INSERT = SQLInsertBuilder.getNew(T_TRIP_IDS).apply { + appendColumn(T_TRIP_IDS_K_ID_INT) + appendColumn(T_TRIP_IDS_K_ID) + }.build() + + @JvmStatic + val T_TRIP_IDS_SQL_DROP = SQLUtils.getSQLDropIfExistsQuery(T_TRIP_IDS) + + // endregion Trip IDs + // region Stop const val T_STOP = "stop" From 1e400f61e40c32aa185ddd1590494ef11e19e81b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Tue, 25 Nov 2025 14:27:02 -0500 Subject: [PATCH 2/9] different feature flag for trip_id_ints --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index 0dfad1a..e81fef3 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -29,13 +29,16 @@ object FeatureFlags { const val F_AVOID_DATA_CHANGED = true // WIP const val F_EXPORT_SERVICE_ID_INTS = false - // const val F_EXPORT_SERVICE_ID_INTS = true // WIP + // const val F_EXPORT_SERVICE_ID_INTS = true // WIP // only marginal gains in APK size because of Android optimizations const val F_EXPORT_STRINGS = false - // const val F_EXPORT_STRINGS = true // WIP + // const val F_EXPORT_STRINGS = true // WIP // only marginal gains in APK size because of Android optimizations - const val F_EXPORT_TRIP_ID = false - // const val F_EXPORT_TRIP_ID = true // WIP + const val F_EXPORT_TRIP_ID_INTS = false + // const val F_EXPORT_TRIP_ID_INTS = true // WIP // only marginal gains in APK size because of Android optimizations + + const val F_EXPORT_TRIP_ID_ARRIVAL = false + // const val F_EXPORT_TRIP_ID_ARRIVAL = true // WIP // @formatter:on } \ No newline at end of file From 8282707f30a4fb3378a702b19f61293b5fd22ee5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Tue, 25 Nov 2025 15:49:38 -0500 Subject: [PATCH 3/9] Update src/main/java/org/mtransit/commons/FeatureFlags.kt Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- 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 e81fef3..011e3b1 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -41,4 +41,4 @@ object FeatureFlags { // const val F_EXPORT_TRIP_ID_ARRIVAL = true // WIP // @formatter:on -} \ No newline at end of file +} From b33eeaeaf750e9f9ad1a886303e0aa5ed51d2767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Tue, 25 Nov 2025 15:50:16 -0500 Subject: [PATCH 4/9] PR comments --- src/main/java/org/mtransit/commons/GTFSCommons.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/mtransit/commons/GTFSCommons.kt b/src/main/java/org/mtransit/commons/GTFSCommons.kt index 7d11800..471f839 100644 --- a/src/main/java/org/mtransit/commons/GTFSCommons.kt +++ b/src/main/java/org/mtransit/commons/GTFSCommons.kt @@ -120,7 +120,7 @@ object GTFSCommons { @JvmStatic val T_TRIP_IDS_SQL_CREATE = SQLCreateBuilder.getNew(T_TRIP_IDS).apply { - appendColumn(T_TRIP_IDS_K_ID_INT, SQLUtils.INT) // TODO INT_PK_AUTO? + appendColumn(T_TRIP_IDS_K_ID_INT, SQLUtils.INT_PK_AUTO) // can manual insert, next ID based on largest value in table appendColumn(T_TRIP_IDS_K_ID, SQLUtils.TXT, unique = true) }.build() @@ -247,7 +247,7 @@ object GTFSCommons { @JvmStatic val T_SERVICE_IDS_SQL_CREATE = SQLCreateBuilder.getNew(T_SERVICE_IDS).apply { - appendColumn(T_SERVICE_IDS_K_ID_INT, SQLUtils.INT) // TODO INT_PK_AUTO? + appendColumn(T_SERVICE_IDS_K_ID_INT, SQLUtils.INT_PK_AUTO) // can manual insert, next ID based on largest value in table appendColumn(T_SERVICE_IDS_K_ID, SQLUtils.TXT, unique = true) }.build() @@ -315,7 +315,7 @@ object GTFSCommons { @JvmStatic val T_STRINGS_SQL_CREATE = SQLCreateBuilder.getNew(T_STRINGS).apply { - appendColumn(T_STRINGS_K_ID, SQLUtils.INT_PK_AUTO) // SQLite will determine next ID based on largest value in table, even after manual insert w/ custom ID value + appendColumn(T_STRINGS_K_ID, SQLUtils.INT_PK_AUTO) // can manual insert, next ID based on largest value in table appendColumn(T_STRINGS_K_STRING, SQLUtils.TXT, unique = true) }.build() From 8e984d25f7e5775cf831ff73fe25909969d0b81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Wed, 26 Nov 2025 11:36:30 -0500 Subject: [PATCH 5/9] rename --- src/main/java/org/mtransit/commons/sql/SQLUtils.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/mtransit/commons/sql/SQLUtils.kt b/src/main/java/org/mtransit/commons/sql/SQLUtils.kt index a8be939..f72985f 100644 --- a/src/main/java/org/mtransit/commons/sql/SQLUtils.kt +++ b/src/main/java/org/mtransit/commons/sql/SQLUtils.kt @@ -213,8 +213,8 @@ object SQLUtils { } @JvmStatic - fun unescapeStringOrNull(string: String): String? = - string.trim { it == '\'' }.takeIf { it.isNotBlank() }?.let { unescapeString(it) } + fun unquotesUnescapeStringOrNull(string: String): String? = + unquotes(string).takeIf { it.isNotBlank() }?.let { unescapeString(it) } @JvmName("escapeStringExt") fun String.escapeString() = escapeString(this) From e35f23936609ea9292394f91fd35bed38cf6fbbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Wed, 26 Nov 2025 11:50:21 -0500 Subject: [PATCH 6/9] PR comments --- src/main/java/org/mtransit/commons/sql/SQLUtils.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/mtransit/commons/sql/SQLUtils.kt b/src/main/java/org/mtransit/commons/sql/SQLUtils.kt index f72985f..90eaf93 100644 --- a/src/main/java/org/mtransit/commons/sql/SQLUtils.kt +++ b/src/main/java/org/mtransit/commons/sql/SQLUtils.kt @@ -213,7 +213,7 @@ object SQLUtils { } @JvmStatic - fun unquotesUnescapeStringOrNull(string: String): String? = + fun unquoteUnescapeStringOrNull(string: String): String? = unquotes(string).takeIf { it.isNotBlank() }?.let { unescapeString(it) } @JvmName("escapeStringExt") From ffe6be42be5fb45185ec6a712a89d2fdbdf74898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Thu, 27 Nov 2025 10:26:17 -0500 Subject: [PATCH 7/9] add new Feature flags --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index 011e3b1..6ebdaed 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -40,5 +40,11 @@ object FeatureFlags { const val F_EXPORT_TRIP_ID_ARRIVAL = false // const val F_EXPORT_TRIP_ID_ARRIVAL = true // WIP + const val F_SCHEDULE_NO_QUOTES = false + // const val F_SCHEDULE_NO_QUOTES = true // WIP + + const val F_SCHEDULE_IN_MINUTES = false + // const val F_SCHEDULE_IN_MINUTES = true // WIP + // @formatter:on } From 5543d51c7940184ecf9222d119a3eef448b1b08a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Thu, 27 Nov 2025 11:10:28 -0500 Subject: [PATCH 8/9] new FFs --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index 6ebdaed..1f61507 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -37,8 +37,11 @@ object FeatureFlags { const val F_EXPORT_TRIP_ID_INTS = false // const val F_EXPORT_TRIP_ID_INTS = true // WIP // only marginal gains in APK size because of Android optimizations - const val F_EXPORT_TRIP_ID_ARRIVAL = false - // const val F_EXPORT_TRIP_ID_ARRIVAL = true // WIP + const val F_EXPORT_TRIP_ID = false + // const val F_EXPORT_TRIP_ID = true // WIP + + const val F_EXPORT_ARRIVAL_W_TRIP_ID = false + // const val F_EXPORT_ARRIVAL_W_TRIP_ID = F_EXPORT_TRIP_ID && true // WIP const val F_SCHEDULE_NO_QUOTES = false // const val F_SCHEDULE_NO_QUOTES = true // WIP From d23d3e7fa9e897fdb68c1bad723c05507159fe35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Fri, 28 Nov 2025 08:38:28 -0500 Subject: [PATCH 9/9] FF --- src/main/java/org/mtransit/commons/FeatureFlags.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/mtransit/commons/FeatureFlags.kt b/src/main/java/org/mtransit/commons/FeatureFlags.kt index 1f61507..adcb5f7 100644 --- a/src/main/java/org/mtransit/commons/FeatureFlags.kt +++ b/src/main/java/org/mtransit/commons/FeatureFlags.kt @@ -34,8 +34,13 @@ object FeatureFlags { const val F_EXPORT_STRINGS = false // const val F_EXPORT_STRINGS = true // WIP // only marginal gains in APK size because of Android optimizations + // region Schedule + + const val F_EXPORT_SCHEDULE_STRINGS = false + // const val F_EXPORT_SCHEDULE_STRINGS = true // WIP + const val F_EXPORT_TRIP_ID_INTS = false - // const val F_EXPORT_TRIP_ID_INTS = true // WIP // only marginal gains in APK size because of Android optimizations + // const val F_EXPORT_TRIP_ID_INTS = true // WIP const val F_EXPORT_TRIP_ID = false // const val F_EXPORT_TRIP_ID = true // WIP @@ -49,5 +54,7 @@ object FeatureFlags { const val F_SCHEDULE_IN_MINUTES = false // const val F_SCHEDULE_IN_MINUTES = true // WIP + // endregion Schedule + // @formatter:on }