diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 38bbd8b..c3c3ae2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -59,7 +59,7 @@ body: If your bug includes a crash, please use `adb logcat` or other ways to provide logs. - type: input - id: vimusic-version + id: muza-version attributes: label: ViMusic version placeholder: | diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 9b0628b..23cc403 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -8,7 +8,7 @@ android { compileSdk = 33 defaultConfig { - applicationId = "it.vfsfitvnm.vimusic" + applicationId = "it.hamy.muza" minSdk = 21 targetSdk = 33 versionCode = 20 @@ -22,7 +22,7 @@ android { } } - namespace = "it.vfsfitvnm.vimusic" + namespace = "it.hamy.muza" buildTypes { debug { diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/1.json b/app/schemas/it.hamy.muza.DatabaseInitializer/1.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/1.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/1.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/10.json b/app/schemas/it.hamy.muza.DatabaseInitializer/10.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/10.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/10.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/11.json b/app/schemas/it.hamy.muza.DatabaseInitializer/11.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/11.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/11.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/12.json b/app/schemas/it.hamy.muza.DatabaseInitializer/12.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/12.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/12.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/13.json b/app/schemas/it.hamy.muza.DatabaseInitializer/13.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/13.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/13.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/14.json b/app/schemas/it.hamy.muza.DatabaseInitializer/14.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/14.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/14.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/15.json b/app/schemas/it.hamy.muza.DatabaseInitializer/15.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/15.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/15.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/16.json b/app/schemas/it.hamy.muza.DatabaseInitializer/16.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/16.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/16.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/17.json b/app/schemas/it.hamy.muza.DatabaseInitializer/17.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/17.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/17.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/18.json b/app/schemas/it.hamy.muza.DatabaseInitializer/18.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/18.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/18.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/19.json b/app/schemas/it.hamy.muza.DatabaseInitializer/19.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/19.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/19.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/2.json b/app/schemas/it.hamy.muza.DatabaseInitializer/2.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/2.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/2.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/20.json b/app/schemas/it.hamy.muza.DatabaseInitializer/20.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/20.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/20.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/21.json b/app/schemas/it.hamy.muza.DatabaseInitializer/21.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/21.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/21.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/22.json b/app/schemas/it.hamy.muza.DatabaseInitializer/22.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/22.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/22.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/23.json b/app/schemas/it.hamy.muza.DatabaseInitializer/23.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/23.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/23.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/3.json b/app/schemas/it.hamy.muza.DatabaseInitializer/3.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/3.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/3.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/4.json b/app/schemas/it.hamy.muza.DatabaseInitializer/4.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/4.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/4.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/5.json b/app/schemas/it.hamy.muza.DatabaseInitializer/5.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/5.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/5.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/6.json b/app/schemas/it.hamy.muza.DatabaseInitializer/6.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/6.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/6.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/7.json b/app/schemas/it.hamy.muza.DatabaseInitializer/7.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/7.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/7.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/8.json b/app/schemas/it.hamy.muza.DatabaseInitializer/8.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/8.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/8.json diff --git a/app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/9.json b/app/schemas/it.hamy.muza.DatabaseInitializer/9.json similarity index 100% rename from app/schemas/it.vfsfitvnm.vimusic.DatabaseInitializer/9.json rename to app/schemas/it.hamy.muza.DatabaseInitializer/9.json diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png index bfe923e..6e73617 100644 Binary files a/app/src/main/ic_launcher-playstore.png and b/app/src/main/ic_launcher-playstore.png differ diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/Database.kt b/app/src/main/kotlin/it/hamy/muza/Database.kt similarity index 96% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/Database.kt rename to app/src/main/kotlin/it/hamy/muza/Database.kt index 2e00f3f..fa0b755 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/Database.kt +++ b/app/src/main/kotlin/it/hamy/muza/Database.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic +package it.hamy.muza import android.content.ContentValues import android.content.Context @@ -31,28 +31,28 @@ import androidx.room.migration.Migration import androidx.sqlite.db.SimpleSQLiteQuery import androidx.sqlite.db.SupportSQLiteDatabase import androidx.sqlite.db.SupportSQLiteQuery -import it.vfsfitvnm.vimusic.enums.AlbumSortBy -import it.vfsfitvnm.vimusic.enums.ArtistSortBy -import it.vfsfitvnm.vimusic.enums.PlaylistSortBy -import it.vfsfitvnm.vimusic.enums.SongSortBy -import it.vfsfitvnm.vimusic.enums.SortOrder -import it.vfsfitvnm.vimusic.models.Album -import it.vfsfitvnm.vimusic.models.Artist -import it.vfsfitvnm.vimusic.models.SongWithContentLength -import it.vfsfitvnm.vimusic.models.Event -import it.vfsfitvnm.vimusic.models.Format -import it.vfsfitvnm.vimusic.models.Info -import it.vfsfitvnm.vimusic.models.Lyrics -import it.vfsfitvnm.vimusic.models.Playlist -import it.vfsfitvnm.vimusic.models.PlaylistPreview -import it.vfsfitvnm.vimusic.models.PlaylistWithSongs -import it.vfsfitvnm.vimusic.models.QueuedMediaItem -import it.vfsfitvnm.vimusic.models.SearchQuery -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.models.SongAlbumMap -import it.vfsfitvnm.vimusic.models.SongArtistMap -import it.vfsfitvnm.vimusic.models.SongPlaylistMap -import it.vfsfitvnm.vimusic.models.SortedSongPlaylistMap +import it.hamy.muza.enums.AlbumSortBy +import it.hamy.muza.enums.ArtistSortBy +import it.hamy.muza.enums.PlaylistSortBy +import it.hamy.muza.enums.SongSortBy +import it.hamy.muza.enums.SortOrder +import it.hamy.muza.models.Album +import it.hamy.muza.models.Artist +import it.hamy.muza.models.SongWithContentLength +import it.hamy.muza.models.Event +import it.hamy.muza.models.Format +import it.hamy.muza.models.Info +import it.hamy.muza.models.Lyrics +import it.hamy.muza.models.Playlist +import it.hamy.muza.models.PlaylistPreview +import it.hamy.muza.models.PlaylistWithSongs +import it.hamy.muza.models.QueuedMediaItem +import it.hamy.muza.models.SearchQuery +import it.hamy.muza.models.Song +import it.hamy.muza.models.SongAlbumMap +import it.hamy.muza.models.SongArtistMap +import it.hamy.muza.models.SongPlaylistMap +import it.hamy.muza.models.SortedSongPlaylistMap import kotlin.jvm.Throws import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/MainActivity.kt b/app/src/main/kotlin/it/hamy/muza/MainActivity.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/MainActivity.kt rename to app/src/main/kotlin/it/hamy/muza/MainActivity.kt index f663119..9649b02 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/MainActivity.kt +++ b/app/src/main/kotlin/it/hamy/muza/MainActivity.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic +package it.hamy.muza import android.content.ComponentName import android.content.Context @@ -58,42 +58,42 @@ import androidx.media3.common.MediaItem import androidx.media3.common.Player import com.valentinilk.shimmer.LocalShimmerTheme import com.valentinilk.shimmer.defaultShimmerTheme -import it.vfsfitvnm.compose.persist.PersistMap -import it.vfsfitvnm.compose.persist.PersistMapOwner -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.requests.playlistPage -import it.vfsfitvnm.innertube.requests.song -import it.vfsfitvnm.vimusic.enums.ColorPaletteMode -import it.vfsfitvnm.vimusic.enums.ColorPaletteName -import it.vfsfitvnm.vimusic.enums.ThumbnailRoundness -import it.vfsfitvnm.vimusic.service.PlayerService -import it.vfsfitvnm.vimusic.ui.components.BottomSheetMenu -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.rememberBottomSheetState -import it.vfsfitvnm.vimusic.ui.screens.albumRoute -import it.vfsfitvnm.vimusic.ui.screens.artistRoute -import it.vfsfitvnm.vimusic.ui.screens.home.HomeScreen -import it.vfsfitvnm.vimusic.ui.screens.player.Player -import it.vfsfitvnm.vimusic.ui.screens.playlistRoute -import it.vfsfitvnm.vimusic.ui.styling.Appearance -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.colorPaletteOf -import it.vfsfitvnm.vimusic.ui.styling.dynamicColorPaletteOf -import it.vfsfitvnm.vimusic.ui.styling.typographyOf -import it.vfsfitvnm.vimusic.utils.applyFontPaddingKey -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.colorPaletteModeKey -import it.vfsfitvnm.vimusic.utils.colorPaletteNameKey -import it.vfsfitvnm.vimusic.utils.forcePlay -import it.vfsfitvnm.vimusic.utils.getEnum -import it.vfsfitvnm.vimusic.utils.intent -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid6 -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid8 -import it.vfsfitvnm.vimusic.utils.preferences -import it.vfsfitvnm.vimusic.utils.thumbnailRoundnessKey -import it.vfsfitvnm.vimusic.utils.useSystemFontKey +import it.hamy.compose.persist.PersistMap +import it.hamy.compose.persist.PersistMapOwner +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.requests.playlistPage +import it.hamy.innertube.requests.song +import it.hamy.muza.enums.ColorPaletteMode +import it.hamy.muza.enums.ColorPaletteName +import it.hamy.muza.enums.ThumbnailRoundness +import it.hamy.muza.service.PlayerService +import it.hamy.muza.ui.components.BottomSheetMenu +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.rememberBottomSheetState +import it.hamy.muza.ui.screens.albumRoute +import it.hamy.muza.ui.screens.artistRoute +import it.hamy.muza.ui.screens.home.HomeScreen +import it.hamy.muza.ui.screens.player.Player +import it.hamy.muza.ui.screens.playlistRoute +import it.hamy.muza.ui.styling.Appearance +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.colorPaletteOf +import it.hamy.muza.ui.styling.dynamicColorPaletteOf +import it.hamy.muza.ui.styling.typographyOf +import it.hamy.muza.utils.applyFontPaddingKey +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.colorPaletteModeKey +import it.hamy.muza.utils.colorPaletteNameKey +import it.hamy.muza.utils.forcePlay +import it.hamy.muza.utils.getEnum +import it.hamy.muza.utils.intent +import it.hamy.muza.utils.isAtLeastAndroid6 +import it.hamy.muza.utils.isAtLeastAndroid8 +import it.hamy.muza.utils.preferences +import it.hamy.muza.utils.thumbnailRoundnessKey +import it.hamy.muza.utils.useSystemFontKey import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.flow.filterNotNull diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/MainApplication.kt b/app/src/main/kotlin/it/hamy/muza/MainApplication.kt similarity index 78% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/MainApplication.kt rename to app/src/main/kotlin/it/hamy/muza/MainApplication.kt index d0d458f..c96e0be 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/MainApplication.kt +++ b/app/src/main/kotlin/it/hamy/muza/MainApplication.kt @@ -1,13 +1,13 @@ -package it.vfsfitvnm.vimusic +package it.hamy.muza import android.app.Application import coil.ImageLoader import coil.ImageLoaderFactory import coil.disk.DiskCache -import it.vfsfitvnm.vimusic.enums.CoilDiskCacheMaxSize -import it.vfsfitvnm.vimusic.utils.coilDiskCacheMaxSizeKey -import it.vfsfitvnm.vimusic.utils.getEnum -import it.vfsfitvnm.vimusic.utils.preferences +import it.hamy.muza.enums.CoilDiskCacheMaxSize +import it.hamy.muza.utils.coilDiskCacheMaxSizeKey +import it.hamy.muza.utils.getEnum +import it.hamy.muza.utils.preferences class MainApplication : Application(), ImageLoaderFactory { override fun onCreate() { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/AlbumSortBy.kt b/app/src/main/kotlin/it/hamy/muza/enums/AlbumSortBy.kt similarity index 64% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/AlbumSortBy.kt rename to app/src/main/kotlin/it/hamy/muza/enums/AlbumSortBy.kt index 4d99975..d555e44 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/AlbumSortBy.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/AlbumSortBy.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class AlbumSortBy { Title, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ArtistSortBy.kt b/app/src/main/kotlin/it/hamy/muza/enums/ArtistSortBy.kt similarity index 60% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ArtistSortBy.kt rename to app/src/main/kotlin/it/hamy/muza/enums/ArtistSortBy.kt index 2df4053..1d13e5d 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ArtistSortBy.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/ArtistSortBy.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class ArtistSortBy { Name, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/BuiltInPlaylist.kt b/app/src/main/kotlin/it/hamy/muza/enums/BuiltInPlaylist.kt similarity index 62% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/BuiltInPlaylist.kt rename to app/src/main/kotlin/it/hamy/muza/enums/BuiltInPlaylist.kt index e93c7f2..fd10aa6 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/BuiltInPlaylist.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/BuiltInPlaylist.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class BuiltInPlaylist { Favorites, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/CoilDiskCacheSize.kt b/app/src/main/kotlin/it/hamy/muza/enums/CoilDiskCacheSize.kt similarity index 89% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/CoilDiskCacheSize.kt rename to app/src/main/kotlin/it/hamy/muza/enums/CoilDiskCacheSize.kt index fa13e0c..8919d4e 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/CoilDiskCacheSize.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/CoilDiskCacheSize.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class CoilDiskCacheMaxSize { `128MB`, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ColorPaletteMode.kt b/app/src/main/kotlin/it/hamy/muza/enums/ColorPaletteMode.kt similarity index 65% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ColorPaletteMode.kt rename to app/src/main/kotlin/it/hamy/muza/enums/ColorPaletteMode.kt index 63bcc3b..8090121 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ColorPaletteMode.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/ColorPaletteMode.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class ColorPaletteMode { Light, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ColorPaletteName.kt b/app/src/main/kotlin/it/hamy/muza/enums/ColorPaletteName.kt similarity index 67% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ColorPaletteName.kt rename to app/src/main/kotlin/it/hamy/muza/enums/ColorPaletteName.kt index 49ec459..974b253 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ColorPaletteName.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/ColorPaletteName.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class ColorPaletteName { Default, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ExoPlayerDiskCacheMaxSize.kt b/app/src/main/kotlin/it/hamy/muza/enums/ExoPlayerDiskCacheMaxSize.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ExoPlayerDiskCacheMaxSize.kt rename to app/src/main/kotlin/it/hamy/muza/enums/ExoPlayerDiskCacheMaxSize.kt index 14c7419..68eefdb 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ExoPlayerDiskCacheMaxSize.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/ExoPlayerDiskCacheMaxSize.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class ExoPlayerDiskCacheMaxSize { `32MB`, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/PlaylistSortBy.kt b/app/src/main/kotlin/it/hamy/muza/enums/PlaylistSortBy.kt similarity index 66% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/PlaylistSortBy.kt rename to app/src/main/kotlin/it/hamy/muza/enums/PlaylistSortBy.kt index 52c62ea..8a85b1e 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/PlaylistSortBy.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/PlaylistSortBy.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class PlaylistSortBy { Name, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/SongSortBy.kt b/app/src/main/kotlin/it/hamy/muza/enums/SongSortBy.kt similarity index 65% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/SongSortBy.kt rename to app/src/main/kotlin/it/hamy/muza/enums/SongSortBy.kt index ff9889a..211a2ac 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/SongSortBy.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/SongSortBy.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class SongSortBy { PlayTime, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/SortOrder.kt b/app/src/main/kotlin/it/hamy/muza/enums/SortOrder.kt similarity index 82% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/SortOrder.kt rename to app/src/main/kotlin/it/hamy/muza/enums/SortOrder.kt index 769f02e..2d3bd40 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/SortOrder.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/SortOrder.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums enum class SortOrder { Ascending, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ThumbnailRoundness.kt b/app/src/main/kotlin/it/hamy/muza/enums/ThumbnailRoundness.kt similarity index 73% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ThumbnailRoundness.kt rename to app/src/main/kotlin/it/hamy/muza/enums/ThumbnailRoundness.kt index 9fd8ba3..54fb97b 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/enums/ThumbnailRoundness.kt +++ b/app/src/main/kotlin/it/hamy/muza/enums/ThumbnailRoundness.kt @@ -1,12 +1,9 @@ -package it.vfsfitvnm.vimusic.enums +package it.hamy.muza.enums import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.runtime.Composable -import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.Shape import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance enum class ThumbnailRoundness { None, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Album.kt b/app/src/main/kotlin/it/hamy/muza/models/Album.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Album.kt rename to app/src/main/kotlin/it/hamy/muza/models/Album.kt index 57f6827..88e4fea 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Album.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Album.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Entity diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Artist.kt b/app/src/main/kotlin/it/hamy/muza/models/Artist.kt similarity index 89% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Artist.kt rename to app/src/main/kotlin/it/hamy/muza/models/Artist.kt index 92fb7d1..c701c47 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Artist.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Artist.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Entity diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Event.kt b/app/src/main/kotlin/it/hamy/muza/models/Event.kt similarity index 94% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Event.kt rename to app/src/main/kotlin/it/hamy/muza/models/Event.kt index 912b88a..691c8ae 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Event.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Event.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.ColumnInfo diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Format.kt b/app/src/main/kotlin/it/hamy/muza/models/Format.kt similarity index 94% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Format.kt rename to app/src/main/kotlin/it/hamy/muza/models/Format.kt index 88fef51..64318c3 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Format.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Format.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Entity diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Info.kt b/app/src/main/kotlin/it/hamy/muza/models/Info.kt similarity index 63% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Info.kt rename to app/src/main/kotlin/it/hamy/muza/models/Info.kt index 161a3ca..46b27c4 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Info.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Info.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models data class Info( val id: String, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Lyrics.kt b/app/src/main/kotlin/it/hamy/muza/models/Lyrics.kt similarity index 92% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Lyrics.kt rename to app/src/main/kotlin/it/hamy/muza/models/Lyrics.kt index da6c770..7fdf4de 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Lyrics.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Lyrics.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Entity diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Playlist.kt b/app/src/main/kotlin/it/hamy/muza/models/Playlist.kt similarity index 87% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Playlist.kt rename to app/src/main/kotlin/it/hamy/muza/models/Playlist.kt index f76a8a0..9c7c633 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Playlist.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Playlist.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Entity diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/PlaylistPreview.kt b/app/src/main/kotlin/it/hamy/muza/models/PlaylistPreview.kt similarity index 83% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/PlaylistPreview.kt rename to app/src/main/kotlin/it/hamy/muza/models/PlaylistPreview.kt index 8caab6b..091ee41 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/PlaylistPreview.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/PlaylistPreview.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Embedded diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/PlaylistWithSongs.kt b/app/src/main/kotlin/it/hamy/muza/models/PlaylistWithSongs.kt similarity index 93% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/PlaylistWithSongs.kt rename to app/src/main/kotlin/it/hamy/muza/models/PlaylistWithSongs.kt index 27d8f9a..d40fb9c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/PlaylistWithSongs.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/PlaylistWithSongs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Embedded diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/QueuedMediaItem.kt b/app/src/main/kotlin/it/hamy/muza/models/QueuedMediaItem.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/QueuedMediaItem.kt rename to app/src/main/kotlin/it/hamy/muza/models/QueuedMediaItem.kt index 27cde9a..60ca3d6 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/QueuedMediaItem.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/QueuedMediaItem.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.media3.common.MediaItem diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SearchQuery.kt b/app/src/main/kotlin/it/hamy/muza/models/SearchQuery.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SearchQuery.kt rename to app/src/main/kotlin/it/hamy/muza/models/SearchQuery.kt index a3479f1..1ffcf4b 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SearchQuery.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/SearchQuery.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Entity diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Song.kt b/app/src/main/kotlin/it/hamy/muza/models/Song.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Song.kt rename to app/src/main/kotlin/it/hamy/muza/models/Song.kt index 3421956..cb96e23 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Song.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/Song.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Entity diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongAlbumMap.kt b/app/src/main/kotlin/it/hamy/muza/models/SongAlbumMap.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongAlbumMap.kt rename to app/src/main/kotlin/it/hamy/muza/models/SongAlbumMap.kt index 4fc61a3..890e584 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongAlbumMap.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/SongAlbumMap.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.ColumnInfo diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongArtistMap.kt b/app/src/main/kotlin/it/hamy/muza/models/SongArtistMap.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongArtistMap.kt rename to app/src/main/kotlin/it/hamy/muza/models/SongArtistMap.kt index d250954..ee2b038 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongArtistMap.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/SongArtistMap.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.ColumnInfo diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongPlaylistMap.kt b/app/src/main/kotlin/it/hamy/muza/models/SongPlaylistMap.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongPlaylistMap.kt rename to app/src/main/kotlin/it/hamy/muza/models/SongPlaylistMap.kt index 21507b9..84bad01 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongPlaylistMap.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/SongPlaylistMap.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.ColumnInfo diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongWithContentLength.kt b/app/src/main/kotlin/it/hamy/muza/models/SongWithContentLength.kt similarity index 83% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongWithContentLength.kt rename to app/src/main/kotlin/it/hamy/muza/models/SongWithContentLength.kt index e43d56e..4216d3c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SongWithContentLength.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/SongWithContentLength.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.Embedded diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SortedSongPlaylistMap.kt b/app/src/main/kotlin/it/hamy/muza/models/SortedSongPlaylistMap.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SortedSongPlaylistMap.kt rename to app/src/main/kotlin/it/hamy/muza/models/SortedSongPlaylistMap.kt index 0e34710..ff9b0f0 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/SortedSongPlaylistMap.kt +++ b/app/src/main/kotlin/it/hamy/muza/models/SortedSongPlaylistMap.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.models +package it.hamy.muza.models import androidx.compose.runtime.Immutable import androidx.room.ColumnInfo diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/BitmapProvider.kt b/app/src/main/kotlin/it/hamy/muza/service/BitmapProvider.kt similarity index 96% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/service/BitmapProvider.kt rename to app/src/main/kotlin/it/hamy/muza/service/BitmapProvider.kt index 771d8c0..8aacac2 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/BitmapProvider.kt +++ b/app/src/main/kotlin/it/hamy/muza/service/BitmapProvider.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.service +package it.hamy.muza.service import android.content.Context import android.content.res.Configuration @@ -9,7 +9,7 @@ import androidx.core.graphics.applyCanvas import coil.imageLoader import coil.request.Disposable import coil.request.ImageRequest -import it.vfsfitvnm.vimusic.utils.thumbnail +import it.hamy.muza.utils.thumbnail context(Context) class BitmapProvider( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlaybackExceptions.kt b/app/src/main/kotlin/it/hamy/muza/service/PlaybackExceptions.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlaybackExceptions.kt rename to app/src/main/kotlin/it/hamy/muza/service/PlaybackExceptions.kt index d38c279..067a5af 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlaybackExceptions.kt +++ b/app/src/main/kotlin/it/hamy/muza/service/PlaybackExceptions.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.service +package it.hamy.muza.service import androidx.media3.common.PlaybackException diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerMediaBrowserService.kt b/app/src/main/kotlin/it/hamy/muza/service/PlayerMediaBrowserService.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerMediaBrowserService.kt rename to app/src/main/kotlin/it/hamy/muza/service/PlayerMediaBrowserService.kt index c97cdcf..ef3be29 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerMediaBrowserService.kt +++ b/app/src/main/kotlin/it/hamy/muza/service/PlayerMediaBrowserService.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.service +package it.hamy.muza.service import android.media.MediaDescription as BrowserMediaDescription import android.media.browse.MediaBrowser.MediaItem as BrowserMediaItem @@ -17,17 +17,17 @@ import androidx.core.net.toUri import androidx.core.os.bundleOf import androidx.media3.common.Player import androidx.media3.datasource.cache.Cache -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Album -import it.vfsfitvnm.vimusic.models.PlaylistPreview -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.models.SongWithContentLength -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex -import it.vfsfitvnm.vimusic.utils.forceSeekToNext -import it.vfsfitvnm.vimusic.utils.forceSeekToPrevious -import it.vfsfitvnm.vimusic.utils.intent +import it.hamy.muza.Database +import it.hamy.muza.R +import it.hamy.muza.models.Album +import it.hamy.muza.models.PlaylistPreview +import it.hamy.muza.models.Song +import it.hamy.muza.models.SongWithContentLength +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.forcePlayAtIndex +import it.hamy.muza.utils.forceSeekToNext +import it.hamy.muza.utils.forceSeekToPrevious +import it.hamy.muza.utils.intent import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.first diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerService.kt b/app/src/main/kotlin/it/hamy/muza/service/PlayerService.kt similarity index 94% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerService.kt rename to app/src/main/kotlin/it/hamy/muza/service/PlayerService.kt index b2be4ce..8aa2df2 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerService.kt +++ b/app/src/main/kotlin/it/hamy/muza/service/PlayerService.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.service +package it.hamy.muza.service import android.os.Binder as AndroidBinder import android.annotation.SuppressLint @@ -67,45 +67,45 @@ import androidx.media3.exoplayer.source.MediaSource import androidx.media3.extractor.ExtractorsFactory import androidx.media3.extractor.mkv.MatroskaExtractor import androidx.media3.extractor.mp4.FragmentedMp4Extractor -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.innertube.models.bodies.PlayerBody -import it.vfsfitvnm.innertube.requests.player -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.MainActivity -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.ExoPlayerDiskCacheMaxSize -import it.vfsfitvnm.vimusic.models.Event -import it.vfsfitvnm.vimusic.models.QueuedMediaItem -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.utils.InvincibleService -import it.vfsfitvnm.vimusic.utils.RingBuffer -import it.vfsfitvnm.vimusic.utils.TimerJob -import it.vfsfitvnm.vimusic.utils.YouTubeRadio -import it.vfsfitvnm.vimusic.utils.activityPendingIntent -import it.vfsfitvnm.vimusic.utils.broadCastPendingIntent -import it.vfsfitvnm.vimusic.utils.exoPlayerDiskCacheMaxSizeKey -import it.vfsfitvnm.vimusic.utils.findNextMediaItemById -import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning -import it.vfsfitvnm.vimusic.utils.forceSeekToNext -import it.vfsfitvnm.vimusic.utils.forceSeekToPrevious -import it.vfsfitvnm.vimusic.utils.getEnum -import it.vfsfitvnm.vimusic.utils.intent -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid13 -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid6 -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid8 -import it.vfsfitvnm.vimusic.utils.isInvincibilityEnabledKey -import it.vfsfitvnm.vimusic.utils.isShowingThumbnailInLockscreenKey -import it.vfsfitvnm.vimusic.utils.mediaItems -import it.vfsfitvnm.vimusic.utils.persistentQueueKey -import it.vfsfitvnm.vimusic.utils.preferences -import it.vfsfitvnm.vimusic.utils.queueLoopEnabledKey -import it.vfsfitvnm.vimusic.utils.resumePlaybackWhenDeviceConnectedKey -import it.vfsfitvnm.vimusic.utils.shouldBePlaying -import it.vfsfitvnm.vimusic.utils.skipSilenceKey -import it.vfsfitvnm.vimusic.utils.timer -import it.vfsfitvnm.vimusic.utils.trackLoopEnabledKey -import it.vfsfitvnm.vimusic.utils.volumeNormalizationKey +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.innertube.models.bodies.PlayerBody +import it.hamy.innertube.requests.player +import it.hamy.muza.Database +import it.hamy.muza.MainActivity +import it.hamy.muza.R +import it.hamy.muza.enums.ExoPlayerDiskCacheMaxSize +import it.hamy.muza.models.Event +import it.hamy.muza.models.QueuedMediaItem +import it.hamy.muza.query +import it.hamy.muza.utils.InvincibleService +import it.hamy.muza.utils.RingBuffer +import it.hamy.muza.utils.TimerJob +import it.hamy.muza.utils.YouTubeRadio +import it.hamy.muza.utils.activityPendingIntent +import it.hamy.muza.utils.broadCastPendingIntent +import it.hamy.muza.utils.exoPlayerDiskCacheMaxSizeKey +import it.hamy.muza.utils.findNextMediaItemById +import it.hamy.muza.utils.forcePlayFromBeginning +import it.hamy.muza.utils.forceSeekToNext +import it.hamy.muza.utils.forceSeekToPrevious +import it.hamy.muza.utils.getEnum +import it.hamy.muza.utils.intent +import it.hamy.muza.utils.isAtLeastAndroid13 +import it.hamy.muza.utils.isAtLeastAndroid6 +import it.hamy.muza.utils.isAtLeastAndroid8 +import it.hamy.muza.utils.isInvincibilityEnabledKey +import it.hamy.muza.utils.isShowingThumbnailInLockscreenKey +import it.hamy.muza.utils.mediaItems +import it.hamy.muza.utils.persistentQueueKey +import it.hamy.muza.utils.preferences +import it.hamy.muza.utils.queueLoopEnabledKey +import it.hamy.muza.utils.resumePlaybackWhenDeviceConnectedKey +import it.hamy.muza.utils.shouldBePlaying +import it.hamy.muza.utils.skipSilenceKey +import it.hamy.muza.utils.timer +import it.hamy.muza.utils.trackLoopEnabledKey +import it.hamy.muza.utils.volumeNormalizationKey import kotlin.math.roundToInt import kotlin.system.exitProcess import kotlinx.coroutines.CoroutineScope @@ -791,7 +791,7 @@ class PlayerService : InvincibleService(), Player.Listener, PlaybackStatsListene mediaItem?.let(Database::insert) Database.insert( - it.vfsfitvnm.vimusic.models.Format( + it.hamy.muza.models.Format( songId = videoId, itag = format.itag, mimeType = format.mimeType, @@ -991,10 +991,10 @@ class PlayerService : InvincibleService(), Player.Listener, PlaybackStatsListene ) companion object { - val pause = Action("it.vfsfitvnm.vimusic.pause") - val play = Action("it.vfsfitvnm.vimusic.play") - val next = Action("it.vfsfitvnm.vimusic.next") - val previous = Action("it.vfsfitvnm.vimusic.previous") + val pause = Action("it.hamy.muza.pause") + val play = Action("it.hamy.muza.play") + val next = Action("it.hamy.muza.next") + val previous = Action("it.hamy.muza.previous") } } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/BottomSheet.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/BottomSheet.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/BottomSheet.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/BottomSheet.kt index 0699f15..8c7278c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/BottomSheet.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/BottomSheet.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components +package it.hamy.muza.ui.components import androidx.activity.compose.BackHandler import androidx.compose.animation.core.Animatable diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/Menu.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/Menu.kt similarity index 97% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/Menu.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/Menu.kt index 87e6ecb..0ea1cdd 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/Menu.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/Menu.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components +package it.hamy.muza.ui.components import androidx.activity.compose.BackHandler import androidx.compose.animation.AnimatedVisibility diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/MusicBars.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/MusicBars.kt similarity index 98% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/MusicBars.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/MusicBars.kt index 47e40d7..d56237f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/MusicBars.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/MusicBars.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components +package it.hamy.muza.ui.components import androidx.compose.animation.core.Animatable import androidx.compose.foundation.Canvas diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/SeekBar.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/SeekBar.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/SeekBar.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/SeekBar.kt index 9025a85..b207fd9 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/SeekBar.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/SeekBar.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components +package it.hamy.muza.ui.components import androidx.compose.animation.core.MutableTransitionState import androidx.compose.animation.core.animateDp diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/ShimmerHost.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/ShimmerHost.kt similarity index 96% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/ShimmerHost.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/ShimmerHost.kt index 8f0f09b..4220e8c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/ShimmerHost.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/ShimmerHost.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components +package it.hamy.muza.ui.components import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Dialog.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Dialog.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Dialog.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/Dialog.kt index 811fd51..264f0ed 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Dialog.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Dialog.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn @@ -48,12 +48,12 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.drawCircle -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.center +import it.hamy.muza.utils.drawCircle +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold import kotlinx.coroutines.delay @Composable @@ -62,8 +62,8 @@ fun TextFieldDialog( onDismiss: () -> Unit, onDone: (String) -> Unit, modifier: Modifier = Modifier, - cancelText: String = "Cancel", - doneText: String = "Done", + cancelText: String = "Отмена", + doneText: String = "Готово", initialTextInput: String = "", singleLine: Boolean = true, maxLines: Int = 1, @@ -167,8 +167,8 @@ fun ConfirmationDialog( onDismiss: () -> Unit, onConfirm: () -> Unit, modifier: Modifier = Modifier, - cancelText: String = "Cancel", - confirmText: String = "Confirm", + cancelText: String = "Отменить", + confirmText: String = "Продолжить", onCancel: () -> Unit = onDismiss ) { val (_, typography) = LocalAppearance.current @@ -324,7 +324,7 @@ inline fun ValueSelectorDialog( .padding(end = 24.dp) ) { DialogTextButton( - text = "Cancel", + text = "Отмена", onClick = onDismiss, modifier = Modifier ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/DialogTextButton.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/DialogTextButton.kt similarity index 86% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/DialogTextButton.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/DialogTextButton.kt index c3bedcf..8423634 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/DialogTextButton.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/DialogTextButton.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -10,9 +10,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.medium +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.color +import it.hamy.muza.utils.medium @Composable fun DialogTextButton( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/FloatingActionsContainer.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/FloatingActionsContainer.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/FloatingActionsContainer.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/FloatingActionsContainer.kt index 8b0b57c..9bc3425 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/FloatingActionsContainer.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/FloatingActionsContainer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.ExperimentalAnimationApi @@ -24,11 +24,11 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.utils.ScrollingInfo -import it.vfsfitvnm.vimusic.utils.scrollingInfo -import it.vfsfitvnm.vimusic.utils.smoothScrollToTop +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.R +import it.hamy.muza.utils.ScrollingInfo +import it.hamy.muza.utils.scrollingInfo +import it.hamy.muza.utils.smoothScrollToTop import kotlinx.coroutines.launch @ExperimentalAnimationApi diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Header.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Header.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Header.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/Header.kt index b848979..f98ddfd 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Header.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Header.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -16,10 +16,10 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.shimmer -import it.vfsfitvnm.vimusic.utils.medium +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.shimmer +import it.hamy.muza.utils.medium import kotlin.random.Random @Composable diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/IconButton.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/IconButton.kt similarity index 97% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/IconButton.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/IconButton.kt index a5558eb..1500dd5 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/IconButton.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/IconButton.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.annotation.DrawableRes import androidx.compose.foundation.Image diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/LayoutWithAdaptiveThumbnail.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/LayoutWithAdaptiveThumbnail.kt similarity index 86% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/LayoutWithAdaptiveThumbnail.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/LayoutWithAdaptiveThumbnail.kt index 8c362de..773d571 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/LayoutWithAdaptiveThumbnail.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/LayoutWithAdaptiveThumbnail.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.foundation.background import androidx.compose.foundation.layout.BoxWithConstraints @@ -14,11 +14,11 @@ import androidx.compose.ui.graphics.Shape import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import com.valentinilk.shimmer.shimmer -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.ui.styling.shimmer -import it.vfsfitvnm.vimusic.utils.isLandscape -import it.vfsfitvnm.vimusic.utils.thumbnail +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.ui.styling.shimmer +import it.hamy.muza.utils.isLandscape +import it.hamy.muza.utils.thumbnail @Composable inline fun LayoutWithAdaptiveThumbnail( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/MediaItemMenu.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/MediaItemMenu.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/MediaItemMenu.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/MediaItemMenu.kt index 5bc370d..05813e8 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/MediaItemMenu.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/MediaItemMenu.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import android.content.Intent import androidx.activity.compose.BackHandler @@ -43,34 +43,33 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import androidx.media3.common.MediaItem -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.PlaylistSortBy -import it.vfsfitvnm.vimusic.enums.SortOrder -import it.vfsfitvnm.vimusic.models.Info -import it.vfsfitvnm.vimusic.models.Playlist -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.models.SongPlaylistMap -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.transaction -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.screens.albumRoute -import it.vfsfitvnm.vimusic.ui.screens.artistRoute -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.favoritesIcon -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.addNext -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.enqueue -import it.vfsfitvnm.vimusic.utils.forcePlay -import it.vfsfitvnm.vimusic.utils.formatAsDuration -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.thumbnail -import kotlin.system.measureTimeMillis +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.enums.PlaylistSortBy +import it.hamy.muza.enums.SortOrder +import it.hamy.muza.models.Info +import it.hamy.muza.models.Playlist +import it.hamy.muza.models.Song +import it.hamy.muza.models.SongPlaylistMap +import it.hamy.muza.query +import it.hamy.muza.transaction +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.screens.albumRoute +import it.hamy.muza.ui.screens.artistRoute +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.favoritesIcon +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.addNext +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.enqueue +import it.hamy.muza.utils.forcePlay +import it.hamy.muza.utils.formatAsDuration +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.thumbnail import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.withContext diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Menu.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Menu.kt similarity index 93% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Menu.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/Menu.kt index a7ae862..1c28bf9 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Menu.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Menu.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.annotation.DrawableRes import androidx.compose.foundation.Image @@ -22,9 +22,9 @@ import androidx.compose.ui.draw.alpha import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.secondary +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.secondary @Composable inline fun Menu( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/NavigationRail.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/NavigationRail.kt similarity index 94% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/NavigationRail.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/NavigationRail.kt index d7fff64..f4377ae 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/NavigationRail.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/NavigationRail.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.animation.animateColor import androidx.compose.animation.core.animateFloat @@ -32,13 +32,13 @@ import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.layout.layout import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.isLandscape -import it.vfsfitvnm.vimusic.utils.semiBold +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.center +import it.hamy.muza.utils.color +import it.hamy.muza.utils.isLandscape +import it.hamy.muza.utils.semiBold @Composable inline fun NavigationRail( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/PrimaryButton.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/PrimaryButton.kt similarity index 89% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/PrimaryButton.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/PrimaryButton.kt index 6ad94f7..6bc493c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/PrimaryButton.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/PrimaryButton.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.annotation.DrawableRes import androidx.compose.foundation.Image @@ -14,8 +14,8 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.primaryButton +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.primaryButton @Composable fun PrimaryButton( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Scaffold.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Scaffold.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Scaffold.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/Scaffold.kt index 3f71da7..0944c05 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Scaffold.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Scaffold.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContentScope @@ -15,7 +15,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.IntOffset -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.LocalAppearance @ExperimentalAnimationApi @Composable diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/SecondaryButton.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/SecondaryButton.kt similarity index 89% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/SecondaryButton.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/SecondaryButton.kt index 9f0fb22..9d9cb73 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/SecondaryButton.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/SecondaryButton.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.annotation.DrawableRes import androidx.compose.foundation.Image @@ -14,8 +14,8 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.primaryButton +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.primaryButton @Composable fun SecondaryButton( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/SecondaryTextButton.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/SecondaryTextButton.kt similarity index 83% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/SecondaryTextButton.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/SecondaryTextButton.kt index 240f3b6..36ce6fe 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/SecondaryTextButton.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/SecondaryTextButton.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -9,9 +9,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.primaryButton -import it.vfsfitvnm.vimusic.utils.medium +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.primaryButton +import it.hamy.muza.utils.medium @Composable fun SecondaryTextButton( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Switch.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Switch.kt similarity index 92% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Switch.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/Switch.kt index 14b37e9..131dfc7 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Switch.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/Switch.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.animation.animateColor import androidx.compose.animation.core.animateDp @@ -14,8 +14,8 @@ import androidx.compose.ui.geometry.center import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shadow import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.drawCircle +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.drawCircle @Composable fun Switch( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/TextPlaceholder.kt b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/TextPlaceholder.kt similarity index 84% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/TextPlaceholder.kt rename to app/src/main/kotlin/it/hamy/muza/ui/components/themed/TextPlaceholder.kt index f747e91..c86a2be 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/TextPlaceholder.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/components/themed/TextPlaceholder.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.components.themed +package it.hamy.muza.ui.components.themed import androidx.compose.foundation.background import androidx.compose.foundation.layout.Spacer @@ -10,8 +10,8 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.shimmer +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.shimmer import kotlin.random.Random @Composable diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/AlbumItem.kt b/app/src/main/kotlin/it/hamy/muza/ui/items/AlbumItem.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/AlbumItem.kt rename to app/src/main/kotlin/it/hamy/muza/ui/items/AlbumItem.kt index d6d13fd..56d60cb 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/AlbumItem.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/items/AlbumItem.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.items +package it.hamy.muza.ui.items import androidx.compose.foundation.background import androidx.compose.foundation.layout.Spacer @@ -13,14 +13,14 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import coil.compose.AsyncImage -import it.vfsfitvnm.vimusic.models.Album -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.shimmer -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.thumbnail -import it.vfsfitvnm.innertube.Innertube +import it.hamy.muza.models.Album +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.shimmer +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.thumbnail +import it.hamy.innertube.Innertube @Composable fun AlbumItem( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/ArtistItem.kt b/app/src/main/kotlin/it/hamy/muza/ui/items/ArtistItem.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/ArtistItem.kt rename to app/src/main/kotlin/it/hamy/muza/ui/items/ArtistItem.kt index 732e32e..f11f950 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/ArtistItem.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/items/ArtistItem.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.items +package it.hamy.muza.ui.items import androidx.compose.foundation.background import androidx.compose.foundation.layout.Spacer @@ -15,14 +15,14 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import coil.compose.AsyncImage -import it.vfsfitvnm.vimusic.models.Artist -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.shimmer -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.thumbnail -import it.vfsfitvnm.innertube.Innertube +import it.hamy.muza.models.Artist +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.shimmer +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.thumbnail +import it.hamy.innertube.Innertube @Composable fun ArtistItem( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/ItemContainer.kt b/app/src/main/kotlin/it/hamy/muza/ui/items/ItemContainer.kt similarity index 94% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/ItemContainer.kt rename to app/src/main/kotlin/it/hamy/muza/ui/items/ItemContainer.kt index fe16910..4c65e05 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/ItemContainer.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/items/ItemContainer.kt @@ -1,10 +1,9 @@ -package it.vfsfitvnm.vimusic.ui.items +package it.hamy.muza.ui.items import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width @@ -13,7 +12,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.Dimensions +import it.hamy.muza.ui.styling.Dimensions @Composable inline fun ItemContainer( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/PlaylistItem.kt b/app/src/main/kotlin/it/hamy/muza/ui/items/PlaylistItem.kt similarity index 92% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/PlaylistItem.kt rename to app/src/main/kotlin/it/hamy/muza/ui/items/PlaylistItem.kt index a614243..5d7eeb5 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/PlaylistItem.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/items/PlaylistItem.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.items +package it.hamy.muza.ui.items import androidx.annotation.DrawableRes import androidx.compose.foundation.Image @@ -27,19 +27,19 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import coil.compose.AsyncImage -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.models.PlaylistPreview -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.onOverlay -import it.vfsfitvnm.vimusic.ui.styling.overlay -import it.vfsfitvnm.vimusic.ui.styling.shimmer -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.thumbnail -import it.vfsfitvnm.innertube.Innertube +import it.hamy.muza.Database +import it.hamy.muza.models.PlaylistPreview +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.onOverlay +import it.hamy.muza.ui.styling.overlay +import it.hamy.muza.ui.styling.shimmer +import it.hamy.muza.utils.color +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.thumbnail +import it.hamy.innertube.Innertube import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.map diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/SongItem.kt b/app/src/main/kotlin/it/hamy/muza/ui/items/SongItem.kt similarity index 93% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/SongItem.kt rename to app/src/main/kotlin/it/hamy/muza/ui/items/SongItem.kt index f9a6cea..426c846 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/SongItem.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/items/SongItem.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.items +package it.hamy.muza.ui.items import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -19,15 +19,15 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.media3.common.MediaItem import coil.compose.AsyncImage -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.shimmer -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.thumbnail -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.vimusic.models.Song +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.shimmer +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.thumbnail +import it.hamy.innertube.Innertube +import it.hamy.muza.models.Song @Composable fun SongItem( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/VideoItem.kt b/app/src/main/kotlin/it/hamy/muza/ui/items/VideoItem.kt similarity index 89% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/VideoItem.kt rename to app/src/main/kotlin/it/hamy/muza/ui/items/VideoItem.kt index f3ee2f2..8ac4272 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/items/VideoItem.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/items/VideoItem.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.items +package it.hamy.muza.ui.items import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -16,16 +16,16 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import coil.compose.AsyncImage -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.onOverlay -import it.vfsfitvnm.vimusic.ui.styling.overlay -import it.vfsfitvnm.vimusic.ui.styling.shimmer -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.innertube.Innertube +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.onOverlay +import it.hamy.muza.ui.styling.overlay +import it.hamy.muza.ui.styling.shimmer +import it.hamy.muza.utils.color +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold +import it.hamy.innertube.Innertube @Composable fun VideoItem( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/Routes.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/Routes.kt similarity index 75% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/Routes.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/Routes.kt index 5535ccb..c10814c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/Routes.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/Routes.kt @@ -1,16 +1,16 @@ -package it.vfsfitvnm.vimusic.ui.screens +package it.hamy.muza.ui.screens import android.annotation.SuppressLint import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.runtime.Composable -import it.vfsfitvnm.compose.routing.Route0 -import it.vfsfitvnm.compose.routing.Route1 -import it.vfsfitvnm.compose.routing.RouteHandlerScope -import it.vfsfitvnm.vimusic.enums.BuiltInPlaylist -import it.vfsfitvnm.vimusic.ui.screens.album.AlbumScreen -import it.vfsfitvnm.vimusic.ui.screens.artist.ArtistScreen -import it.vfsfitvnm.vimusic.ui.screens.playlist.PlaylistScreen +import it.hamy.compose.routing.Route0 +import it.hamy.compose.routing.Route1 +import it.hamy.compose.routing.RouteHandlerScope +import it.hamy.muza.enums.BuiltInPlaylist +import it.hamy.muza.ui.screens.album.AlbumScreen +import it.hamy.muza.ui.screens.artist.ArtistScreen +import it.hamy.muza.ui.screens.playlist.PlaylistScreen val albumRoute = Route1("albumRoute") val artistRoute = Route1("artistRoute") diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/album/AlbumScreen.kt similarity index 85% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/album/AlbumScreen.kt index 8b2fdea..0aec2f9 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/album/AlbumScreen.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.album +package it.hamy.muza.ui.screens.album import android.content.Intent import androidx.compose.animation.ExperimentalAnimationApi @@ -17,30 +17,30 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import com.valentinilk.shimmer.shimmer -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.requests.albumPage -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Album -import it.vfsfitvnm.vimusic.models.SongAlbumMap -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderPlaceholder -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.components.themed.adaptiveThumbnailContent -import it.vfsfitvnm.vimusic.ui.items.AlbumItem -import it.vfsfitvnm.vimusic.ui.items.AlbumItemPlaceholder -import it.vfsfitvnm.vimusic.ui.screens.albumRoute -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes -import it.vfsfitvnm.vimusic.ui.screens.searchresult.ItemsPage -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.asMediaItem +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.persist.persist +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.requests.albumPage +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.Database +import it.hamy.muza.R +import it.hamy.muza.models.Album +import it.hamy.muza.models.SongAlbumMap +import it.hamy.muza.query +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.components.themed.HeaderPlaceholder +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.components.themed.adaptiveThumbnailContent +import it.hamy.muza.ui.items.AlbumItem +import it.hamy.muza.ui.items.AlbumItemPlaceholder +import it.hamy.muza.ui.screens.albumRoute +import it.hamy.muza.ui.screens.globalRoutes +import it.hamy.muza.ui.screens.searchresult.ItemsPage +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.asMediaItem import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.combine import kotlinx.coroutines.withContext @@ -122,7 +122,7 @@ fun AlbumScreen(browseId: String) { val (colorPalette) = LocalAppearance.current val context = LocalContext.current - Header(title = album?.title ?: "Unknown") { + Header(title = album?.title ?: "Неизвестный") { textButton?.invoke() Spacer( @@ -182,8 +182,8 @@ fun AlbumScreen(browseId: String) { tabIndex = tabIndex, onTabChanged = { tabIndex = it }, tabColumnContent = { Item -> - Item(0, "Songs", R.drawable.musical_notes) - Item(1, "Other versions", R.drawable.disc) + Item(0, "Песни", R.drawable.musical_notes) + Item(1, "Другие версии", R.drawable.disc) } ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(key = currentTabIndex) { @@ -203,7 +203,7 @@ fun AlbumScreen(browseId: String) { headerContent = headerContent, initialPlaceholderCount = 1, continuationPlaceholderCount = 1, - emptyItemsText = "This album doesn't have any alternative version", + emptyItemsText = "Этот альбом не имеет других версий", itemsPageProvider = albumPage?.let { ({ Result.success( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongs.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/album/AlbumSongs.kt similarity index 81% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongs.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/album/AlbumSongs.kt index ae0352e..a4dff33 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongs.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/album/AlbumSongs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.album +package it.hamy.muza.ui.screens.album import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -22,30 +22,30 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow -import it.vfsfitvnm.compose.persist.persistList -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.ShimmerHost -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.LayoutWithAdaptiveThumbnail -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.enqueue -import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex -import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning -import it.vfsfitvnm.vimusic.utils.isLandscape -import it.vfsfitvnm.vimusic.utils.semiBold +import it.hamy.compose.persist.persistList +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.Song +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.ShimmerHost +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.LayoutWithAdaptiveThumbnail +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.center +import it.hamy.muza.utils.color +import it.hamy.muza.utils.enqueue +import it.hamy.muza.utils.forcePlayAtIndex +import it.hamy.muza.utils.forcePlayFromBeginning +import it.hamy.muza.utils.isLandscape +import it.hamy.muza.utils.semiBold @ExperimentalAnimationApi @ExperimentalFoundationApi @@ -86,7 +86,7 @@ fun AlbumSongs( Column(horizontalAlignment = Alignment.CenterHorizontally) { headerContent { SecondaryTextButton( - text = "Enqueue", + text = "В очередь", enabled = songs.isNotEmpty(), onClick = { binder?.player?.enqueue(songs.map(Song::asMediaItem)) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistLocalSongs.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistLocalSongs.kt similarity index 80% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistLocalSongs.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistLocalSongs.kt index aad59e7..65dc964 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistLocalSongs.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistLocalSongs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.artist +package it.hamy.muza.ui.screens.artist import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -19,27 +19,27 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.ShimmerHost -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.LayoutWithAdaptiveThumbnail -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.enqueue -import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex -import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning +import it.hamy.compose.persist.persist +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.Song +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.ShimmerHost +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.LayoutWithAdaptiveThumbnail +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.enqueue +import it.hamy.muza.utils.forcePlayAtIndex +import it.hamy.muza.utils.forcePlayFromBeginning @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -81,7 +81,7 @@ fun ArtistLocalSongs( Column(horizontalAlignment = Alignment.CenterHorizontally) { headerContent { SecondaryTextButton( - text = "Enqueue", + text = "В очередь", enabled = !songs.isNullOrEmpty(), onClick = { binder?.player?.enqueue(songs!!.map(Song::asMediaItem)) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistOverview.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistOverview.kt similarity index 88% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistOverview.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistOverview.kt index 74592af..9a17ce2 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistOverview.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistOverview.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.artist +package it.hamy.muza.ui.screens.artist import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -26,31 +26,31 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.ShimmerHost -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.LayoutWithAdaptiveThumbnail -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.items.AlbumItem -import it.vfsfitvnm.vimusic.ui.items.AlbumItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.align -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.forcePlay -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.ShimmerHost +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.LayoutWithAdaptiveThumbnail +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.items.AlbumItem +import it.hamy.muza.ui.items.AlbumItemPlaceholder +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.align +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.color +import it.hamy.muza.utils.forcePlay +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -103,7 +103,7 @@ fun ArtistOverview( headerContent { youtubeArtistPage?.shuffleEndpoint?.let { endpoint -> SecondaryTextButton( - text = "Shuffle", + text = "Перемешать", onClick = { binder?.stopRadio() binder?.playRadio(endpoint) @@ -125,14 +125,14 @@ fun ArtistOverview( .padding(endPaddingValues) ) { BasicText( - text = "Songs", + text = "Песни", style = typography.m.semiBold, modifier = sectionTextModifier ) youtubeArtistPage.songsEndpoint?.let { BasicText( - text = "View all", + text = "Все", style = typography.xs.secondary, modifier = sectionTextModifier .clickable(onClick = onViewAllSongsClick), @@ -178,14 +178,14 @@ fun ArtistOverview( .padding(endPaddingValues) ) { BasicText( - text = "Albums", + text = "Альбомы", style = typography.m.semiBold, modifier = sectionTextModifier ) youtubeArtistPage.albumsEndpoint?.let { BasicText( - text = "View all", + text = "Все", style = typography.xs.secondary, modifier = sectionTextModifier .clickable(onClick = onViewAllAlbumsClick), @@ -223,14 +223,14 @@ fun ArtistOverview( .padding(endPaddingValues) ) { BasicText( - text = "Singles", + text = "Синглы", style = typography.m.semiBold, modifier = sectionTextModifier ) youtubeArtistPage.singlesEndpoint?.let { BasicText( - text = "View all", + text = "Все", style = typography.xs.secondary, modifier = sectionTextModifier .clickable(onClick = onViewAllSinglesClick), diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistScreen.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistScreen.kt index d252e97..b4d5bb6 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/artist/ArtistScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/artist/ArtistScreen.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.artist +package it.hamy.muza.ui.screens.artist import android.content.Intent import androidx.compose.animation.ExperimentalAnimationApi @@ -17,41 +17,41 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import com.valentinilk.shimmer.shimmer -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.requests.artistPage -import it.vfsfitvnm.innertube.requests.itemsPage -import it.vfsfitvnm.innertube.utils.from -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Artist -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderPlaceholder -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.components.themed.adaptiveThumbnailContent -import it.vfsfitvnm.vimusic.ui.items.AlbumItem -import it.vfsfitvnm.vimusic.ui.items.AlbumItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.screens.albumRoute -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes -import it.vfsfitvnm.vimusic.ui.screens.searchresult.ItemsPage -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.artistScreenTabIndexKey -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.forcePlay -import it.vfsfitvnm.vimusic.utils.rememberPreference +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.persist.persist +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.requests.artistPage +import it.hamy.innertube.requests.itemsPage +import it.hamy.innertube.utils.from +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.Artist +import it.hamy.muza.query +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.components.themed.HeaderPlaceholder +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.components.themed.adaptiveThumbnailContent +import it.hamy.muza.ui.items.AlbumItem +import it.hamy.muza.ui.items.AlbumItemPlaceholder +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.screens.albumRoute +import it.hamy.muza.ui.screens.globalRoutes +import it.hamy.muza.ui.screens.searchresult.ItemsPage +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.artistScreenTabIndexKey +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.forcePlay +import it.hamy.muza.utils.rememberPreference import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/builtinplaylist/BuiltInPlaylistScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/builtinplaylist/BuiltInPlaylistScreen.kt similarity index 77% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/builtinplaylist/BuiltInPlaylistScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/builtinplaylist/BuiltInPlaylistScreen.kt index 2d678d9..8e86543 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/builtinplaylist/BuiltInPlaylistScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/builtinplaylist/BuiltInPlaylistScreen.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.builtinplaylist +package it.hamy.muza.ui.screens.builtinplaylist import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -6,12 +6,12 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.saveable.rememberSaveableStateHolder -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.BuiltInPlaylist -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.R +import it.hamy.muza.enums.BuiltInPlaylist +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.screens.globalRoutes @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -38,8 +38,8 @@ fun BuiltInPlaylistScreen(builtInPlaylist: BuiltInPlaylist) { tabIndex = tabIndex, onTabChanged = onTabIndexChanged, tabColumnContent = { Item -> - Item(0, "Favorites", R.drawable.heart) - Item(1, "Offline", R.drawable.airplane) + Item(0, "Любимые", R.drawable.heart) + Item(1, "Сохранённые", R.drawable.airplane) } ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(key = currentTabIndex) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/builtinplaylist/BuiltInPlaylistSongs.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/builtinplaylist/BuiltInPlaylistSongs.kt similarity index 79% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/builtinplaylist/BuiltInPlaylistSongs.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/builtinplaylist/BuiltInPlaylistSongs.kt index 546625e..cdbcae5 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/builtinplaylist/BuiltInPlaylistSongs.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/builtinplaylist/BuiltInPlaylistSongs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.builtinplaylist +package it.hamy.muza.ui.screens.builtinplaylist import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -20,28 +20,28 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persistList -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.BuiltInPlaylist -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.models.SongWithContentLength -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.InHistoryMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.enqueue -import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex -import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning +import it.hamy.compose.persist.persistList +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.enums.BuiltInPlaylist +import it.hamy.muza.models.Song +import it.hamy.muza.models.SongWithContentLength +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.InHistoryMediaItemMenu +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.enqueue +import it.hamy.muza.utils.forcePlayAtIndex +import it.hamy.muza.utils.forcePlayFromBeginning import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map @@ -94,14 +94,14 @@ fun BuiltInPlaylistSongs(builtInPlaylist: BuiltInPlaylist) { ) { Header( title = when (builtInPlaylist) { - BuiltInPlaylist.Favorites -> "Favorites" - BuiltInPlaylist.Offline -> "Offline" + BuiltInPlaylist.Favorites -> "Любимые" + BuiltInPlaylist.Offline -> "Сохранённые" }, modifier = Modifier .padding(bottom = 8.dp) ) { SecondaryTextButton( - text = "Enqueue", + text = "В очередь", enabled = songs.isNotEmpty(), onClick = { binder?.player?.enqueue(songs.map(Song::asMediaItem)) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeAlbums.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeAlbums.kt similarity index 81% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeAlbums.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeAlbums.kt index 5321ec9..41b6ac8 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeAlbums.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeAlbums.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.home +package it.hamy.muza.ui.screens.home import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.LinearEasing @@ -15,34 +15,32 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.only import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.AlbumSortBy -import it.vfsfitvnm.vimusic.enums.SortOrder -import it.vfsfitvnm.vimusic.models.Album -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.items.AlbumItem -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.albumSortByKey -import it.vfsfitvnm.vimusic.utils.albumSortOrderKey -import it.vfsfitvnm.vimusic.utils.rememberPreference +import it.hamy.compose.persist.persist +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.R +import it.hamy.muza.enums.AlbumSortBy +import it.hamy.muza.enums.SortOrder +import it.hamy.muza.models.Album +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.items.AlbumItem +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.albumSortByKey +import it.hamy.muza.utils.albumSortOrderKey +import it.hamy.muza.utils.rememberPreference @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -85,7 +83,7 @@ fun HomeAlbums( key = "header", contentType = 0 ) { - Header(title = "Albums") { + Header(title = "Альбомы") { HeaderIconButton( icon = R.drawable.calendar, color = if (sortBy == AlbumSortBy.Year) colorPalette.text else colorPalette.textDisabled, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeArtists.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeArtists.kt similarity index 83% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeArtists.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeArtists.kt index 4eeba41..16ec07d 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeArtists.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeArtists.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.home +package it.hamy.muza.ui.screens.home import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.LinearEasing @@ -28,23 +28,23 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persistList -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.ArtistSortBy -import it.vfsfitvnm.vimusic.enums.SortOrder -import it.vfsfitvnm.vimusic.models.Artist -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.items.ArtistItem -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.artistSortByKey -import it.vfsfitvnm.vimusic.utils.artistSortOrderKey -import it.vfsfitvnm.vimusic.utils.rememberPreference +import it.hamy.compose.persist.persistList +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.R +import it.hamy.muza.enums.ArtistSortBy +import it.hamy.muza.enums.SortOrder +import it.hamy.muza.models.Artist +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.items.ArtistItem +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.artistSortByKey +import it.hamy.muza.utils.artistSortOrderKey +import it.hamy.muza.utils.rememberPreference @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -94,7 +94,7 @@ fun HomeArtistList( contentType = 0, span = { GridItemSpan(maxLineSpan) } ) { - Header(title = "Artists") { + Header(title = "Исполнители") { HeaderIconButton( icon = R.drawable.text, color = if (sortBy == ArtistSortBy.Name) colorPalette.text else colorPalette.textDisabled, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylists.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomePlaylists.kt similarity index 83% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylists.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomePlaylists.kt index 91ac7df..6cb1de5 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylists.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomePlaylists.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.home +package it.hamy.muza.ui.screens.home import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.LinearEasing @@ -30,28 +30,28 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persistList -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.BuiltInPlaylist -import it.vfsfitvnm.vimusic.enums.PlaylistSortBy -import it.vfsfitvnm.vimusic.enums.SortOrder -import it.vfsfitvnm.vimusic.models.Playlist -import it.vfsfitvnm.vimusic.models.PlaylistPreview -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.components.themed.TextFieldDialog -import it.vfsfitvnm.vimusic.ui.items.PlaylistItem -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.playlistSortByKey -import it.vfsfitvnm.vimusic.utils.playlistSortOrderKey -import it.vfsfitvnm.vimusic.utils.rememberPreference +import it.hamy.compose.persist.persistList +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.R +import it.hamy.muza.enums.BuiltInPlaylist +import it.hamy.muza.enums.PlaylistSortBy +import it.hamy.muza.enums.SortOrder +import it.hamy.muza.models.Playlist +import it.hamy.muza.models.PlaylistPreview +import it.hamy.muza.query +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.components.themed.TextFieldDialog +import it.hamy.muza.ui.items.PlaylistItem +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.playlistSortByKey +import it.hamy.muza.utils.playlistSortOrderKey +import it.hamy.muza.utils.rememberPreference @ExperimentalAnimationApi @ExperimentalFoundationApi @@ -69,7 +69,7 @@ fun HomePlaylists( if (isCreatingANewPlaylist) { TextFieldDialog( - hintText = "Enter the playlist name", + hintText = "Введите название плейлиста", onDismiss = { isCreatingANewPlaylist = false }, @@ -116,9 +116,9 @@ fun HomePlaylists( .background(colorPalette.background0) ) { item(key = "header", contentType = 0, span = { GridItemSpan(maxLineSpan) }) { - Header(title = "Playlists") { + Header(title = "Плейлисты") { SecondaryTextButton( - text = "New playlist", + text = "Новый плейлист", onClick = { isCreatingANewPlaylist = true } ) @@ -164,7 +164,7 @@ fun HomePlaylists( PlaylistItem( icon = R.drawable.heart, colorTint = colorPalette.red, - name = "Favorites", + name = "Любимые", songCount = null, thumbnailSizeDp = thumbnailSizeDp, alternative = true, @@ -178,7 +178,7 @@ fun HomePlaylists( PlaylistItem( icon = R.drawable.airplane, colorTint = colorPalette.blue, - name = "Offline", + name = "Сохранённые", songCount = null, thumbnailSizeDp = thumbnailSizeDp, alternative = true, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeScreen.kt similarity index 67% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeScreen.kt index 6dedb89..92aa3a6 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeScreen.kt @@ -1,41 +1,41 @@ -package it.vfsfitvnm.vimusic.ui.screens.home +package it.hamy.muza.ui.screens.home import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.runtime.Composable import androidx.compose.runtime.saveable.rememberSaveableStateHolder import androidx.compose.ui.platform.LocalContext -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.compose.routing.defaultStacking -import it.vfsfitvnm.compose.routing.defaultStill -import it.vfsfitvnm.compose.routing.defaultUnstacking -import it.vfsfitvnm.compose.routing.isStacking -import it.vfsfitvnm.compose.routing.isUnknown -import it.vfsfitvnm.compose.routing.isUnstacking -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.SearchQuery -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.screens.albumRoute -import it.vfsfitvnm.vimusic.ui.screens.artistRoute -import it.vfsfitvnm.vimusic.ui.screens.builtInPlaylistRoute -import it.vfsfitvnm.vimusic.ui.screens.builtinplaylist.BuiltInPlaylistScreen -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes -import it.vfsfitvnm.vimusic.ui.screens.localPlaylistRoute -import it.vfsfitvnm.vimusic.ui.screens.localplaylist.LocalPlaylistScreen -import it.vfsfitvnm.vimusic.ui.screens.playlistRoute -import it.vfsfitvnm.vimusic.ui.screens.search.SearchScreen -import it.vfsfitvnm.vimusic.ui.screens.searchResultRoute -import it.vfsfitvnm.vimusic.ui.screens.searchRoute -import it.vfsfitvnm.vimusic.ui.screens.searchresult.SearchResultScreen -import it.vfsfitvnm.vimusic.ui.screens.settings.SettingsScreen -import it.vfsfitvnm.vimusic.ui.screens.settingsRoute -import it.vfsfitvnm.vimusic.utils.homeScreenTabIndexKey -import it.vfsfitvnm.vimusic.utils.pauseSearchHistoryKey -import it.vfsfitvnm.vimusic.utils.preferences -import it.vfsfitvnm.vimusic.utils.rememberPreference +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.routing.RouteHandler +import it.hamy.compose.routing.defaultStacking +import it.hamy.compose.routing.defaultStill +import it.hamy.compose.routing.defaultUnstacking +import it.hamy.compose.routing.isStacking +import it.hamy.compose.routing.isUnknown +import it.hamy.compose.routing.isUnstacking +import it.hamy.muza.Database +import it.hamy.muza.R +import it.hamy.muza.models.SearchQuery +import it.hamy.muza.query +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.screens.albumRoute +import it.hamy.muza.ui.screens.artistRoute +import it.hamy.muza.ui.screens.builtInPlaylistRoute +import it.hamy.muza.ui.screens.builtinplaylist.BuiltInPlaylistScreen +import it.hamy.muza.ui.screens.globalRoutes +import it.hamy.muza.ui.screens.localPlaylistRoute +import it.hamy.muza.ui.screens.localplaylist.LocalPlaylistScreen +import it.hamy.muza.ui.screens.playlistRoute +import it.hamy.muza.ui.screens.search.SearchScreen +import it.hamy.muza.ui.screens.searchResultRoute +import it.hamy.muza.ui.screens.searchRoute +import it.hamy.muza.ui.screens.searchresult.SearchResultScreen +import it.hamy.muza.ui.screens.settings.SettingsScreen +import it.hamy.muza.ui.screens.settingsRoute +import it.hamy.muza.utils.homeScreenTabIndexKey +import it.hamy.muza.utils.pauseSearchHistoryKey +import it.hamy.muza.utils.preferences +import it.hamy.muza.utils.rememberPreference @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -119,11 +119,11 @@ fun HomeScreen(onPlaylistUrl: (String) -> Unit) { tabIndex = tabIndex, onTabChanged = onTabChanged, tabColumnContent = { Item -> - Item(0, "Quick picks", R.drawable.sparkles) - Item(1, "Songs", R.drawable.musical_notes) - Item(2, "Playlists", R.drawable.playlist) - Item(3, "Artists", R.drawable.person) - Item(4, "Albums", R.drawable.disc) + Item(0, "Обзор", R.drawable.sparkles) + Item(1, "Песни", R.drawable.musical_notes) + Item(2, "Плейлисты", R.drawable.playlist) + Item(3, "Исполнители", R.drawable.person) + Item(4, "Альбомы", R.drawable.disc) } ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(key = currentTabIndex) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongs.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeSongs.kt similarity index 82% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongs.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeSongs.kt index c0f6ebb..fb1913f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongs.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/HomeSongs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.home +package it.hamy.muza.ui.screens.home import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.LinearEasing @@ -31,33 +31,33 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persistList -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.enums.SongSortBy -import it.vfsfitvnm.vimusic.enums.SortOrder -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.components.themed.InHistoryMediaItemMenu -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.onOverlay -import it.vfsfitvnm.vimusic.ui.styling.overlay -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.songSortByKey -import it.vfsfitvnm.vimusic.utils.songSortOrderKey +import it.hamy.compose.persist.persistList +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.enums.SongSortBy +import it.hamy.muza.enums.SortOrder +import it.hamy.muza.models.Song +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.components.themed.InHistoryMediaItemMenu +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.onOverlay +import it.hamy.muza.ui.styling.overlay +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.center +import it.hamy.muza.utils.color +import it.hamy.muza.utils.forcePlayAtIndex +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.songSortByKey +import it.hamy.muza.utils.songSortOrderKey @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -102,7 +102,7 @@ fun HomeSongs( key = "header", contentType = 0 ) { - Header(title = "Songs") { + Header(title = "Песни") { HeaderIconButton( icon = R.drawable.trending, color = if (sortBy == SongSortBy.PlayTime) colorPalette.text else colorPalette.textDisabled, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/QuickPicks.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/QuickPicks.kt similarity index 87% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/QuickPicks.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/home/QuickPicks.kt index 37f6ff6..83e5822 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/QuickPicks.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/home/QuickPicks.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.home +package it.hamy.muza.ui.screens.home import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -38,41 +38,41 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.innertube.models.bodies.NextBody -import it.vfsfitvnm.innertube.requests.relatedPage -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.ShimmerHost -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.items.AlbumItem -import it.vfsfitvnm.vimusic.ui.items.AlbumItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.ArtistItem -import it.vfsfitvnm.vimusic.ui.items.ArtistItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.PlaylistItem -import it.vfsfitvnm.vimusic.ui.items.PlaylistItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.SnapLayoutInfoProvider -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.forcePlay -import it.vfsfitvnm.vimusic.utils.isLandscape -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold +import it.hamy.compose.persist.persist +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.innertube.models.bodies.NextBody +import it.hamy.innertube.requests.relatedPage +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.Song +import it.hamy.muza.query +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.ShimmerHost +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.items.AlbumItem +import it.hamy.muza.ui.items.AlbumItemPlaceholder +import it.hamy.muza.ui.items.ArtistItem +import it.hamy.muza.ui.items.ArtistItemPlaceholder +import it.hamy.muza.ui.items.PlaylistItem +import it.hamy.muza.ui.items.PlaylistItemPlaceholder +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.SnapLayoutInfoProvider +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.center +import it.hamy.muza.utils.forcePlay +import it.hamy.muza.utils.isLandscape +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold import kotlinx.coroutines.flow.distinctUntilChanged @ExperimentalFoundationApi @@ -152,7 +152,7 @@ fun QuickPicks( ) ) { Header( - title = "Quick picks", + title = "Обзор", modifier = Modifier .padding(endPaddingValues) ) @@ -248,7 +248,7 @@ fun QuickPicks( related.albums?.let { albums -> BasicText( - text = "Related albums", + text = "Похожие альбомы", style = typography.m.semiBold, modifier = sectionTextModifier ) @@ -272,7 +272,7 @@ fun QuickPicks( related.artists?.let { artists -> BasicText( - text = "Similar artists", + text = "Похожие исполнители", style = typography.m.semiBold, modifier = sectionTextModifier ) @@ -296,7 +296,7 @@ fun QuickPicks( related.playlists?.let { playlists -> BasicText( - text = "Playlists you might like", + text = "Плейлисты, которые вам понравятся", style = typography.m.semiBold, modifier = Modifier .padding(horizontal = 16.dp) @@ -323,7 +323,7 @@ fun QuickPicks( Unit } ?: relatedPageResult?.exceptionOrNull()?.let { BasicText( - text = "An error has occurred", + text = "Упс, тут какая-то ошЫбочка...", style = typography.s.secondary.center, modifier = Modifier .align(Alignment.CenterHorizontally) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/localplaylist/LocalPlaylistScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/localplaylist/LocalPlaylistScreen.kt similarity index 77% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/localplaylist/LocalPlaylistScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/localplaylist/LocalPlaylistScreen.kt index 8df4f82..11118a0 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/localplaylist/LocalPlaylistScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/localplaylist/LocalPlaylistScreen.kt @@ -1,14 +1,14 @@ -package it.vfsfitvnm.vimusic.ui.screens.localplaylist +package it.hamy.muza.ui.screens.localplaylist import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.runtime.Composable import androidx.compose.runtime.saveable.rememberSaveableStateHolder -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.R +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.screens.globalRoutes @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -28,7 +28,7 @@ fun LocalPlaylistScreen(playlistId: Long) { tabIndex = 0, onTabChanged = { }, tabColumnContent = { Item -> - Item(0, "Songs", R.drawable.musical_notes) + Item(0, "Песни", R.drawable.musical_notes) } ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(currentTabIndex) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/localplaylist/LocalPlaylistSongs.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/localplaylist/LocalPlaylistSongs.kt similarity index 81% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/localplaylist/LocalPlaylistSongs.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/localplaylist/LocalPlaylistSongs.kt index ad18145..943e63f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/localplaylist/LocalPlaylistSongs.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/localplaylist/LocalPlaylistSongs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.localplaylist +package it.hamy.muza.ui.screens.localplaylist import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -23,44 +23,44 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.requests.playlistPage -import it.vfsfitvnm.compose.reordering.ReorderingLazyColumn -import it.vfsfitvnm.compose.reordering.animateItemPlacement -import it.vfsfitvnm.compose.reordering.draggedItem -import it.vfsfitvnm.compose.reordering.rememberReorderingState -import it.vfsfitvnm.compose.reordering.reorder -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.PlaylistWithSongs -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.models.SongPlaylistMap -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.transaction -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.themed.ConfirmationDialog -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.components.themed.IconButton -import it.vfsfitvnm.vimusic.ui.components.themed.InPlaylistMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.Menu -import it.vfsfitvnm.vimusic.ui.components.themed.MenuEntry -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.components.themed.TextFieldDialog -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.completed -import it.vfsfitvnm.vimusic.utils.enqueue -import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex -import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning +import it.hamy.compose.persist.persist +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.requests.playlistPage +import it.hamy.compose.reordering.ReorderingLazyColumn +import it.hamy.compose.reordering.animateItemPlacement +import it.hamy.compose.reordering.draggedItem +import it.hamy.compose.reordering.rememberReorderingState +import it.hamy.compose.reordering.reorder +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.PlaylistWithSongs +import it.hamy.muza.models.Song +import it.hamy.muza.models.SongPlaylistMap +import it.hamy.muza.query +import it.hamy.muza.transaction +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.themed.ConfirmationDialog +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.components.themed.IconButton +import it.hamy.muza.ui.components.themed.InPlaylistMediaItemMenu +import it.hamy.muza.ui.components.themed.Menu +import it.hamy.muza.ui.components.themed.MenuEntry +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.components.themed.TextFieldDialog +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.completed +import it.hamy.muza.utils.enqueue +import it.hamy.muza.utils.forcePlayAtIndex +import it.hamy.muza.utils.forcePlayFromBeginning import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.filterNotNull import kotlinx.coroutines.runBlocking @@ -102,7 +102,7 @@ fun LocalPlaylistSongs( if (isRenaming) { TextFieldDialog( - hintText = "Enter the playlist name", + hintText = "Введите название плейлиста", initialTextInput = playlistWithSongs?.playlist?.name ?: "", onDismiss = { isRenaming = false }, onDone = { text -> @@ -119,7 +119,7 @@ fun LocalPlaylistSongs( if (isDeleting) { ConfirmationDialog( - text = "Do you really want to delete this playlist?", + text = "Вы реально хотите удалить этот плейлист?", onDismiss = { isDeleting = false }, onConfirm = { query { @@ -149,7 +149,7 @@ fun LocalPlaylistSongs( contentType = 0 ) { Header( - title = playlistWithSongs?.playlist?.name ?: "Unknown", + title = playlistWithSongs?.playlist?.name ?: "Неизвестный", modifier = Modifier .padding(bottom = 8.dp) ) { @@ -179,7 +179,7 @@ fun LocalPlaylistSongs( playlistWithSongs?.playlist?.browseId?.let { browseId -> MenuEntry( icon = R.drawable.sync, - text = "Sync", + text = "Синхр.", onClick = { menuState.hide() transaction { @@ -210,7 +210,7 @@ fun LocalPlaylistSongs( MenuEntry( icon = R.drawable.pencil, - text = "Rename", + text = "Переименовать", onClick = { menuState.hide() isRenaming = true @@ -219,7 +219,7 @@ fun LocalPlaylistSongs( MenuEntry( icon = R.drawable.trash, - text = "Delete", + text = "Удалить", onClick = { menuState.hide() isDeleting = true diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Controls.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Controls.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Controls.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/player/Controls.kt index f5ccd35..c49d80f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Controls.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Controls.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.player +package it.hamy.muza.ui.screens.player import androidx.compose.animation.core.LinearEasing import androidx.compose.animation.core.animateDp @@ -35,23 +35,23 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.media3.common.C import androidx.media3.common.Player -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.SeekBar -import it.vfsfitvnm.vimusic.ui.components.themed.IconButton -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.favoritesIcon -import it.vfsfitvnm.vimusic.utils.bold -import it.vfsfitvnm.vimusic.utils.forceSeekToNext -import it.vfsfitvnm.vimusic.utils.forceSeekToPrevious -import it.vfsfitvnm.vimusic.utils.formatAsDuration -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.trackLoopEnabledKey +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.Song +import it.hamy.muza.query +import it.hamy.muza.ui.components.SeekBar +import it.hamy.muza.ui.components.themed.IconButton +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.favoritesIcon +import it.hamy.muza.utils.bold +import it.hamy.muza.utils.forceSeekToNext +import it.hamy.muza.utils.forceSeekToPrevious +import it.hamy.muza.utils.formatAsDuration +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.trackLoopEnabledKey import kotlinx.coroutines.flow.distinctUntilChanged @Composable diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Lyrics.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Lyrics.kt similarity index 87% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Lyrics.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/player/Lyrics.kt index b0d7665..c02e2b6 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Lyrics.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Lyrics.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.player +package it.hamy.muza.ui.screens.player import android.app.SearchManager import android.content.ActivityNotFoundException @@ -49,32 +49,32 @@ import androidx.compose.ui.unit.dp import androidx.media3.common.C import androidx.media3.common.MediaMetadata import com.valentinilk.shimmer.shimmer -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.NextBody -import it.vfsfitvnm.innertube.requests.lyrics -import it.vfsfitvnm.kugou.KuGou -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Lyrics -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.themed.Menu -import it.vfsfitvnm.vimusic.ui.components.themed.MenuEntry -import it.vfsfitvnm.vimusic.ui.components.themed.TextFieldDialog -import it.vfsfitvnm.vimusic.ui.components.themed.TextPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.DefaultDarkColorPalette -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.PureBlackColorPalette -import it.vfsfitvnm.vimusic.ui.styling.onOverlayShimmer -import it.vfsfitvnm.vimusic.utils.SynchronizedLyrics -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.isShowingSynchronizedLyricsKey -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.toast -import it.vfsfitvnm.vimusic.utils.verticalFadingEdge +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.NextBody +import it.hamy.innertube.requests.lyrics +import it.hamy.kugou.KuGou +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.Lyrics +import it.hamy.muza.query +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.themed.Menu +import it.hamy.muza.ui.components.themed.MenuEntry +import it.hamy.muza.ui.components.themed.TextFieldDialog +import it.hamy.muza.ui.components.themed.TextPlaceholder +import it.hamy.muza.ui.styling.DefaultDarkColorPalette +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.PureBlackColorPalette +import it.hamy.muza.ui.styling.onOverlayShimmer +import it.hamy.muza.utils.SynchronizedLyrics +import it.hamy.muza.utils.center +import it.hamy.muza.utils.color +import it.hamy.muza.utils.isShowingSynchronizedLyricsKey +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.toast +import it.hamy.muza.utils.verticalFadingEdge import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.isActive @@ -169,7 +169,7 @@ fun Lyrics( if (isEditing) { TextFieldDialog( - hintText = "Enter the lyrics", + hintText = "Введите текст песни", initialTextInput = text ?: "", singleLine = false, maxLines = 10, @@ -218,7 +218,7 @@ fun Lyrics( .align(Alignment.TopCenter) ) { BasicText( - text = "An error has occurred while fetching the ${if (isShowingSynchronizedLyrics) "synchronized " else ""}lyrics", + text = "Произошла ошибка при синхронизации ${if (isShowingSynchronizedLyrics) "синхронизирован " else ""}текст песни", style = typography.xs.center.medium.color(PureBlackColorPalette.text), modifier = Modifier .background(Color.Black.copy(0.4f)) @@ -235,7 +235,7 @@ fun Lyrics( .align(Alignment.TopCenter) ) { BasicText( - text = "${if (isShowingSynchronizedLyrics) "Synchronized l" else "L"}yrics are not available for this song", + text = "${if (isShowingSynchronizedLyrics) "Синхронизирован текст" else "Т"}екст песни не доступен", style = typography.xs.center.medium.color(PureBlackColorPalette.text), modifier = Modifier .background(Color.Black.copy(0.4f)) @@ -334,8 +334,8 @@ fun Lyrics( Menu { MenuEntry( icon = R.drawable.time, - text = "Show ${if (isShowingSynchronizedLyrics) "un" else ""}synchronized lyrics", - secondaryText = if (isShowingSynchronizedLyrics) null else "Provided by kugou.com", + text = "Показать ${if (isShowingSynchronizedLyrics) "не" else ""}синхронизированный текст", + secondaryText = if (isShowingSynchronizedLyrics) null else "при помощи kugou.com", onClick = { menuState.hide() isShowingSynchronizedLyrics = @@ -345,7 +345,7 @@ fun Lyrics( MenuEntry( icon = R.drawable.pencil, - text = "Edit lyrics", + text = "Изменить текст песни", onClick = { menuState.hide() isEditing = true @@ -354,7 +354,7 @@ fun Lyrics( MenuEntry( icon = R.drawable.search, - text = "Search lyrics online", + text = "Искать текст в интернете", onClick = { menuState.hide() val mediaMetadata = mediaMetadataProvider() @@ -364,19 +364,19 @@ fun Lyrics( Intent(Intent.ACTION_WEB_SEARCH).apply { putExtra( SearchManager.QUERY, - "${mediaMetadata.title} ${mediaMetadata.artist} lyrics" + "${mediaMetadata.title} ${mediaMetadata.artist} текст песни" ) } ) } catch (e: ActivityNotFoundException) { - context.toast("Couldn't find an application to browse the Internet") + context.toast("На вашем смартфоне не установлен поисковик!") } } ) MenuEntry( icon = R.drawable.download, - text = "Fetch lyrics again", + text = "Обновить текст песни", enabled = lyrics != null, onClick = { menuState.hide() diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/PlaybackError.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/PlaybackError.kt similarity index 89% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/PlaybackError.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/player/PlaybackError.kt index a654e67..d8e2c03 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/PlaybackError.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/PlaybackError.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.player +package it.hamy.muza.ui.screens.player import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn @@ -20,11 +20,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.ui.styling.PureBlackColorPalette -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.medium +import it.hamy.muza.ui.styling.PureBlackColorPalette +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.center +import it.hamy.muza.utils.color +import it.hamy.muza.utils.medium @Composable fun PlaybackError( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Player.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Player.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Player.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/player/Player.kt index 12b6d10..55bda0f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Player.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Player.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.player +package it.hamy.muza.ui.screens.player import android.content.ActivityNotFoundException import android.content.Intent @@ -46,31 +46,31 @@ import androidx.compose.ui.unit.dp import androidx.media3.common.MediaItem import androidx.media3.common.Player import coil.compose.AsyncImage -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.compose.routing.OnGlobalRoute -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.service.PlayerService -import it.vfsfitvnm.vimusic.ui.components.BottomSheet -import it.vfsfitvnm.vimusic.ui.components.BottomSheetState -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.rememberBottomSheetState -import it.vfsfitvnm.vimusic.ui.components.themed.BaseMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.IconButton -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.collapsedPlayerProgressBar -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.DisposableListener -import it.vfsfitvnm.vimusic.utils.forceSeekToNext -import it.vfsfitvnm.vimusic.utils.isLandscape -import it.vfsfitvnm.vimusic.utils.positionAndDurationState -import it.vfsfitvnm.vimusic.utils.seamlessPlay -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold -import it.vfsfitvnm.vimusic.utils.shouldBePlaying -import it.vfsfitvnm.vimusic.utils.thumbnail -import it.vfsfitvnm.vimusic.utils.toast +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.compose.routing.OnGlobalRoute +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.service.PlayerService +import it.hamy.muza.ui.components.BottomSheet +import it.hamy.muza.ui.components.BottomSheetState +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.rememberBottomSheetState +import it.hamy.muza.ui.components.themed.BaseMediaItemMenu +import it.hamy.muza.ui.components.themed.IconButton +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.collapsedPlayerProgressBar +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.DisposableListener +import it.hamy.muza.utils.forceSeekToNext +import it.hamy.muza.utils.isLandscape +import it.hamy.muza.utils.positionAndDurationState +import it.hamy.muza.utils.seamlessPlay +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold +import it.hamy.muza.utils.shouldBePlaying +import it.hamy.muza.utils.thumbnail +import it.hamy.muza.utils.toast import kotlin.math.absoluteValue @ExperimentalFoundationApi @@ -404,7 +404,7 @@ private fun PlayerMenu( } ) } catch (e: ActivityNotFoundException) { - context.toast("Couldn't find an application to equalize audio") + context.toast("На вашем смартфоне не найдено эквалайзера") } }, onShowSleepTimer = {}, diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Queue.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Queue.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Queue.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/player/Queue.kt index 912bcf1..027caf2 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Queue.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Queue.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.player +package it.hamy.muza.ui.screens.player import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContentScope @@ -53,34 +53,34 @@ import androidx.media3.common.MediaItem import androidx.media3.common.Player import androidx.media3.common.Timeline import com.valentinilk.shimmer.shimmer -import it.vfsfitvnm.compose.reordering.ReorderingLazyColumn -import it.vfsfitvnm.compose.reordering.animateItemPlacement -import it.vfsfitvnm.compose.reordering.draggedItem -import it.vfsfitvnm.compose.reordering.rememberReorderingState -import it.vfsfitvnm.compose.reordering.reorder -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.BottomSheet -import it.vfsfitvnm.vimusic.ui.components.BottomSheetState -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.MusicBars -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.IconButton -import it.vfsfitvnm.vimusic.ui.components.themed.QueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.onOverlay -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.DisposableListener -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.queueLoopEnabledKey -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.shouldBePlaying -import it.vfsfitvnm.vimusic.utils.shuffleQueue -import it.vfsfitvnm.vimusic.utils.smoothScrollToTop -import it.vfsfitvnm.vimusic.utils.windows +import it.hamy.compose.reordering.ReorderingLazyColumn +import it.hamy.compose.reordering.animateItemPlacement +import it.hamy.compose.reordering.draggedItem +import it.hamy.compose.reordering.rememberReorderingState +import it.hamy.compose.reordering.reorder +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.ui.components.BottomSheet +import it.hamy.muza.ui.components.BottomSheetState +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.MusicBars +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.IconButton +import it.hamy.muza.ui.components.themed.QueuedMediaItemMenu +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.onOverlay +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.DisposableListener +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.queueLoopEnabledKey +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.shouldBePlaying +import it.hamy.muza.utils.shuffleQueue +import it.hamy.muza.utils.smoothScrollToTop +import it.hamy.muza.utils.windows import kotlinx.coroutines.launch @ExperimentalFoundationApi @@ -331,7 +331,7 @@ fun Queue( .height(64.dp) ) { BasicText( - text = "${windows.size} songs", + text = "${windows.size} песни", style = typography.xxs.medium, modifier = Modifier .background( @@ -361,7 +361,7 @@ fun Queue( .animateContentSize() ) { BasicText( - text = "Queue loop ", + text = "Повтор очереди ", style = typography.xxs.medium, ) @@ -377,7 +377,7 @@ fun Queue( } ) { BasicText( - text = if (it) "on" else "off", + text = if (it) "ВКЛ." else "ВЫКЛ.", style = typography.xxs.medium, ) } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/StatsForNerds.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/StatsForNerds.kt similarity index 93% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/StatsForNerds.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/player/StatsForNerds.kt index cf54c5c..12881c1 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/StatsForNerds.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/StatsForNerds.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.player +package it.hamy.muza.ui.screens.player import android.text.format.Formatter import androidx.compose.animation.AnimatedVisibility @@ -27,17 +27,17 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.media3.datasource.cache.Cache import androidx.media3.datasource.cache.CacheSpan -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.PlayerBody -import it.vfsfitvnm.innertube.requests.player -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.models.Format -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.onOverlay -import it.vfsfitvnm.vimusic.ui.styling.overlay -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.medium +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.PlayerBody +import it.hamy.innertube.requests.player +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.models.Format +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.onOverlay +import it.hamy.muza.ui.styling.overlay +import it.hamy.muza.utils.color +import it.hamy.muza.utils.medium import kotlin.math.roundToInt import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Thumbnail.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Thumbnail.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Thumbnail.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/player/Thumbnail.kt index 2cc4e4d..914a963 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/player/Thumbnail.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/player/Thumbnail.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.player +package it.hamy.muza.ui.screens.player import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContentScope @@ -30,18 +30,18 @@ import androidx.media3.common.MediaItem import androidx.media3.common.PlaybackException import androidx.media3.common.Player import coil.compose.AsyncImage -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.service.LoginRequiredException -import it.vfsfitvnm.vimusic.service.PlayableFormatNotFoundException -import it.vfsfitvnm.vimusic.service.UnplayableException -import it.vfsfitvnm.vimusic.service.VideoIdMismatchException -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.currentWindow -import it.vfsfitvnm.vimusic.utils.DisposableListener -import it.vfsfitvnm.vimusic.utils.thumbnail +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.service.LoginRequiredException +import it.hamy.muza.service.PlayableFormatNotFoundException +import it.hamy.muza.service.UnplayableException +import it.hamy.muza.service.VideoIdMismatchException +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.currentWindow +import it.hamy.muza.utils.DisposableListener +import it.hamy.muza.utils.thumbnail import java.net.UnknownHostException import java.nio.channels.UnresolvedAddressException diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/playlist/PlaylistScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/playlist/PlaylistScreen.kt similarity index 75% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/playlist/PlaylistScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/playlist/PlaylistScreen.kt index c73ac9b..d9db75c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/playlist/PlaylistScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/playlist/PlaylistScreen.kt @@ -1,14 +1,14 @@ -package it.vfsfitvnm.vimusic.ui.screens.playlist +package it.hamy.muza.ui.screens.playlist import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.runtime.Composable import androidx.compose.runtime.saveable.rememberSaveableStateHolder -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.R +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.screens.globalRoutes @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -27,7 +27,7 @@ fun PlaylistScreen(browseId: String) { tabIndex = 0, onTabChanged = { }, tabColumnContent = { Item -> - Item(0, "Songs", R.drawable.musical_notes) + Item(0, "Песни", R.drawable.musical_notes) } ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(key = currentTabIndex) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/playlist/PlaylistSongList.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/playlist/PlaylistSongList.kt similarity index 80% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/playlist/PlaylistSongList.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/playlist/PlaylistSongList.kt index 08b8013..e055e2a 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/playlist/PlaylistSongList.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/playlist/PlaylistSongList.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.playlist +package it.hamy.muza.ui.screens.playlist import android.content.Intent import androidx.compose.animation.ExperimentalAnimationApi @@ -25,40 +25,40 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import com.valentinilk.shimmer.shimmer -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.requests.playlistPage -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.Playlist -import it.vfsfitvnm.vimusic.models.SongPlaylistMap -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.transaction -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.ShimmerHost -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderIconButton -import it.vfsfitvnm.vimusic.ui.components.themed.HeaderPlaceholder -import it.vfsfitvnm.vimusic.ui.components.themed.LayoutWithAdaptiveThumbnail -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.components.themed.TextFieldDialog -import it.vfsfitvnm.vimusic.ui.components.themed.adaptiveThumbnailContent -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.completed -import it.vfsfitvnm.vimusic.utils.enqueue -import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex -import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning -import it.vfsfitvnm.vimusic.utils.isLandscape +import it.hamy.compose.persist.persist +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.requests.playlistPage +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.models.Playlist +import it.hamy.muza.models.SongPlaylistMap +import it.hamy.muza.query +import it.hamy.muza.transaction +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.ShimmerHost +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.HeaderIconButton +import it.hamy.muza.ui.components.themed.HeaderPlaceholder +import it.hamy.muza.ui.components.themed.LayoutWithAdaptiveThumbnail +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.components.themed.TextFieldDialog +import it.hamy.muza.ui.components.themed.adaptiveThumbnailContent +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.completed +import it.hamy.muza.utils.enqueue +import it.hamy.muza.utils.forcePlayAtIndex +import it.hamy.muza.utils.forcePlayFromBeginning +import it.hamy.muza.utils.isLandscape import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -92,7 +92,7 @@ fun PlaylistSongList( if (isImportingPlaylist) { TextFieldDialog( - hintText = "Enter the playlist name", + hintText = "Введите название плейлиста", initialTextInput = playlistPage?.title ?: "", onDismiss = { isImportingPlaylist = false }, onDone = { text -> @@ -123,9 +123,9 @@ fun PlaylistSongList( .shimmer() ) } else { - Header(title = playlistPage?.title ?: "Unknown") { + Header(title = playlistPage?.title ?: "Неизвестный") { SecondaryTextButton( - text = "Enqueue", + text = "В очередь", enabled = playlistPage?.songsPage?.items?.isNotEmpty() == true, onClick = { playlistPage?.songsPage?.items?.map(Innertube.SongItem::asMediaItem)?.let { mediaItems -> diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearch.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/search/LocalSongSearch.kt similarity index 81% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearch.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/search/LocalSongSearch.kt index 4d32ea9..3e9fe42 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearch.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/search/LocalSongSearch.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.search +package it.hamy.muza.ui.screens.search import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -22,25 +22,25 @@ import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.style.TextAlign -import it.vfsfitvnm.compose.persist.persistList -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.models.Song -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.InHistoryMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.align -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.forcePlay -import it.vfsfitvnm.vimusic.utils.medium +import it.hamy.compose.persist.persistList +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.models.Song +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.InHistoryMediaItemMenu +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.align +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.forcePlay +import it.hamy.muza.utils.medium @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -95,7 +95,7 @@ fun LocalSongSearch( actionsContent = { if (textFieldValue.text.isNotEmpty()) { SecondaryTextButton( - text = "Clear", + text = "Очистить", onClick = { onTextFieldValueChanged(TextFieldValue()) } ) } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearch.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/search/OnlineSearch.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearch.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/search/OnlineSearch.kt index 5299ab1..c26f477 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearch.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/search/OnlineSearch.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.search +package it.hamy.muza.ui.screens.search import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.Image @@ -43,26 +43,26 @@ import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.core.net.toUri -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.compose.persist.persistList -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.SearchSuggestionsBody -import it.vfsfitvnm.innertube.requests.searchSuggestions -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.models.SearchQuery -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.SecondaryTextButton -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.align -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.medium -import it.vfsfitvnm.vimusic.utils.pauseSearchHistoryKey -import it.vfsfitvnm.vimusic.utils.preferences -import it.vfsfitvnm.vimusic.utils.secondary +import it.hamy.compose.persist.persist +import it.hamy.compose.persist.persistList +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.SearchSuggestionsBody +import it.hamy.innertube.requests.searchSuggestions +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.R +import it.hamy.muza.models.SearchQuery +import it.hamy.muza.query +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.SecondaryTextButton +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.align +import it.hamy.muza.utils.center +import it.hamy.muza.utils.medium +import it.hamy.muza.utils.pauseSearchHistoryKey +import it.hamy.muza.utils.preferences +import it.hamy.muza.utils.secondary import kotlinx.coroutines.delay import kotlinx.coroutines.flow.distinctUntilChanged @@ -160,7 +160,7 @@ fun OnlineSearch( val isAlbum = playlistId.startsWith("OLAK5uy_") SecondaryTextButton( - text = "View ${if (isAlbum) "album" else "playlist"}", + text = "Посмотреть ${if (isAlbum) "альбом" else "плейлист"}", onClick = { onViewPlaylist(textFieldValue.text) } ) } @@ -172,7 +172,7 @@ fun OnlineSearch( if (textFieldValue.text.isNotEmpty()) { SecondaryTextButton( - text = "Clear", + text = "Очистить", onClick = { onTextFieldValueChanged(TextFieldValue()) } ) } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/SearchScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/search/SearchScreen.kt similarity index 86% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/SearchScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/search/SearchScreen.kt index 49426c3..cb0f86b 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/SearchScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/search/SearchScreen.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.search +package it.hamy.muza.ui.screens.search import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.ExperimentalAnimationApi @@ -16,13 +16,13 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.secondary +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.R +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.screens.globalRoutes +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.secondary @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -66,7 +66,7 @@ fun SearchScreen( .align(Alignment.CenterEnd) ) { BasicText( - text = "Enter a name", + text = "Найти...", maxLines = 1, style = LocalAppearance.current.typography.xxl.secondary ) @@ -82,8 +82,8 @@ fun SearchScreen( tabIndex = tabIndex, onTabChanged = onTabChanged, tabColumnContent = { Item -> - Item(0, "Online", R.drawable.globe) - Item(1, "Library", R.drawable.library) + Item(0, "Онлайн", R.drawable.globe) + Item(1, "Библиотека", R.drawable.library) } ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(currentTabIndex) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemsPage.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/searchresult/ItemsPage.kt similarity index 88% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemsPage.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/searchresult/ItemsPage.kt index f2c26db..896416c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemsPage.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/searchresult/ItemsPage.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.searchresult +package it.hamy.muza.ui.screens.searchresult import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.layout.Box @@ -21,15 +21,15 @@ import androidx.compose.runtime.setValue import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.persist -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.utils.plus -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.ui.components.ShimmerHost -import it.vfsfitvnm.vimusic.ui.components.themed.FloatingActionsContainerWithScrollToTop -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.center -import it.vfsfitvnm.vimusic.utils.secondary +import it.hamy.compose.persist.persist +import it.hamy.innertube.Innertube +import it.hamy.innertube.utils.plus +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.ui.components.ShimmerHost +import it.hamy.muza.ui.components.themed.FloatingActionsContainerWithScrollToTop +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.center +import it.hamy.muza.utils.secondary import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -43,7 +43,7 @@ inline fun ItemsPage( modifier: Modifier = Modifier, initialPlaceholderCount: Int = 8, continuationPlaceholderCount: Int = 3, - emptyItemsText: String = "No items found", + emptyItemsText: String = "Ничего не нашлось", noinline itemsPageProvider: (suspend (String?) -> Result?>?)? = null, ) { val (_, typography) = LocalAppearance.current diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResultScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/searchresult/SearchResultScreen.kt similarity index 86% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResultScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/searchresult/SearchResultScreen.kt index 46266bb..7a14e87 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResultScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/searchresult/SearchResultScreen.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.searchresult +package it.hamy.muza.ui.screens.searchresult import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -11,40 +11,40 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.persist.PersistMapCleanup -import it.vfsfitvnm.compose.persist.persistMap -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.models.bodies.SearchBody -import it.vfsfitvnm.innertube.requests.searchPage -import it.vfsfitvnm.innertube.utils.from -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.LocalMenuState -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.components.themed.NonQueuedMediaItemMenu -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.items.AlbumItem -import it.vfsfitvnm.vimusic.ui.items.AlbumItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.ArtistItem -import it.vfsfitvnm.vimusic.ui.items.ArtistItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.PlaylistItem -import it.vfsfitvnm.vimusic.ui.items.PlaylistItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.SongItem -import it.vfsfitvnm.vimusic.ui.items.SongItemPlaceholder -import it.vfsfitvnm.vimusic.ui.items.VideoItem -import it.vfsfitvnm.vimusic.ui.items.VideoItemPlaceholder -import it.vfsfitvnm.vimusic.ui.screens.albumRoute -import it.vfsfitvnm.vimusic.ui.screens.artistRoute -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes -import it.vfsfitvnm.vimusic.ui.screens.playlistRoute -import it.vfsfitvnm.vimusic.ui.styling.Dimensions -import it.vfsfitvnm.vimusic.ui.styling.px -import it.vfsfitvnm.vimusic.utils.asMediaItem -import it.vfsfitvnm.vimusic.utils.forcePlay -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.searchResultScreenTabIndexKey +import it.hamy.compose.persist.PersistMapCleanup +import it.hamy.compose.persist.persistMap +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.models.bodies.SearchBody +import it.hamy.innertube.requests.searchPage +import it.hamy.innertube.utils.from +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.R +import it.hamy.muza.ui.components.LocalMenuState +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.components.themed.NonQueuedMediaItemMenu +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.items.AlbumItem +import it.hamy.muza.ui.items.AlbumItemPlaceholder +import it.hamy.muza.ui.items.ArtistItem +import it.hamy.muza.ui.items.ArtistItemPlaceholder +import it.hamy.muza.ui.items.PlaylistItem +import it.hamy.muza.ui.items.PlaylistItemPlaceholder +import it.hamy.muza.ui.items.SongItem +import it.hamy.muza.ui.items.SongItemPlaceholder +import it.hamy.muza.ui.items.VideoItem +import it.hamy.muza.ui.items.VideoItemPlaceholder +import it.hamy.muza.ui.screens.albumRoute +import it.hamy.muza.ui.screens.artistRoute +import it.hamy.muza.ui.screens.globalRoutes +import it.hamy.muza.ui.screens.playlistRoute +import it.hamy.muza.ui.styling.Dimensions +import it.hamy.muza.ui.styling.px +import it.hamy.muza.utils.asMediaItem +import it.hamy.muza.utils.forcePlay +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.searchResultScreenTabIndexKey @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -75,7 +75,7 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) { ) } - val emptyItemsText = "No results found. Please try a different query or category" + val emptyItemsText = "Ничего не нашлось" Scaffold( topIconButtonId = R.drawable.chevron_back, @@ -83,12 +83,12 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) { tabIndex = tabIndex, onTabChanged = onTabIndexChanges, tabColumnContent = { Item -> - Item(0, "Songs", R.drawable.musical_notes) - Item(1, "Albums", R.drawable.disc) - Item(2, "Artists", R.drawable.person) - Item(3, "Videos", R.drawable.film) - Item(4, "Playlists", R.drawable.playlist) - Item(5, "Featured", R.drawable.playlist) + Item(0, "Песни", R.drawable.musical_notes) + Item(1, "Альбомы", R.drawable.disc) + Item(2, "Исполнители", R.drawable.person) + Item(3, "Видео", R.drawable.film) + Item(4, "Плейлисты", R.drawable.playlist) + Item(5, "Рекомендации", R.drawable.playlist) } ) { tabIndex -> saveableStateHolder.SaveableStateProvider(tabIndex) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/About.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/About.kt similarity index 59% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/About.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/settings/About.kt index 8c52397..077f674 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/About.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/About.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.settings +package it.hamy.muza.ui.screens.settings import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.background @@ -14,11 +14,11 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalUriHandler -import it.vfsfitvnm.vimusic.BuildConfig -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.secondary +import it.hamy.muza.BuildConfig +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.secondary @ExperimentalAnimationApi @Composable @@ -37,40 +37,40 @@ fun About() { .asPaddingValues() ) ) { - Header(title = "About") { + Header(title = "Информация") { BasicText( - text = "v${BuildConfig.VERSION_NAME} by vfsfitvnm", + text = "v${BuildConfig.VERSION_NAME} by Hamy", style = typography.s.secondary ) } - SettingsEntryGroupText(title = "SOCIAL") + SettingsEntryGroupText(title = "СОЦИАЛЬНОЕ") SettingsEntry( title = "GitHub", - text = "View the source code", + text = "Посмотреть исходный код", onClick = { - uriHandler.openUri("https://github.com/vfsfitvnm/ViMusic") + uriHandler.openUri("https://github.com/hammsterr/muza") + } + ) + + SettingsEntry( + title = "Новости", + text = "Следите за новостями в группе ВКонтакте", + onClick = { + uriHandler.openUri("https://vk.com/hamyack") } ) SettingsGroupSpacer() - SettingsEntryGroupText(title = "TROUBLESHOOTING") + SettingsEntryGroupText(title = "ДИАГНОСТИКА") SettingsEntry( - title = "Report an issue", - text = "You will be redirected to GitHub", + title = "Тех. поддержка", + text = "Сообщайте об ошибках или пожеланиях", onClick = { - uriHandler.openUri("https://github.com/vfsfitvnm/ViMusic/issues/new?assignees=&labels=bug&template=bug_report.yaml") - } - ) - - SettingsEntry( - title = "Request a feature or suggest an idea", - text = "You will be redirected to GitHub", - onClick = { - uriHandler.openUri("https://github.com/vfsfitvnm/ViMusic/issues/new?assignees=&labels=enhancement&template=feature_request.yaml") + uriHandler.openUri("https://hamyack.pages.dev") } ) } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettings.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/AppearanceSettings.kt similarity index 60% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettings.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/settings/AppearanceSettings.kt index c684cf9..915877a 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettings.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/AppearanceSettings.kt @@ -1,5 +1,8 @@ -package it.vfsfitvnm.vimusic.ui.screens.settings +package it.hamy.muza.ui.screens.settings +import android.app.AlertDialog +import android.content.ComponentName +import android.content.pm.PackageManager import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.background import androidx.compose.foundation.border @@ -18,20 +21,23 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.enums.ColorPaletteMode -import it.vfsfitvnm.vimusic.enums.ColorPaletteName -import it.vfsfitvnm.vimusic.enums.ThumbnailRoundness -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.applyFontPaddingKey -import it.vfsfitvnm.vimusic.utils.colorPaletteModeKey -import it.vfsfitvnm.vimusic.utils.colorPaletteNameKey -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid13 -import it.vfsfitvnm.vimusic.utils.isShowingThumbnailInLockscreenKey -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.thumbnailRoundnessKey -import it.vfsfitvnm.vimusic.utils.useSystemFontKey +import androidx.core.content.ContextCompat +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.enums.ColorPaletteMode +import it.hamy.muza.enums.ColorPaletteName +import it.hamy.muza.enums.ThumbnailRoundness +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.applyFontPaddingKey +import it.hamy.muza.utils.colorPaletteModeKey +import it.hamy.muza.utils.colorPaletteNameKey +import it.hamy.muza.utils.isAtLeastAndroid13 +import it.hamy.muza.utils.isShowingThumbnailInLockscreenKey +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.thumbnailRoundnessKey +import it.hamy.muza.utils.useSystemFontKey +import it.hamy.muza.* + @ExperimentalAnimationApi @Composable @@ -49,6 +55,7 @@ fun AppearanceSettings() { var isShowingThumbnailInLockscreen by rememberPreference( isShowingThumbnailInLockscreenKey, false + ) Column( @@ -62,18 +69,18 @@ fun AppearanceSettings() { .asPaddingValues() ) ) { - Header(title = "Appearance") + Header(title = "Внешний Вид") - SettingsEntryGroupText(title = "COLORS") + SettingsEntryGroupText(title = "ЦВЕТА") EnumValueSelectorSettingsEntry( - title = "Theme", + title = "Цвет темы", selectedValue = colorPaletteName, onValueSelected = { colorPaletteName = it } ) EnumValueSelectorSettingsEntry( - title = "Theme mode", + title = "Ночная тема", selectedValue = colorPaletteMode, isEnabled = colorPaletteName != ColorPaletteName.PureBlack, onValueSelected = { colorPaletteMode = it } @@ -81,17 +88,24 @@ fun AppearanceSettings() { SettingsGroupSpacer() - SettingsEntryGroupText(title = "SHAPES") + SettingsEntryGroupText(title = "ФОРМЫ") EnumValueSelectorSettingsEntry( - title = "Thumbnail roundness", + title = "Скругление", selectedValue = thumbnailRoundness, onValueSelected = { thumbnailRoundness = it }, trailingContent = { Spacer( modifier = Modifier - .border(width = 1.dp, color = colorPalette.accent, shape = thumbnailRoundness.shape()) - .background(color = colorPalette.background1, shape = thumbnailRoundness.shape()) + .border( + width = 1.dp, + color = colorPalette.accent, + shape = thumbnailRoundness.shape() + ) + .background( + color = colorPalette.background1, + shape = thumbnailRoundness.shape() + ) .size(36.dp) ) } @@ -99,18 +113,18 @@ fun AppearanceSettings() { SettingsGroupSpacer() - SettingsEntryGroupText(title = "TEXT") + SettingsEntryGroupText(title = "ТЕКСТ") SwitchSettingEntry( - title = "Use system font", - text = "Use the font applied by the system", + title = "Системный шрифт", + text = "Использовать системный шрифт", isChecked = useSystemFont, onCheckedChange = { useSystemFont = it } ) SwitchSettingEntry( - title = "Apply font padding", - text = "Add spacing around texts", + title = "Заполнение шрифта", + text = "Увеличить пробелы текста", isChecked = applyFontPadding, onCheckedChange = { applyFontPadding = it } ) @@ -118,14 +132,16 @@ fun AppearanceSettings() { if (!isAtLeastAndroid13) { SettingsGroupSpacer() - SettingsEntryGroupText(title = "LOCKSCREEN") + SettingsEntryGroupText(title = "ЭКРАН БЛОКИРОВКИ") SwitchSettingEntry( - title = "Show song cover", - text = "Use the playing song cover as the lockscreen wallpaper", + title = "Показывать обложку", + text = "Использовать обложку в качестве обоев экрана блокировки", isChecked = isShowingThumbnailInLockscreen, onCheckedChange = { isShowingThumbnailInLockscreen = it } ) } } } + + diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettings.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/CacheSettings.kt similarity index 73% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettings.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/settings/CacheSettings.kt index 8ab6714..4b950e8 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettings.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/CacheSettings.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.settings +package it.hamy.muza.ui.screens.settings import android.text.format.Formatter import androidx.compose.animation.ExperimentalAnimationApi @@ -20,15 +20,15 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import coil.Coil import coil.annotation.ExperimentalCoilApi -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.enums.CoilDiskCacheMaxSize -import it.vfsfitvnm.vimusic.enums.ExoPlayerDiskCacheMaxSize -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.coilDiskCacheMaxSizeKey -import it.vfsfitvnm.vimusic.utils.exoPlayerDiskCacheMaxSizeKey -import it.vfsfitvnm.vimusic.utils.rememberPreference +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.enums.CoilDiskCacheMaxSize +import it.hamy.muza.enums.ExoPlayerDiskCacheMaxSize +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.coilDiskCacheMaxSizeKey +import it.hamy.muza.utils.exoPlayerDiskCacheMaxSizeKey +import it.hamy.muza.utils.rememberPreference @OptIn(ExperimentalCoilApi::class) @ExperimentalAnimationApi @@ -58,9 +58,9 @@ fun CacheSettings() { .asPaddingValues() ) ) { - Header(title = "Cache") + Header(title = "Кэш") - SettingsDescription(text = "When the cache runs out of space, the resources that haven't been accessed for the longest time are cleared") + SettingsDescription(text = "Когда в кэше заканчивается свободное место, очищаются ресурсы, которые давно не используются.") Coil.imageLoader(context).diskCache?.let { diskCache -> val diskCacheSize = remember(diskCache) { @@ -69,7 +69,7 @@ fun CacheSettings() { SettingsGroupSpacer() - SettingsEntryGroupText(title = "IMAGE CACHE") + SettingsEntryGroupText(title = "КЭШ КАРТИНОК") SettingsDescription( text = "${ @@ -77,11 +77,11 @@ fun CacheSettings() { context, diskCacheSize ) - } used (${diskCacheSize * 100 / coilDiskCacheMaxSize.bytes.coerceAtLeast(1)}%)" + } использовано (${diskCacheSize * 100 / coilDiskCacheMaxSize.bytes.coerceAtLeast(1)}%)" ) EnumValueSelectorSettingsEntry( - title = "Max size", + title = "Максимальный размер", selectedValue = coilDiskCacheMaxSize, onValueSelected = { coilDiskCacheMaxSize = it } ) @@ -96,12 +96,12 @@ fun CacheSettings() { SettingsGroupSpacer() - SettingsEntryGroupText(title = "SONG CACHE") + SettingsEntryGroupText(title = "КЭШ ПЕСЕН") SettingsDescription( text = buildString { append(Formatter.formatShortFileSize(context, diskCacheSize)) - append(" used") + append(" использовано") when (val size = exoPlayerDiskCacheMaxSize) { ExoPlayerDiskCacheMaxSize.Unlimited -> {} else -> append(" (${diskCacheSize * 100 / size.bytes}%)") @@ -110,7 +110,7 @@ fun CacheSettings() { ) EnumValueSelectorSettingsEntry( - title = "Max size", + title = "Максимальный размер", selectedValue = exoPlayerDiskCacheMaxSize, onValueSelected = { exoPlayerDiskCacheMaxSize = it } ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/DatabaseSettings.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/DatabaseSettings.kt similarity index 70% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/DatabaseSettings.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/settings/DatabaseSettings.kt index fe0c892..9f09014 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/DatabaseSettings.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/DatabaseSettings.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.settings +package it.hamy.muza.ui.screens.settings import android.annotation.SuppressLint import android.content.ActivityNotFoundException @@ -20,16 +20,16 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.internal -import it.vfsfitvnm.vimusic.path -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.service.PlayerService -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.intent -import it.vfsfitvnm.vimusic.utils.toast +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.internal +import it.hamy.muza.path +import it.hamy.muza.query +import it.hamy.muza.service.PlayerService +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.intent +import it.hamy.muza.utils.toast import java.io.FileInputStream import java.io.FileOutputStream import java.text.SimpleDateFormat @@ -94,16 +94,16 @@ fun DatabaseSettings() { .asPaddingValues() ) ) { - Header(title = "Database") + Header(title = "Данные") - SettingsEntryGroupText(title = "CLEANUP") + SettingsEntryGroupText(title = "ОЧИСТИТЬ") SettingsEntry( - title = "Reset quick picks", + title = "Очистить воспроизведения", text = if (eventsCount > 0) { - "Delete $eventsCount playback events" + "Удалить $eventsCount событий воспроизведения" } else { - "Quick picks are cleared" + "Воспроизведения были удалены!" }, isEnabled = eventsCount > 0, onClick = { query(Database::clearEvents) } @@ -111,34 +111,34 @@ fun DatabaseSettings() { SettingsGroupSpacer() - SettingsEntryGroupText(title = "BACKUP") + SettingsEntryGroupText(title = "БЭКАП") - SettingsDescription(text = "Personal preferences (i.e. the theme mode) and the cache are excluded.") + SettingsDescription(text = "Личные настройки (ночная тема и т.д.) и кэш исключаются") SettingsEntry( - title = "Backup", - text = "Export the database to the external storage", + title = "Бэкап", + text = "Экспорт данных в локальное хранилище", onClick = { @SuppressLint("SimpleDateFormat") val dateFormat = SimpleDateFormat("yyyyMMddHHmmss") try { - backupLauncher.launch("vimusic_${dateFormat.format(Date())}.db") + backupLauncher.launch("muza_${dateFormat.format(Date())}.db") } catch (e: ActivityNotFoundException) { - context.toast("Couldn't find an application to create documents") + context.toast("не найдено приложения для создания документов") } } ) SettingsGroupSpacer() - SettingsEntryGroupText(title = "RESTORE") + SettingsEntryGroupText(title = "ВОССТАНОВЛЕНИЕ") - ImportantSettingsDescription(text = "Existing data will be overwritten.\n${context.applicationInfo.nonLocalizedLabel} will automatically close itself after restoring the database.") + ImportantSettingsDescription(text = "Существующие настройки будут перезаписаны.\n${context.applicationInfo.nonLocalizedLabel} Будет перезапушена.") SettingsEntry( - title = "Restore", - text = "Import the database from the external storage", + title = "Восстановить", + text = "импорт данных из локального хранилища", onClick = { try { restoreLauncher.launch( @@ -149,7 +149,7 @@ fun DatabaseSettings() { ) ) } catch (e: ActivityNotFoundException) { - context.toast("Couldn't find an application to open documents") + context.toast("не найдено приложения для открытия документов") } } ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettings.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/OtherSettings.kt similarity index 70% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettings.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/settings/OtherSettings.kt index 769fd87..4ffbca7 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettings.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/OtherSettings.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.settings +package it.hamy.muza.ui.screens.settings import android.annotation.SuppressLint import android.content.ActivityNotFoundException @@ -28,19 +28,19 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import it.vfsfitvnm.vimusic.Database -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.query -import it.vfsfitvnm.vimusic.service.PlayerMediaBrowserService -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid12 -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid6 -import it.vfsfitvnm.vimusic.utils.isIgnoringBatteryOptimizations -import it.vfsfitvnm.vimusic.utils.isInvincibilityEnabledKey -import it.vfsfitvnm.vimusic.utils.pauseSearchHistoryKey -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.toast +import it.hamy.muza.Database +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.query +import it.hamy.muza.service.PlayerMediaBrowserService +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.isAtLeastAndroid12 +import it.hamy.muza.utils.isAtLeastAndroid6 +import it.hamy.muza.utils.isIgnoringBatteryOptimizations +import it.hamy.muza.utils.isInvincibilityEnabledKey +import it.hamy.muza.utils.pauseSearchHistoryKey +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.toast import kotlinx.coroutines.flow.distinctUntilChanged @SuppressLint("BatteryLife") @@ -98,36 +98,36 @@ fun OtherSettings() { .asPaddingValues() ) ) { - Header(title = "Other") + Header(title = "Другое") - SettingsEntryGroupText(title = "ANDROID AUTO") + SettingsEntryGroupText(title = "АНДРОИД АВТО") - SettingsDescription(text = "Remember to enable \"Unknown sources\" in the Developer Settings of Android Auto.") + SettingsDescription(text = "Включите опцию \"неизвестные источники\" в настройках разработчика в Андроид Авто.") SwitchSettingEntry( title = "Android Auto", - text = "Enable Android Auto support", + text = "Включить поддержку Андроид Авто", isChecked = isAndroidAutoEnabled, onCheckedChange = { isAndroidAutoEnabled = it } ) SettingsGroupSpacer() - SettingsEntryGroupText(title = "SEARCH HISTORY") + SettingsEntryGroupText(title = "ИСТОРИЯ ПОИСКА") SwitchSettingEntry( - title = "Pause search history", - text = "Neither save new searched queries nor show history", + title = "Приостановить историю", + text = "Не сохранять историю поиска", isChecked = pauseSearchHistory, onCheckedChange = { pauseSearchHistory = it } ) SettingsEntry( - title = "Clear search history", + title = "Очистить историю поиска", text = if (queriesCount > 0) { - "Delete $queriesCount search queries" + "Удалить $queriesCount поисковых запросов" } else { - "History is empty" + "История чиста" }, isEnabled = queriesCount > 0, onClick = { query(Database::clearQueries) } @@ -135,21 +135,21 @@ fun OtherSettings() { SettingsGroupSpacer() - SettingsEntryGroupText(title = "SERVICE LIFETIME") + SettingsEntryGroupText(title = "ОПТИМИЗАЦИЯ БАТАРЕИ") - ImportantSettingsDescription(text = "If battery optimizations are applied, the playback notification can suddenly disappear when paused.") + ImportantSettingsDescription(text = "Если включена экономия батареи, воспроизведение может внезапно остановиться!") if (isAtLeastAndroid12) { - SettingsDescription(text = "Since Android 12, disabling battery optimizations is required for the \"Invincible service\" option to take effect.") + SettingsDescription(text = "Android 12+: Обязательно отключите экономию батареи, прежде чем включать опцию \"Invincible service\"!") } SettingsEntry( - title = "Ignore battery optimizations", + title = "Игнор. экономии батареи ", isEnabled = !isIgnoringBatteryOptimizations, text = if (isIgnoringBatteryOptimizations) { - "Already unrestricted" + "Уже игнорируется" } else { - "Disable background restrictions" + "Отключить остановку приложения в фоне" }, onClick = { if (!isAtLeastAndroid6) return@SettingsEntry @@ -166,7 +166,7 @@ fun OtherSettings() { Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS) ) } catch (e: ActivityNotFoundException) { - context.toast("Couldn't find battery optimization settings, please whitelist ViMusic manually") + context.toast("не найдено настроек батареи! Добавьте приложение в белый список вручную") } } } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettings.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/PlayerSettings.kt similarity index 69% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettings.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/settings/PlayerSettings.kt index 375cbf8..a20f00e 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettings.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/PlayerSettings.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.settings +package it.hamy.muza.ui.screens.settings import android.content.ActivityNotFoundException import android.content.Intent @@ -20,17 +20,17 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import it.vfsfitvnm.vimusic.LocalPlayerAwareWindowInsets -import it.vfsfitvnm.vimusic.LocalPlayerServiceBinder -import it.vfsfitvnm.vimusic.ui.components.themed.Header -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.isAtLeastAndroid6 -import it.vfsfitvnm.vimusic.utils.persistentQueueKey -import it.vfsfitvnm.vimusic.utils.rememberPreference -import it.vfsfitvnm.vimusic.utils.resumePlaybackWhenDeviceConnectedKey -import it.vfsfitvnm.vimusic.utils.skipSilenceKey -import it.vfsfitvnm.vimusic.utils.toast -import it.vfsfitvnm.vimusic.utils.volumeNormalizationKey +import it.hamy.muza.LocalPlayerAwareWindowInsets +import it.hamy.muza.LocalPlayerServiceBinder +import it.hamy.muza.ui.components.themed.Header +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.isAtLeastAndroid6 +import it.hamy.muza.utils.persistentQueueKey +import it.hamy.muza.utils.rememberPreference +import it.hamy.muza.utils.resumePlaybackWhenDeviceConnectedKey +import it.hamy.muza.utils.skipSilenceKey +import it.hamy.muza.utils.toast +import it.hamy.muza.utils.volumeNormalizationKey @ExperimentalAnimationApi @Composable @@ -61,13 +61,13 @@ fun PlayerSettings() { .asPaddingValues() ) ) { - Header(title = "Player & Audio") + Header(title = "Плеер и Аудио") - SettingsEntryGroupText(title = "PLAYER") + SettingsEntryGroupText(title = "Плеер") SwitchSettingEntry( - title = "Persistent queue", - text = "Save and restore playing songs", + title = "Постоянная очередь", + text = "Сохранение и восстановление воспроизводимых песен", isChecked = persistentQueue, onCheckedChange = { persistentQueue = it @@ -76,8 +76,8 @@ fun PlayerSettings() { if (isAtLeastAndroid6) { SwitchSettingEntry( - title = "Resume playback", - text = "When a wired or bluetooth device is connected", + title = "Возобновление музыки", + text = "При подключении bluetooth устройств", isChecked = resumePlaybackWhenDeviceConnected, onCheckedChange = { resumePlaybackWhenDeviceConnected = it @@ -87,11 +87,11 @@ fun PlayerSettings() { SettingsGroupSpacer() - SettingsEntryGroupText(title = "AUDIO") + SettingsEntryGroupText(title = "АУДИО") SwitchSettingEntry( - title = "Skip silence", - text = "Skip silent parts during playback", + title = "Пропускать тишину", + text = "Пропускать тихие фрагменты песен", isChecked = skipSilence, onCheckedChange = { skipSilence = it @@ -99,8 +99,8 @@ fun PlayerSettings() { ) SwitchSettingEntry( - title = "Loudness normalization", - text = "Adjust the volume to a fixed level", + title = "Нормализация звука", + text = "Фиксированный уровень громкости", isChecked = volumeNormalization, onCheckedChange = { volumeNormalization = it @@ -108,8 +108,8 @@ fun PlayerSettings() { ) SettingsEntry( - title = "Equalizer", - text = "Interact with the system equalizer", + title = "Эквалайзер", + text = "Открыть системный эквалайзер", onClick = { val intent = Intent(AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL).apply { putExtra(AudioEffect.EXTRA_AUDIO_SESSION, binder?.player?.audioSessionId) @@ -120,7 +120,7 @@ fun PlayerSettings() { try { activityResultLauncher.launch(intent) } catch (e: ActivityNotFoundException) { - context.toast("Couldn't find an application to equalize audio") + context.toast("не найден эквалайзер") } } ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/SettingsScreen.kt b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/SettingsScreen.kt similarity index 88% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/SettingsScreen.kt rename to app/src/main/kotlin/it/hamy/muza/ui/screens/settings/SettingsScreen.kt index aa67bdb..710c6ad 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/SettingsScreen.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/screens/settings/SettingsScreen.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.screens.settings +package it.hamy.muza.ui.screens.settings import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi @@ -22,16 +22,16 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.unit.dp -import it.vfsfitvnm.compose.routing.RouteHandler -import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold -import it.vfsfitvnm.vimusic.ui.components.themed.Switch -import it.vfsfitvnm.vimusic.ui.components.themed.ValueSelectorDialog -import it.vfsfitvnm.vimusic.ui.screens.globalRoutes -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance -import it.vfsfitvnm.vimusic.utils.color -import it.vfsfitvnm.vimusic.utils.secondary -import it.vfsfitvnm.vimusic.utils.semiBold +import it.hamy.compose.routing.RouteHandler +import it.hamy.muza.R +import it.hamy.muza.ui.components.themed.Scaffold +import it.hamy.muza.ui.components.themed.Switch +import it.hamy.muza.ui.components.themed.ValueSelectorDialog +import it.hamy.muza.ui.screens.globalRoutes +import it.hamy.muza.ui.styling.LocalAppearance +import it.hamy.muza.utils.color +import it.hamy.muza.utils.secondary +import it.hamy.muza.utils.semiBold @ExperimentalFoundationApi @ExperimentalAnimationApi @@ -53,12 +53,12 @@ fun SettingsScreen() { tabIndex = tabIndex, onTabChanged = onTabChanged, tabColumnContent = { Item -> - Item(0, "Appearance", R.drawable.color_palette) - Item(1, "Player", R.drawable.play) - Item(2, "Cache", R.drawable.server) - Item(3, "Database", R.drawable.server) - Item(4, "Other", R.drawable.shapes) - Item(5, "About", R.drawable.information) + Item(0, "Вид", R.drawable.color_palette) + Item(1, "Плеер", R.drawable.play) + Item(2, "Кэш", R.drawable.server) + Item(3, "Данные", R.drawable.server) + Item(4, "Другое", R.drawable.shapes) + Item(5, "Инфо", R.drawable.information) } ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(currentTabIndex) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Appearance.kt b/app/src/main/kotlin/it/hamy/muza/ui/styling/Appearance.kt similarity index 94% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Appearance.kt rename to app/src/main/kotlin/it/hamy/muza/ui/styling/Appearance.kt index 42fa241..9d92dc1 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Appearance.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/styling/Appearance.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.styling +package it.hamy.muza.ui.styling import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.saveable.Saver @@ -30,6 +30,7 @@ data class Appearance( RoundedCornerShape(2.dp) -> 2 RoundedCornerShape(4.dp) -> 4 RoundedCornerShape(8.dp) -> 8 + RoundedCornerShape(16.dp) -> 16 else -> 0 } ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/ColorPalette.kt b/app/src/main/kotlin/it/hamy/muza/ui/styling/ColorPalette.kt similarity index 97% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/ColorPalette.kt rename to app/src/main/kotlin/it/hamy/muza/ui/styling/ColorPalette.kt index 84cf6b2..40b67d6 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/ColorPalette.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/styling/ColorPalette.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.styling +package it.hamy.muza.ui.styling import android.graphics.Bitmap import androidx.compose.runtime.Immutable @@ -8,8 +8,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb import androidx.core.graphics.ColorUtils import androidx.palette.graphics.Palette -import it.vfsfitvnm.vimusic.enums.ColorPaletteMode -import it.vfsfitvnm.vimusic.enums.ColorPaletteName +import it.hamy.muza.enums.ColorPaletteMode +import it.hamy.muza.enums.ColorPaletteName @Immutable data class ColorPalette( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Dimensions.kt b/app/src/main/kotlin/it/hamy/muza/ui/styling/Dimensions.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Dimensions.kt rename to app/src/main/kotlin/it/hamy/muza/ui/styling/Dimensions.kt index e6b6004..3186430 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Dimensions.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/styling/Dimensions.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.styling +package it.hamy.muza.ui.styling import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalConfiguration diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Typography.kt b/app/src/main/kotlin/it/hamy/muza/ui/styling/Typography.kt similarity index 97% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Typography.kt rename to app/src/main/kotlin/it/hamy/muza/ui/styling/Typography.kt index 1c1faa1..8f2530c 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/styling/Typography.kt +++ b/app/src/main/kotlin/it/hamy/muza/ui/styling/Typography.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.ui.styling +package it.hamy.muza.ui.styling import androidx.compose.runtime.Immutable import androidx.compose.runtime.saveable.Saver @@ -10,7 +10,7 @@ import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.sp -import it.vfsfitvnm.vimusic.R +import it.hamy.muza.R @Immutable data class Typography( diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Configuration.kt b/app/src/main/kotlin/it/hamy/muza/utils/Configuration.kt similarity index 90% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Configuration.kt rename to app/src/main/kotlin/it/hamy/muza/utils/Configuration.kt index 6011a8f..50e5dfd 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Configuration.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/Configuration.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import android.content.res.Configuration import androidx.compose.runtime.Composable diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Context.kt b/app/src/main/kotlin/it/hamy/muza/utils/Context.kt similarity index 97% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Context.kt rename to app/src/main/kotlin/it/hamy/muza/utils/Context.kt index 04ee2b3..a1356f2 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Context.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/Context.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import android.app.Activity import android.app.PendingIntent diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/DrawScope.kt b/app/src/main/kotlin/it/hamy/muza/utils/DrawScope.kt similarity index 96% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/DrawScope.kt rename to app/src/main/kotlin/it/hamy/muza/utils/DrawScope.kt index 0e62796..440cdf8 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/DrawScope.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/DrawScope.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.* diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/FadingEdge.kt b/app/src/main/kotlin/it/hamy/muza/utils/FadingEdge.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/FadingEdge.kt rename to app/src/main/kotlin/it/hamy/muza/utils/FadingEdge.kt index 8d79e5d..583399f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/FadingEdge.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/FadingEdge.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.ui.Modifier import androidx.compose.ui.draw.drawWithContent diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/InvincibleService.kt b/app/src/main/kotlin/it/hamy/muza/utils/InvincibleService.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/InvincibleService.kt rename to app/src/main/kotlin/it/hamy/muza/utils/InvincibleService.kt index acfcd27..17e43c9 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/InvincibleService.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/InvincibleService.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import android.app.Notification import android.app.Service diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/LazyGridSnapLayoutInfoProvider.kt b/app/src/main/kotlin/it/hamy/muza/utils/LazyGridSnapLayoutInfoProvider.kt similarity index 98% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/LazyGridSnapLayoutInfoProvider.kt rename to app/src/main/kotlin/it/hamy/muza/utils/LazyGridSnapLayoutInfoProvider.kt index 2fc20ba..ef45f39 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/LazyGridSnapLayoutInfoProvider.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/LazyGridSnapLayoutInfoProvider.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.gestures.Orientation diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Player.kt b/app/src/main/kotlin/it/hamy/muza/utils/Player.kt similarity index 98% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Player.kt rename to app/src/main/kotlin/it/hamy/muza/utils/Player.kt index db99676..429d916 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Player.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/Player.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.media3.common.C import androidx.media3.common.MediaItem diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/PlayerState.kt b/app/src/main/kotlin/it/hamy/muza/utils/PlayerState.kt similarity index 98% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/PlayerState.kt rename to app/src/main/kotlin/it/hamy/muza/utils/PlayerState.kt index 6229dcb..1880b8f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/PlayerState.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/PlayerState.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Preferences.kt b/app/src/main/kotlin/it/hamy/muza/utils/Preferences.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Preferences.kt rename to app/src/main/kotlin/it/hamy/muza/utils/Preferences.kt index d97ef52..0693dc3 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Preferences.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/Preferences.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import android.content.Context import android.content.SharedPreferences diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/RingBuffer.kt b/app/src/main/kotlin/it/hamy/muza/utils/RingBuffer.kt similarity index 88% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/RingBuffer.kt rename to app/src/main/kotlin/it/hamy/muza/utils/RingBuffer.kt index 6d403fc..dac9c69 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/RingBuffer.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/RingBuffer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils class RingBuffer(val size: Int, init: (index: Int) -> T) { private val list = MutableList(size, init) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/ScrollingInfo.kt b/app/src/main/kotlin/it/hamy/muza/utils/ScrollingInfo.kt similarity index 98% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/ScrollingInfo.kt rename to app/src/main/kotlin/it/hamy/muza/utils/ScrollingInfo.kt index 6d0f521..5a404ba 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/ScrollingInfo.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/ScrollingInfo.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.foundation.ScrollState import androidx.compose.foundation.lazy.LazyListState diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/SmoothScrollToTop.kt b/app/src/main/kotlin/it/hamy/muza/utils/SmoothScrollToTop.kt similarity index 64% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/SmoothScrollToTop.kt rename to app/src/main/kotlin/it/hamy/muza/utils/SmoothScrollToTop.kt index 02a75ff..6b4fb16 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/SmoothScrollToTop.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/SmoothScrollToTop.kt @@ -1,13 +1,7 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.grid.LazyGridState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.derivedStateOf -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue suspend fun LazyGridState.smoothScrollToTop() { if (firstVisibleItemIndex > layoutInfo.visibleItemsInfo.size) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/SynchronizedLyrics.kt b/app/src/main/kotlin/it/hamy/muza/utils/SynchronizedLyrics.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/SynchronizedLyrics.kt rename to app/src/main/kotlin/it/hamy/muza/utils/SynchronizedLyrics.kt index d7dc6ef..1ed8554 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/SynchronizedLyrics.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/SynchronizedLyrics.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/TextStyle.kt b/app/src/main/kotlin/it/hamy/muza/utils/TextStyle.kt similarity index 92% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/TextStyle.kt rename to app/src/main/kotlin/it/hamy/muza/utils/TextStyle.kt index b8638de..95abb15 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/TextStyle.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/TextStyle.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.compose.runtime.Composable import androidx.compose.runtime.ReadOnlyComposable @@ -7,7 +7,7 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign -import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance +import it.hamy.muza.ui.styling.LocalAppearance fun TextStyle.style(style: FontStyle) = copy(fontStyle = style) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/TimerJob.kt b/app/src/main/kotlin/it/hamy/muza/utils/TimerJob.kt similarity index 96% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/TimerJob.kt rename to app/src/main/kotlin/it/hamy/muza/utils/TimerJob.kt index 381743a..ce5d4bc 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/TimerJob.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/TimerJob.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.delay diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Utils.kt b/app/src/main/kotlin/it/hamy/muza/utils/Utils.kt similarity index 93% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Utils.kt rename to app/src/main/kotlin/it/hamy/muza/utils/Utils.kt index d6562d1..cf5beef 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/Utils.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/Utils.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import android.net.Uri import android.os.Build @@ -7,11 +7,11 @@ import androidx.core.net.toUri import androidx.core.os.bundleOf import androidx.media3.common.MediaItem import androidx.media3.common.MediaMetadata -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.requests.playlistPage -import it.vfsfitvnm.innertube.utils.plus -import it.vfsfitvnm.vimusic.models.Song +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.requests.playlistPage +import it.hamy.innertube.utils.plus +import it.hamy.muza.models.Song val Innertube.SongItem.asMediaItem: MediaItem get() = MediaItem.Builder() diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/YoutubeRadio.kt b/app/src/main/kotlin/it/hamy/muza/utils/YoutubeRadio.kt similarity index 86% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/YoutubeRadio.kt rename to app/src/main/kotlin/it/hamy/muza/utils/YoutubeRadio.kt index 67f1746..27707a2 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/utils/YoutubeRadio.kt +++ b/app/src/main/kotlin/it/hamy/muza/utils/YoutubeRadio.kt @@ -1,10 +1,10 @@ -package it.vfsfitvnm.vimusic.utils +package it.hamy.muza.utils import androidx.media3.common.MediaItem -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.models.bodies.NextBody -import it.vfsfitvnm.innertube.requests.nextPage +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.models.bodies.NextBody +import it.hamy.innertube.requests.nextPage import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/logo.png b/app/src/main/logo.png new file mode 100644 index 0000000..7ffbb4a Binary files /dev/null and b/app/src/main/logo.png differ diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 7005cb8..036d09b 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,6 +1,5 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index 7005cb8..036d09b 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,6 +1,5 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 7bf4509..0000000 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..55e632d Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..c8c9275 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 6d48837..0000000 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..25f6472 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 8929582..0000000 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000..6b8ba77 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..b37ca66 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index eb4f922..0000000 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..ad20e13 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 64ff0ac..0000000 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000..ee28e15 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..2b44f55 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 98ede10..0000000 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..cf4b9ff Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 93f9f8e..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000..aa00305 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..b9d2838 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 65b5510..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..a1f1620 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 891d1e0..0000000 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000..281042d Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..7bdeae1 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index f1494aa..0000000 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..3cb030b Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index cc7e329..5f9e09d 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,5 +1,4 @@ - #4046bf #ffffff diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 0000000..fef3d10 --- /dev/null +++ b/app/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #EFE0FF + \ No newline at end of file diff --git a/compose-persist/build.gradle.kts b/compose-persist/build.gradle.kts index ac8ccf6..6365389 100644 --- a/compose-persist/build.gradle.kts +++ b/compose-persist/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } android { - namespace = "it.vfsfitvnm.compose.persist" + namespace = "it.hamy.compose.persist" compileSdk = 33 defaultConfig { diff --git a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/Persist.kt b/compose-persist/src/main/kotlin/it/hamy/compose/persist/Persist.kt similarity index 95% rename from compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/Persist.kt rename to compose-persist/src/main/kotlin/it/hamy/compose/persist/Persist.kt index 65eb114..ded6d72 100644 --- a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/Persist.kt +++ b/compose-persist/src/main/kotlin/it/hamy/compose/persist/Persist.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.persist +package it.hamy.compose.persist import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState diff --git a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMap.kt b/compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMap.kt similarity index 55% rename from compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMap.kt rename to compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMap.kt index 2cb0b5c..13e6762 100644 --- a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMap.kt +++ b/compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMap.kt @@ -1,3 +1,3 @@ -package it.vfsfitvnm.compose.persist +package it.hamy.compose.persist typealias PersistMap = HashMap diff --git a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMapCleanup.kt b/compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMapCleanup.kt similarity index 93% rename from compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMapCleanup.kt rename to compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMapCleanup.kt index c236622..02c2c55 100644 --- a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMapCleanup.kt +++ b/compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMapCleanup.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.persist +package it.hamy.compose.persist import android.app.Activity import androidx.compose.runtime.Composable diff --git a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMapOwner.kt b/compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMapOwner.kt similarity index 62% rename from compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMapOwner.kt rename to compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMapOwner.kt index a6bec64..b07413f 100644 --- a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/PersistMapOwner.kt +++ b/compose-persist/src/main/kotlin/it/hamy/compose/persist/PersistMapOwner.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.persist +package it.hamy.compose.persist interface PersistMapOwner { val persistMap: PersistMap diff --git a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/Utils.kt b/compose-persist/src/main/kotlin/it/hamy/compose/persist/Utils.kt similarity index 91% rename from compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/Utils.kt rename to compose-persist/src/main/kotlin/it/hamy/compose/persist/Utils.kt index b91c4eb..e77129d 100644 --- a/compose-persist/src/main/kotlin/it/vfsfitvnm/compose/persist/Utils.kt +++ b/compose-persist/src/main/kotlin/it/hamy/compose/persist/Utils.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.persist +package it.hamy.compose.persist import android.content.Context import android.content.ContextWrapper diff --git a/compose-reordering/build.gradle.kts b/compose-reordering/build.gradle.kts index f2ae44b..4f01d5e 100644 --- a/compose-reordering/build.gradle.kts +++ b/compose-reordering/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } android { - namespace = "it.vfsfitvnm.compose.reordering" + namespace = "it.hamy.compose.reordering" compileSdk = 33 defaultConfig { diff --git a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/AnimatablesPool.kt b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/AnimatablesPool.kt similarity index 96% rename from compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/AnimatablesPool.kt rename to compose-reordering/src/main/kotlin/it/hamy/compose/reordering/AnimatablesPool.kt index f0a968c..074eb5c 100644 --- a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/AnimatablesPool.kt +++ b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/AnimatablesPool.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.reordering +package it.hamy.compose.reordering import androidx.compose.animation.core.Animatable import androidx.compose.animation.core.AnimationVector diff --git a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/AnimateItemPlacement.kt b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/AnimateItemPlacement.kt similarity index 89% rename from compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/AnimateItemPlacement.kt rename to compose-reordering/src/main/kotlin/it/hamy/compose/reordering/AnimateItemPlacement.kt index 69a3859..877061d 100644 --- a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/AnimateItemPlacement.kt +++ b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/AnimateItemPlacement.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.reordering +package it.hamy.compose.reordering import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.lazy.LazyItemScope diff --git a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/DraggedItem.kt b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/DraggedItem.kt similarity index 96% rename from compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/DraggedItem.kt rename to compose-reordering/src/main/kotlin/it/hamy/compose/reordering/DraggedItem.kt index d626e29..cf88a37 100644 --- a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/DraggedItem.kt +++ b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/DraggedItem.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.reordering +package it.hamy.compose.reordering import androidx.compose.foundation.gestures.Orientation import androidx.compose.foundation.layout.offset diff --git a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/Reorder.kt b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/Reorder.kt similarity index 97% rename from compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/Reorder.kt rename to compose-reordering/src/main/kotlin/it/hamy/compose/reordering/Reorder.kt index 7b7d591..bfdc9fa 100644 --- a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/Reorder.kt +++ b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/Reorder.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.reordering +package it.hamy.compose.reordering import androidx.compose.foundation.gestures.detectDragGestures import androidx.compose.foundation.gestures.detectDragGesturesAfterLongPress diff --git a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingLazyColumn.kt b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingLazyColumn.kt similarity index 97% rename from compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingLazyColumn.kt rename to compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingLazyColumn.kt index e970e7e..0eb1b73 100644 --- a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingLazyColumn.kt +++ b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingLazyColumn.kt @@ -1,6 +1,6 @@ @file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") -package it.vfsfitvnm.compose.reordering +package it.hamy.compose.reordering import androidx.compose.foundation.gestures.FlingBehavior import androidx.compose.foundation.gestures.ScrollableDefaults diff --git a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingLazyList.kt b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingLazyList.kt similarity index 99% rename from compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingLazyList.kt rename to compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingLazyList.kt index 8752a51..91f325a 100644 --- a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingLazyList.kt +++ b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingLazyList.kt @@ -1,6 +1,6 @@ @file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") -package it.vfsfitvnm.compose.reordering +package it.hamy.compose.reordering import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.OverscrollEffect diff --git a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingState.kt b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingState.kt similarity index 99% rename from compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingState.kt rename to compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingState.kt index 11f4dc9..8630c73 100644 --- a/compose-reordering/src/main/kotlin/it/vfsfitvnm/compose/reordering/ReorderingState.kt +++ b/compose-reordering/src/main/kotlin/it/hamy/compose/reordering/ReorderingState.kt @@ -1,6 +1,6 @@ @file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") -package it.vfsfitvnm.compose.reordering +package it.hamy.compose.reordering import androidx.compose.animation.core.Animatable import androidx.compose.animation.core.AnimationVector1D diff --git a/compose-routing/build.gradle.kts b/compose-routing/build.gradle.kts index b33472c..474e8be 100644 --- a/compose-routing/build.gradle.kts +++ b/compose-routing/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } android { - namespace = "it.vfsfitvnm.compose.routing" + namespace = "it.hamy.compose.routing" compileSdk = 33 defaultConfig { diff --git a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/GlobalRoute.kt b/compose-routing/src/main/kotlin/it/hamy/compose/routing/GlobalRoute.kt similarity index 91% rename from compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/GlobalRoute.kt rename to compose-routing/src/main/kotlin/it/hamy/compose/routing/GlobalRoute.kt index 920343b..c6a2d27 100644 --- a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/GlobalRoute.kt +++ b/compose-routing/src/main/kotlin/it/hamy/compose/routing/GlobalRoute.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.routing +package it.hamy.compose.routing import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect diff --git a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/Route.kt b/compose-routing/src/main/kotlin/it/hamy/compose/routing/Route.kt similarity index 98% rename from compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/Route.kt rename to compose-routing/src/main/kotlin/it/hamy/compose/routing/Route.kt index 5c6b02c..ad202cd 100644 --- a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/Route.kt +++ b/compose-routing/src/main/kotlin/it/hamy/compose/routing/Route.kt @@ -1,6 +1,6 @@ @file:Suppress("UNCHECKED_CAST") -package it.vfsfitvnm.compose.routing +package it.hamy.compose.routing import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable diff --git a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/RouteHandler.kt b/compose-routing/src/main/kotlin/it/hamy/compose/routing/RouteHandler.kt similarity index 98% rename from compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/RouteHandler.kt rename to compose-routing/src/main/kotlin/it/hamy/compose/routing/RouteHandler.kt index 212fd58..4a8df5f 100644 --- a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/RouteHandler.kt +++ b/compose-routing/src/main/kotlin/it/hamy/compose/routing/RouteHandler.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.routing +package it.hamy.compose.routing import androidx.activity.compose.BackHandler import androidx.activity.compose.LocalOnBackPressedDispatcherOwner diff --git a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/RouteHandlerScope.kt b/compose-routing/src/main/kotlin/it/hamy/compose/routing/RouteHandlerScope.kt similarity index 95% rename from compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/RouteHandlerScope.kt rename to compose-routing/src/main/kotlin/it/hamy/compose/routing/RouteHandlerScope.kt index 17429af..530177b 100644 --- a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/RouteHandlerScope.kt +++ b/compose-routing/src/main/kotlin/it/hamy/compose/routing/RouteHandlerScope.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.routing +package it.hamy.compose.routing import android.annotation.SuppressLint import androidx.compose.runtime.Composable diff --git a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/Transitions.kt b/compose-routing/src/main/kotlin/it/hamy/compose/routing/Transitions.kt similarity index 97% rename from compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/Transitions.kt rename to compose-routing/src/main/kotlin/it/hamy/compose/routing/Transitions.kt index 3be3f19..3a9781d 100644 --- a/compose-routing/src/main/kotlin/it/vfsfitvnm/compose/routing/Transitions.kt +++ b/compose-routing/src/main/kotlin/it/hamy/compose/routing/Transitions.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.compose.routing +package it.hamy.compose.routing import androidx.compose.animation.AnimatedContentScope import androidx.compose.animation.ContentTransform diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/Innertube.kt b/innertube/src/main/kotlin/it/hamy/innertube/Innertube.kt similarity index 97% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/Innertube.kt rename to innertube/src/main/kotlin/it/hamy/innertube/Innertube.kt index 2443610..4423765 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/Innertube.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/Innertube.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube +package it.hamy.innertube import io.ktor.client.HttpClient import io.ktor.client.engine.okhttp.OkHttp @@ -12,9 +12,9 @@ import io.ktor.client.request.header import io.ktor.http.ContentType import io.ktor.http.HttpHeaders import io.ktor.serialization.kotlinx.json.json -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.innertube.models.Runs -import it.vfsfitvnm.innertube.models.Thumbnail +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.innertube.models.Runs +import it.hamy.innertube.models.Thumbnail import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.json.Json diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/BrowseResponse.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/BrowseResponse.kt similarity index 97% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/BrowseResponse.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/BrowseResponse.kt index ef7e2f8..12253d8 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/BrowseResponse.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/BrowseResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ButtonRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/ButtonRenderer.kt similarity index 78% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ButtonRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/ButtonRenderer.kt index 12d8507..1ab2a8e 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ButtonRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/ButtonRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Context.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/Context.kt similarity index 97% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Context.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/Context.kt index 369d7f0..a29574e 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Context.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/Context.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Continuation.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/Continuation.kt similarity index 91% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Continuation.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/Continuation.kt index 61f8099..6850eff 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Continuation.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/Continuation.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ContinuationResponse.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/ContinuationResponse.kt similarity index 93% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ContinuationResponse.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/ContinuationResponse.kt index 9f321c3..44987ca 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ContinuationResponse.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/ContinuationResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/GetQueueResponse.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/GetQueueResponse.kt similarity index 87% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/GetQueueResponse.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/GetQueueResponse.kt index 02a3899..73f2c57 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/GetQueueResponse.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/GetQueueResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/GridRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/GridRenderer.kt similarity index 85% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/GridRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/GridRenderer.kt index 2a000cf..6535435 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/GridRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/GridRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicCarouselShelfRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicCarouselShelfRenderer.kt similarity index 96% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicCarouselShelfRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/MusicCarouselShelfRenderer.kt index f7f1d16..9bdf8a2 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicCarouselShelfRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicCarouselShelfRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicResponsiveListItemRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicResponsiveListItemRenderer.kt similarity index 95% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicResponsiveListItemRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/MusicResponsiveListItemRenderer.kt index bbd178e..9c83330 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicResponsiveListItemRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicResponsiveListItemRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicShelfRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicShelfRenderer.kt similarity index 97% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicShelfRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/MusicShelfRenderer.kt index 15e8659..31bf7eb 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicShelfRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicShelfRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicTwoRowItemRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicTwoRowItemRenderer.kt similarity index 86% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicTwoRowItemRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/MusicTwoRowItemRenderer.kt index 17f755d..4bd0f7a 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/MusicTwoRowItemRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/MusicTwoRowItemRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/NavigationEndpoint.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/NavigationEndpoint.kt similarity index 99% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/NavigationEndpoint.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/NavigationEndpoint.kt index 91efa5c..bd651f6 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/NavigationEndpoint.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/NavigationEndpoint.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/NextResponse.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/NextResponse.kt similarity index 98% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/NextResponse.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/NextResponse.kt index a165974..42a1176 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/NextResponse.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/NextResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/PlayerResponse.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/PlayerResponse.kt similarity index 97% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/PlayerResponse.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/PlayerResponse.kt index d913698..d63046c 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/PlayerResponse.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/PlayerResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/PlaylistPanelVideoRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/PlaylistPanelVideoRenderer.kt similarity index 89% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/PlaylistPanelVideoRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/PlaylistPanelVideoRenderer.kt index 6e0b497..1cffa18 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/PlaylistPanelVideoRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/PlaylistPanelVideoRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Runs.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/Runs.kt similarity index 95% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Runs.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/Runs.kt index c2a9463..c560180 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Runs.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/Runs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SearchResponse.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/SearchResponse.kt similarity index 69% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SearchResponse.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/SearchResponse.kt index c6b6d96..87f50ed 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SearchResponse.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/SearchResponse.kt @@ -1,6 +1,5 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models -import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SearchSuggestionsResponse.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/SearchSuggestionsResponse.kt similarity index 95% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SearchSuggestionsResponse.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/SearchSuggestionsResponse.kt index b61de04..d8f978d 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SearchSuggestionsResponse.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/SearchSuggestionsResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SectionListRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/SectionListRenderer.kt similarity index 95% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SectionListRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/SectionListRenderer.kt index 0d52b65..62fb3f3 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/SectionListRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/SectionListRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Tabs.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/Tabs.kt similarity index 93% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Tabs.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/Tabs.kt index ad4a3fb..c8e504b 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Tabs.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/Tabs.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Thumbnail.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/Thumbnail.kt similarity index 92% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Thumbnail.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/Thumbnail.kt index 7db4281..d64619f 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/Thumbnail.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/Thumbnail.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ThumbnailRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/ThumbnailRenderer.kt similarity index 81% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ThumbnailRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/ThumbnailRenderer.kt index 1153a4f..6730118 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/ThumbnailRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/ThumbnailRenderer.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.models +package it.hamy.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable @@ -16,7 +16,7 @@ data class ThumbnailRenderer( ) { @Serializable data class Thumbnail( - val thumbnails: List? + val thumbnails: List? ) } } diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/BrowseBody.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/BrowseBody.kt similarity index 67% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/BrowseBody.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/bodies/BrowseBody.kt index 7c35633..debb125 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/BrowseBody.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/BrowseBody.kt @@ -1,6 +1,6 @@ -package it.vfsfitvnm.innertube.models.bodies +package it.hamy.innertube.models.bodies -import it.vfsfitvnm.innertube.models.Context +import it.hamy.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/ContinuationBody.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/ContinuationBody.kt similarity index 64% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/ContinuationBody.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/bodies/ContinuationBody.kt index 946dd11..4786cff 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/ContinuationBody.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/ContinuationBody.kt @@ -1,6 +1,6 @@ -package it.vfsfitvnm.innertube.models.bodies +package it.hamy.innertube.models.bodies -import it.vfsfitvnm.innertube.models.Context +import it.hamy.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/NextBody.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/NextBody.kt similarity index 88% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/NextBody.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/bodies/NextBody.kt index d3f2bd8..075aa46 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/NextBody.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/NextBody.kt @@ -1,6 +1,6 @@ -package it.vfsfitvnm.innertube.models.bodies +package it.hamy.innertube.models.bodies -import it.vfsfitvnm.innertube.models.Context +import it.hamy.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/PlayerBody.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/PlayerBody.kt similarity index 68% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/PlayerBody.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/bodies/PlayerBody.kt index b09dd2f..71d1fe3 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/PlayerBody.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/PlayerBody.kt @@ -1,6 +1,6 @@ -package it.vfsfitvnm.innertube.models.bodies +package it.hamy.innertube.models.bodies -import it.vfsfitvnm.innertube.models.Context +import it.hamy.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/QueueBody.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/QueueBody.kt similarity index 69% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/QueueBody.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/bodies/QueueBody.kt index 2f9288c..86de51f 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/QueueBody.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/QueueBody.kt @@ -1,6 +1,6 @@ -package it.vfsfitvnm.innertube.models.bodies +package it.hamy.innertube.models.bodies -import it.vfsfitvnm.innertube.models.Context +import it.hamy.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/SearchBody.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/SearchBody.kt similarity index 66% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/SearchBody.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/bodies/SearchBody.kt index d21af57..f834398 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/SearchBody.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/SearchBody.kt @@ -1,6 +1,6 @@ -package it.vfsfitvnm.innertube.models.bodies +package it.hamy.innertube.models.bodies -import it.vfsfitvnm.innertube.models.Context +import it.hamy.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/SearchSuggestionsBody.kt b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/SearchSuggestionsBody.kt similarity index 64% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/SearchSuggestionsBody.kt rename to innertube/src/main/kotlin/it/hamy/innertube/models/bodies/SearchSuggestionsBody.kt index c0115e9..8fcdd62 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/models/bodies/SearchSuggestionsBody.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/models/bodies/SearchSuggestionsBody.kt @@ -1,6 +1,6 @@ -package it.vfsfitvnm.innertube.models.bodies +package it.hamy.innertube.models.bodies -import it.vfsfitvnm.innertube.models.Context +import it.hamy.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/AlbumPage.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/AlbumPage.kt similarity index 84% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/AlbumPage.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/AlbumPage.kt index 378f96b..0bf18b5 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/AlbumPage.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/AlbumPage.kt @@ -1,9 +1,9 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.http.Url -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.innertube.models.bodies.BrowseBody +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.innertube.models.bodies.BrowseBody suspend fun Innertube.albumPage(body: BrowseBody): Result? { return playlistPage(body)?.map { album -> diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/ArtistPage.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/ArtistPage.kt similarity index 87% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/ArtistPage.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/ArtistPage.kt index 7b59519..ebc50df 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/ArtistPage.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/ArtistPage.kt @@ -1,17 +1,17 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.BrowseResponse -import it.vfsfitvnm.innertube.models.MusicCarouselShelfRenderer -import it.vfsfitvnm.innertube.models.MusicShelfRenderer -import it.vfsfitvnm.innertube.models.SectionListRenderer -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.utils.findSectionByTitle -import it.vfsfitvnm.innertube.utils.from -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.BrowseResponse +import it.hamy.innertube.models.MusicCarouselShelfRenderer +import it.hamy.innertube.models.MusicShelfRenderer +import it.hamy.innertube.models.SectionListRenderer +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.utils.findSectionByTitle +import it.hamy.innertube.utils.from +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.artistPage(body: BrowseBody): Result? = runCatchingNonCancellable { diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/ItemsPage.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/ItemsPage.kt similarity index 85% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/ItemsPage.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/ItemsPage.kt index f4c17bd..1eebafd 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/ItemsPage.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/ItemsPage.kt @@ -1,18 +1,18 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.BrowseResponse -import it.vfsfitvnm.innertube.models.ContinuationResponse -import it.vfsfitvnm.innertube.models.GridRenderer -import it.vfsfitvnm.innertube.models.MusicResponsiveListItemRenderer -import it.vfsfitvnm.innertube.models.MusicShelfRenderer -import it.vfsfitvnm.innertube.models.MusicTwoRowItemRenderer -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.BrowseResponse +import it.hamy.innertube.models.ContinuationResponse +import it.hamy.innertube.models.GridRenderer +import it.hamy.innertube.models.MusicResponsiveListItemRenderer +import it.hamy.innertube.models.MusicShelfRenderer +import it.hamy.innertube.models.MusicTwoRowItemRenderer +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.itemsPage( body: BrowseBody, diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Lyrics.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/Lyrics.kt similarity index 76% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Lyrics.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/Lyrics.kt index a4c0615..6b23f96 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Lyrics.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/Lyrics.kt @@ -1,14 +1,14 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.BrowseResponse -import it.vfsfitvnm.innertube.models.NextResponse -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.models.bodies.NextBody -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.BrowseResponse +import it.hamy.innertube.models.NextResponse +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.models.bodies.NextBody +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.lyrics(body: NextBody): Result? = runCatchingNonCancellable { val nextResponse = client.post(next) { diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/NextPage.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/NextPage.kt similarity index 87% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/NextPage.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/NextPage.kt index edb84d0..8da1525 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/NextPage.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/NextPage.kt @@ -1,15 +1,15 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.ContinuationResponse -import it.vfsfitvnm.innertube.models.NextResponse -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.models.bodies.NextBody -import it.vfsfitvnm.innertube.utils.from -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.ContinuationResponse +import it.hamy.innertube.models.NextResponse +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.models.bodies.NextBody +import it.hamy.innertube.utils.from +import it.hamy.innertube.utils.runCatchingNonCancellable diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Player.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/Player.kt similarity index 88% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Player.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/Player.kt index d2fa6a4..23155ff 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Player.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/Player.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.get @@ -6,11 +6,11 @@ import io.ktor.client.request.post import io.ktor.client.request.setBody import io.ktor.http.ContentType import io.ktor.http.contentType -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.Context -import it.vfsfitvnm.innertube.models.PlayerResponse -import it.vfsfitvnm.innertube.models.bodies.PlayerBody -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.Context +import it.hamy.innertube.models.PlayerResponse +import it.hamy.innertube.models.bodies.PlayerBody +import it.hamy.innertube.utils.runCatchingNonCancellable import kotlinx.serialization.Serializable suspend fun Innertube.player(body: PlayerBody) = runCatchingNonCancellable { diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/PlaylistPage.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/PlaylistPage.kt similarity index 85% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/PlaylistPage.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/PlaylistPage.kt index a9824d3..43e25d5 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/PlaylistPage.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/PlaylistPage.kt @@ -1,17 +1,17 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.BrowseResponse -import it.vfsfitvnm.innertube.models.ContinuationResponse -import it.vfsfitvnm.innertube.models.MusicCarouselShelfRenderer -import it.vfsfitvnm.innertube.models.MusicShelfRenderer -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.utils.from -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.BrowseResponse +import it.hamy.innertube.models.ContinuationResponse +import it.hamy.innertube.models.MusicCarouselShelfRenderer +import it.hamy.innertube.models.MusicShelfRenderer +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.utils.from +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.playlistPage(body: BrowseBody) = runCatchingNonCancellable { val response = client.post(browse) { diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Queue.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/Queue.kt similarity index 71% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Queue.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/Queue.kt index 9ea86ea..d35365a 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/Queue.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/Queue.kt @@ -1,13 +1,13 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.GetQueueResponse -import it.vfsfitvnm.innertube.models.bodies.QueueBody -import it.vfsfitvnm.innertube.utils.from -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.GetQueueResponse +import it.hamy.innertube.models.bodies.QueueBody +import it.hamy.innertube.utils.from +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.queue(body: QueueBody) = runCatchingNonCancellable { val response = client.post(queue) { diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/RelatedPage.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/RelatedPage.kt similarity index 81% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/RelatedPage.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/RelatedPage.kt index 41d0b8e..14c6fda 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/RelatedPage.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/RelatedPage.kt @@ -1,18 +1,18 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.BrowseResponse -import it.vfsfitvnm.innertube.models.MusicCarouselShelfRenderer -import it.vfsfitvnm.innertube.models.NextResponse -import it.vfsfitvnm.innertube.models.bodies.BrowseBody -import it.vfsfitvnm.innertube.models.bodies.NextBody -import it.vfsfitvnm.innertube.utils.findSectionByStrapline -import it.vfsfitvnm.innertube.utils.findSectionByTitle -import it.vfsfitvnm.innertube.utils.from -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.BrowseResponse +import it.hamy.innertube.models.MusicCarouselShelfRenderer +import it.hamy.innertube.models.NextResponse +import it.hamy.innertube.models.bodies.BrowseBody +import it.hamy.innertube.models.bodies.NextBody +import it.hamy.innertube.utils.findSectionByStrapline +import it.hamy.innertube.utils.findSectionByTitle +import it.hamy.innertube.utils.from +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.relatedPage(body: NextBody) = runCatchingNonCancellable { val nextResponse = client.post(next) { diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/SearchPage.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/SearchPage.kt similarity index 80% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/SearchPage.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/SearchPage.kt index 6e57d28..f9db35b 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/SearchPage.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/SearchPage.kt @@ -1,15 +1,15 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.ContinuationResponse -import it.vfsfitvnm.innertube.models.MusicShelfRenderer -import it.vfsfitvnm.innertube.models.SearchResponse -import it.vfsfitvnm.innertube.models.bodies.ContinuationBody -import it.vfsfitvnm.innertube.models.bodies.SearchBody -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.ContinuationResponse +import it.hamy.innertube.models.MusicShelfRenderer +import it.hamy.innertube.models.SearchResponse +import it.hamy.innertube.models.bodies.ContinuationBody +import it.hamy.innertube.models.bodies.SearchBody +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.searchPage( body: SearchBody, diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/SearchSuggestions.kt b/innertube/src/main/kotlin/it/hamy/innertube/requests/SearchSuggestions.kt similarity index 74% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/SearchSuggestions.kt rename to innertube/src/main/kotlin/it/hamy/innertube/requests/SearchSuggestions.kt index bb00be9..6cd1610 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/requests/SearchSuggestions.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/requests/SearchSuggestions.kt @@ -1,12 +1,12 @@ -package it.vfsfitvnm.innertube.requests +package it.hamy.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.SearchSuggestionsResponse -import it.vfsfitvnm.innertube.models.bodies.SearchSuggestionsBody -import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.SearchSuggestionsResponse +import it.hamy.innertube.models.bodies.SearchSuggestionsBody +import it.hamy.innertube.utils.runCatchingNonCancellable suspend fun Innertube.searchSuggestions(body: SearchSuggestionsBody) = runCatchingNonCancellable { val response = client.post(searchSuggestions) { diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicResponsiveListItemRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicResponsiveListItemRenderer.kt similarity index 84% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicResponsiveListItemRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicResponsiveListItemRenderer.kt index 7339f0c..8eebdeb 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicResponsiveListItemRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicResponsiveListItemRenderer.kt @@ -1,9 +1,9 @@ -package it.vfsfitvnm.innertube.utils +package it.hamy.innertube.utils -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.MusicResponsiveListItemRenderer -import it.vfsfitvnm.innertube.models.NavigationEndpoint -import it.vfsfitvnm.innertube.models.Runs +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.MusicResponsiveListItemRenderer +import it.hamy.innertube.models.NavigationEndpoint +import it.hamy.innertube.models.Runs fun Innertube.SongItem.Companion.from(renderer: MusicResponsiveListItemRenderer): Innertube.SongItem? { return Innertube.SongItem( diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicShelfRendererContent.kt b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicShelfRendererContent.kt similarity index 95% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicShelfRendererContent.kt rename to innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicShelfRendererContent.kt index 1cbcab6..fe507b8 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicShelfRendererContent.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicShelfRendererContent.kt @@ -1,8 +1,8 @@ -package it.vfsfitvnm.innertube.utils +package it.hamy.innertube.utils -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.MusicShelfRenderer -import it.vfsfitvnm.innertube.models.NavigationEndpoint +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.MusicShelfRenderer +import it.hamy.innertube.models.NavigationEndpoint fun Innertube.SongItem.Companion.from(content: MusicShelfRenderer.Content): Innertube.SongItem? { val (mainRuns, otherRuns) = content.runs diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicTwoRowItemRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicTwoRowItemRenderer.kt similarity index 93% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicTwoRowItemRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicTwoRowItemRenderer.kt index 15dc097..3fb8a1c 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromMusicTwoRowItemRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromMusicTwoRowItemRenderer.kt @@ -1,7 +1,7 @@ -package it.vfsfitvnm.innertube.utils +package it.hamy.innertube.utils -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.MusicTwoRowItemRenderer +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.MusicTwoRowItemRenderer fun Innertube.AlbumItem.Companion.from(renderer: MusicTwoRowItemRenderer): Innertube.AlbumItem? { return Innertube.AlbumItem( diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromPlaylistPanelVideoRenderer.kt b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromPlaylistPanelVideoRenderer.kt similarity index 86% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromPlaylistPanelVideoRenderer.kt rename to innertube/src/main/kotlin/it/hamy/innertube/utils/FromPlaylistPanelVideoRenderer.kt index 92ea20c..3d97f88 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/FromPlaylistPanelVideoRenderer.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/utils/FromPlaylistPanelVideoRenderer.kt @@ -1,7 +1,7 @@ -package it.vfsfitvnm.innertube.utils +package it.hamy.innertube.utils -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.PlaylistPanelVideoRenderer +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.PlaylistPanelVideoRenderer fun Innertube.SongItem.Companion.from(renderer: PlaylistPanelVideoRenderer): Innertube.SongItem? { return Innertube.SongItem( diff --git a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/Utils.kt b/innertube/src/main/kotlin/it/hamy/innertube/utils/Utils.kt similarity index 91% rename from innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/Utils.kt rename to innertube/src/main/kotlin/it/hamy/innertube/utils/Utils.kt index 6a2acf8..5fcf861 100644 --- a/innertube/src/main/kotlin/it/vfsfitvnm/innertube/utils/Utils.kt +++ b/innertube/src/main/kotlin/it/hamy/innertube/utils/Utils.kt @@ -1,8 +1,8 @@ -package it.vfsfitvnm.innertube.utils +package it.hamy.innertube.utils import io.ktor.utils.io.CancellationException -import it.vfsfitvnm.innertube.Innertube -import it.vfsfitvnm.innertube.models.SectionListRenderer +import it.hamy.innertube.Innertube +import it.hamy.innertube.models.SectionListRenderer internal fun SectionListRenderer.findSectionByTitle(text: String): SectionListRenderer.Content? { return contents?.find { content -> diff --git a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/KuGou.kt b/kugou/src/main/kotlin/it/hamy/kugou/KuGou.kt similarity index 97% rename from kugou/src/main/kotlin/it/vfsfitvnm/kugou/KuGou.kt rename to kugou/src/main/kotlin/it/hamy/kugou/KuGou.kt index 8c1875e..60716ce 100644 --- a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/KuGou.kt +++ b/kugou/src/main/kotlin/it/hamy/kugou/KuGou.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.kugou +package it.hamy.kugou import io.ktor.client.HttpClient import io.ktor.client.call.body @@ -13,9 +13,9 @@ import io.ktor.http.ContentType import io.ktor.http.encodeURLParameter import io.ktor.serialization.kotlinx.json.json import io.ktor.util.decodeBase64String -import it.vfsfitvnm.kugou.models.DownloadLyricsResponse -import it.vfsfitvnm.kugou.models.SearchLyricsResponse -import it.vfsfitvnm.kugou.models.SearchSongResponse +import it.hamy.kugou.models.DownloadLyricsResponse +import it.hamy.kugou.models.SearchLyricsResponse +import it.hamy.kugou.models.SearchSongResponse import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.json.Json diff --git a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/Result.kt b/kugou/src/main/kotlin/it/hamy/kugou/Result.kt similarity index 89% rename from kugou/src/main/kotlin/it/vfsfitvnm/kugou/Result.kt rename to kugou/src/main/kotlin/it/hamy/kugou/Result.kt index 7d89d5c..65297cb 100644 --- a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/Result.kt +++ b/kugou/src/main/kotlin/it/hamy/kugou/Result.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.kugou +package it.hamy.kugou import kotlin.coroutines.cancellation.CancellationException diff --git a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/DownloadLyricsResponse.kt b/kugou/src/main/kotlin/it/hamy/kugou/models/DownloadLyricsResponse.kt similarity index 78% rename from kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/DownloadLyricsResponse.kt rename to kugou/src/main/kotlin/it/hamy/kugou/models/DownloadLyricsResponse.kt index 049b482..5d41d21 100644 --- a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/DownloadLyricsResponse.kt +++ b/kugou/src/main/kotlin/it/hamy/kugou/models/DownloadLyricsResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.kugou.models +package it.hamy.kugou.models import kotlinx.serialization.Serializable diff --git a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/SearchLyricsResponse.kt b/kugou/src/main/kotlin/it/hamy/kugou/models/SearchLyricsResponse.kt similarity index 90% rename from kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/SearchLyricsResponse.kt rename to kugou/src/main/kotlin/it/hamy/kugou/models/SearchLyricsResponse.kt index 342b867..78351b7 100644 --- a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/SearchLyricsResponse.kt +++ b/kugou/src/main/kotlin/it/hamy/kugou/models/SearchLyricsResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.kugou.models +package it.hamy.kugou.models import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/SearchSongResponse.kt b/kugou/src/main/kotlin/it/hamy/kugou/models/SearchSongResponse.kt similarity index 90% rename from kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/SearchSongResponse.kt rename to kugou/src/main/kotlin/it/hamy/kugou/models/SearchSongResponse.kt index 97d9dbd..4698082 100644 --- a/kugou/src/main/kotlin/it/vfsfitvnm/kugou/models/SearchSongResponse.kt +++ b/kugou/src/main/kotlin/it/hamy/kugou/models/SearchSongResponse.kt @@ -1,4 +1,4 @@ -package it.vfsfitvnm.kugou.models +package it.hamy.kugou.models import kotlinx.serialization.Serializable