Merge branch 'development' into main

This commit is contained in:
sebaFlame 2025-10-18 01:48:47 +02:00 committed by GitHub
commit 442fe1ea01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
66 changed files with 1856 additions and 327 deletions

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?attr/colorOnSurfaceVariant"
android:pathData="M3.9,12c0,1.71 1.39,3.1 3.1,3.1h3v1.8h-3c-2.7,0 -4.9,-2.2 -4.9,-4.9s2.2,-4.9 4.9,-4.9h3v1.8h-3c-1.71,0 -3.1,1.39 -3.1,3.1zM7,13h10v-2H7v2zM17,6.9h-3v-1.8h3c2.7,0 4.9,2.2 4.9,4.9s-2.2,4.9 -4.9,4.9h-3v-1.8h3c1.71,0 3.1,-1.39 3.1,-3.1s-1.39,-3.1 -3.1,-3.1z" />
</vector>

View file

@ -68,6 +68,14 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<include
android:id="@+id/song_asset_link_row"
layout="@layout/view_asset_link_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="20dp"
android:paddingEnd="12dp" />
<LinearLayout
android:id="@+id/option_linear_layout"
android:layout_width="match_parent"
@ -209,4 +217,4 @@
android:text="@string/song_bottom_sheet_share"
android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View file

@ -41,23 +41,40 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<Button
android:id="@+id/album_list_sort_image_view"
style="@style/Widget.Material3.Button.TonalButton.Icon"
android:layout_width="52dp"
android:layout_height="52dp"
<LinearLayout
android:id="@+id/sort_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="12dp"
android:insetLeft="0dp"
android:insetTop="0dp"
android:insetRight="0dp"
android:insetBottom="0dp"
app:cornerRadius="30dp"
app:icon="@drawable/ic_sort_list"
android:orientation="horizontal"
android:gravity="center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
app:layout_constraintEnd_toEndOf="parent">
<TextView
android:id="@+id/albumListSortTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
android:paddingEnd="8dp"
android:visibility="gone" />
<Button
android:id="@+id/album_list_sort_image_view"
style="@style/Widget.Material3.Button.TonalButton.Icon"
android:layout_width="52dp"
android:layout_height="52dp"
android:insetLeft="0dp"
android:insetTop="0dp"
android:insetRight="0dp"
android:insetBottom="0dp"
app:cornerRadius="30dp"
app:icon="@drawable/ic_sort_list" />
</LinearLayout>
<ProgressBar
android:id="@+id/album_list_progress_loader"
@ -71,7 +88,6 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.appbar.AppBarLayout>
@ -87,4 +103,3 @@
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>

View file

@ -57,6 +57,17 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<include
android:id="@+id/player_asset_link_row"
layout="@layout/view_asset_link_row"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/player_media_quality_sector" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/player_media_cover_view_pager"
android:layout_width="0dp"
@ -66,7 +77,7 @@
app:layout_constraintBottom_toTopOf="@id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/player_media_quality_sector" />
app:layout_constraintTop_toBottomOf="@+id/player_asset_link_row" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
@ -400,4 +411,4 @@
app:srcCompat="@drawable/ic_eq" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.chip.ChipGroup xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/asset_link_chip_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:paddingTop="4dp"
android:paddingBottom="4dp"
app:singleLine="true"
app:selectionRequired="false"
app:singleSelection="false">
<com.google.android.material.chip.Chip
android:id="@+id/asset_link_song_chip"
style="@style/Widget.Material3.Chip.Assist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="false"
android:clickable="true"
android:ellipsize="end"
android:maxLines="1"
android:text=""
app:chipIcon="@drawable/ic_link"
app:chipIconTint="?attr/colorOnSurfaceVariant"
app:rippleColor="@color/ripple_material_light" />
<com.google.android.material.chip.Chip
android:id="@+id/asset_link_album_chip"
style="@style/Widget.Material3.Chip.Assist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="false"
android:clickable="true"
android:ellipsize="end"
android:maxLines="1"
android:text=""
app:chipIcon="@drawable/ic_link"
app:chipIconTint="?attr/colorOnSurfaceVariant"
app:rippleColor="@color/ripple_material_light" />
<com.google.android.material.chip.Chip
android:id="@+id/asset_link_artist_chip"
style="@style/Widget.Material3.Chip.Assist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="false"
android:clickable="true"
android:ellipsize="end"
android:maxLines="1"
android:text=""
app:chipIcon="@drawable/ic_link"
app:chipIconTint="?attr/colorOnSurfaceVariant"
app:rippleColor="@color/ripple_material_light" />
</com.google.android.material.chip.ChipGroup>

View file

@ -88,6 +88,9 @@
<string name="error_required">Wymagane</string>
<string name="error_server_prefix">wymagany jest prefiks http lub https</string>
<string name="exo_download_notification_channel_name">Pobieranie</string>
<string name="exo_controls_heart_off_description">Wyłącz serce</string>
<string name="exo_controls_heart_on_description">Włącz serce</string>
<string name="cast_expanded_controller_loading">Ładowanie…</string>
<string name="filter_info_selection">Wybierz dwa lub więcej filtrów</string>
<string name="filter_title">Filtry</string>
<string name="filter_artist">Filtruj wykonawców</string>
@ -213,8 +216,9 @@
<string name="playlist_chooser_dialog_negative_button">Anuluj</string>
<string name="playlist_chooser_dialog_neutral_button">Utwórz</string>
<string name="playlist_chooser_dialog_title">Dodaj do playlisty</string>
<string name="playlist_chooser_dialog_toast_add_success">Dodano piosenkę do playlisty</string>
<string name="playlist_chooser_dialog_toast_add_failure">Nie udało się dodać piosenki do playlisty</string>
<string name="playlist_chooser_dialog_toast_add_success">Dodano piosenki do playlisty</string>
<string name="playlist_chooser_dialog_toast_add_failure">Nie udało się dodać piosenek do playlisty</string>
<string name="playlist_chooser_dialog_toast_all_skipped">Pominięto wszystkie piosenki jako duplikaty</string>
<string name="playlist_counted_tracks">%1$d utworów • %2$s</string>
<string name="playlist_duration">Długość • %1$s</string>
<string name="playlist_editor_dialog_action_delete_toast">Przytrzymaj aby usunąć</string>
@ -281,6 +285,8 @@
<string name="settings_about_summary">Tempo jest otwarto-źródłowym i lekkim klientem muzycznym dla Subsonic, stworzonym i zbudowanym natywnie dla Androida.</string>
<string name="settings_about_title">O aplikacji</string>
<string name="settings_always_on_display">Always on display</string>
<string name="settings_allow_playlist_duplicates">Zezwalaj na dodawania duplikatów do playlist</string>
<string name="settings_allow_playlist_duplicates_summary">Jeżeli włączone, duplikaty nie będą sprawdzane podczas dodawania do playlisty.</string>
<string name="settings_audio_transcode_download_format">Format transkodowania</string>
<string name="settings_audio_transcode_download_priority_summary">Jeżeli włączone, Tempo nie będzię wymuszał pobierania utworu z ustawieniami transkodowania wybranymi poniżej.</string>
<string name="settings_audio_transcode_download_priority_title">Priorytetyzuj ustawienia serwera używanego do strumieniowania w pobieraniach</string>
@ -296,6 +302,8 @@
<string name="settings_audio_transcode_priority_toast">Priorytet przy transkodowaniu utworu danego serwerowi</string>
<string name="settings_buffering_strategy">Strategia buforowania</string>
<string name="settings_buffering_strategy_summary">Aby zmiany przyniosły efekt, musisz ręcznie zrestartować aplikację.</string>
<string name="settings_choose_download_folder">Wybierz folder dla pobranych plików muzycznych</string>
<string name="settings_clear_download_folder">Wyczyść folder pobierania</string>
<string name="settings_continuous_play_summary">Pozwala muzyce odtwarzać się dalej po końcu playlisty, odtwarza podobne piosenki</string>
<string name="settings_continuous_play_title">Odtwarzanie bez przerwy</string>
<string name="settings_covers_cache">Rozmiar cache dla okładek</string>
@ -304,6 +312,9 @@
<string name="settings_delete_download_storage_summary">Zatwierdzenie nieodwracalnie usunie wszystkie zapisane elementy</string>
<string name="settings_delete_download_storage_title">Usuń zapisane elementy</string>
<string name="settings_download_storage_title">Pamięć do pobierania</string>
<string name="settings_download_folder_cleared">Utworzono folder pobierania.</string>
<string name="settings_download_folder_set">Wybrano folder pobierania</string>
<string name="settings_set_download_folder">Ustaw folder pobierania</string>
<string name="settings_system_equalizer_summary">Zmień ustawienia audio</string>
<string name="settings_system_equalizer_title">Korektor systemowy</string>
<string name="settings_github_link">https://github.com/eddyizm/tempo</string>
@ -312,6 +323,7 @@
<string name="settings_support_discussion_link">https://github.com/eddyizm/tempo/discussions</string>
<string name="settings_support_summary">Dołącz do dyskusji i wsparcia społeczności</string>
<string name="settings_support_title">Wsparcie użytkowników</string>
<string name="settings_scan_result">Skanowanie: naliczono %1$d utworów</string>
<string name="settings_image_size">Rozdzielczość obrazów</string>
<string name="settings_language">Język</string>
<string name="settings_logout_title">Wyloguj</string>
@ -332,6 +344,8 @@
<string name="settings_queue_syncing_countdown">Timer synchronizacji</string>
<string name="settings_queue_syncing_summary">Jeżeli włączone, użytkownik będzie miał możliwość zapisania kolejki i będzie miał możliwość załadowania jej stanu przy otwarciu aplikacji.</string>
<string name="settings_queue_syncing_title">Synchronizuj kolejkę odtwarzania dla tego użytkownika [Niedokończone]</string>
<string name="settings_show_mini_shuffle_button">Pokaż przycisk odtwarzania losowego</string>
<string name="settings_show_mini_shuffle_button_summary">Jeżeli włączone, pokazuje przycisk losowego odtwarzania, i usuwa przycisk serca w mini odtwarzaczu</string>
<string name="settings_radio">Pokaż radio</string>
<string name="settings_radio_summary">Jeżeli włączone, widoczna będzie sekcja radia. Zrestartuj aplikację aby, zmiany przyniosły pełny efekt.</string>
<string name="settings_auto_download_lyrics">Automatyczne pobieranie tesktów</string>
@ -366,6 +380,7 @@
<string name="settings_theme">Motyw</string>
<string name="settings_title_data">Dane</string>
<string name="settings_title_general">Ogólne</string>
<string name="settings_title_playlist">Playlisty</string>
<string name="settings_title_rating">Oceny</string>
<string name="settings_title_replay_gain">Wzmocnienie głośności przy ponownym odtwarzaniu</string>
<string name="settings_title_scrobble">Scrobble</string>
@ -454,6 +469,17 @@
<string name="undraw_page">unDraw</string>
<string name="undraw_thanks">Specjalne podziękowania dla unDraw bez którego ilustracji nie mogliśmy uczynić tej aplikacji jeszcze piękniejszą.</string>
<string name="undraw_url">https://undraw.co/</string>
<string name="widget_label">Widget Tempo</string>
<string name="widget_not_playing">Nie odtwarza</string>
<string name="widget_placeholder_subtitle">Otwórz Tempo</string>
<string name="widget_time_elapsed_placeholder">0:00</string>
<string name="widget_time_duration_placeholder">0:00</string>
<string name="widget_content_desc_album_art">Okładka albumu</string>
<string name="widget_content_desc_play_pause">Play lub pauza</string>
<string name="widget_content_desc_next">Następny utwór</string>
<string name="widget_content_desc_prev">Poprzedni utwór</string>
<string name="widget_content_desc_shuffle">Przełącznik odtwarzania losowego</string>
<string name="widget_content_desc_repeat">Zmień tryb powtarzania</string>
<plurals name="home_sync_starred_albums_count">
<item quantity="one">%d album do zsynchronizowania </item>
<item quantity="other">%d albumów do zsynchrpnizowania</item>

View file

@ -0,0 +1,3 @@
<resources>
<item name="tag_link_original_color" type="id" />
</resources>

View file

@ -410,6 +410,22 @@
<string name="share_bottom_sheet_update">Update share</string>
<string name="share_subtitle_item">Expiration date: %1$s</string>
<string name="share_unsupported_error">Sharing is not supported or not enabled</string>
<string name="asset_link_clipboard_label">Tempo asset link</string>
<string name="asset_link_label_song">Song UID</string>
<string name="asset_link_label_album">Album UID</string>
<string name="asset_link_label_artist">Artist UID</string>
<string name="asset_link_label_playlist">Playlist UID</string>
<string name="asset_link_label_genre">Genre UID</string>
<string name="asset_link_label_year">Year UID</string>
<string name="asset_link_label_unknown">Asset UID</string>
<string name="asset_link_error_unsupported">Unsupported asset link</string>
<string name="asset_link_error_song">Song could not be opened</string>
<string name="asset_link_error_album">Album could not be opened</string>
<string name="asset_link_error_artist">Artist could not be opened</string>
<string name="asset_link_error_playlist">Playlist could not be opened</string>
<string name="asset_link_chip_text">%1$s • %2$s</string>
<string name="asset_link_copied_toast">Copied %1$s to clipboard</string>
<string name="asset_link_debug_toast">Asset link: %1$s</string>
<string name="share_update_dialog_hint_description">Description</string>
<string name="share_update_dialog_hint_expiration_date">Expiration date</string>
<string name="share_update_dialog_negative_button">Cancel</string>