commit 3a191cfab7b0711653bee913ddfd4ad785b35dd9 Author: Fabio Mazza Date: Sat Jan 3 18:18:51 2026 +0100 Buffer trip request to avoid filling cache diff --git a/app/src/main/java/it/reyboz/bustorino/data/MatoRepository.kt b/app/src/main/java/it/reyboz/bustorino/data/MatoRepository.kt index 3aeaa36..480bff5 100644 --- a/app/src/main/java/it/reyboz/bustorino/data/MatoRepository.kt +++ b/app/src/main/java/it/reyboz/bustorino/data/MatoRepository.kt @@ -35,7 +35,7 @@ class MatoRepository(val mContext: Context) { fun requestTripUpdate(tripId: String, errorListener: Response.ErrorListener?, callback: Callback){ val params = JSONObject() params.put("field",tripId) - Log.i(DEBUG_TAG, "Requesting info for trip id: $tripId") + Log.d(DEBUG_TAG, "Requesting info for trip id: $tripId") netVolleyManager.addToRequestQueue(MatoVolleyJSONRequest( MatoQueries.QueryType.TRIP,params,{ try { diff --git a/app/src/main/java/it/reyboz/bustorino/data/MatoTripsDownloadWorker.kt b/app/src/main/java/it/reyboz/bustorino/data/MatoTripsDownloadWorker.kt index 902ddb7..8d7ea7b 100644 --- a/app/src/main/java/it/reyboz/bustorino/data/MatoTripsDownloadWorker.kt +++ b/app/src/main/java/it/reyboz/bustorino/data/MatoTripsDownloadWorker.kt @@ -25,6 +25,7 @@ import com.android.volley.toolbox.ClearCacheRequest import it.reyboz.bustorino.backend.Notifications import it.reyboz.bustorino.data.gtfs.GtfsTrip import java.util.concurrent.CountDownLatch +import kotlin.math.min class MatoTripsDownloadWorker(appContext: Context, workerParams: WorkerParameters) : CoroutineWorker(appContext, workerParams) { @@ -37,13 +38,26 @@ class MatoTripsDownloadWorker(appContext: Context, workerParams: WorkerParameter Log.e(DEBUG_TAG,"trips list given is null") return Result.failure() } - return downloadGtfsTrips(tripsList!!) + val numTrips = tripsList.size + var i = 0 + var totDown = 0 + while (i ):Result{ + private fun downloadGtfsTrips(tripsList: Array): Int{ val gtfsRepository = GtfsRepository(applicationContext) val matoRepository = MatoRepository(applicationContext) @@ -88,7 +102,7 @@ class MatoTripsDownloadWorker(appContext: Context, workerParams: WorkerParameter matoRepository.clearVolleyCache() if (tripsIDsCompleted.isEmpty()){ Log.d(DEBUG_TAG, "No trips have been downloaded, set work to fail") - return Result.failure() + return -5 } else { val doInsert = (queriedMatoTrips subtract failedMatoTripsDownload).containsAll(tripsIDsCompleted) Log.i(DEBUG_TAG, "Inserting missing GtfsTrips in the database, should insert $doInsert") @@ -98,7 +112,7 @@ class MatoTripsDownloadWorker(appContext: Context, workerParams: WorkerParameter } - return Result.success() + return downloadedMatoTrips.size } } override suspend fun getForegroundInfo(): ForegroundInfo {