Skip to content

Commit e85bdaa

Browse files
committed
feat: enhance artist page functionality and UI, fix various issues
1 parent a6687de commit e85bdaa

20 files changed

Lines changed: 229 additions & 26 deletions

File tree

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ plugins {
1111
alias(libs.plugins.aboutlibraries)
1212
alias(libs.plugins.room)
1313
alias(libs.plugins.kotlin.serialization)
14+
alias(libs.plugins.kotlin.parcelize)
1415
alias(libs.plugins.sentry.gradle)
1516
}
1617

app/src/main/java/com/maxrave/simpmusic/data/db/entities/SongEntity.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.maxrave.simpmusic.data.db.entities
22

3+
import android.os.Parcelable
34
import androidx.room.Entity
45
import androidx.room.PrimaryKey
56
import com.maxrave.simpmusic.common.DownloadState.STATE_NOT_DOWNLOADED
67
import com.maxrave.simpmusic.data.type.RecentlyType
8+
import kotlinx.parcelize.Parcelize
79
import java.time.LocalDateTime
810

911
@Entity(tableName = "song")
12+
@Parcelize
1013
data class SongEntity(
1114
@PrimaryKey(autoGenerate = false) val videoId: String = "",
1215
val albumId: String? = null,
@@ -29,7 +32,8 @@ data class SongEntity(
2932
val inLibrary: LocalDateTime = LocalDateTime.now(),
3033
val canvasUrl: String? = null,
3134
val canvasThumbUrl: String? = null,
32-
) : RecentlyType {
35+
) : RecentlyType,
36+
Parcelable {
3337
override fun objectType(): RecentlyType.Type = RecentlyType.Type.SONG
3438

3539
fun toggleLike() = copy(liked = !liked)

app/src/main/res/values-ar/strings.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@
143143
<string name="log_in_to_YouTube">تسجيل الدخول إلى YouTube</string>
144144
<string name="log_in_to_get_personally_data">قم بتسجيل الدخول للحصول على البيانات الشخصية</string>
145145
<string name="login_success">تم تسجيل الدخول بنجاح</string>
146+
<string name="login_failed">فشل الدخول</string>
146147
<string name="log_out">تسجيل الخروج من YouTube</string>
147148
<string name="logged_in">تم تسجيل الدخول</string>
148149
<string name="logged_out">تم تسجيل الخروج</string>
@@ -168,6 +169,7 @@
168169
<string name="save_shuffle_and_repeat_mode">حفظ الوضع العشوائي و التكرار</string>
169170
<string name="skip_silent">تخطي الوضع الصامت</string>
170171
<string name="skip_no_music_part">تخطي لا جزء موسيقى</string>
172+
<string name="time_out_check_internet_connection_or_change_piped_instance_in_settings">إنتهى الوقت، تأكد من إتصالك بالانترنت (%1$d)</string>
171173
<string name="save_last_played">حفظ آخر تشغيل</string>
172174
<string name="save_last_played_track_and_queue">حفظ آخر مسار وقائمة الانتظار تم تشغيله</string>
173175
<string name="update_available">تحديث جديد متوفر</string>
@@ -184,6 +186,7 @@
184186
<string name="preview">استعراض</string>
185187
<string name="music_off_topic">موسيقى خارج الموضوع</string>
186188
<string name="poi_highlight">تسليط الضوء على النقاط الهامة</string>
189+
<string name="filler">ملأ الفراغ</string>
187190
<string name="sponsorBlock">SponsorBlock</string>
188191
<string name="enable_sponsor_block">تمكين SponsorBlock</string>
189192
<string name="categories_sponsor_block">حدد سلوك تخطي الجزء</string>
@@ -194,6 +197,8 @@
194197
<string name="skip_sponsor_part_of_video">تخطي جزء الراعي من الفيديو</string>
195198
<string name="customactivityoncrash_error_activity_error_occurred_explanation">حدث خطأ غير متوقع. نأسف للإزعاج.</string>
196199
<string name="customactivityoncrash_error_activity_restart_app">إعادة تشغيل التطبيق</string>
200+
<string name="help_build_lyrics_database">ساعدنا لتقوية قاعدة البيانات الخاصة بكلمات الأغاني</string>
201+
<string name="help_build_lyrics_database_description">أرسل كلمات الأغاني المسجلة إلى قاعدة البيانات</string>
197202
<string name="customactivityoncrash_error_activity_close_app">إغلاق التطبيق</string>
198203
<string name="customactivityoncrash_error_activity_error_details">تفاصيل الخطأ</string>
199204
<string name="customactivityoncrash_error_activity_error_details_title">تفاصيل الخطأ</string>
@@ -238,6 +243,7 @@
238243
<string name="backup_create_success">تم إنشاء النسخة الاحتياطية بنجاح</string>
239244
<string name="backup_create_failed">فشل إنشاء النسخ الاحتياطي</string>
240245
<string name="main_lyrics_provider">مورد كلمات الأغاني الرئيسي</string>
246+
<string name="use_ai_translation">استخدم الذكاء الاصطناعي لترجمة كلمات الأغنية</string>
241247
<string name="translation_language">لغة التّرجمة</string>
242248
<string name="follow_app_language">تتبع لغة التطبيق</string>
243249
<string name="email">البريد الإلكتروني</string>

app/src/main/res/values-b+zh+Hant+TW/strings.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,6 @@
242242
<string name="backup_create_failed">備份建立失敗</string>
243243
<string name="main_lyrics_provider">主要歌詞來源</string>
244244
<string name="use_ai_translation">使用AI歌詞翻譯</string>
245-
<string name="use_ai_translation_description">使用前請關閉Musixmatch歌詞翻譯</string>
246245
<string name="translation_language">譯文語言</string>
247246
<string name="follow_app_language">使用應用程式語言</string>
248247
<string name="email">電子信箱</string>

app/src/main/res/values-de/strings.xml

Lines changed: 54 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<string name="no_playlists_downloaded">Keine Playlists heruntergeladen</string>
3030
<string name="your_playlists">Deine lokalen Playlists</string>
3131
<string name="no_playlists_added">Keine Playlists hinzugefügt</string>
32-
<string name="recently_added">Kürzlich hinzugefügt</string>
32+
<string name="recently_added">Zuletzt gehört</string>
3333
<string name="search_for_songs_artists_albums_playlists_and_more">Suche nach Songs, Interpreten, Alben, Playlists und mehr</string>
3434
<string name="everything_you_need">Alles was du brauchst</string>
3535
<string name="restore_failed">Wiederherstellung fehlgeschlagen</string>
@@ -143,6 +143,7 @@
143143
<string name="log_in_to_YouTube">Melde dich bei YouTube an</string>
144144
<string name="log_in_to_get_personally_data">Melde dich an, um personalisierte Daten zu erhalten</string>
145145
<string name="login_success">Erfolgreich angemeldet</string>
146+
<string name="login_failed">Anmelden fehlgeschlagen</string>
146147
<string name="log_out">Melde dich von YouTube ab</string>
147148
<string name="logged_in">Angemeldet</string>
148149
<string name="logged_out">Abgemeldet</string>
@@ -168,6 +169,7 @@
168169
<string name="save_shuffle_and_repeat_mode">Zufalls- und Wiederholungswiedergabe speichern</string>
169170
<string name="skip_silent">Stille überspringen</string>
170171
<string name="skip_no_music_part">Teile ohne Musik überspringen</string>
172+
<string name="time_out_check_internet_connection_or_change_piped_instance_in_settings">Zeitüberschreitung, überprüfe die Internetverbindung (%1$d)</string>
171173
<string name="save_last_played">Zuletzt gespielt speichern</string>
172174
<string name="save_last_played_track_and_queue">Zuletzt gespielten Song und Wiedergabeliste speichern</string>
173175
<string name="update_available">Neues Update verfügbar</string>
@@ -195,6 +197,9 @@
195197
<string name="skip_sponsor_part_of_video">Gesponserten Teil des Videos überspringen</string>
196198
<string name="customactivityoncrash_error_activity_error_occurred_explanation">Ein unerwarteter Fehler ist aufgetreten. Entschuldigung für die Unannehmlichkeiten.</string>
197199
<string name="customactivityoncrash_error_activity_restart_app">App neu starten</string>
200+
<string name="help_build_lyrics_database">Hilf SimpMusic-Lyrics beim Aufbau der Songtext-Datenbank</string>
201+
<string name="help_build_lyrics_database_description">Sende deine gespeicherten Songtexte an die SimpMusic-Songtext-Datenbank</string>
202+
<string name="lyrics_database_description">Wir erstellen unsere eigene Songtext-Datenbank für SimpMusic und andere YouTube-Clients für nicht-kommerzielle Zwecke, unter Open-Source</string>
198203
<string name="customactivityoncrash_error_activity_close_app">App schließen</string>
199204
<string name="customactivityoncrash_error_activity_error_details">Fehlerdetails</string>
200205
<string name="customactivityoncrash_error_activity_error_details_title">Fehlerdetails</string>
@@ -239,6 +244,7 @@
239244
<string name="backup_create_success">Sicherung erfolgreich erstellt</string>
240245
<string name="backup_create_failed">Das Erstellen der Sicherung ist fehlgeschlagen</string>
241246
<string name="main_lyrics_provider">Hauptanbieter von Songtexten</string>
247+
<string name="use_ai_translation">KI-Songtext-Übersetzung verwenden</string>
242248
<string name="translation_language">Übersetzungssprache</string>
243249
<string name="follow_app_language">Folgen Sie der App-Sprache</string>
244250
<string name="email">E-Mail</string>
@@ -247,7 +253,7 @@
247253
<string name="translation_language_message">Gebe den Sprachcode ein (z. B. de) (2 Buchstaben). Wenn du die Sprache SimpMusic nutzen möchtest, lasse dieses Feld leer.</string>
248254
<string name="invalid_language_code">Ungültiger Sprachcode</string>
249255
<string name="lyrics_provider_youtube">Songtexte von YouTube</string>
250-
<string name="limit_player_cache">Spieler-Cache begrenzen</string>
256+
<string name="limit_player_cache">Player-Cache begrenzen</string>
251257
<string name="unlimited">Unbegrenzt</string>
252258
<string name="third_party_libraries">Bibliotheken von Drittanbietern</string>
253259
<string name="description_and_licenses">Beschreibung und Lizenzen</string>
@@ -257,6 +263,10 @@
257263
<string name="free_space">Freiraum</string>
258264
<string name="suggest">Anregung</string>
259265
<string name="reload">Neu Laden</string>
266+
<string name="sort_by">Sortieren nach</string>
267+
<string name="sort">Sortieren</string>
268+
<string name="older_first">Ältere zuerst</string>
269+
<string name="newer_first">Neue zuerst</string>
260270
<string name="added_date">Datum hinzugefügt</string>
261271
<string name="credit_app">Eine einfache Musik-App mit YouTube Music als Backend \n\nSimpMusic ist ein Open-Source-Projekt zum Streamen von Musik von YouTube und YouTube Music ohne Werbung und Tracking. SimpMusic bietet viele Funktionen:\n\n - Musik streamen \n - Synchronisierte Liedtexte\n - Daten personalisieren\n - etc… \n\nSimpMusic ist immer kostenlos und ohne Werbung\n\nErstellen Sie mit ❤️ von Tuan Minh Nguyen Duc (maxrave-dev)</string>
262272
<string name="issue_tracker">Issue-Tracker</string>
@@ -272,7 +282,7 @@
272282
</plurals>
273283
<string name="dummy_button">Dummy-Taste</string>
274284
<string name="dummy_content">DUMMY-\nINHALT</string>
275-
<string name="play_video_instead_of_audio_warning">Diese Aktion wird den Spielercache löschen. Fortfahren?</string>
285+
<string name="play_video_instead_of_audio_warning">Diese Aktion wird den Player-Cache löschen. Fortfahren?</string>
276286
<string name="quality_video">Videoqualität</string>
277287
<string name="add_to_queue">Zur Warteschlange hinzufügen</string>
278288
<string name="added_to_queue">Zur Warteschlange hinzugefügt</string>
@@ -290,7 +300,7 @@
290300
<string name="codec">Codec</string>
291301
<string name="plays">Aufrufe</string>
292302
<string name="like_and_dislike">%1$d mag ich, %2$d mag ich nicht</string>
293-
<string name="published_at">Veröffentlicht um %1$s</string>
303+
<string name="published_at">Veröffentlicht am %1$s</string>
294304
<string name="less">Weniger</string>
295305
<string name="spotify">Spotify</string>
296306
<string name="log_in_to_spotify">Bei Spotify anmelden</string>
@@ -301,14 +311,14 @@
301311
<string name="canvas_info">Zeige Spotify Canvas in SimpMusic</string>
302312
<string name="spotify_lyrics_provider">Songtexte bereitgestellt von Spotify</string>
303313
<string name="offline_mode">Offline-Modus</string>
304-
<string name="added_to_youtube_liked">Hinzugefügt zu YouTube Liked</string>
314+
<string name="added_to_youtube_liked">Zu YouTube \"Gefällt mir\" Playlist hinzugefügt</string>
305315
<string name="removed_from_youtube_liked">Entfernt von YouTube Liked</string>
306316
<string name="home_limit">Datenlimit für Startseite festlegen</string>
307317
<string name="no_album">Kein Album</string>
308318
<string name="app_widget_description">Spieler-Widget</string>
309319
<string name="guide_miniplayer_content">Wischen Sie, um die Schaltfläche „Überspringen“ und „Schließen“ anzuzeigen</string>
310320
<string name="guide_suggest_content">Zeigen Sie von der KI vorgeschlagene Songs basierend auf Ihrer Playlist an</string>
311-
<string name="guide_liked_title">Zur YouTube-Playlist „Likes“ hinzufügen</string>
321+
<string name="guide_liked_title">Zur YouTube \"Gefällt mir\" Playlist hinzufügen</string>
312322
<string name="log_out_from_spotify">Von Spotify abmelden</string>
313323
<string name="delete">Löschen</string>
314324
<string name="top_videos">Top Videos</string>
@@ -342,14 +352,14 @@
342352
<string name="focus">Fokussieren</string>
343353
<string name="updated">Aktualisiert</string>
344354
<string name="updated_to_youtube_playlist">Zur YouTube-Playlist hinzugefügt</string>
345-
<string name="can_t_add_to_youtube_playlist">Zur YouTube-Playlist hinzugefügt</string>
355+
<string name="can_t_add_to_youtube_playlist">Kann nicht zu YouTube Playlist hinzufügen</string>
346356
<string name="can_t_delete_from_youtube_playlist">Lied kann nicht von YouTube Playlist gelöscht werden</string>
347357
<string name="loading">Wird geladen</string>
348358
<string name="updating">Updating</string>
349359
<string name="go_to_log_in_page">Zur Anmeldeseite</string>
350360
<string name="log_in_warning">YouTube Music erfordert jetzt das Einloggen um Musik zu streamen, Piped Instance kann manchmal nicht funktionieren. Du solltest dich bei YouTube anmelden, um ein besseres Erlebnis mit SimpMusic zu bekommen.</string>
351-
<string name="spotify_canvas_cache">Spotify Canvas Cache</string>
352-
<string name="clear_canvas_cache">Leere Canvas-Zwischenspeicher</string>
361+
<string name="spotify_canvas_cache">Spotify Canvas-Cache</string>
362+
<string name="clear_canvas_cache">Leere Canvas-Cache</string>
353363
<string name="proxy">Proxy</string>
354364
<string name="proxy_description">Verwenden eines Proxys, um die Blockierung von Länderinhalten zu umgehen</string>
355365
<string name="proxy_type">Proxy-Typ</string>
@@ -392,11 +402,46 @@
392402
<string name="buying_me_a_coffee">Mir einen Kaffee zu kaufen.</string>
393403
<string name="fade_audio_effect">Fade Audioeffekt</string>
394404
<string name="disabled">Deaktivieren</string>
405+
<string name="fade_audio_effect_duration">Fade Audioeffekt Dauer (ms) (auf 0 setzen zum Deaktivieren)</string>
395406
<string name="duration">Dauer</string>
396407
<string name="invalid_number">Ungültige Zahl</string>
397408
<string name="shuffle_not_available">Shuffle Endpunkt ist nicht verfügbar</string>
398409
<string name="radio_not_available">Radio Endpunkt ist nicht verfügbar</string>
399410
<string name="visitor_data_retrieved">Gast Daten Abgerufen</string>
400411
<string name="data_sync_id_retrieved">DataSyncId Abgerufen</string>
401412
<string name="retrieve_youtube_data">Youtube Daten abrufen</string>
413+
<string name="no_results_found">Keine Ergebnisse</string>
414+
<string name="ai">KI</string>
415+
<string name="ai_provider">KI-Anbieter</string>
416+
<string name="openai">OpenKI</string>
417+
<string name="gemini">Gemini</string>
418+
<string name="ai_api_key">Dein KI API Key</string>
419+
<string name="invalid_api_key">Ungültiger API-Schlüssel</string>
420+
<string name="custom_ai_model_id">Benutzerdefinierte KI-Model-ID</string>
421+
<string name="default_models">Standardmodelle sind \"gemini-2.0-flash-lite\" und \"gpt-4o\"</string>
422+
<string name="invalid">Ungültig</string>
423+
<string name="custom_model_id_messages">Bitte geben Sie die genaue Modell-ID Ihres KI-Providers ein.</string>
424+
<string name="favorite_podcasts">Lieblings-Podcasts</string>
425+
<string name="no_favorite_podcasts">Keine Lieblings-Podcasts</string>
426+
<string name="your_sp_dc_param_of_spotify_cookie">Dein sp_dc Param von Spotify Cookie</string>
427+
<string name="your_youtube_cookie">Dein YouTube Cookie</string>
428+
<string name="can_not_be_empty">Darf nicht leer sein</string>
429+
<string name="processing">In Bearbeitung</string>
430+
<string name="website">Webseite</string>
431+
<string name="download_this_song_video_file_to_your_device">Lade diese Song/Videodatei auf dein Gerät herunter</string>
432+
<string name="kill_service_on_exit">Dienst beim Beenden beenden</string>
433+
<string name="kill_service_on_exit_description">Hintergrundmusikplayer beim Beenden der App stoppen</string>
434+
<string name="crossfade">Crossfade (BETA)</string>
435+
<string name="crossfade_enabled">Aktiviert (%1$ds)</string>
436+
<string name="crossfade_disabled">Deaktiviert</string>
437+
<string name="crossfade_duration">Crossfade-Dauer</string>
438+
<string name="set_crossfade_duration">Überblendungsdauer in Sekunden festlegen (%1$ds)</string>
439+
<string name="youtube_subtitle_language">YouTube Untertitelübersetzungssprache</string>
440+
<string name="youtube_subtitle_language_message">Sprachcode eingeben (z.Bsp.: de) (2 Buchstaben). Dies ist die bevorzugte Sprache für YouTube Untertitel.</string>
441+
<string name="use_anonymous">Anonymen Namen verwenden, um beizutragen</string>
442+
<string name="contributor_name">Name des Mitwirkenden</string>
443+
<string name="contributor_email">E-Mail des Mitwirkenden</string>
444+
<string name="anonymous">Anonym</string>
445+
<string name="simpmusic_lyrics">SimpMusic Songtexte</string>
446+
<string name="lyrics_provider_simpmusic">Songtexte von SimpMusic Songtexten bereitgestellt</string>
402447
</resources>

0 commit comments

Comments
 (0)