diff --git a/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt index 42d6bb341..6e457c43c 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt @@ -142,6 +142,10 @@ class AlbumDetailFragment : musicModel.addToPlaylist(currentAlbum) true } + R.id.action_share -> { + requireContext().shareSongs(currentAlbum.songs) + true + } else -> false } } diff --git a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt index 4578f664d..0ea42c903 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt @@ -137,6 +137,10 @@ class ArtistDetailFragment : musicModel.addToPlaylist(currentArtist) true } + R.id.action_share -> { + requireContext().shareSongs(currentArtist.songs) + true + } else -> false } } diff --git a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt index 2028c3610..403e4109f 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt @@ -130,6 +130,10 @@ class GenreDetailFragment : musicModel.addToPlaylist(currentGenre) true } + R.id.action_share -> { + requireContext().shareSongs(currentGenre.songs) + true + } else -> false } } diff --git a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt index d1214f6b2..d42bd5823 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt @@ -130,6 +130,10 @@ class PlaylistDetailFragment : musicModel.deletePlaylist(currentPlaylist) true } + R.id.action_share -> { + requireContext().shareSongs(currentPlaylist.songs) + true + } else -> false } } diff --git a/app/src/main/java/org/oxycblt/auxio/list/ListFragment.kt b/app/src/main/java/org/oxycblt/auxio/list/ListFragment.kt index a17a666b9..c4763d302 100644 --- a/app/src/main/java/org/oxycblt/auxio/list/ListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/list/ListFragment.kt @@ -33,6 +33,7 @@ import org.oxycblt.auxio.navigation.MainNavigationAction import org.oxycblt.auxio.navigation.NavigationViewModel import org.oxycblt.auxio.util.logD import org.oxycblt.auxio.util.shareSong +import org.oxycblt.auxio.util.shareSongs import org.oxycblt.auxio.util.showToast /** @@ -100,7 +101,7 @@ abstract class ListFragment : R.id.action_go_album -> { navModel.exploreNavigateTo(song.album) } - R.id.action_song_share -> { + R.id.action_share -> { requireContext().shareSong(song) } R.id.action_playlist_add -> { @@ -151,6 +152,9 @@ abstract class ListFragment : R.id.action_playlist_add -> { musicModel.addToPlaylist(album) } + R.id.action_share -> { + requireContext().shareSongs(album.songs) + } else -> { error("Unexpected menu item selected") } @@ -188,6 +192,9 @@ abstract class ListFragment : R.id.action_playlist_add -> { musicModel.addToPlaylist(artist) } + R.id.action_share -> { + requireContext().shareSongs(artist.songs) + } else -> { error("Unexpected menu item selected") } @@ -225,6 +232,9 @@ abstract class ListFragment : R.id.action_playlist_add -> { musicModel.addToPlaylist(genre) } + R.id.action_share -> { + requireContext().shareSongs(genre.songs) + } else -> { error("Unexpected menu item selected") } @@ -262,6 +272,9 @@ abstract class ListFragment : R.id.action_delete -> { musicModel.deletePlaylist(playlist) } + R.id.action_share -> { + requireContext().shareSongs(playlist.songs) + } else -> { error("Unexpected menu item selected") } diff --git a/app/src/main/java/org/oxycblt/auxio/music/fs/Fs.kt b/app/src/main/java/org/oxycblt/auxio/music/fs/Fs.kt index f169f8bde..cc5334945 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/fs/Fs.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/fs/Fs.kt @@ -216,8 +216,8 @@ data class MimeType(val fromExtension: String, val fromFormat: String?) { /** * Return a mime-type such as "audio/ogg" * - * @return A raw mime-type string. Will first try [fromFormat], then falling - * back to [fromExtension], and then null if that fails. + * @return A raw mime-type string. Will first try [fromFormat], then falling back to + * [fromExtension], and then null if that fails. */ fun getRawType(): String { return fromFormat ?: fromExtension diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt index 636e2e2ca..64e3f9c1d 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt @@ -42,6 +42,7 @@ import org.oxycblt.auxio.playback.state.RepeatMode import org.oxycblt.auxio.playback.ui.StyledSeekBar import org.oxycblt.auxio.ui.ViewBindingFragment import org.oxycblt.auxio.util.collectImmediately +import org.oxycblt.auxio.util.shareSong import org.oxycblt.auxio.util.showToast import org.oxycblt.auxio.util.systemBarInsetsCompat @@ -172,6 +173,10 @@ class PlaybackPanelFragment : } true } + R.id.action_share -> { + playbackModel.song.value?.let { requireContext().shareSong(it) } + true + } else -> false } diff --git a/app/src/main/java/org/oxycblt/auxio/util/ShareUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/ShareUtil.kt index 05a71ef94..877795afc 100644 --- a/app/src/main/java/org/oxycblt/auxio/util/ShareUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/util/ShareUtil.kt @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - + package org.oxycblt.auxio.util import android.content.Context diff --git a/app/src/main/res/menu/menu_album_actions.xml b/app/src/main/res/menu/menu_album_actions.xml index 7292d9016..6f9f28aff 100644 --- a/app/src/main/res/menu/menu_album_actions.xml +++ b/app/src/main/res/menu/menu_album_actions.xml @@ -18,4 +18,7 @@ + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_album_detail.xml b/app/src/main/res/menu/menu_album_detail.xml index 4c5d8d7d5..2da5cee9b 100644 --- a/app/src/main/res/menu/menu_album_detail.xml +++ b/app/src/main/res/menu/menu_album_detail.xml @@ -9,4 +9,7 @@ + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_album_song_actions.xml b/app/src/main/res/menu/menu_album_song_actions.xml index 256322f3e..d356eeedb 100644 --- a/app/src/main/res/menu/menu_album_song_actions.xml +++ b/app/src/main/res/menu/menu_album_song_actions.xml @@ -12,6 +12,9 @@ + diff --git a/app/src/main/res/menu/menu_artist_album_actions.xml b/app/src/main/res/menu/menu_artist_album_actions.xml index c94d6886f..a39b0127e 100644 --- a/app/src/main/res/menu/menu_artist_album_actions.xml +++ b/app/src/main/res/menu/menu_artist_album_actions.xml @@ -18,4 +18,7 @@ + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_artist_song_actions.xml b/app/src/main/res/menu/menu_artist_song_actions.xml index 4b20abd21..aaad4040a 100644 --- a/app/src/main/res/menu/menu_artist_song_actions.xml +++ b/app/src/main/res/menu/menu_artist_song_actions.xml @@ -12,6 +12,9 @@ + diff --git a/app/src/main/res/menu/menu_parent_actions.xml b/app/src/main/res/menu/menu_parent_actions.xml index 4e6112035..b741fd51b 100644 --- a/app/src/main/res/menu/menu_parent_actions.xml +++ b/app/src/main/res/menu/menu_parent_actions.xml @@ -12,6 +12,9 @@ + diff --git a/app/src/main/res/menu/menu_parent_detail.xml b/app/src/main/res/menu/menu_parent_detail.xml index 3a2225ea3..e73829b41 100644 --- a/app/src/main/res/menu/menu_parent_detail.xml +++ b/app/src/main/res/menu/menu_parent_detail.xml @@ -9,4 +9,7 @@ + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_playback.xml b/app/src/main/res/menu/menu_playback.xml index fd9e761a0..601b54b68 100644 --- a/app/src/main/res/menu/menu_playback.xml +++ b/app/src/main/res/menu/menu_playback.xml @@ -14,6 +14,9 @@ android:id="@+id/action_go_album" android:title="@string/lbl_go_album" app:showAsAction="never" /> + + diff --git a/app/src/main/res/menu/menu_playlist_detail.xml b/app/src/main/res/menu/menu_playlist_detail.xml index c3e30e8b9..761c42dd5 100644 --- a/app/src/main/res/menu/menu_playlist_detail.xml +++ b/app/src/main/res/menu/menu_playlist_detail.xml @@ -6,6 +6,9 @@ + diff --git a/app/src/main/res/menu/menu_song_actions.xml b/app/src/main/res/menu/menu_song_actions.xml index dbb15382e..cba78013b 100644 --- a/app/src/main/res/menu/menu_song_actions.xml +++ b/app/src/main/res/menu/menu_song_actions.xml @@ -16,7 +16,7 @@ android:id="@+id/action_playlist_add" android:title="@string/lbl_playlist_add" />