Skip to content

feat: AI overhaul - providers, prompts, settings, romanization - #2659

Open
daedaevibin wants to merge 81 commits into
PixelPlayerHQ:masterfrom
Veridian-Zenith:feat/ai
Open

feat: AI overhaul - providers, prompts, settings, romanization#2659
daedaevibin wants to merge 81 commits into
PixelPlayerHQ:masterfrom
Veridian-Zenith:feat/ai

Conversation

@daedaevibin

Copy link
Copy Markdown
Contributor

Covers: Shared AI OkHttpClient, FLAC fallback, provider deduplication, configurable base URLs, SearchableProviderSelector, LYRICS prompt type, AI settings split into tabs, MultiLangRomanizer support, server URL utilities, cleanup of stale AI state

daedaevibin and others added 30 commits June 24, 2026 01:44
New values-ja/ resource directory with all string categories translated.
… Vietnamese

- isThai(): detect Thai script via U+0E00..U+0E7F
- isArabic(): detect Arabic script via U+0600..U+06FF
- isGreek(): detect Greek script via U+0370..U+03FF
- isHebrew(): detect Hebrew script via U+0590..U+05FF
- isVietnamese(): detect Vietnamese via Latin Extended Additional block (U+1EA0..U+1EF9) and specific chars (ă, đ, ơ, ư)
- romanizeVietnamese(): NFKD-decompose and strip diacritics to plain ASCII
LyricsRepositoryImpl.kt:
- Route Cyrillic text to romanizeCyrillic() before falling through
- Route Vietnamese text to romanizeVietnamese()
- Include synced lyrics translations in LRC output

AiStateHolder.kt:
- Detect source language before AI translation using MultiLangRomanizer
- Support all newly detected scripts (Thai, Arabic, Greek, Hebrew, Vietnamese)
- Prefix translation prompt with detected language for better AI results
MissingDefaultResource (14): Create base values/plurals.xml with English defaults
  for all 14 plural names that only existed in values-ar/

NewApi (3): Annotate BlurEffectCache with @RequiresApi(31); guard
  ForegroundServiceStartNotAllowedException with SDK_INT >= S check

WrongConstant (1): Suppress lint on takePersistableUriPermission flags

NonObservableLocale (2): Suppress lint on Locale.getDefault() in composables

MissingIntentFilterForMediaSearch (1): Add MEDIA_PLAY_FROM_SEARCH intent-filter
  to MainActivity for Android Auto voice search support
- Add JAPANESE, TRADITIONAL_CHINESE, VIETNAMESE to AppLanguage enum
- Update locales_config.xml with all supported locales (de, en, es, fr, in, it, ja, ko, nb, ru, tr, vi, zh-CN, zh-TW)
- Add German translations for changelogs and settings
- Add Korean, Norwegian Bokmal, Russian translations for changelogs and settings
- Add Japanese strings_settings.xml update
SettingsCategory.kt:
- Add LYRICS category with QueueMusic icon between APPEARANCE and PLAYBACK
- Move EQUALIZER after PLAYBACK for better grouping
- Add DEVICE_CAPABILITIES after DEVELOPER

SettingsCategoryScreen.kt:
- Extract lyrics management (source priority, reset) into dedicated LYRICS section
- Extract lyrics display (immersive mode, auto-hide delay) into LYRICS section
- Keep PLAYBACK focused on playback-specific settings only
- Suppress NonObservableLocale in AI usage section

SettingsScreen.kt:
- Add color scheme for LYRICS category

FullPlayerContent.kt:
- Remove redundant resetLyricsSearchState() call when opening lyrics sheet
- Add --no-build-cache to all Gradle build steps for CI reproducibility
- Reorder CodeQL workflow steps: pin Kotlin version before Gradle setup
- Remove explicit maxHeapSize from app build.gradle.kts
- Remove kotlin and ksp version overrides from libs.versions.toml
AiPreferencesRepository.kt: Increase default AI max tokens from 4096 to 8192
LyricsStateHolder.kt: Fix lyrics loading priority - read local file and
  embedded lyrics before falling back to stored database lyrics
…lint baseline

- ServerUrlUtils.kt: URL utility for server configuration
- values-vi/ and values-zh-rTW/: Vietnamese and Traditional Chinese translation resources
- app/lint.xml: Lint baseline configuration file
Bumps the github-actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/cache](https://github.com/actions/cache).


Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

Updates `actions/cache` from 5 to 6
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the gradle-dependencies group with 2 updates: [gradle-wrapper](https://github.com/gradle/gradle) and [com.google.genai:google-genai](https://github.com/googleapis/java-genai).


Updates `gradle-wrapper` from 9.5.1 to 9.6.0
- [Release notes](https://github.com/gradle/gradle/releases)
- [Commits](gradle/gradle@v9.5.1...v9.6.0)

Updates `com.google.genai:google-genai` from 1.58.0 to 1.60.0
- [Release notes](https://github.com/googleapis/java-genai/releases)
- [Changelog](https://github.com/googleapis/java-genai/blob/main/CHANGELOG.md)
- [Commits](googleapis/java-genai@v1.58.0...v1.60.0)

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.google.genai:google-genai
  dependency-version: 1.60.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…/github-actions-02325a8da5

chore(deps): bump the github-actions group with 2 updates
…dependencies-4659e02046

chore(deps): bump the gradle-dependencies group with 2 updates
…th 7 updates

Bumps the gradle-dependencies group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [gradle-wrapper](https://github.com/gradle/gradle) | `9.6.0` | `9.6.1` |
| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.59.2` | `2.60` |
| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.59.2` | `2.60` |
| [io.ktor:ktor-server-core-jvm](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |
| [io.ktor:ktor-server-netty-jvm](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |
| [io.ktor:ktor-server-cio-jvm](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |
| [com.google.dagger.hilt.android](https://github.com/google/dagger) | `2.59.2` | `2.60` |



Updates `gradle-wrapper` from 9.6.0 to 9.6.1
- [Release notes](https://github.com/gradle/gradle/releases)
- [Commits](gradle/gradle@v9.6.0...v9.6.1)

Updates `com.google.dagger:hilt-android` from 2.59.2 to 2.60
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.59.2...dagger-2.60)

Updates `com.google.dagger:hilt-android-compiler` from 2.59.2 to 2.60
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.59.2...dagger-2.60)

Updates `com.google.dagger:hilt-android-compiler` from 2.59.2 to 2.60
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.59.2...dagger-2.60)

Updates `io.ktor:ktor-server-core-jvm` from 3.5.0 to 3.5.1
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](ktorio/ktor@3.5.0...3.5.1)

Updates `io.ktor:ktor-server-netty-jvm` from 3.5.0 to 3.5.1
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](ktorio/ktor@3.5.0...3.5.1)

Updates `io.ktor:ktor-server-cio-jvm` from 3.5.0 to 3.5.1
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](ktorio/ktor@3.5.0...3.5.1)

Updates `io.ktor:ktor-server-netty-jvm` from 3.5.0 to 3.5.1
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](ktorio/ktor@3.5.0...3.5.1)

Updates `io.ktor:ktor-server-cio-jvm` from 3.5.0 to 3.5.1
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](ktorio/ktor@3.5.0...3.5.1)

Updates `com.google.dagger.hilt.android` from 2.59.2 to 2.60
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.59.2...dagger-2.60)

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.google.dagger:hilt-android
  dependency-version: '2.60'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.google.dagger:hilt-android-compiler
  dependency-version: '2.60'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.google.dagger:hilt-android-compiler
  dependency-version: '2.60'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-server-core-jvm
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-server-netty-jvm
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-server-cio-jvm
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-server-netty-jvm
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: io.ktor:ktor-server-cio-jvm
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.google.dagger.hilt.android
  dependency-version: '2.60'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…path

- Merge migrateTabOrder, ensureLibrarySortDefaults, and legacy favorite
  migration into a single deferred coroutine (2s delay)
- Defer loadPersistedDailyMix and loadSearchHistory to after first
  frame (1.5s delay)
- This prevents DataStore first() calls and DB queries from blocking
  the critical init path that feeds first-frame rendering
…storage

- Load songs first (most critical tab, needed for Songs tab rendering)
- Chain albums after songs, artists after albums, folders after artists
  using Job.join() to prevent 4 simultaneous Room queries from competing
  for limited I/O bandwidth on eMMC storage (Redmi)
- Reduces GC pressure from concurrent heap allocations
…om queries

- Replace songCountFlow (Room query) with allSongsFlow (in-memory)
- Now all 3 flows in the combine are in-memory StateFlows, not Room queries
- Eliminates redundant SELECT COUNT(*) query that re-emitted on every
  songs table write during sync
- Remove individual _isLoadingCategories toggles from albums and artists
  jobs (they no longer manage their own loading state)
- Add a single watcher coroutine that sets _isLoadingCategories = true
  when songs complete, then false when all sequential jobs finish
- Prevents 3 redundant recompositions of LibraryScreen through
  playerUiState during initial data load
- Library folders/loading combine: skip update when Triple unchanged
- Sort options combine: skip update when SortOptionsSnapshot unchanged
- AiUiSnapshot combine: skip update when snapshot unchanged
- Prevents cascading recompositions of LibraryScreen from redundant
  playerUiState emissions during multiple rapid state changes
…quests

- Add LYRICS to AiSystemPromptType enum
- Add LYRICS case to AiSystemPromptEngine.buildPrompt with role/strategy
- Update translateLyrics in AiStateHolder to use AiSystemPromptType.LYRICS
- Add 'Lyrics' display label to formatPromptType in AiUsageComponents
- Lyrics translation requests now appear distinctly in AI activity logs
… Parameters tab

- Add GENERATION_PARAMETERS category to SettingsCategory enum with Tune icon
- AI Integration tab now keeps only: provider selection, API key entry,
  model selection, base URL, and activity logs
- New Generation Parameters tab gets: system prompt editor, temperature,
  top P, top K, max tokens, presence/frequency penalty, sample size,
  digest mode, and extended song fields
- Add English string resources for the new category
…earch

- Add description field to AiProvider enum entries
- Create SearchableProviderSelector composable similar to
  SearchableModelSelector with search, filtering, and count label
- Replace ThemeSelectorItem in AI_INTEGRATION settings with
  SearchableProviderSelector for provider selection
- Search covers name, displayName, and description fields
- Update AI subtitle to reflect model selection and activity logs
- Add GENERATION_PARAMETERS category strings to all locales
- All new strings use English as fallback pending translator contributions
… method

- Remove dead hasGeminiApiKey StateFlow in PlayerViewModel
- Remove dead songCountFlow StateFlow in PlayerViewModel
- Remove unused getSongCountFlow() from MusicRepository interface and impl
- Remove corresponding mock from PlayerViewModelTest
…pressions

- Add LYRICS case to temperature selection in AiHandler.kt
- Add GENERATION_PARAMETERS case to category colors in SettingsScreen.kt
  (both dark and light color schemes)
…dependencies-0242c4ee8e

chore(deps): bump the gradle-dependencies group across 1 directory with 7 updates
daedaevibin and others added 30 commits July 7, 2026 23:47
…dependencies-3086ed5dc2

chore(deps): bump the gradle-dependencies group across 1 directory with 3 updates
…/github-actions-640176b5ab

chore(deps): bump actions/checkout from 6 to 7 in the github-actions group
…th 17 updates

Bumps the gradle-dependencies group with 17 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.jetbrains.kotlin:kotlin-metadata-jvm](https://github.com/JetBrains/kotlin) | `2.4.0` | `2.4.10` |
| [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit-framework) | `6.1.1` | `6.1.2` |
| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.1.1` | `6.1.2` |
| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.1.1` | `6.1.2` |
| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.1.1` | `6.1.2` |
| [com.google.genai:google-genai](https://github.com/googleapis/java-genai) | `1.60.0` | `1.61.0` |
| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.1.1` | `6.1.2` |
| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.4.0` | `2.4.10` |
| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.4.0` | `2.4.10` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.4.0` | `2.4.10` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.4.0` | `2.4.10` |
| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.84` | `1.85` |
| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.84` | `1.85` |
| com.android.application | `9.2.1` | `9.3.0` |
| com.android.test | `9.2.1` | `9.3.0` |
| com.android.library | `9.2.1` | `9.3.0` |
| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.9` | `2.3.10` |



Updates `org.jetbrains.kotlin:kotlin-metadata-jvm` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

Updates `org.junit.platform:junit-platform-launcher` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `org.junit.jupiter:junit-jupiter-api` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `org.junit.jupiter:junit-jupiter-engine` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `org.junit.vintage:junit-vintage-engine` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `com.google.genai:google-genai` from 1.60.0 to 1.61.0
- [Release notes](https://github.com/googleapis/java-genai/releases)
- [Changelog](https://github.com/googleapis/java-genai/blob/main/CHANGELOG.md)
- [Commits](googleapis/java-genai@v1.60.0...v1.61.0)

Updates `org.junit.jupiter:junit-jupiter-params` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `org.jetbrains.kotlin:kotlin-test-junit` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

Updates `org.jetbrains.kotlin.android` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

Updates `org.junit.jupiter:junit-jupiter-api` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `org.junit.jupiter:junit-jupiter-engine` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `org.junit.vintage:junit-vintage-engine` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/junit-team/junit-framework/releases)
- [Commits](junit-team/junit-framework@r6.1.1...r6.1.2)

Updates `org.bouncycastle:bcprov-jdk18on` from 1.84 to 1.85
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcpkix-jdk18on` from 1.84 to 1.85
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcpkix-jdk18on` from 1.84 to 1.85
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `com.android.application` from 9.2.1 to 9.3.0

Updates `com.android.test` from 9.2.1 to 9.3.0

Updates `com.android.library` from 9.2.1 to 9.3.0

Updates `org.jetbrains.kotlin.android` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

Updates `com.google.devtools.ksp` from 2.3.9 to 2.3.10
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.3.9...2.3.10)

Updates `com.android.test` from 9.2.1 to 9.3.0

Updates `com.android.library` from 9.2.1 to 9.3.0

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.4.0 to 2.4.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.0...v2.4.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-metadata-jvm
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.junit.platform:junit-platform-launcher
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.junit.vintage:junit-vintage-engine
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.google.genai:google-genai
  dependency-version: 1.61.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.android
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.junit.vintage:junit-vintage-engine
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-version: '1.85'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.bouncycastle:bcpkix-jdk18on
  dependency-version: '1.85'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.bouncycastle:bcpkix-jdk18on
  dependency-version: '1.85'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.android.application
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.android.test
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.android.library
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.android
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.google.devtools.ksp
  dependency-version: 2.3.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.android.test
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.android.library
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-version: 2.4.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…60974e

Signed-off-by: Dае Еuнша <daedaevibin@ik.me>
…dependencies-5a7a60974e

chore(deps): bump the gradle-dependencies group across 1 directory with 17 updates
Bumps the gradle-dependencies group with 1 update in the / directory: androidx.compose.material3:material3.


Updates `androidx.compose.material3:material3` from 1.5.0-alpha23 to 1.5.0-alpha24

---
updated-dependencies:
- dependency-name: androidx.compose.material3:material3
  dependency-version: 1.5.0-alpha24
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…dependencies-ae5cc6b71d

chore(deps): bump androidx.compose.material3:material3 from 1.5.0-alpha23 to 1.5.0-alpha24 in the gradle-dependencies group across 1 directory
Bumps the gradle-dependencies group with 4 updates: [com.mikepenz:aboutlibraries-core](https://github.com/mikepenz/AboutLibraries), [com.mikepenz:aboutlibraries-compose-m3](https://github.com/mikepenz/AboutLibraries), com.mikepenz.aboutlibraries.plugin.android and [com.google.genai:google-genai](https://github.com/googleapis/java-genai).


Updates `com.mikepenz:aboutlibraries-core` from 15.0.3 to 15.0.4
- [Release notes](https://github.com/mikepenz/AboutLibraries/releases)
- [Commits](mikepenz/AboutLibraries@15.0.3...15.0.4)

Updates `com.mikepenz:aboutlibraries-compose-m3` from 15.0.3 to 15.0.4
- [Release notes](https://github.com/mikepenz/AboutLibraries/releases)
- [Commits](mikepenz/AboutLibraries@15.0.3...15.0.4)

Updates `com.mikepenz.aboutlibraries.plugin.android` from 15.0.3 to 15.0.4

Updates `com.mikepenz:aboutlibraries-compose-m3` from 15.0.3 to 15.0.4
- [Release notes](https://github.com/mikepenz/AboutLibraries/releases)
- [Commits](mikepenz/AboutLibraries@15.0.3...15.0.4)

Updates `com.google.genai:google-genai` from 1.61.0 to 1.62.0
- [Release notes](https://github.com/googleapis/java-genai/releases)
- [Changelog](https://github.com/googleapis/java-genai/blob/main/CHANGELOG.md)
- [Commits](googleapis/java-genai@v1.61.0...v1.62.0)

Updates `com.mikepenz.aboutlibraries.plugin.android` from 15.0.3 to 15.0.4

---
updated-dependencies:
- dependency-name: com.mikepenz:aboutlibraries-core
  dependency-version: 15.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.mikepenz:aboutlibraries-compose-m3
  dependency-version: 15.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.mikepenz.aboutlibraries.plugin.android
  dependency-version: 15.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.mikepenz:aboutlibraries-compose-m3
  dependency-version: 15.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.google.genai:google-genai
  dependency-version: 1.62.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.mikepenz.aboutlibraries.plugin.android
  dependency-version: 15.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…dependencies-591b51ae27

bump the gradle-dependencies group with 4 updates
…th 4 updates

Bumps the gradle-dependencies group with 4 updates in the / directory: [com.google.genai:google-genai](https://github.com/googleapis/java-genai), com.android.application, com.android.test and com.android.library.


Updates `com.google.genai:google-genai` from 1.62.0 to 1.63.0
- [Release notes](https://github.com/googleapis/java-genai/releases)
- [Changelog](https://github.com/googleapis/java-genai/blob/main/CHANGELOG.md)
- [Commits](googleapis/java-genai@v1.62.0...v1.63.0)

Updates `com.android.application` from 9.3.0 to 9.3.1

Updates `com.android.test` from 9.3.0 to 9.3.1

Updates `com.android.library` from 9.3.0 to 9.3.1

Updates `com.android.test` from 9.3.0 to 9.3.1

Updates `com.android.library` from 9.3.0 to 9.3.1

---
updated-dependencies:
- dependency-name: com.google.genai:google-genai
  dependency-version: 1.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-dependencies
- dependency-name: com.android.application
  dependency-version: 9.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.android.test
  dependency-version: 9.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.android.library
  dependency-version: 9.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.android.test
  dependency-version: 9.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
- dependency-name: com.android.library
  dependency-version: 9.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…dependencies-2200170d97

chore(deps): bump the gradle-dependencies group across 1 directory with 4 updates
…s and romanization

- Add full translations for JA, VI, ZH-TW locale files
- Add MultiLangRomanizer for Thai, Arabic, Greek, Hebrew, Vietnamese
- Add romanization and Cyrillic language detection
- Korean, German, Spanish, French, Arabic, Indonesian, Italian, Norwegian, Russian, Turkish translations
- Add locale configuration and plural support
- Fix lyrics translation cutoff and false already-translated detection
- Fix search dialog stuck and non-Latin search
- Fix CJK token scaling, embedded lyrics reading, local .lrc Unicode matching
- Romanization detection improvements
- LyricsSheet UI improvements (keep-screen-on, drag handling)
- LyricsStateHolder improvements
- Shared AI OkHttpClient, FLAC fallback, provider deduplication
- Configurable base URLs and streamlined base URL handling
- SearchableProviderSelector with descriptions and live search
- Split AI settings into AI Provider tab and Generation Parameters tab
- LYRICS prompt type for translation logging
- MultiLangRomanizer support for multiple script systems
- Server URL utilities for multi-provider support
- Cleanup of stale AI state and error propagation
- Fix 21 pre-existing lint errors
- Add lint baseline configuration
- AndroidManifest updates for external player
- MainActivity fixes
- Split AI settings into AI Provider tab and Generation Parameters tab
- Add LYRICS settings category
- Settings screen restructuring and components
- Library screen loading indicators and optimizations
- Search screen improvements
- Player view model fixes
… plurals, language labels

- Translate Vietnamese (vi) locale files properly (was English clone)
- Convert zh-rTW from Simplified to Traditional Chinese characters
- Add missing license/notice keys to ja, vi, zh-rTW
- Add missing lyrics keys to zh-rTW
- Add missing generation parameters keys to ja, vi, zh-rTW
- Create plurals.xml for ja, vi, zh-rTW, de, ko, nb, ru
- Add 3 missing language labels (ja, zh-rTW, vi) to es, fr, in, it, tr, zh-rCN
- Add 9 missing license keys to de, ko, nb, ru
# Conflicts:
#	app/src/main/res/values-ja/strings_settings.xml
#	app/src/main/res/values-vi/strings.xml
#	app/src/main/res/values-vi/strings_changelogs.xml
#	app/src/main/res/values-vi/strings_cloud_services.xml
#	app/src/main/res/values-vi/strings_equalizer.xml
#	app/src/main/res/values-vi/strings_home_screen.xml
#	app/src/main/res/values-vi/strings_library.xml
#	app/src/main/res/values-vi/strings_player.xml
#	app/src/main/res/values-vi/strings_screens.xml
#	app/src/main/res/values-vi/strings_settings.xml
#	app/src/main/res/values-vi/strings_widget.xml
#	app/src/main/res/values-zh-rTW/strings.xml
#	app/src/main/res/values-zh-rTW/strings_changelogs.xml
#	app/src/main/res/values-zh-rTW/strings_cloud_services.xml
#	app/src/main/res/values-zh-rTW/strings_equalizer.xml
#	app/src/main/res/values-zh-rTW/strings_home_screen.xml
#	app/src/main/res/values-zh-rTW/strings_library.xml
#	app/src/main/res/values-zh-rTW/strings_player.xml
#	app/src/main/res/values-zh-rTW/strings_screens.xml
#	app/src/main/res/values-zh-rTW/strings_settings.xml
#	app/src/main/res/values-zh-rTW/strings_widget.xml
- Ollama is a local inference engine that does not require an API key
- Changed default URL from https://api.ollama.ai/v1 to http://localhost:11434/v1
- Merged master to get MultiLangRomanizer detection methods (isThai, isArabic, etc.)
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