diff --git a/CLAUDE.md b/CLAUDE.md index d393ca7..22301c6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,6 +15,24 @@ Jellyfin music and audiobook player for Android Automotive OS (AAOS) with offlin ./gradlew :automotive:installDebug ``` +## Releasing + +1. Bump `versionCode` (increment by 1) and `versionName` (semver) in `automotive/build.gradle.kts` +2. Commit **only** `automotive/build.gradle.kts` with this exact message format: + +``` +Release v() + + + +Full release notes: + +- +- +``` + +Example: `Release v1.2.2(18)` + - **Min SDK**: 28 (Android 9) - **Target SDK**: 36 - **Compile SDK**: 36 diff --git a/automotive/build.gradle.kts b/automotive/build.gradle.kts index 76b68a5..5431db5 100644 --- a/automotive/build.gradle.kts +++ b/automotive/build.gradle.kts @@ -14,8 +14,8 @@ android { applicationId = "com.chamika.dashtune" minSdk = 28 targetSdk = 36 - versionCode = 17 - versionName = "1.2.1" + versionCode = 18 + versionName = "1.2.2" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/automotive/src/main/java/com/chamika/dashtune/DashTuneSessionCallback.kt b/automotive/src/main/java/com/chamika/dashtune/DashTuneSessionCallback.kt index 99db671..98f446f 100644 --- a/automotive/src/main/java/com/chamika/dashtune/DashTuneSessionCallback.kt +++ b/automotive/src/main/java/com/chamika/dashtune/DashTuneSessionCallback.kt @@ -37,8 +37,10 @@ import com.chamika.dashtune.signin.SignInActivity import com.google.common.collect.ImmutableList import com.google.common.util.concurrent.Futures import com.google.common.util.concurrent.ListenableFuture +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.withContext import kotlinx.coroutines.withTimeoutOrNull import org.jellyfin.sdk.api.client.ApiClient import org.jellyfin.sdk.api.client.extensions.itemsApi @@ -416,7 +418,7 @@ class DashTuneSessionCallback( SYNC_COMMAND -> { return SuspendToFutureAdapter.launchFuture { - val success = repository.sync() + val success = withContext(Dispatchers.IO) { repository.sync() } if (success) { PreferenceManager.getDefaultSharedPreferences(service).edit { putLong("last_sync_timestamp", System.currentTimeMillis())