Skip to content

Service updates/alerts compat w/ trip IDs#55

Merged
mmathieum merged 15 commits intomasterfrom
mm/alerts_w_trip_ids
Feb 9, 2026
Merged

Service updates/alerts compat w/ trip IDs#55
mmathieum merged 15 commits intomasterfrom
mm/alerts_w_trip_ids

Conversation

@mmathieum
Copy link
Member

@mmathieum mmathieum commented Feb 6, 2026

Reading trip IDs from GTFS[static] provider directly for service alerts & vehicle locations from GTFS-RT provider.


@mmathieum mmathieum self-assigned this Feb 6, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @mmathieum, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the service update system by introducing support for trip-specific service alerts. The core ServiceUpdate data model now includes a targetTripId, which is propagated through the database schema and various content providers. The changes involve refactoring service alert parsing into a dedicated Kotlin utility and updating caching mechanisms to leverage the new trip ID for more precise filtering and retrieval of service updates. This improves the system's ability to deliver relevant information to users based on their specific travel plans.

Highlights

  • ServiceUpdate Data Model Enhancement: The ServiceUpdate data class has been extended to include a targetTripId field, allowing for more granular service updates tied to specific trips.
  • GTFS Realtime Service Alert Parsing Refactoring: The logic for parsing GTFS Realtime service alerts has been extracted from GTFSRealTimeProvider.java into a new Kotlin file, GTFSRealTimeServiceAlertsProvider.kt, centralizing and improving the maintainability of this complex parsing logic.
  • Flexible Service Update Caching: A new Kotlin extension file, ServiceUpdateProviderExt.kt, introduces enhanced caching methods for service updates, enabling filtering by tripIds and gracefully handling null tripId values in SQL queries.
  • Provider Adaptations: Various service providers (NextBusProvider, OCTranspoProvider, RTCQuebecProvider, StmInfoApiProvider, StmInfoSubwayProvider) have been updated to integrate the new targetTripId into their ServiceUpdate object creation and caching mechanisms.
  • SQL Utility for Null Checks: A new getWhereColumnIsNull static method has been added to SqlUtils.java to facilitate SQL queries that check for null column values, which is utilized in the new tripId filtering logic.
Changelog
  • src/main/java/org/mtransit/android/commons/SqlUtils.java
    • Added a new static method getWhereColumnIsNull for generating SQL WHERE clauses to check for null column values.
  • src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java
    • Introduced a new @Nullable targetTripId field.
    • Updated the constructor to accept targetTripId.
    • Modified fromCursor, getCursorRow, and toContentValues methods to handle the new targetTripId field.
    • Added a getter method getTargetTripId().
  • src/main/java/org/mtransit/android/commons/data/ServiceUpdateKtx.kt
    • Updated the makeServiceUpdateNone function to pass null for the new targetTripId parameter.
  • src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java
    • Imported GTFSRealTimeServiceAlertsProvider and ServiceUpdateProviderExtKt.
    • Replaced ArrayList<ServiceUpdate> with List<ServiceUpdate> in method signatures for cacheServiceUpdates, getCachedServiceUpdates, and getNewServiceUpdates.
    • Updated getCachedServiceUpdates to utilize ServiceUpdateProviderExtKt.getCachedServiceUpdatesS for caching logic.
    • Changed visibility of several getAgency...TargetUUID methods from protected static to public static.
    • Refactored processAlerts to use a HashMap for targetUUIDAndTripId and delegate parsing to GTFSRealTimeServiceAlertsProvider.
    • Modified generateNewServiceUpdate to accept targetTripId and use Map instead of ArrayMap for text fields.
    • Removed the parseProviderTargetUUID method, as its functionality is now in GTFSRealTimeServiceAlertsProvider.kt.
    • Applied minor formatting adjustments to SQL create statements within the DbHelper inner class.
  • src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java
    • Imported ServiceUpdateProviderExtKt.
    • Updated method signatures from ArrayList<ServiceUpdate> to List<ServiceUpdate> for cacheServiceUpdates, getCachedServiceUpdates, getNewServiceUpdates, and enhanceRDServiceUpdateForStop.
    • Modified getCachedServiceUpdates to use ServiceUpdateProviderExtKt.getCachedServiceUpdatesS.
    • Updated addServiceUpdates to include null for targetTripId when creating ServiceUpdate objects.
  • src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java
    • Imported ServiceUpdateProviderExtKt.
    • Updated method signatures from ArrayList<ServiceUpdate> to List<ServiceUpdate> for cacheServiceUpdates, getCachedServiceUpdates, getNewServiceUpdates, and enhanceRDServiceUpdateForStop.
    • Modified getCachedServiceUpdates to use ServiceUpdateProviderExtKt.getCachedServiceUpdatesS.
    • Overrode the getAuthority() method.
    • Updated endElement, parseAgencyJSONArrivalsServiceUpdates, and parseAgencyJSONMessageResults to include null for targetTripId in ServiceUpdate constructor calls.
  • src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java
    • Imported ServiceUpdateProviderExtKt.
    • Updated method signatures from ArrayList<ServiceUpdate> to List<ServiceUpdate> for cacheServiceUpdates, getCachedServiceUpdates, getNewServiceUpdates, and enhanceServiceUpdate.
    • Modified getCachedServiceUpdates to use ServiceUpdateProviderExtKt.getCachedServiceUpdatesS.
    • Overrode the getAuthority() method.
    • Updated endElement to include null for targetTripId in ServiceUpdate constructor calls.
  • src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java
    • Imported ServiceUpdateProviderExtKt.
    • Updated method signatures from ArrayList<ServiceUpdate> to List<ServiceUpdate> for cacheServiceUpdates, getCachedServiceUpdates, getNewServiceUpdates, and enhanceRDServiceUpdatesForStop.
    • Modified getCachedServiceUpdates to use ServiceUpdateProviderExtKt.getCachedServiceUpdatesS.
    • Overrode the getAuthority() method.
    • Updated parseAgencyJsonText to include null for targetTripId in ServiceUpdate constructor calls.
  • src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java
    • Imported ServiceUpdateProviderExtKt and java.util.List.
    • Updated method signatures from ArrayList<ServiceUpdate> to List<ServiceUpdate> for cacheServiceUpdates, getCachedServiceUpdates, and getNewServiceUpdates.
    • Modified getCachedServiceUpdates to use ServiceUpdateProviderExtKt.getCachedServiceUpdatesS.
    • Overrode the getAuthority() method.
    • Updated parseAgencyJsonText to include null for targetTripId in ServiceUpdate constructor calls.
  • src/main/java/org/mtransit/android/commons/provider/gtfs/GtfsRealtimeExt.kt
    • Added an optTrip extension property to GtfsRealtime.EntitySelector for optional access to the trip descriptor.
  • src/main/java/org/mtransit/android/commons/provider/serviceupdate/GTFSRealTimeServiceAlertsProvider.kt
    • NEW FILE: Created a new Kotlin object to centralize GTFS Realtime service alert parsing logic.
    • Added parseTargetTripId function to extract trip IDs from GtfsRealtime.EntitySelector.
    • Added parseProviderTargetUUID function, moving the complex UUID generation logic from GTFSRealTimeProvider.java.
  • src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java
    • Removed SQLiteQueryBuilder import and direct usage, delegating query building to Kotlin extensions.
    • Changed ArrayList to List in various method signatures for consistency and abstraction.
    • Removed several getCachedServiceUpdatesS overloads, as their functionality is now provided by ServiceUpdateProviderExt.kt.
    • Removed getServiceUpdateContentUri method, now handled by Kotlin extensions.
    • Added @SuppressWarnings annotations for unused return values and parameters where appropriate.
    • Modified T_SERVICE_UPDATE_K_* fields to be static.
  • src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java
    • Imported org.json.JSONArray.
    • Added getAuthority() abstract method to the interface.
    • Updated method signatures from ArrayList<ServiceUpdate> to List<ServiceUpdate> for cacheServiceUpdates, getCachedServiceUpdates, and getNewServiceUpdates.
    • Added T_SERVICE_UPDATE_K_TARGET_TRIP_ID column definition.
    • Updated PROJECTION_SERVICE_UPDATE to include the new T_SERVICE_UPDATE_K_TARGET_TRIP_ID.
    • Modified the Filter inner class to include a tripIds field, updating its constructors and JSON serialization/deserialization methods accordingly.
  • src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderExt.kt
    • NEW FILE: Created a new Kotlin extension file for ServiceUpdateProviderContract.
    • Introduced getCachedServiceUpdatesS extension functions that handle filtering by targetUUIDs and tripIds, including support for null targetTripId values.
    • Provided internal helper properties contentUri and dbTableName for cleaner access to provider properties.
  • src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationProvider.kt
    • Modified getCachedVehicleLocationsS to include tripIds filtering, allowing for null targetTripId values in the query.
    • Removed the getCachedVehicleLocationsS(targetUUID: String) overload.
    • Removed a redundant dbTableName extension property.
Activity
  • The ServiceUpdate data model was updated to include targetTripId to support trip-specific alerts.
  • The database schema in ServiceUpdateProviderContract was modified to persist the new trip_id column.
  • A new Kotlin file, GTFSRealTimeServiceAlertsProvider.kt, was created to centralize and refactor GTFS Realtime service alert parsing logic.
  • A new Kotlin extension file, ServiceUpdateProviderExt.kt, was added to provide flexible caching methods for service updates, including filtering by tripIds and handling null tripId values.
  • Several existing service providers (NextBusProvider, OCTranspoProvider, RTCQuebecProvider, StmInfoApiProvider, StmInfoSubwayProvider) were adapted to the new ServiceUpdate constructor and updated caching mechanisms.
  • The SqlUtils class gained a new method getWhereColumnIsNull to assist in building SQL queries for null checks.
  • Type usage was refactored across multiple files, replacing ArrayList with List for better API design.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces compatibility for trip IDs in service updates and alerts, which is a significant enhancement. The changes span across multiple provider files, data models, and utility classes. I've identified a critical issue in SqlUtils.java that could lead to a StackOverflowError due to a recursive call. Additionally, I've suggested several improvements to enhance code clarity and maintainability, such as using List instead of ArrayList for better abstraction and making methods public for broader accessibility where appropriate. The introduction of GTFSRealTimeServiceAlertsProvider.kt is a good move towards better code organization.

I am having trouble creating individual review comments. Click here to see my feedback.

src/main/java/org/mtransit/android/commons/SqlUtils.java (167)

critical

This method is calling itself, which will result in a StackOverflowError. It seems you intended to delegate this call to the SQLUtils class from the org.mtransit.commons.sql package. To fix this, you should use the fully qualified name of the class to avoid ambiguity and ensure the correct method is called.

return org.mtransit.commons.sql.SQLUtils.getWhereColumnIsNull(tableColumn);

src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java (62)

medium

The constructor for ServiceUpdate has been updated to include targetTripId. This is a good addition for associating service updates with specific trips.

src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java (75)

medium

Assigning targetTripId in the constructor ensures that the trip ID is properly initialized when a ServiceUpdate object is created.

src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java (96-99)

medium

Adding a getter for targetTripId provides access to the trip ID associated with the service update, which is essential for new functionality.

src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java (239)

medium

Extracting targetTripId from the cursor ensures that the trip ID is correctly retrieved from the database when creating a ServiceUpdate object.

src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java (249)

medium

Including targetTripId in the ServiceUpdate constructor call ensures that the object is fully initialized with all relevant data from the database.

src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java (260)

medium

Adding targetTripId to the cursor row ensures that this new data point is included when converting a ServiceUpdate object to a cursor row, maintaining data consistency.

src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java (280)

medium

Adding targetTripId to ContentValues ensures that the trip ID is correctly stored in the database when persisting a ServiceUpdate object.

src/main/java/org/mtransit/android/commons/data/ServiceUpdateKtx.kt (36)

medium

Initializing targetTripId to null in makeServiceUpdateNone is appropriate when no specific trip ID is associated with a generic service update.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (52-56)

medium

Importing GTFSRealTimeServiceAlertsProvider and ServiceUpdateProviderExtKt is necessary to support the new trip ID functionality and refactored service update logic.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (592)

medium

It's a good practice to use the interface type (List) instead of the implementation type (ArrayList) for method parameters. This makes the method more flexible and allows for different list implementations to be used.

public void cacheServiceUpdates(@NonNull List<ServiceUpdate> newServiceUpdates) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (598)

medium

It's a good practice to use the interface type (List) instead of the implementation type (ArrayList) for method return types. This makes the method more flexible and allows for different list implementations to be used in the future without breaking the contract.

public List<ServiceUpdate> getCachedServiceUpdates(@NonNull ServiceUpdateProviderContract.Filter serviceUpdateFilter) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (657)

medium

Using ServiceUpdateProviderExtKt.getCachedServiceUpdatesS leverages the new Kotlin extension functions for service update caching, which now supports filtering by trip IDs.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (755)

medium

This method could be useful for other classes in the same package. Changing its visibility from protected to public would allow for better code reuse and is consistent with other similar static utility methods in this class.

public static String getAgencyStopTagTargetUUID(@NonNull String agencyTag, @NonNull String stopTag) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (767)

medium

This method could be useful for other classes in the same package. Changing its visibility from protected to public would allow for better code reuse and is consistent with other similar static utility methods in this class.

public static String getAgencyRouteStopTagTargetUUID(@NonNull String agencyTag, @NonNull String routeTag, @NonNull String stopTag) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (772)

medium

This method could be useful for other classes in the same package. Changing its visibility from protected to public would allow for better code reuse and is consistent with other similar static utility methods in this class.

public static String getAgencyRouteTypeTagTargetUUID(@NonNull String agencyTag, @Nullable Integer routeType) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (784)

medium

This method could be useful for other classes in the same package. Changing its visibility from protected to public would allow for better code reuse and is consistent with other similar static utility methods in this class.

public static String getAgencyRouteDirectionStopTagTargetUUID(@NonNull String agencyTag, @NonNull String routeTag, @Nullable Integer directionTag, @NonNull String stopTag) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (796)

medium

It's a good practice to use the interface type (List) instead of the implementation type (ArrayList) for method return types. This makes the method more flexible and allows for different list implementations to be used in the future without breaking the contract.

public List<ServiceUpdate> getNewServiceUpdates(@NonNull ServiceUpdateProviderContract.Filter serviceUpdateFilter) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (966)

medium

Using Set instead of HashSet for the variable type promotes abstraction and flexibility. It allows you to change the underlying implementation (e.g., to LinkedHashSet) without affecting the rest of the code that uses this variable.

final Set<ServiceUpdate> alertsServiceUpdates = processAlerts(context, sourceLabel, feedEntityId, newLastUpdateInMs, gAlert, ignoreDirection);

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1040)

medium

Using Map instead of HashMap for the variable type promotes abstraction and flexibility. It allows you to change the underlying implementation (e.g., to LinkedHashMap) without affecting the rest of the code that uses this variable.

HashMap<String, String> targetUUIDAndTripId = new HashMap<>();

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1051-1056)

medium

The logic for parsing the target UUID and trip ID has been moved to the new GTFSRealTimeServiceAlertsProvider class. This is a good refactoring for better code organization and separation of concerns.

final String targetUUID = GTFSRealTimeServiceAlertsProvider.parseProviderTargetUUID(this, agencyTag, gInformedEntity, ignoreDirection);
if (targetUUID == null || targetUUID.isEmpty()) {
	continue;
}
final String targetTripId = GTFSRealTimeServiceAlertsProvider.parseTargetTripId(this, gInformedEntity);
targetUUIDAndTripId.put(targetUUID, targetTripId);

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1060)

medium

Using isEmpty() on the map is more idiomatic and readable than checking the size against zero.

if (targetUUIDAndTripId.isEmpty()) {

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1074-1076)

medium

Iterating over the entry set of a map is more efficient than iterating over the key set and then getting the value for each key. This change also improves readability by making the intent of the loop clearer.

for (Map.Entry<String, String> entry : targetUUIDAndTripId.entrySet()) {
	final String targetUUID = entry.getKey();
	final String targetTripId = entry.getValue();
	final Integer severity = targetUUIDSeverities.get(targetUUID);

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1079)

medium

Using final for newServiceUpdate promotes immutability and can improve code readability by indicating that the variable's reference will not change.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1090)

medium

Passing targetTripId to generateNewServiceUpdate ensures that the service update object is created with the correct trip association.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1158-1159)

medium

Adding targetUUID and targetTripId as parameters to generateNewServiceUpdate allows for more specific and accurate service update creation, linking updates directly to routes and trips.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1178)

medium

Including targetTripId in the ServiceUpdate constructor call ensures that the newly generated service update is properly associated with a trip.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1375)

medium

Changing the visibility of getStopIdCleanupPattern to public allows it to be accessed by the new GTFSRealTimeServiceAlertsProvider class, promoting code reuse and modularity.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1383-1417)

medium

The parseProviderTargetUUID method has been removed from GTFSRealTimeProvider as its logic has been refactored into the new GTFSRealTimeServiceAlertsProvider class, improving code organization.

src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java (1623-1633)

medium

Reformatting the SQL_CREATE statements improves readability and adheres to consistent code style.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (47)

medium

Importing ServiceUpdateProviderExtKt is necessary to utilize the new Kotlin extension functions for service update caching.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (607-613)

medium

Using List instead of ArrayList for method parameters and return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (627-636)

medium

Updating method signatures to use List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (649-651)

medium

Updating method signatures to use List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (664)

medium

Using List instead of ArrayList for method parameters promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (821)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (835-857)

medium

Using List instead of ArrayList for method parameters and local variables promotes better abstraction and flexibility.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (1873)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java (1900)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java (55)

medium

Importing ServiceUpdateProviderExtKt is necessary to utilize the new Kotlin extension functions for service update caching.

src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java (400)

medium

Marking localeTimeZoneId as @NonNull ensures that a non-null value is always provided, improving API robustness and preventing potential null pointer exceptions.

src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java (571-577)

medium

Using List instead of ArrayList for method parameters and return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java (590-611)

medium

Updating method signatures and variable types to use List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java (709)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java (722-744)

medium

Using List instead of ArrayList for method parameters and local variables promotes better abstraction and flexibility.

src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java (1171)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (49)

medium

Importing ServiceUpdateProviderExtKt is necessary to utilize the new Kotlin extension functions for service update caching.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (236)

medium

Using List instead of ArrayList for method parameters promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (247)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (261-284)

medium

Updating method signatures and variable types to use List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (556)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (570-587)

medium

Using List instead of ArrayList for method parameters and return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (1043-1046)

medium

Adding the getAuthority() method to the RTCQuebecProvider ensures it implements the ServiceUpdateProviderContract fully, providing a consistent way to retrieve the authority string.

src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java (1291)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (59)

medium

Importing ServiceUpdateProviderExtKt is necessary to utilize the new Kotlin extension functions for service update caching.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (225)

medium

Using List instead of ArrayList for method parameters promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (259)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (274-283)

medium

Updating method signatures and variable types to use List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (295-297)

medium

Updating method signatures and variable types to use List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (313)

medium

Using List instead of ArrayList for method parameters promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (568)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (583)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (596)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (694)

medium

Updating variable type to List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (803)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (834)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (1054)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java (1484-1487)

medium

Adding the getAuthority() method to the StmInfoApiProvider ensures it implements the ServiceUpdateProviderContract fully, providing a consistent way to retrieve the authority string.

src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java (46)

medium

Importing ServiceUpdateProviderExtKt is necessary to utilize the new Kotlin extension functions for service update caching.

src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java (61)

medium

Importing List is necessary as method signatures are updated to use the List interface for better abstraction.

src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java (184-190)

medium

Using List instead of ArrayList for method parameters and return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java (204-222)

medium

Updating method signatures and variable types to use List and leveraging ServiceUpdateProviderExtKt for caching improves API consistency and utilizes the new Kotlin extension functions.

src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java (315)

medium

Using List instead of ArrayList for method return types promotes better abstraction and flexibility in the API.

src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java (515)

medium

Initializing targetTripId to null in the ServiceUpdate constructor is appropriate when no specific trip ID is available for the service update.

src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java (823-826)

medium

Adding the getAuthority() method to the StmInfoSubwayProvider ensures it implements the ServiceUpdateProviderContract fully, providing a consistent way to retrieve the authority string.

src/main/java/org/mtransit/android/commons/provider/gtfs/GtfsRealtimeExt.kt (253)

medium

Adding the optTrip extension property provides a concise and idiomatic way to safely access the trip field of an EntitySelector, returning null if it's not present.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/GTFSRealTimeServiceAlertsProvider.kt (1-91)

medium

This new Kotlin file GTFSRealTimeServiceAlertsProvider.kt centralizes the logic for parsing GTFS Realtime service alerts, specifically for extracting target UUIDs and trip IDs. This improves modularity and makes the GTFSRealTimeProvider cleaner.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (9)

medium

Removing the SQLiteQueryBuilder import is a cleanup, as its usage has been refactored into the new Kotlin extension functions in ServiceUpdateProviderExtKt.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (29-30)

medium

Replacing ArrayList and Collection imports with List aligns with the updated method signatures that use the List interface for better abstraction.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (91-92)

medium

Using final for nowInMs promotes immutability, and changing ArrayList to List for cachedServiceUpdates improves abstraction.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (143)

medium

Using List instead of ArrayList for newServiceUpdates promotes better abstraction and flexibility.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (155)

medium

Changing getServiceUpdateCursor to private and using List for its parameter improves encapsulation and promotes better abstraction.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (167)

medium

Adding @SuppressWarnings("UnusedReturnValue") clarifies intent, and changing ArrayList to List for newServiceUpdates improves abstraction.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (191)

medium

Adding @SuppressWarnings("unused") to cacheServiceUpdateS clarifies that the method is intentionally not used in all contexts, preventing compiler warnings.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (201-255)

medium

The getCachedServiceUpdatesS methods and getServiceUpdateContentUri have been removed from ServiceUpdateProvider as their logic has been refactored into the new Kotlin extension functions in ServiceUpdateProviderExtKt, improving code organization and maintainability.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (202)

medium

Using final for selection promotes immutability and can improve code readability.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (245-255)

medium

Changing the visibility of T_SERVICE_UPDATE_K_* constants to static (package-private) improves encapsulation, as these constants are primarily used within the ServiceUpdateDbHelper.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (257-259)

medium

Adding @SuppressWarnings("unused") to T_SERVICE_UPDATE_SQL_CREATE and T_SERVICE_UPDATE_SQL_DROP clarifies that these fields are intentionally not used directly, preventing compiler warnings.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java (270)

medium

Adding @SuppressWarnings("unused") to getFkColumnName clarifies that the method is intentionally not used in all contexts, preventing compiler warnings.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (9)

medium

Importing JSONArray is necessary to handle lists of trip IDs in the Filter class, allowing for proper JSON serialization and deserialization.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (23-25)

medium

Importing Collection and List is necessary to support the new tripIds field in the Filter class and updated method signatures.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (32-33)

medium

Adding the getAuthority() method to the ServiceUpdateProviderContract ensures that all implementing providers expose their authority, which is crucial for content provider interactions.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (44-50)

medium

Using List instead of ArrayList in the contract methods promotes better abstraction and flexibility for implementations.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (66)

medium

Adding T_SERVICE_UPDATE_K_TARGET_TRIP_ID to the projection ensures that the trip ID is included when querying service updates from the database.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (81)

medium

Defining T_SERVICE_UPDATE_K_TARGET_TRIP_ID as a new column in the contract allows for storing and retrieving trip IDs associated with service updates.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (115-116)

medium

Adding the tripIds field to the Filter class enables filtering service updates by specific trip IDs, enhancing the granularity of service update queries.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (127-148)

medium

Updating the Filter constructors to accept tripIds allows for the creation of filters that can target service updates for specific trips.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (171-173)

medium

Including tripIds in the toString() method provides useful debugging information for ServiceUpdateProviderContract.Filter objects.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (298)

medium

Adding JSON_TRIP_IDS constant is necessary for serializing and deserializing the new tripIds field in the Filter class.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (309-315)

medium

Adding logic to parse tripIds from the JSON object ensures that the Filter can be correctly reconstructed from its serialized form, supporting the new trip ID filtering capability.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (319-323)

medium

Updating the Filter constructor calls to include tripIds ensures that the filter is properly initialized with all relevant data when parsed from JSON.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java (369-371)

medium

Adding logic to serialize tripIds to a JSONArray ensures that the Filter object can be correctly converted to JSON, supporting the new trip ID filtering capability.

src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderExt.kt (1-74)

medium

This new Kotlin file ServiceUpdateProviderExt.kt introduces extension functions for ServiceUpdateProviderContract, centralizing the logic for retrieving cached service updates with support for filtering by trip IDs. This improves code organization and reusability.

src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationProvider.kt (127-146)

medium

The getCachedVehicleLocationsS method has been updated to support filtering by tripIds, including a condition to retrieve records where target_trip_id is NULL. This enhances the flexibility of vehicle location queries.

src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationProvider.kt (140-145)

medium

The single targetUUID version of getCachedVehicleLocationsS has been removed, as the overloaded version now handles both single and multiple UUIDs, simplifying the API.

src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationProvider.kt (255-256)

medium

Moving the dbTableName property inside the companion object improves encapsulation and ensures it's associated with the class rather than instances.

src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationProvider.kt (258-259)

medium

The dbTableName property has been moved inside the companion object for better encapsulation.

@mmathieum
Copy link
Member Author

/gemini review

@gemini-code-assist
Copy link
Contributor

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

@mmathieum mmathieum requested a review from Copilot February 9, 2026 18:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds optional trip ID support across vehicle locations and service alerts/updates to better handle providers that sometimes (or never) include trip IDs.

Changes:

  • Extends service updates and filters to carry/store trip_id, including DB schema + cursor/projection updates.
  • Updates cached-query selection logic to optionally match (trip_id IN (...) OR trip_id IS NULL) when trip IDs are enabled.
  • Introduces GTFS helper extensions to derive target UUIDs and look up trip IDs from GTFS RDS when needed.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationProviderContract.kt Adds route/direction derivation and renames target UUID accessor for trip-ID aware filtering.
src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationProvider.kt Adjusts cached vehicle-location selection to allow null trip_id fallback and refactors helper visibility.
src/main/java/org/mtransit/android/commons/provider/vehiclelocations/VehicleLocationDbHelper.kt Updates SQL create builder access to new SQLCreateBuilder import style.
src/main/java/org/mtransit/android/commons/provider/vehiclelocations/GTFSRealTimeVehiclePositionsProvider.kt Enables optionally deriving trip IDs from GTFS RDS and refactors target UUID parsing using new GTFS extensions.
src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderExt.kt Adds Kotlin extension queries for cached service updates with optional trip-id constraints.
src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProviderContract.java Extends contract/filter to include trip IDs and adds target/authority helpers.
src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateProvider.java Migrates service update caching/query helpers to Kotlin extensions and updates to List<> APIs.
src/main/java/org/mtransit/android/commons/provider/serviceupdate/ServiceUpdateDbHelper.kt Introduces standalone DB helper including trip_id column definition.
src/main/java/org/mtransit/android/commons/provider/serviceupdate/GTFSRealTimeServiceAlertsProvider.kt Adds GTFS-RT service alerts support with optional trip-id linkage and target UUID parsing.
src/main/java/org/mtransit/android/commons/provider/gtfs/GtfsRealtimeExt.kt Adds opt* helpers for EntitySelector/TripDescriptor extraction.
src/main/java/org/mtransit/android/commons/provider/gtfs/GTFSRealTimeProviderExt.kt Centralizes GTFS target UUID building + cleanup patterns as shared extensions.
src/main/java/org/mtransit/android/commons/provider/gtfs/GTFSRDSProviderExt.kt Adds Context helpers to query trips/trip IDs from GTFS RDS.
src/main/java/org/mtransit/android/commons/provider/gtfs/GTFSRDSProvider.java Exposes TRIP_SORT_ORDER for reuse by the new RDS query helper.
src/main/java/org/mtransit/android/commons/provider/StmInfoSubwayProvider.java Adopts new service-update DB helper + Kotlin cached-query extension and List<> APIs.
src/main/java/org/mtransit/android/commons/provider/StmInfoApiProvider.java Same migration for STM Info API provider and updates ServiceUpdate construction for new trip-id field.
src/main/java/org/mtransit/android/commons/provider/RTCQuebecProvider.java Same migration for RTC Quebec provider and updates ServiceUpdate construction for new trip-id field.
src/main/java/org/mtransit/android/commons/provider/OCTranspoProvider.java Same migration for OC Transpo provider and updates ServiceUpdate construction for new trip-id field.
src/main/java/org/mtransit/android/commons/provider/NextBusProvider.java Same migration for NextBus provider and updates ServiceUpdate construction for new trip-id field.
src/main/java/org/mtransit/android/commons/provider/GTFSRealTimeProvider.java Refactors GTFS-RT alerts to new provider object, adds optional trip-id association, updates visibility for shared helpers.
src/main/java/org/mtransit/android/commons/data/ServiceUpdateKtx.kt Updates “none” service update builders to include new trip-id field and return a list.
src/main/java/org/mtransit/android/commons/data/ServiceUpdate.java Adds targetTripId to model, cursor mapping, cursor row, and content values.
src/main/java/org/mtransit/android/commons/SqlUtils.java Adds getWhereColumnIsNull() helper used by new selection logic.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mmathieum mmathieum marked this pull request as ready for review February 9, 2026 19:26
@mmathieum mmathieum merged commit dc06bf5 into master Feb 9, 2026
4 checks passed
@mmathieum mmathieum deleted the mm/alerts_w_trip_ids branch February 9, 2026 19:58
mmathieum added a commit to mtransitapps/mtransit-for-android that referenced this pull request Feb 9, 2026
montransit added a commit to mtransitapps/mtransit-for-android that referenced this pull request Feb 9, 2026
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
montransit added a commit to mtransitapps/ca-shawinigan-rtcs-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-gtha-go-transit-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-calgary-transit-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-laurentides-linter-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-squamish-transit-system-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/fr-perpignan-sankeo-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-kamloops-transit-system-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-la-presqu-ile-citpi-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-montreal-bixi-bike-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
montransit added a commit to mtransitapps/ca-cornwall-transit-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-nanaimo-rdn-transit-system-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-whitehorse-transit-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-halifax-transit-ferry-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-halifax-transit-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-powell-river-regional-transit-system-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-st-john-s-metrobus-transit-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-saskatoon-transit-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-comox-valley-transit-system-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-airdrie-transit-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-l-assomption-mrclasso-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-cowichan-valley-transit-system-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-york-region-yrt-viva-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-hamilton-hsr-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-dawson-creek-transit-system-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-quebec-orleans-express-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-quebec-rtc-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-toronto-ttc-light-rail-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons: mt-sync-code-data.yml > fix skip on main repo
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-montreal-stm-subway-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
montransit added a commit to mtransitapps/ca-toronto-ttc-bus-android that referenced this pull request Feb 10, 2026
…parser':

- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons: Build(deps): Bump org.mockito.kotlin:mockito-kotlin from 6.2.2 to 6.2.3 mtransitapps/commons#550
- commons: Build(deps): Bump the protobuf group with 4 updates mtransitapps/commons#549
- commons: Build(deps): Bump com.google.ads.mediation:facebook from 6.21.0.0 to 6.21.0.1 in the ads group mtransitapps/commons#548
- commons: Build(deps): Bump the androidx group with 4 updates mtransitapps/commons#547
- commons: APG 9.0.0 migration mtransitapps/commons#523
- commons: Update gradle wrapper to `9.1.0` mtransitapps/commons#546
- commons: Add reset-current-schedule input to mt-sync-code-data workflow mtransitapps/commons#543
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-android: Toast utils cleanup
- commons-android: APG 9.0.0 migration mtransitapps/commons-android#54
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
- commons-java: APG 9.0.0 migration mtransitapps/commons-java#14
- parser: APG 9.0.0 migration mtransitapps/parser#28
montransit added a commit to mtransitapps/ca-ottawa-oc-transpo-bus-android that referenced this pull request Feb 10, 2026
- commons: Update develocity plugin version to 4.3.2 mtransitapps/commons#554
- commons: Update mt-dependency-update-baseline.yml mtransitapps/commons#555
- commons: Service updates/alerts compat w/ trip IDs mtransitapps/commons#552
- commons: `mt-download-data.yml`> `trigger mt-sync-code-data.yml` if current data is outdated & newer data vailable mtransitapps/commons#553
- commons: Cleanup protobuf dependencies mtransitapps/commons#551
- commons: Add "protobuf-kotlin-lite" dependency
- commons-android: Service updates/alerts compat w/ trip IDs mtransitapps/commons-android#55
- commons-android: Fix protobuf kotlin compat
- commons-java: Revert using MT_DEBUG sys env var, not working
- commons-java: Service updates/alerts compat w/ trip IDs mtransitapps/commons-java#19
- commons-java: SQL utils > add where table column IS NULL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants