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