更换包名
This commit is contained in:
parent
97889aa52f
commit
42c95b9a02
@ -7,19 +7,19 @@ plugins {
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "com.player.musicoo"
|
||||
namespace = "relax.offline.music"
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.player.musicoo"
|
||||
applicationId = "relax.offline.mp3.music"
|
||||
minSdk = 24
|
||||
targetSdk = 34
|
||||
versionCode = 1
|
||||
versionName = "1.0.2"
|
||||
versionName = "1.0.1"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
setProperty("archivesBaseName", "Musicoo_${defaultConfig.versionName}(${defaultConfig.versionCode})")
|
||||
setProperty("archivesBaseName", "Musiclax_${defaultConfig.versionName}(${defaultConfig.versionCode})")
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo
|
||||
package relax.offline.music
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
|
||||
fun useAppContext() {
|
||||
// Context of the app under test.
|
||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||
assertEquals("com.player.musicoo", appContext.packageName)
|
||||
assertEquals("relax.offline.music", appContext.packageName)
|
||||
}
|
||||
}
|
||||
@ -16,15 +16,15 @@
|
||||
android:maxSdkVersion="32" />
|
||||
|
||||
<application
|
||||
android:name=".App"
|
||||
android:name="relax.offline.music.App"
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:icon="@mipmap/musicoo_logo_img"
|
||||
android:icon="@mipmap/app_logo"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/musicoo_logo_img"
|
||||
android:roundIcon="@mipmap/app_logo"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.Musicoo"
|
||||
android:theme="@style/Theme.Musiclax"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".activity.LaunchActivity"
|
||||
|
||||
@ -1,21 +1,20 @@
|
||||
package com.player.musicoo
|
||||
package relax.offline.music
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.bean.CurrentPlayingAudio
|
||||
import com.player.musicoo.bean.ResourcesList
|
||||
import com.player.musicoo.database.AppDatabase
|
||||
import com.player.musicoo.database.AppOfflineDBManager
|
||||
import com.player.musicoo.database.CurrentAudioDatabase
|
||||
import com.player.musicoo.database.CurrentAudioManager
|
||||
import com.player.musicoo.database.DatabaseManager
|
||||
import com.player.musicoo.media.LocalMediaControllerManager
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import com.player.musicoo.util.CacheManager
|
||||
import com.player.musicoo.util.DownloadUtil
|
||||
import com.player.musicoo.util.parseResources
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.bean.CurrentPlayingAudio
|
||||
import relax.offline.music.bean.ResourcesList
|
||||
import relax.offline.music.database.AppOfflineDBManager
|
||||
import relax.offline.music.database.CurrentAudioManager
|
||||
import relax.offline.music.database.DatabaseManager
|
||||
import relax.offline.music.media.LocalMediaControllerManager
|
||||
import relax.offline.music.media.MediaControllerManager
|
||||
import relax.offline.music.util.CacheManager
|
||||
import relax.offline.music.util.DownloadUtil
|
||||
import relax.offline.music.util.parseResources
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
@ -23,6 +22,7 @@ import kotlinx.coroutines.withContext
|
||||
import java.io.BufferedReader
|
||||
import java.io.InputStreamReader
|
||||
|
||||
@OptIn(UnstableApi::class)
|
||||
class App : Application() {
|
||||
companion object {
|
||||
lateinit var app: App
|
||||
@ -1,9 +1,9 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.os.Bundle
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.databinding.ActivityAboutBinding
|
||||
import com.player.musicoo.util.getAppVersion
|
||||
import relax.offline.music.databinding.ActivityAboutBinding
|
||||
import relax.offline.music.util.getAppVersion
|
||||
|
||||
class AboutActivity : BaseActivity() {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
@ -1,12 +1,10 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.os.CountDownTimer
|
||||
import android.util.Log
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.databinding.ActivityLaunchBinding
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.databinding.ActivityLaunchBinding
|
||||
|
||||
class LaunchActivity : BaseActivity() {
|
||||
private lateinit var binding: ActivityLaunchBinding
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
@ -12,14 +12,13 @@ import androidx.fragment.app.FragmentTransaction
|
||||
import androidx.media3.common.Player
|
||||
import com.bumptech.glide.Glide
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.ActivityMainBinding
|
||||
import com.player.musicoo.fragment.HomeFragment
|
||||
import com.player.musicoo.fragment.ImportFragment
|
||||
import com.player.musicoo.media.LocalMediaControllerManager
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.databinding.ActivityMainBinding
|
||||
import relax.offline.music.fragment.HomeFragment
|
||||
import relax.offline.music.fragment.ImportFragment
|
||||
import relax.offline.music.media.LocalMediaControllerManager
|
||||
import relax.offline.music.util.getAudioDurationFromAssets
|
||||
|
||||
|
||||
class MainActivity : BaseActivity() {
|
||||
@ -52,11 +51,11 @@ class MainActivity : BaseActivity() {
|
||||
super.onResume()
|
||||
val currentPlayer = LocalMediaControllerManager.getController()
|
||||
|
||||
if (App.currentPlayingAudio == null) {
|
||||
if (relax.offline.music.App.currentPlayingAudio == null) {
|
||||
binding.playingStatusLayout.visibility = View.GONE
|
||||
} else {
|
||||
binding.playingStatusLayout.visibility = View.VISIBLE
|
||||
val currentAudio = App.currentPlayingAudio
|
||||
val currentAudio = relax.offline.music.App.currentPlayingAudio
|
||||
|
||||
val maxProgress = try {
|
||||
getAudioDurationFromAssets(this, currentAudio?.file!!)
|
||||
@ -71,7 +70,7 @@ class MainActivity : BaseActivity() {
|
||||
.load("file:///android_asset/${currentAudio?.image}")
|
||||
.into(binding.audioImg)
|
||||
} else {
|
||||
binding.audioImg.setImageResource(R.mipmap.musicoo_logo_img)
|
||||
binding.audioImg.setImageResource(R.mipmap.app_logo)
|
||||
}
|
||||
|
||||
binding.name.text = currentAudio?.name
|
||||
@ -97,7 +96,7 @@ class MainActivity : BaseActivity() {
|
||||
updateBtnState(1)
|
||||
}
|
||||
binding.playingStatusLayout.setOnClickListener {
|
||||
val currentAudio = App.currentPlayingAudio
|
||||
val currentAudio = relax.offline.music.App.currentPlayingAudio
|
||||
val duration = try {
|
||||
getAudioDurationFromAssets(
|
||||
this, currentAudio?.file!!
|
||||
@ -131,7 +130,7 @@ class MainActivity : BaseActivity() {
|
||||
}
|
||||
updateProgressState()
|
||||
} else {
|
||||
LocalMediaControllerManager.setupMedia(this@MainActivity, App.currentPlayingAudio!!,
|
||||
LocalMediaControllerManager.setupMedia(this@MainActivity, relax.offline.music.App.currentPlayingAudio!!,
|
||||
object : Player.Listener {
|
||||
override fun onPlayWhenReadyChanged(
|
||||
playWhenReady: Boolean,
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
@ -19,20 +19,13 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.media3.common.Player
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.media3.exoplayer.offline.Download
|
||||
import androidx.media3.exoplayer.offline.DownloadManager
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.bean.OfflineBean
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import com.player.musicoo.sp.AppStore
|
||||
import com.player.musicoo.util.DownloadUtil
|
||||
import com.player.musicoo.util.FileSizeConverter
|
||||
import com.player.musicoo.util.LogTag
|
||||
import com.player.musicoo.view.MusicPlayerView
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.media.MediaControllerManager
|
||||
import relax.offline.music.sp.AppStore
|
||||
import relax.offline.music.util.LogTag
|
||||
import relax.offline.music.view.MusicPlayerView
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.NonCancellable
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
@ -1,15 +1,15 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.View
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.bumptech.glide.Glide
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.adapter.DetailsListAdapter
|
||||
import com.player.musicoo.databinding.ActivityDetailsBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.requests.moPlaylistPage
|
||||
import com.player.musicoo.util.LogTag.LogD
|
||||
import relax.offline.music.adapter.DetailsListAdapter
|
||||
import relax.offline.music.databinding.ActivityDetailsBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.requests.moPlaylistPage
|
||||
import relax.offline.music.util.LogTag.LogD
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -1,21 +1,14 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.View
|
||||
import androidx.media3.common.util.UnstableApi
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.bumptech.glide.Glide
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.adapter.DetailsListAdapter
|
||||
import com.player.musicoo.adapter.OfflineSongsAdapter
|
||||
import com.player.musicoo.bean.OfflineBean
|
||||
import com.player.musicoo.databinding.ActivityDetailsBinding
|
||||
import com.player.musicoo.databinding.ActivityOfflineSongsBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.requests.moPlaylistPage
|
||||
import com.player.musicoo.util.DownloadUtil
|
||||
import com.player.musicoo.util.LogTag.LogD
|
||||
import relax.offline.music.adapter.OfflineSongsAdapter
|
||||
import relax.offline.music.bean.OfflineBean
|
||||
import relax.offline.music.databinding.ActivityOfflineSongsBinding
|
||||
import relax.offline.music.util.LogTag.LogD
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -109,7 +102,7 @@ class MoOfflineSongsActivity : MoBaseActivity() {
|
||||
showLoadingUi()
|
||||
|
||||
offlineList.clear()
|
||||
offlineList.addAll(App.appOfflineDBManager.getAllOfflineBeans())
|
||||
offlineList.addAll(relax.offline.music.App.appOfflineDBManager.getAllOfflineBeans())
|
||||
|
||||
for (offline in offlineList){
|
||||
LogD(TAG,"offline id->${offline.videoId}")
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Bitmap
|
||||
@ -10,7 +10,6 @@ import android.view.View
|
||||
import android.view.animation.AnimationUtils
|
||||
import androidx.annotation.OptIn
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.PlaybackException
|
||||
import androidx.media3.common.Player
|
||||
@ -24,25 +23,20 @@ import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.request.target.CustomTarget
|
||||
import com.bumptech.glide.request.transition.Transition
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.adapter.PlayListAdapter
|
||||
import com.player.musicoo.bean.OfflineBean
|
||||
import com.player.musicoo.databinding.ActivityMoPlayDetailsBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import com.player.musicoo.media.SongRadio
|
||||
import com.player.musicoo.service.MyDownloadService
|
||||
import com.player.musicoo.service.ViewModelMain
|
||||
import com.player.musicoo.sp.AppStore
|
||||
import com.player.musicoo.util.DownloadUtil
|
||||
import com.player.musicoo.util.FileSizeConverter
|
||||
import com.player.musicoo.util.LogTag
|
||||
import com.player.musicoo.util.LogTag.LogD
|
||||
import com.player.musicoo.util.PlayMode
|
||||
import com.player.musicoo.util.asMediaItem
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.adapter.PlayListAdapter
|
||||
import relax.offline.music.databinding.ActivityMoPlayDetailsBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.media.MediaControllerManager
|
||||
import relax.offline.music.media.SongRadio
|
||||
import relax.offline.music.service.MyDownloadService
|
||||
import relax.offline.music.service.ViewModelMain
|
||||
import relax.offline.music.sp.AppStore
|
||||
import relax.offline.music.util.DownloadUtil
|
||||
import relax.offline.music.util.LogTag.LogD
|
||||
import relax.offline.music.util.PlayMode
|
||||
import relax.offline.music.util.asMediaItem
|
||||
import relax.offline.music.util.convertMillisToMinutesAndSecondsString
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
@ -590,7 +584,7 @@ class MoPlayDetailsActivity : MoBaseActivity(), Player.Listener {
|
||||
Glide.with(this)
|
||||
.asBitmap()
|
||||
.load(mediaItem.mediaMetadata.artworkUri)
|
||||
.placeholder(R.mipmap.musicoo_logo_img)
|
||||
.placeholder(R.mipmap.app_logo)
|
||||
.into(object : CustomTarget<Bitmap>() {
|
||||
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
|
||||
binding.thumbnail.setImageBitmap(resource)
|
||||
@ -1,32 +1,15 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.View
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.adapter.DetailsListAdapter
|
||||
import com.player.musicoo.adapter.SearchResultOtherAdapter
|
||||
import com.player.musicoo.databinding.ActivityDetailsBinding
|
||||
import com.player.musicoo.databinding.ActivitySearchMoreBinding
|
||||
import com.player.musicoo.databinding.ActivitySingerDetailsBinding
|
||||
import com.player.musicoo.fragment.MoHomeFragment
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.models.bodies.SearchBody
|
||||
import com.player.musicoo.innertube.requests.moPlaylistPage
|
||||
import com.player.musicoo.innertube.requests.moSearchPage
|
||||
import com.player.musicoo.innertube.requests.moSingerListPage
|
||||
import com.player.musicoo.util.LogTag
|
||||
import com.player.musicoo.util.LogTag.LogD
|
||||
import com.player.musicoo.view.SearchResultOptimalView
|
||||
import com.player.musicoo.view.SearchResultOtherView
|
||||
import com.player.musicoo.view.SingerDetailsOtherView
|
||||
import com.player.musicoo.view.SingerDetailsSongView
|
||||
import com.scwang.smart.refresh.layout.api.RefreshLayout
|
||||
import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener
|
||||
import relax.offline.music.adapter.SearchResultOtherAdapter
|
||||
import relax.offline.music.databinding.ActivitySearchMoreBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.bodies.ContinuationBody
|
||||
import relax.offline.music.innertube.models.bodies.SearchBody
|
||||
import relax.offline.music.innertube.requests.moSearchPage
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -1,14 +1,14 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.view.View
|
||||
import com.bumptech.glide.Glide
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.databinding.ActivitySingerDetailsBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.requests.moSingerListPage
|
||||
import com.player.musicoo.util.LogTag.LogD
|
||||
import com.player.musicoo.view.SingerDetailsOtherView
|
||||
import com.player.musicoo.view.SingerDetailsSongView
|
||||
import relax.offline.music.databinding.ActivitySingerDetailsBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.requests.moSingerListPage
|
||||
import relax.offline.music.util.LogTag.LogD
|
||||
import relax.offline.music.view.SingerDetailsOtherView
|
||||
import relax.offline.music.view.SingerDetailsSongView
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -1,17 +1,17 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.View
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.adapter.SingerMoreSongAdapter
|
||||
import com.player.musicoo.databinding.ActivitySearchMoreBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.requests.moSingerDetailsMoreLoadMorePage
|
||||
import com.player.musicoo.innertube.requests.moSingerDetailsMorePage
|
||||
import relax.offline.music.adapter.SingerMoreSongAdapter
|
||||
import relax.offline.music.databinding.ActivitySearchMoreBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.models.bodies.ContinuationBody
|
||||
import relax.offline.music.innertube.requests.moSingerDetailsMoreLoadMorePage
|
||||
import relax.offline.music.innertube.requests.moSingerDetailsMorePage
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.animation.ValueAnimator
|
||||
import android.annotation.SuppressLint
|
||||
@ -21,14 +21,14 @@ import androidx.media3.common.util.UnstableApi
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.slider.Slider.OnChangeListener
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.ActivityPlayDetailsBinding
|
||||
import com.player.musicoo.media.LocalMediaControllerManager
|
||||
import com.player.musicoo.util.LogTag
|
||||
import com.player.musicoo.util.containsContent
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.databinding.ActivityPlayDetailsBinding
|
||||
import relax.offline.music.media.LocalMediaControllerManager
|
||||
import relax.offline.music.util.LogTag
|
||||
import relax.offline.music.util.containsContent
|
||||
import relax.offline.music.util.convertMillisToMinutesAndSecondsString
|
||||
import relax.offline.music.util.getAudioDurationFromAssets
|
||||
import java.io.IOException
|
||||
import java.io.InputStream
|
||||
|
||||
@ -75,8 +75,8 @@ class PlayDetailsActivity : BaseActivity() {
|
||||
binding.imageView.setImageBitmap(blurredBitmap)
|
||||
|
||||
} else {
|
||||
binding.image.setImageResource(R.mipmap.musicoo_logo_img)
|
||||
val bitmap = loadBitmapFromAsset(R.mipmap.musicoo_logo_img)
|
||||
binding.image.setImageResource(R.mipmap.app_logo)
|
||||
val bitmap = loadBitmapFromAsset(R.mipmap.app_logo)
|
||||
val blurredBitmap = applyGaussianBlur(bitmap, 25f, this)
|
||||
binding.imageView.setImageBitmap(blurredBitmap)
|
||||
}
|
||||
@ -1,24 +1,14 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.os.Message
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.databinding.ActivityPrimaryBinding
|
||||
import com.player.musicoo.fragment.ImportFragment
|
||||
import com.player.musicoo.fragment.MoHomeFragment
|
||||
import com.player.musicoo.fragment.MoMeFragment
|
||||
import com.player.musicoo.fragment.SearchFragment
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import com.player.musicoo.util.LogTag.LogD
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.databinding.ActivityPrimaryBinding
|
||||
import relax.offline.music.fragment.MoHomeFragment
|
||||
import relax.offline.music.fragment.MoMeFragment
|
||||
import relax.offline.music.fragment.SearchFragment
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
package com.player.musicoo.activity
|
||||
package relax.offline.music.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.databinding.ActivitySettingsBinding
|
||||
import com.player.musicoo.util.PRIVACY_POLICY_URL
|
||||
import com.player.musicoo.util.TERMS_OF_SERVICE_URL
|
||||
import com.player.musicoo.util.openPrivacyPolicy
|
||||
import com.player.musicoo.util.openTermsOfService
|
||||
import com.player.musicoo.util.sendFeedback
|
||||
import com.player.musicoo.util.shareApp
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.databinding.ActivitySettingsBinding
|
||||
import relax.offline.music.util.PRIVACY_POLICY_URL
|
||||
import relax.offline.music.util.TERMS_OF_SERVICE_URL
|
||||
import relax.offline.music.util.openPrivacyPolicy
|
||||
import relax.offline.music.util.openTermsOfService
|
||||
import relax.offline.music.util.sendFeedback
|
||||
import relax.offline.music.util.shareApp
|
||||
|
||||
class SettingsActivity : AppCompatActivity() {
|
||||
private lateinit var binding: ActivitySettingsBinding
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
@ -6,23 +6,13 @@ import android.content.Intent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.MoPlayDetailsActivity
|
||||
import com.player.musicoo.activity.PlayDetailsActivity
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.DetailsListItemBinding
|
||||
import com.player.musicoo.databinding.MusicResponsiveItemBinding
|
||||
import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding
|
||||
import com.player.musicoo.databinding.SoundsOfNatureLayoutBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.MoPlayDetailsActivity
|
||||
import relax.offline.music.databinding.DetailsListItemBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.media.MediaControllerManager
|
||||
|
||||
class DetailsListAdapter(
|
||||
private val context: Context,
|
||||
@ -1,20 +1,16 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.media3.common.C
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.bean.OfflineBean
|
||||
import com.player.musicoo.databinding.OfflineListItemBinding
|
||||
import com.player.musicoo.databinding.PlayListItemBinding
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.bean.OfflineBean
|
||||
import relax.offline.music.databinding.OfflineListItemBinding
|
||||
import relax.offline.music.media.MediaControllerManager
|
||||
|
||||
class OfflineSongsAdapter(
|
||||
private val context: Context,
|
||||
@ -1,20 +1,18 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.PlayDetailsActivity
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.ParentsVoiceLayoutBinding
|
||||
import com.player.musicoo.util.containsContent
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.PlayDetailsActivity
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.databinding.ParentsVoiceLayoutBinding
|
||||
import relax.offline.music.util.containsContent
|
||||
import relax.offline.music.util.convertMillisToMinutesAndSecondsString
|
||||
import relax.offline.music.util.getAudioDurationFromAssets
|
||||
|
||||
class ParentsVoiceAdapter(
|
||||
private val context: Context,
|
||||
@ -44,7 +42,7 @@ class ParentsVoiceAdapter(
|
||||
|
||||
fun bind(audio: Audio) {
|
||||
binding.apply {
|
||||
image.setImageResource(R.mipmap.musicoo_logo_img)
|
||||
image.setImageResource(R.mipmap.app_logo)
|
||||
name.text = audio.name
|
||||
name.requestFocus()
|
||||
if (containsContent(audio.file)) {
|
||||
@ -54,8 +52,8 @@ class ParentsVoiceAdapter(
|
||||
desc.text = convertMillisToMinutesAndSecondsString(s)
|
||||
}
|
||||
|
||||
if (App.currentPlayingAudio != null) {
|
||||
if (App.currentPlayingAudio?.file == audio.file) {
|
||||
if (relax.offline.music.App.currentPlayingAudio != null) {
|
||||
if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) {
|
||||
playingLayout.visibility = View.VISIBLE
|
||||
name.setTextColor(context.getColor(R.color.green))
|
||||
desc.setTextColor(context.getColor(R.color.green))
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
@ -7,12 +7,11 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.media3.common.C
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.databinding.PlayListItemBinding
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.databinding.PlayListItemBinding
|
||||
import relax.offline.music.media.MediaControllerManager
|
||||
|
||||
class PlayListAdapter(
|
||||
private val context: Context,
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@ -6,13 +6,12 @@ import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.PlayDetailsActivity
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.RealHumanVoiceLayoutBinding
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.PlayDetailsActivity
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.databinding.RealHumanVoiceLayoutBinding
|
||||
import relax.offline.music.util.convertMillisToMinutesAndSecondsString
|
||||
import relax.offline.music.util.getAudioDurationFromAssets
|
||||
|
||||
class RealHumanVoiceAdapter(
|
||||
private val context: Context,
|
||||
@ -50,8 +49,8 @@ class RealHumanVoiceAdapter(
|
||||
val s = getAudioDurationFromAssets(context, audio.file)
|
||||
desc.text = convertMillisToMinutesAndSecondsString(s)
|
||||
|
||||
if (App.currentPlayingAudio != null) {
|
||||
if (App.currentPlayingAudio?.file == audio.file) {
|
||||
if (relax.offline.music.App.currentPlayingAudio != null) {
|
||||
if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) {
|
||||
name.setTextColor(context.getColor(R.color.green))
|
||||
desc.setTextColor(context.getColor(R.color.green))
|
||||
} else {
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@ -7,12 +7,11 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.MoPlayDetailsActivity
|
||||
import com.player.musicoo.databinding.MusicResponsiveItemBinding
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.NextBody
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.MoPlayDetailsActivity
|
||||
import relax.offline.music.databinding.MusicResponsiveItemBinding
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.media.MediaControllerManager
|
||||
|
||||
class ResponsiveListAdapter(
|
||||
private val context: Context,
|
||||
@ -1,10 +1,10 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.player.musicoo.databinding.SearchHistoryAdapterItemBinding
|
||||
import relax.offline.music.databinding.SearchHistoryAdapterItemBinding
|
||||
|
||||
class SearchHistoryAdapter(
|
||||
private val context: Context,
|
||||
@ -1,26 +1,18 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.media3.common.C
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.MoListDetailsActivity
|
||||
import com.player.musicoo.activity.MoPlayDetailsActivity
|
||||
import com.player.musicoo.activity.MoSingerDetailsActivity
|
||||
import com.player.musicoo.databinding.PlayListItemBinding
|
||||
import com.player.musicoo.databinding.SearchResultOtherItemBinding
|
||||
import com.player.musicoo.databinding.SearchResultOtherLayoutBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.activity.MoListDetailsActivity
|
||||
import relax.offline.music.activity.MoPlayDetailsActivity
|
||||
import relax.offline.music.activity.MoSingerDetailsActivity
|
||||
import relax.offline.music.databinding.SearchResultOtherItemBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.util.LogTag
|
||||
|
||||
class SearchResultOtherAdapter(
|
||||
private val context: Context,
|
||||
@ -1,10 +1,10 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.player.musicoo.databinding.SearchSuggestionsAdapterItemBinding
|
||||
import relax.offline.music.databinding.SearchSuggestionsAdapterItemBinding
|
||||
|
||||
class SearchSuggestionsAdapter(
|
||||
private val context: Context,
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
@ -8,20 +8,9 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.MoPlayDetailsActivity
|
||||
import com.player.musicoo.activity.PlayDetailsActivity
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.DetailsListItemBinding
|
||||
import com.player.musicoo.databinding.MusicResponsiveItemBinding
|
||||
import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding
|
||||
import com.player.musicoo.databinding.SoundsOfNatureLayoutBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.activity.MoPlayDetailsActivity
|
||||
import relax.offline.music.databinding.DetailsListItemBinding
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
|
||||
class SingerDetailsSongListAdapter(
|
||||
private val context: Context,
|
||||
@ -1,27 +1,17 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.media3.common.C
|
||||
import androidx.media3.common.MediaItem
|
||||
import androidx.media3.common.Player
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.MoListDetailsActivity
|
||||
import com.player.musicoo.activity.MoPlayDetailsActivity
|
||||
import com.player.musicoo.activity.MoSingerDetailsActivity
|
||||
import com.player.musicoo.databinding.MusicTowRowItemBinding
|
||||
import com.player.musicoo.databinding.PlayListItemBinding
|
||||
import com.player.musicoo.databinding.SearchResultOtherItemBinding
|
||||
import com.player.musicoo.databinding.SearchResultOtherLayoutBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.media.MediaControllerManager
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.activity.MoListDetailsActivity
|
||||
import relax.offline.music.activity.MoPlayDetailsActivity
|
||||
import relax.offline.music.databinding.MusicTowRowItemBinding
|
||||
import relax.offline.music.databinding.SearchResultOtherItemBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
|
||||
class SingerMoreSongAdapter(
|
||||
private val context: Context,
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@ -7,13 +7,12 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.PlayDetailsActivity
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.PlayDetailsActivity
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.databinding.SoundsOfAppliancesLayoutBinding
|
||||
import relax.offline.music.util.convertMillisToMinutesAndSecondsString
|
||||
import relax.offline.music.util.getAudioDurationFromAssets
|
||||
|
||||
class SoundsOfAppliancesAdapter(
|
||||
private val context: Context,
|
||||
@ -52,8 +51,8 @@ class SoundsOfAppliancesAdapter(
|
||||
val s = getAudioDurationFromAssets(context, audio.file)
|
||||
desc.text = convertMillisToMinutesAndSecondsString(s)
|
||||
|
||||
if (App.currentPlayingAudio != null) {
|
||||
if (App.currentPlayingAudio?.file == audio.file) {
|
||||
if (relax.offline.music.App.currentPlayingAudio != null) {
|
||||
if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) {
|
||||
playingLayout.visibility = View.VISIBLE
|
||||
name.setTextColor(context.getColor(R.color.green))
|
||||
desc.setTextColor(context.getColor(R.color.green))
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@ -7,14 +7,12 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.PlayDetailsActivity
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding
|
||||
import com.player.musicoo.databinding.SoundsOfNatureLayoutBinding
|
||||
import com.player.musicoo.util.convertMillisToMinutesAndSecondsString
|
||||
import com.player.musicoo.util.getAudioDurationFromAssets
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.PlayDetailsActivity
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.databinding.SoundsOfNatureLayoutBinding
|
||||
import relax.offline.music.util.convertMillisToMinutesAndSecondsString
|
||||
import relax.offline.music.util.getAudioDurationFromAssets
|
||||
|
||||
class SoundsOfNatureAdapter(
|
||||
private val context: Context,
|
||||
@ -53,8 +51,8 @@ class SoundsOfNatureAdapter(
|
||||
val s = getAudioDurationFromAssets(context, audio.file)
|
||||
desc.text = convertMillisToMinutesAndSecondsString(s)
|
||||
|
||||
if (App.currentPlayingAudio != null) {
|
||||
if (App.currentPlayingAudio?.file == audio.file) {
|
||||
if (relax.offline.music.App.currentPlayingAudio != null) {
|
||||
if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) {
|
||||
playingLayout.visibility = View.VISIBLE
|
||||
name.setTextColor(context.getColor(R.color.green))
|
||||
desc.setTextColor(context.getColor(R.color.green))
|
||||
@ -1,17 +1,16 @@
|
||||
package com.player.musicoo.adapter
|
||||
package relax.offline.music.adapter
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.player.musicoo.activity.MoListDetailsActivity
|
||||
import com.player.musicoo.activity.MoPlayDetailsActivity
|
||||
import com.player.musicoo.activity.MoSingerDetailsActivity
|
||||
import com.player.musicoo.databinding.MusicTowRowItemBinding
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.activity.MoListDetailsActivity
|
||||
import relax.offline.music.activity.MoPlayDetailsActivity
|
||||
import relax.offline.music.activity.MoSingerDetailsActivity
|
||||
import relax.offline.music.databinding.MusicTowRowItemBinding
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
|
||||
class TowRowListAdapter(
|
||||
private val context: Activity,
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.bean
|
||||
package relax.offline.music.bean
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import androidx.room.ColumnInfo
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.bean
|
||||
package relax.offline.music.bean
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.bean
|
||||
package relax.offline.music.bean
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@ -1,6 +1,5 @@
|
||||
package com.player.musicoo.bean
|
||||
package relax.offline.music.bean
|
||||
|
||||
import android.net.Uri
|
||||
import androidx.annotation.Keep
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.bean
|
||||
package relax.offline.music.bean
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import com.player.musicoo.bean.Audio
|
||||
import relax.offline.music.bean.Audio
|
||||
|
||||
@Database(entities = [Audio::class], version = 1, exportSchema = false)
|
||||
abstract class AppDatabase : RoomDatabase() {
|
||||
@ -1,9 +1,9 @@
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
import com.player.musicoo.bean.OfflineBean
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.bean.OfflineBean
|
||||
import relax.offline.music.util.LogTag
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import com.player.musicoo.bean.OfflineBean
|
||||
import relax.offline.music.bean.OfflineBean
|
||||
|
||||
@Database(entities = [OfflineBean::class], version = 1, exportSchema = false)
|
||||
abstract class AppOfflineDatabase : RoomDatabase() {
|
||||
@ -1,9 +1,9 @@
|
||||
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import com.player.musicoo.bean.CurrentPlayingAudio
|
||||
import relax.offline.music.bean.CurrentPlayingAudio
|
||||
|
||||
@Database(entities = [CurrentPlayingAudio::class], version = 1, exportSchema = false)
|
||||
abstract class CurrentAudioDatabase : RoomDatabase() {
|
||||
@ -1,8 +1,8 @@
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
import com.player.musicoo.bean.CurrentPlayingAudio
|
||||
import relax.offline.music.bean.CurrentPlayingAudio
|
||||
|
||||
class CurrentAudioManager private constructor(context: Context) {
|
||||
private val database: CurrentAudioDatabase = Room.databaseBuilder(
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Delete
|
||||
@ -6,7 +6,7 @@ import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import com.player.musicoo.bean.CurrentPlayingAudio
|
||||
import relax.offline.music.bean.CurrentPlayingAudio
|
||||
|
||||
@Dao
|
||||
interface CurrentPlayingAudioDao {
|
||||
@ -1,8 +1,8 @@
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
import com.player.musicoo.bean.Audio
|
||||
import relax.offline.music.bean.Audio
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
|
||||
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import androidx.room.*
|
||||
import com.player.musicoo.bean.Audio
|
||||
import relax.offline.music.bean.Audio
|
||||
|
||||
@Dao
|
||||
interface LocalAudioDao {
|
||||
@ -1,7 +1,7 @@
|
||||
package com.player.musicoo.database
|
||||
package relax.offline.music.database
|
||||
|
||||
import androidx.room.*
|
||||
import com.player.musicoo.bean.OfflineBean
|
||||
import relax.offline.music.bean.OfflineBean
|
||||
|
||||
@Dao
|
||||
interface OfflineDao {
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.fragment
|
||||
package relax.offline.music.fragment
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
@ -9,14 +9,11 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.adapter.RealHumanVoiceAdapter
|
||||
import com.player.musicoo.adapter.SoundsOfAppliancesAdapter
|
||||
import com.player.musicoo.adapter.SoundsOfNatureAdapter
|
||||
import com.player.musicoo.databinding.FragmentHomeBinding
|
||||
import com.player.musicoo.util.GridSpacingItemDecoration
|
||||
import com.player.musicoo.util.HorizontalSpaceItemDecoration
|
||||
import relax.offline.music.adapter.RealHumanVoiceAdapter
|
||||
import relax.offline.music.adapter.SoundsOfAppliancesAdapter
|
||||
import relax.offline.music.adapter.SoundsOfNatureAdapter
|
||||
import relax.offline.music.databinding.FragmentHomeBinding
|
||||
import relax.offline.music.util.GridSpacingItemDecoration
|
||||
|
||||
class HomeFragment : Fragment() {
|
||||
private lateinit var binding: FragmentHomeBinding
|
||||
@ -45,28 +42,28 @@ class HomeFragment : Fragment() {
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
if (App.resourcesList.categories.isNotEmpty()) {
|
||||
binding.soundsName.text = App.resourcesList.categories[1].name
|
||||
binding.natureName.text = App.resourcesList.categories[2].name
|
||||
if (relax.offline.music.App.resourcesList.categories.isNotEmpty()) {
|
||||
binding.soundsName.text = relax.offline.music.App.resourcesList.categories[1].name
|
||||
binding.natureName.text = relax.offline.music.App.resourcesList.categories[2].name
|
||||
}
|
||||
if (App.realHumanVoiceList.isNotEmpty()) {
|
||||
realHumanVoiceAdapter = RealHumanVoiceAdapter(requireActivity(), App.realHumanVoiceList)
|
||||
if (relax.offline.music.App.realHumanVoiceList.isNotEmpty()) {
|
||||
realHumanVoiceAdapter = RealHumanVoiceAdapter(requireActivity(), relax.offline.music.App.realHumanVoiceList)
|
||||
binding.realRv.layoutManager =
|
||||
GridLayoutManager(requireActivity(), 2, GridLayoutManager.VERTICAL, false)
|
||||
binding.realRv.addItemDecoration(GridSpacingItemDecoration(requireActivity(), 20, 2))
|
||||
binding.realRv.adapter = realHumanVoiceAdapter
|
||||
}
|
||||
if (App.soundsOfAppliancesList.isNotEmpty()) {
|
||||
if (relax.offline.music.App.soundsOfAppliancesList.isNotEmpty()) {
|
||||
soundsOfAppliancesAdapter =
|
||||
SoundsOfAppliancesAdapter(requireActivity(), App.soundsOfAppliancesList)
|
||||
SoundsOfAppliancesAdapter(requireActivity(), relax.offline.music.App.soundsOfAppliancesList)
|
||||
binding.soundsRv.layoutManager =
|
||||
GridLayoutManager(requireActivity(), 2, GridLayoutManager.VERTICAL, false)
|
||||
binding.soundsRv.addItemDecoration(GridSpacingItemDecoration(requireActivity(), 20, 2))
|
||||
binding.soundsRv.adapter = soundsOfAppliancesAdapter
|
||||
}
|
||||
if (App.soundsOfNatureList.isNotEmpty()) {
|
||||
if (relax.offline.music.App.soundsOfNatureList.isNotEmpty()) {
|
||||
soundsOfNatureAdapter =
|
||||
SoundsOfNatureAdapter(requireActivity(), App.soundsOfNatureList)
|
||||
SoundsOfNatureAdapter(requireActivity(), relax.offline.music.App.soundsOfNatureList)
|
||||
binding.natureRv.layoutManager =
|
||||
LinearLayoutManager(requireActivity(), LinearLayoutManager.VERTICAL, false)
|
||||
binding.natureRv.adapter = soundsOfNatureAdapter
|
||||
@ -76,26 +73,26 @@ class HomeFragment : Fragment() {
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (App.currentPlayingAudio != null) {
|
||||
if (App.realHumanVoiceList.isNotEmpty()) {
|
||||
for ((index, audio) in App.realHumanVoiceList.withIndex()) {
|
||||
if (audio.file == App.currentPlayingAudio?.file) {
|
||||
if (relax.offline.music.App.currentPlayingAudio != null) {
|
||||
if (relax.offline.music.App.realHumanVoiceList.isNotEmpty()) {
|
||||
for ((index, audio) in relax.offline.music.App.realHumanVoiceList.withIndex()) {
|
||||
if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) {
|
||||
notifyDataSetChanged()
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if (App.soundsOfAppliancesList.isNotEmpty()) {
|
||||
for ((index, audio) in App.soundsOfAppliancesList.withIndex()) {
|
||||
if (audio.file == App.currentPlayingAudio?.file) {
|
||||
if (relax.offline.music.App.soundsOfAppliancesList.isNotEmpty()) {
|
||||
for ((index, audio) in relax.offline.music.App.soundsOfAppliancesList.withIndex()) {
|
||||
if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) {
|
||||
notifyDataSetChanged()
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if (App.soundsOfNatureList.isNotEmpty()) {
|
||||
for ((index, audio) in App.soundsOfNatureList.withIndex()) {
|
||||
if (audio.file == App.currentPlayingAudio?.file) {
|
||||
if (relax.offline.music.App.soundsOfNatureList.isNotEmpty()) {
|
||||
for ((index, audio) in relax.offline.music.App.soundsOfNatureList.withIndex()) {
|
||||
if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) {
|
||||
notifyDataSetChanged()
|
||||
break
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.fragment
|
||||
package relax.offline.music.fragment
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
@ -12,23 +12,19 @@ import android.media.MediaPlayer
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.provider.MediaStore
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.SettingsActivity
|
||||
import com.player.musicoo.adapter.ParentsVoiceAdapter
|
||||
import com.player.musicoo.bean.Audio
|
||||
import com.player.musicoo.databinding.FragmentImportBinding
|
||||
import com.player.musicoo.util.uriToFile
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.SettingsActivity
|
||||
import relax.offline.music.adapter.ParentsVoiceAdapter
|
||||
import relax.offline.music.bean.Audio
|
||||
import relax.offline.music.databinding.FragmentImportBinding
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
@ -70,7 +66,7 @@ class ImportFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
importAdapterList.clear()
|
||||
importAdapterList.addAll(App.importList)
|
||||
importAdapterList.addAll(relax.offline.music.App.importList)
|
||||
parentsVoiceAdapter = ParentsVoiceAdapter(requireActivity(), importAdapterList)
|
||||
binding.importRv.layoutManager =
|
||||
LinearLayoutManager(requireActivity(), LinearLayoutManager.VERTICAL, false)
|
||||
@ -116,12 +112,12 @@ class ImportFragment : Fragment() {
|
||||
binding.noContentLayout.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
if (App.currentPlayingAudio != null) {
|
||||
if (App.importList.isNotEmpty()) {
|
||||
if (relax.offline.music.App.currentPlayingAudio != null) {
|
||||
if (relax.offline.music.App.importList.isNotEmpty()) {
|
||||
importAdapterList.clear()
|
||||
importAdapterList.addAll(App.importList)
|
||||
importAdapterList.addAll(relax.offline.music.App.importList)
|
||||
for ((index, audio) in importAdapterList.withIndex()) {
|
||||
if (audio.file == App.currentPlayingAudio?.file) {
|
||||
if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) {
|
||||
parentsVoiceAdapter?.notifyDataSetChanged()
|
||||
break
|
||||
}
|
||||
@ -203,12 +199,12 @@ class ImportFragment : Fragment() {
|
||||
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
if (audio.duration > 0) {
|
||||
App.databaseManager.insertAudioFile(audio)
|
||||
relax.offline.music.App.databaseManager.insertAudioFile(audio)
|
||||
}
|
||||
withContext(Dispatchers.Main) {
|
||||
App.initImportAudio {
|
||||
relax.offline.music.App.initImportAudio {
|
||||
importAdapterList.clear()
|
||||
importAdapterList.addAll(App.importList)
|
||||
importAdapterList.addAll(relax.offline.music.App.importList)
|
||||
parentsVoiceAdapter?.notifyDataSetChanged()
|
||||
if (importAdapterList.isNotEmpty()) {
|
||||
binding.noContentLayout.visibility = View.GONE
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.fragment
|
||||
package relax.offline.music.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -6,9 +6,8 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.player.musicoo.activity.MoBaseActivity
|
||||
import com.player.musicoo.sp.AppStore
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.sp.AppStore
|
||||
import relax.offline.music.util.LogTag
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.cancel
|
||||
@ -1,18 +1,17 @@
|
||||
package com.player.musicoo.fragment
|
||||
package relax.offline.music.fragment
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.allViews
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.databinding.FragmentMoHomeBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.requests.homePage
|
||||
import com.player.musicoo.innertube.requests.homePageMore
|
||||
import com.player.musicoo.util.LogTag.LogD
|
||||
import com.player.musicoo.view.MusicResponsiveListView
|
||||
import com.player.musicoo.view.MusicTowRowListView
|
||||
import relax.offline.music.databinding.FragmentMoHomeBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.innertube.requests.homePage
|
||||
import relax.offline.music.innertube.requests.homePageMore
|
||||
import relax.offline.music.util.LogTag.LogD
|
||||
import relax.offline.music.view.MusicResponsiveListView
|
||||
import relax.offline.music.view.MusicTowRowListView
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -1,15 +1,14 @@
|
||||
package com.player.musicoo.fragment
|
||||
package relax.offline.music.fragment
|
||||
|
||||
import android.content.Intent
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import android.widget.Toast
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.R
|
||||
import com.player.musicoo.activity.MoOfflineSongsActivity
|
||||
import com.player.musicoo.databinding.FragmentMoMeBinding
|
||||
import com.player.musicoo.innertube.utils.BrotliEncoder.decode
|
||||
import com.player.musicoo.util.DownloadUtil
|
||||
import relax.offline.music.R
|
||||
import relax.offline.music.activity.MoOfflineSongsActivity
|
||||
import relax.offline.music.databinding.FragmentMoMeBinding
|
||||
import relax.offline.music.util.DownloadUtil
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.fragment
|
||||
package relax.offline.music.fragment
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
@ -20,17 +20,17 @@ import com.google.android.flexbox.FlexWrap
|
||||
import com.google.android.flexbox.FlexboxLayoutManager
|
||||
import com.google.android.flexbox.JustifyContent
|
||||
import com.gyf.immersionbar.ktx.immersionBar
|
||||
import com.player.musicoo.adapter.SearchHistoryAdapter
|
||||
import com.player.musicoo.adapter.SearchSuggestionsAdapter
|
||||
import com.player.musicoo.databinding.FragmentSearchBinding
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.bodies.SearchBody
|
||||
import com.player.musicoo.innertube.models.bodies.SearchSuggestionsBody
|
||||
import com.player.musicoo.innertube.requests.moSearchPage
|
||||
import com.player.musicoo.innertube.requests.searchSuggestions
|
||||
import com.player.musicoo.util.LogTag
|
||||
import com.player.musicoo.view.SearchResultOptimalView
|
||||
import com.player.musicoo.view.SearchResultOtherView
|
||||
import relax.offline.music.adapter.SearchHistoryAdapter
|
||||
import relax.offline.music.adapter.SearchSuggestionsAdapter
|
||||
import relax.offline.music.databinding.FragmentSearchBinding
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.bodies.SearchBody
|
||||
import relax.offline.music.innertube.models.bodies.SearchSuggestionsBody
|
||||
import relax.offline.music.innertube.requests.moSearchPage
|
||||
import relax.offline.music.innertube.requests.searchSuggestions
|
||||
import relax.offline.music.util.LogTag
|
||||
import relax.offline.music.view.SearchResultOptimalView
|
||||
import relax.offline.music.view.SearchResultOtherView
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.selects.select
|
||||
@ -1,12 +1,12 @@
|
||||
package com.player.musicoo.innertube
|
||||
package relax.offline.music.innertube
|
||||
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.innertube.models.NavigationEndpoint
|
||||
import com.player.musicoo.innertube.models.Runs
|
||||
import com.player.musicoo.innertube.models.Thumbnail
|
||||
import com.player.musicoo.innertube.utils.brotli
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
import relax.offline.music.innertube.models.NavigationEndpoint
|
||||
import relax.offline.music.innertube.models.Runs
|
||||
import relax.offline.music.innertube.models.Thumbnail
|
||||
import relax.offline.music.innertube.utils.brotli
|
||||
import relax.offline.music.util.LogTag
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.engine.okhttp.OkHttp
|
||||
import io.ktor.client.plugins.BrowserUserAgent
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.Locale
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -19,7 +19,7 @@ data class MusicCardShelfRenderer(
|
||||
) {
|
||||
@Serializable
|
||||
data class Thumbnail(
|
||||
val thumbnails: List<com.player.musicoo.innertube.models.Thumbnail>?
|
||||
val thumbnails: List<relax.offline.music.innertube.models.Thumbnail>?
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.models
|
||||
package relax.offline.music.innertube.models
|
||||
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -16,7 +16,7 @@ data class ThumbnailRenderer(
|
||||
) {
|
||||
@Serializable
|
||||
data class Thumbnail(
|
||||
val thumbnails: List<com.player.musicoo.innertube.models.Thumbnail>?
|
||||
val thumbnails: List<relax.offline.music.innertube.models.Thumbnail>?
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,6 +1,6 @@
|
||||
package com.player.musicoo.innertube.models.bodies
|
||||
package relax.offline.music.innertube.models.bodies
|
||||
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@ -1,9 +1,9 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.http.Url
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.NavigationEndpoint
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.NavigationEndpoint
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
|
||||
suspend fun Innertube.albumPage(body: BrowseBody): Result<Innertube.PlaylistOrAlbumPage>? {
|
||||
return playlistPage(body)?.map { album ->
|
||||
@ -1,17 +1,17 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.innertube.models.SectionListRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.utils.findSectionByTitle
|
||||
import com.player.musicoo.innertube.utils.from
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
import relax.offline.music.innertube.models.SectionListRenderer
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.utils.findSectionByTitle
|
||||
import relax.offline.music.innertube.utils.from
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
suspend fun Innertube.artistPage(body: BrowseBody): Result<Innertube.ArtistPage>? =
|
||||
runCatchingNonCancellable {
|
||||
@ -1,14 +1,12 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import com.player.musicoo.innertube.models.SectionListRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import com.player.musicoo.sp.AppStore
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.SectionListRenderer
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.util.LogTag
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
@ -1,13 +1,11 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import com.player.musicoo.innertube.models.SectionListContinuation
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseMoreBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import com.player.musicoo.sp.AppStore
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.SectionListContinuation
|
||||
import relax.offline.music.innertube.models.bodies.BrowseMoreBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
@ -1,18 +1,18 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.ContinuationResponse
|
||||
import com.player.musicoo.innertube.models.GridRenderer
|
||||
import com.player.musicoo.innertube.models.MusicResponsiveListItemRenderer
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.innertube.models.MusicTwoRowItemRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.ContinuationResponse
|
||||
import relax.offline.music.innertube.models.GridRenderer
|
||||
import relax.offline.music.innertube.models.MusicResponsiveListItemRenderer
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
import relax.offline.music.innertube.models.MusicTwoRowItemRenderer
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.models.bodies.ContinuationBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
suspend fun <T : Innertube.Item> Innertube.itemsPage(
|
||||
body: BrowseBody,
|
||||
@ -1,14 +1,14 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.NextResponse
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.models.bodies.NextBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.NextResponse
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.models.bodies.NextBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
suspend fun Innertube.lyrics(body: NextBody): Result<String?>? = runCatchingNonCancellable {
|
||||
val nextResponse = client.post(next) {
|
||||
@ -1,15 +1,12 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.ContinuationResponse
|
||||
import com.player.musicoo.innertube.models.NextResponse
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.models.bodies.NextBody
|
||||
import com.player.musicoo.innertube.utils.from
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.NextResponse
|
||||
import relax.offline.music.innertube.models.bodies.NextBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
|
||||
suspend fun Innertube.moNextPage(
|
||||
@ -1,13 +1,10 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import com.player.musicoo.sp.AppStore
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
@ -1,16 +1,13 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.ContinuationResponse
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.innertube.models.SearchResponse
|
||||
import com.player.musicoo.innertube.models.SectionListRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.models.bodies.SearchBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.ContinuationResponse
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
import relax.offline.music.innertube.models.SearchResponse
|
||||
import relax.offline.music.innertube.models.SectionListRenderer
|
||||
import relax.offline.music.innertube.models.bodies.ContinuationBody
|
||||
import relax.offline.music.innertube.models.bodies.SearchBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
@ -1,18 +1,15 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import com.player.musicoo.App
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.ContinuationResponse
|
||||
import com.player.musicoo.innertube.models.GridRenderer
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.innertube.models.SectionListRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import com.player.musicoo.sp.AppStore
|
||||
import com.player.musicoo.util.LogTag
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.ContinuationResponse
|
||||
import relax.offline.music.innertube.models.GridRenderer
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
import relax.offline.music.innertube.models.SectionListRenderer
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.models.bodies.ContinuationBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
@ -1,15 +1,15 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.ContinuationResponse
|
||||
import com.player.musicoo.innertube.models.NextResponse
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.models.bodies.NextBody
|
||||
import com.player.musicoo.innertube.utils.from
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.ContinuationResponse
|
||||
import relax.offline.music.innertube.models.NextResponse
|
||||
import relax.offline.music.innertube.models.bodies.ContinuationBody
|
||||
import relax.offline.music.innertube.models.bodies.NextBody
|
||||
import relax.offline.music.innertube.utils.from
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.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 com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.Context
|
||||
import com.player.musicoo.innertube.models.PlayerResponse
|
||||
import com.player.musicoo.innertube.models.bodies.PlayerBody
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.Context
|
||||
import relax.offline.music.innertube.models.PlayerResponse
|
||||
import relax.offline.music.innertube.models.bodies.PlayerBody
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
suspend fun Innertube.player(body: PlayerBody) = runCatchingNonCancellable {
|
||||
@ -1,17 +1,17 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.ContinuationResponse
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.models.MusicShelfRenderer
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.models.bodies.ContinuationBody
|
||||
import com.player.musicoo.innertube.utils.from
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.ContinuationResponse
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.innertube.models.MusicShelfRenderer
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.models.bodies.ContinuationBody
|
||||
import relax.offline.music.innertube.utils.from
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
suspend fun Innertube.playlistPage(body: BrowseBody) = runCatchingNonCancellable {
|
||||
val response = client.post(browse) {
|
||||
@ -1,13 +1,13 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.GetQueueResponse
|
||||
import com.player.musicoo.innertube.models.bodies.QueueBody
|
||||
import com.player.musicoo.innertube.utils.from
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.GetQueueResponse
|
||||
import relax.offline.music.innertube.models.bodies.QueueBody
|
||||
import relax.offline.music.innertube.utils.from
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
suspend fun Innertube.queue(body: QueueBody) = runCatchingNonCancellable {
|
||||
val response = client.post(queue) {
|
||||
@ -1,18 +1,18 @@
|
||||
package com.player.musicoo.innertube.requests
|
||||
package relax.offline.music.innertube.requests
|
||||
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.post
|
||||
import io.ktor.client.request.setBody
|
||||
import com.player.musicoo.innertube.Innertube
|
||||
import com.player.musicoo.innertube.models.BrowseResponse
|
||||
import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer
|
||||
import com.player.musicoo.innertube.models.NextResponse
|
||||
import com.player.musicoo.innertube.models.bodies.BrowseBody
|
||||
import com.player.musicoo.innertube.models.bodies.NextBody
|
||||
import com.player.musicoo.innertube.utils.findSectionByStrapline
|
||||
import com.player.musicoo.innertube.utils.findSectionByTitle
|
||||
import com.player.musicoo.innertube.utils.from
|
||||
import com.player.musicoo.innertube.utils.runCatchingNonCancellable
|
||||
import relax.offline.music.innertube.Innertube
|
||||
import relax.offline.music.innertube.models.BrowseResponse
|
||||
import relax.offline.music.innertube.models.MusicCarouselShelfRenderer
|
||||
import relax.offline.music.innertube.models.NextResponse
|
||||
import relax.offline.music.innertube.models.bodies.BrowseBody
|
||||
import relax.offline.music.innertube.models.bodies.NextBody
|
||||
import relax.offline.music.innertube.utils.findSectionByStrapline
|
||||
import relax.offline.music.innertube.utils.findSectionByTitle
|
||||
import relax.offline.music.innertube.utils.from
|
||||
import relax.offline.music.innertube.utils.runCatchingNonCancellable
|
||||
|
||||
suspend fun Innertube.relatedPage(body: NextBody) = runCatchingNonCancellable {
|
||||
val nextResponse = client.post(next) {
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user