Commit Graph

416 Commits

Author SHA1 Message Date
eddyizm
022e3bf61b Merge branch 'development' into refactor-navigation-and-bottom-sheet 2026-03-19 21:18:45 -07:00
MaFo-28
b6e75afe12 feat: tile size manager (#440)
* Add TileSizeManager and improve dynamic tile sizing

* Improve scale labels

* Add protection against invalid tile size preferences

* Fix DiscoverSongAdapter & move TileSizeManager
2026-03-14 08:04:47 -07:00
Tomás Villegas
fe324b6f9b feat: set app settings inside a frame layout
In order to add a toolbar with a back button in settings I needed to extend from a fragment
so I converted SettingsFragment into a fragment and created SettingsContainerFragment,
the latter is injected as a child of SettingsFragment inside a FrameLayout.

Since SettingsContainerFragment extends from PreferenceFragmentCompat, this allows
to swap it for other and, in the bigger picture, allow an arbitrary organization.
2026-03-07 18:56:15 -03:00
Tom
becfc1d589 fix: remove material you dynamic theming (#484)
PR #466 required a dynamic theming macro to set the color, however
if the device does not support that feature the app crashes after logging in

The dynamic theming macro has been replaced with a standard material component

Co-authored-by: eddyizm <eddyizm@gmail.com>
2026-03-06 07:43:13 -08:00
eddyizm
10c2172be0 fix: updated constraints causing fata lint build failures (#478) 2026-03-01 20:19:05 -08:00
Tom
c9cf86acb5 feat: toggle player bitrate visibility on touch (#466)
* feat: touch player chip to toggle bitrate visibility

* feat: player bitrate visibility is remembered

* fix: player landscape layout not grouping chip with textview

* feat: touch bitrate to toggle its visibility

This catches the edge case where the the chip is not reachable due to insuficient horizontal space

---------

Co-authored-by: eddyizm <eddyizm@gmail.com>
2026-03-01 19:48:15 -08:00
Tom
c7f2524085 feat: feat: advertise existing long press to refresh per section (#467)
* feat: advertise existing long press to refresh per section

---------

Co-authored-by: eddyizm <eddyizm@gmail.com>
2026-03-01 19:36:03 -08:00
Angelo Suzuki
aa5d0f92db Support specifying a client certificate for mTLS auth (#458)
* feat: collect and save client certificate

* feat: use client certificate for Retrofit, Glide and ExoPlayer

---------

Co-authored-by: eddyizm <eddyizm@gmail.com>
2026-02-26 21:20:01 -08:00
Tom
145bb82eb0 feat: enhance navigation (#450)
* feat: enhance navigation

* fix: leaving settings always unlocks drawer

* feat: set app settings inside a frame layout

In order to add a toolbar with a back button in settings I needed to extend from a fragment
so I converted SettingsFragment into a fragment and created SettingsContainerFragment,
the latter is injected as a child of SettingsFragment inside a FrameLayout.

Since SettingsContainerFragment extends from PreferenceFragmentCompat, this allows
to swap it for other and, in the bigger picture, allow an arbitrary organization.

* fix: onStop declaration on wrong class

* fix: equalizer not respecting navigation ui directives

* Revert "fix: equalizer not respecting navigation ui directives"

This reverts commit eeb125542d.

* fix: navbar + bottom sheet behavior on equalizer fragment

* Revert "fix: onStop declaration on wrong class"

This reverts commit 34d354d803.

* Revert "feat: set app settings inside a frame layout"

This reverts commit 52cfd36b09.

* chore: set experimental label to settings title

Hide bottom navigation bar on portrait and unlock drawer on portrait
2026-02-26 07:14:42 -08:00
Tom
4f8212d491 Port remove song of playlist from tempus ng (#457)
* feat: implement track removal from playlists with real-time UI updates

- Added 'Remove from playlist' option to song bottom sheet (appears only when inside a playlist)
- Implemented immediate UI refresh for track count and duration in playlist header
- Fixed a bug where shuffling for covers scrambled the actual playlist song order
- Improved PlaylistPageViewModel to clear stale data and handle isolated updates correctly
- Added dedicated success/failure messages for track removal in English and Italian
- Unified heart icon size to 14dp across all track list items

* fix: missing code from port process

The cherry-pick was missing the database getter
and the function to remove a song from a playlist

---------

Co-authored-by: beeetfarmer <176325048+beeetfarmer@users.noreply.github.com>
2026-02-25 11:37:43 -08:00
Tom
9adaf8c013 feat: improve playlist chooser dialog UI (#439)
* fix: lock buttons at dialog bottom

The previous implementation appended the buttons to the RecyclerView programmatically
this disabled the scroll and pushed the buttons outside the visible dialog area
if too there were too many playlists.

To fix this now the XML defines a fixed location for the buttons, enabling
the scroll of the RecyclerView and preventing the buttons to become unreachable

* feat: improve playlist chooser dialog UI

Implement it in the XML layout and not programmatically.

* fix: detached listeners from XML layout

* fix: missing dialog title
2026-02-15 09:42:07 -08:00
TrackArcher
661346ca3a feat: radio metadata (#352)
* feat: support dynamic metadata for internet radio stations

- Implemented `onMetadata` in `BaseMediaService` to extract "Artist - Title" info from ICY, ID3, and Vorbis streams.
- Added a fallback mechanism to periodically check HTTP headers (e.g., `icy-name`, `StreamTitle`) for radio metadata.
- Updated `PlayerControllerFragment` and `TrackInfoDialog` to display the station name alongside dynamic track information.
- Enhanced `TrackInfoDialog` layout to include a dedicated "Station" field for radio tracks.
- Modified `MappingUtil` to preserve station names in media metadata extras.

* fix crashing issue

* radio bob metadata works now. fix crashing issue

* Fixing unchecked operation warnings in SongHorizontalAdapter.java.

* optimizing a bit and better format for notification

* removed xml files affecting build and enviroment

* removed xml files affecting build and enviroment

* fix ui internet radio bottomview

* Revert "fix ui internet radio bottomview"

This reverts commit c237ed451f.

* rebased to upstream/development and fixed metadata to show up for radio after the rebase

* misc.xml restored

* Apply suggestion from @eddyizm

---------

Co-authored-by: eddyizm <wtfisup@hotmail.com>
Co-authored-by: eddyizm <eddyizm@gmail.com>
2026-02-15 08:03:00 -08:00
tiltshiftfocus
54612c6b74 patch: Addressing some UI/UX quirks (#413)
* beautify lyrics display

* use dialog to select playback speed

to prevent accidental clicks
2026-02-08 10:18:01 -08:00
Pascal Grittmann
d16a9c234f feat: Playback speed controls for music (#376)
Enable playback speed controls for music

Button is moved to the top left, next to bit rate, because it would
overlap with the "shuffle" button.
The speed rotation logic was cleaned up to 0.25x increments without all
the hard-coded constants and code duplication.

Co-authored-by: eddyizm <eddyizm@gmail.com>
2026-01-24 08:39:57 -08:00
kmarius
bae9221070 feat: Ability to toggle artist biography 2026-01-07 18:14:51 +01:00
eddyizm
bbd6d0864c chore: added airsonic to docs, comments in home tab xml 2025-12-24 07:16:16 -08:00
eddyizm
526253723b feat: added regular playlist to home view 2025-12-22 11:04:25 -08:00
eddyizm
fe60fea928 feat: add heart to artist/album pages, fixed artist cover art failing 2025-12-11 22:07:44 -08:00
eddyizm
3d70b51244 fix: updated order of buttons 2025-11-30 09:10:02 -08:00
eddyizm
540aa9ba73 feat: implemented download queue fab 2025-11-28 09:57:29 -08:00
eddyizm
1ff0b83a19 feat: implemented load queue, adding logging 2025-11-27 13:28:07 -08:00
eddyizm
27f5a47cc9 feat: save q to playlist, removed save queue button, added style to fab. 2025-11-27 08:04:40 -08:00
eddyizm
732b6ad09d fix: moved existing functionality to fab buttons, removed queue text/button from top 2025-11-25 15:48:48 -08:00
eddyizm
38fb2c69f1 wip: added fab, need to implement actions 2025-11-24 11:36:56 -08:00
Ante Budimir
be33401b6f feat: add play functionality to library folder/index items
- add play button to inner folders in library
- implement recursive song collection from folders and subfolders
- filter out video files, play only audio tracks
- add user feedback with toast notifications
2025-11-20 19:13:46 +02:00
eddyizm
63668f5a8c fix: made sure the empty graphic was there when list was empty 2025-11-13 21:37:48 -08:00
eddyizm
193b551773 fix: home radio add station missing from view 2025-11-13 19:07:45 -08:00
eddyizm
76a0e12222 fix: add podcast channel visible when empty podcasts 2025-11-13 16:07:10 -08:00
eddyizm
748a19ef44 fix: discovery image fills holder at start 2025-11-08 09:34:25 -08:00
eddyizm
287921de09 fix: playlist page should not snap (#218) 2025-11-02 07:59:51 -08:00
eddyizm
e5cb8793b0 fix: remove NestedScrollViews for fragment_album_page (#216) 2025-11-02 07:59:34 -08:00
pca006132
77c0b86dac fix: playlist page should not snap 2025-11-01 13:34:47 +08:00
pca006132
0abdfc6b19 fix: remove NestedScrollViews for fragment_album_page 2025-11-01 13:31:05 +08:00
pca006132
7f66124614 fix: download tab performance 2025-10-31 20:16:01 +08:00
eddyizm
2854ac6354 fix: persist album sort preference. 2025-10-12 22:12:53 -07:00
le-firehawk
6c637dcbcb feat: Make all objects in Tempo references for quick access 2025-10-09 23:03:57 +10:30
eddyizm
f1d19142fa feat: Add home screen music playback widget and some updates in Turkish localization (#98) 2025-10-07 21:28:10 -07:00
eddyizm
717f95a04a Merge branch 'development' into skip-duplicates 2025-10-06 22:22:52 -07:00
SinTan1729
1c2f1aa061 chg: Move the playlist duplicates option to preferences
As per the recommendation of @eddyizm
2025-10-06 21:47:57 -05:00
le-firehawk
1357c5c062 feat: Integrate external downloads into downloaded songs view 2025-10-04 23:33:48 +09:30
le-firehawk
c2b6d7eed5 feat: Enable downloading of song lyrics for offline viewing 2025-09-29 22:04:38 +09:30
eddyizm
47380a79a5 fix: added init on home tab and dialog, refactor and check for songs for albums/artists before displaying dialog 2025-09-28 16:14:42 -07:00
eddyizm
ee738bc4c7 feat: download starred artists. 2025-09-27 15:37:59 -07:00
SinTan1729
a22883fdde fix: The layout should be more in line with the playlist entries 2025-09-26 22:51:52 -05:00
SinTan1729
e1d63a9eef feat: Support skipping duplicates 2025-09-26 16:24:21 -05:00
Jaime García
969f0b5b21 feat: Replace play/pause button with an icon, allow tapping on full item to play/pause song in song lists 2025-09-23 17:55:18 +02:00
Jaime García
14939d20fd feat: Replace play/pause button with an icon, allow tapping on full item to play/pause song in Queue 2025-09-23 17:55:17 +02:00
mucahit-kaya
35af1f9038 fix(widget): refine layouts and progress UX across sizes
Compact (4×1)
- Reduce root vertical padding so the 4×1 cell yields ~56dp of content height.
- Make album art a true square (50×50dp) and center vertically; keeps edges
  clear of rounded corners.
- Tighten timing block: 2dp progress bar; 10sp labels with no extra font
  padding; prevents elapsed/total text from slipping below the background.
- Wrap album art in a 50×50dp FrameLayout with a new 6dp-radius background
  drawable; soft corners while remaining visually smaller than the widget body.
- Mirror the same structure in the preview layout so Studio preview matches
  on-device rendering.
  (app/src/main/res/layout/widget_layout_compact.xml,
   app/src/main/res/drawable/widget_album_art_bg.xml)

Large Short (4×2)
- Wrap album art in a fixed 90dp square container and enforce a true square
  crop via centerCrop.
- Tighten vertical spacing: thinner progress bar, closer timing row, controls
  shifted down for better balance.
- Keep album/timing text to the left of the controls but retune spacing so the
  stack stays fully inside the widget bounds.

Large (4×3 and up)
- Restructure to a vertical stack: header row (album art + text), full-width
  progress bar, timing row, primary controls, then secondary controls.
- Lock album art to a 150dp square; progress bar spans the widget beneath the
  header to match the new visual hierarchy.

Based-on: cd28ee0764
Co-authored-by: The Firehawk <firehawk@opayq.net>
Co-Authored-By: Mücahit Kaya <kaya-mucahit@outlook.com>
Co-Authored-By: Firehawk <firehawk@opayq.net>
2025-09-23 14:32:01 +02:00
le-firehawk
e81e1a5356 fix: Include song position and duration in widget
Co-authored-by: Mücahit Kaya <kaya-mucahit@outlook.com>
Co-authored-by: The Firehawk <firehawk@opayq.net>
2025-09-23 14:29:21 +02:00
mucahit-kaya
cc0e264a17 feat: Add home screen music playback widget
Introduces a new app widget for music playback control and display. Adds widget provider classes, update manager, view factory, and related resources (layouts, colors, strings, XML). Integrates widget updates with MediaService to reflect current playback state. Updates AndroidManifest to register the widget.
2025-09-23 14:29:21 +02:00