Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 25 additions & 3 deletions src/main/java/org/mtransit/commons/FeatureFlags.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,32 @@ 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

// 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

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

const val F_SCHEDULE_IN_MINUTES = false
// const val F_SCHEDULE_IN_MINUTES = true // WIP

// endregion Schedule

// @formatter:on
}
}
27 changes: 25 additions & 2 deletions src/main/java/org/mtransit/commons/GTFSCommons.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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_PK_AUTO) // can manual insert, next ID based on largest value in table
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"
Expand Down Expand Up @@ -224,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()

Expand Down Expand Up @@ -292,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()

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/mtransit/commons/sql/SQLUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,8 @@ object SQLUtils {
}

@JvmStatic
fun unescapeStringOrNull(string: String): String? =
string.trim { it == '\'' }.takeIf { it.isNotBlank() }?.let { unescapeString(it) }
fun unquoteUnescapeStringOrNull(string: String): String? =
unquotes(string).takeIf { it.isNotBlank() }?.let { unescapeString(it) }

@JvmName("escapeStringExt")
fun String.escapeString() = escapeString(this)
Expand Down