Skip to content

Review pr 2497#2500

Closed
daedaevibin wants to merge 33 commits into
PixelPlayerHQ:masterfrom
Veridian-Zenith:review-pr-2497
Closed

Review pr 2497#2500
daedaevibin wants to merge 33 commits into
PixelPlayerHQ:masterfrom
Veridian-Zenith:review-pr-2497

Conversation

@daedaevibin

Copy link
Copy Markdown
Contributor

Test changes from upstream PR

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
# Conflicts:
#	app/src/main/java/com/theveloper/pixelplay/presentation/model/SettingsCategory.kt
#	app/src/main/java/com/theveloper/pixelplay/presentation/screens/SettingsCategoryScreen.kt
#	app/src/main/java/com/theveloper/pixelplay/presentation/viewmodel/AiStateHolder.kt
@daedaevibin

Copy link
Copy Markdown
Contributor Author

I seriously hate githubs PR system, this is not where this was supposed to open.

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