personal personlization init
This commit is contained in:
parent
184c1fcd6d
commit
fcb58ef8ad
243 changed files with 3109 additions and 1371 deletions
7
PRIVACY
7
PRIVACY
|
@ -1,7 +1,6 @@
|
|||
This privacy policy pertains the Findroid app.
|
||||
This privacy policy pertains the Ananas app.
|
||||
|
||||
Findroid does not collect or access any personal information. No identifying information or user data of any kind is made available to third-parties.
|
||||
Ananas does not collect or access any personal information. No identifying information or user data of any kind is made available to third-parties.
|
||||
|
||||
This Privacy Policy is effective as of Feb 8th, 2023 and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy.
|
||||
This Privacy Policy is effective as of Jun 24th, 2024 and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. Your continued use of the Service after we post any modifications to the Privacy Policy on this page will constitute your acknowledgment of the modifications and your consent to abide and be bound by the modified Privacy Policy.
|
||||
|
||||
Findroid is published by Jarne Demeulemeester. Inquiries can be submitted to jarnedemeulemeester@gmail.com.
|
||||
|
|
|
@ -14,7 +14,7 @@ I am developing this application in my spare time.
|
|||
|
||||
**This project is in its early stages so expect bugs.**
|
||||
|
||||
<a href='https://play.google.com/store/apps/details?id=dev.jdtech.jellyfin'><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' height="80"/></a><a href='http://www.amazon.com/gp/product/B0BTWC8DNZ'><img alt='Available at Amazon Appstore' src='https://user-images.githubusercontent.com/32322857/219019331-027a6775-7362-44bb-a026-281f71e9b37b.png' height="80"/></a><a href='https://apt.izzysoft.de/fdroid/index/apk/dev.jdtech.jellyfin'><img alt='Get it on IzzyOnDroid' src='https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png' height="80"/></a>
|
||||
<a href='https://play.google.com/store/apps/details?id=org.askartv.phone'><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' height="80"/></a><a href='http://www.amazon.com/gp/product/B0BTWC8DNZ'><img alt='Available at Amazon Appstore' src='https://user-images.githubusercontent.com/32322857/219019331-027a6775-7362-44bb-a026-281f71e9b37b.png' height="80"/></a><a href='https://apt.izzysoft.de/fdroid/index/apk/org.askartv.phone'><img alt='Get it on IzzyOnDroid' src='https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png' height="80"/></a>
|
||||
|
||||
## Screenshots
|
||||
| Home | Library | Movie | Season | Episode |
|
||||
|
|
|
@ -10,19 +10,19 @@ plugins {
|
|||
}
|
||||
|
||||
android {
|
||||
namespace = "dev.jdtech.jellyfin"
|
||||
namespace = "org.askartv.phone"
|
||||
compileSdk = Versions.compileSdk
|
||||
buildToolsVersion = Versions.buildTools
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "dev.jdtech.jellyfin"
|
||||
applicationId = "org.askartv.phone"
|
||||
minSdk = Versions.minSdk
|
||||
targetSdk = Versions.targetSdk
|
||||
|
||||
versionCode = Versions.appCode
|
||||
versionName = Versions.appName
|
||||
|
||||
testInstrumentationRunner = "dev.jdtech.jellyfin.HiltTestRunner"
|
||||
testInstrumentationRunner = "org.askartv.phone.HiltTestRunner"
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
|
|
16
app/phone/proguard-rules.pro
vendored
16
app/phone/proguard-rules.pro
vendored
|
@ -20,16 +20,16 @@
|
|||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
|
||||
-keepnames class dev.jdtech.jellyfin.models.PlayerItem
|
||||
-keepnames class org.askartv.phone.models.PlayerItem
|
||||
|
||||
# ProGuard thinks all SettingsFragments are unused
|
||||
-keep class dev.jdtech.jellyfin.fragments.SettingsLanguageFragment
|
||||
-keep class dev.jdtech.jellyfin.fragments.SettingsAppearanceFragment
|
||||
-keep class dev.jdtech.jellyfin.fragments.SettingsDownloadsFragment
|
||||
-keep class dev.jdtech.jellyfin.fragments.SettingsPlayerFragment
|
||||
-keep class dev.jdtech.jellyfin.fragments.SettingsDeviceFragment
|
||||
-keep class dev.jdtech.jellyfin.fragments.SettingsCacheFragment
|
||||
-keep class dev.jdtech.jellyfin.fragments.SettingsNetworkFragment
|
||||
-keep class org.askartv.phone.fragments.SettingsLanguageFragment
|
||||
-keep class org.askartv.phone.fragments.SettingsAppearanceFragment
|
||||
-keep class org.askartv.phone.fragments.SettingsDownloadsFragment
|
||||
-keep class org.askartv.phone.fragments.SettingsPlayerFragment
|
||||
-keep class org.askartv.phone.fragments.SettingsDeviceFragment
|
||||
-keep class org.askartv.phone.fragments.SettingsCacheFragment
|
||||
-keep class org.askartv.phone.fragments.SettingsNetworkFragment
|
||||
|
||||
# These classes are from okhttp and are not used in Android
|
||||
-dontwarn org.bouncycastle.jsse.BCSSLSocket
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.util.Log
|
||||
import androidx.hilt.work.HiltWorkerFactory
|
||||
|
@ -19,7 +19,7 @@ import androidx.work.testing.WorkManagerTestInitHelper
|
|||
import dagger.hilt.android.testing.HiltAndroidRule
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import dagger.hilt.android.testing.UninstallModules
|
||||
import dev.jdtech.jellyfin.di.DatabaseModule
|
||||
import org.askartv.phone.di.DatabaseModule
|
||||
import org.hamcrest.CoreMatchers.allOf
|
||||
import org.hamcrest.CoreMatchers.not
|
||||
import org.junit.Before
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.view.View
|
||||
import android.view.ViewTreeObserver
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.di
|
||||
package org.askartv.phone.di
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
|
@ -7,8 +7,8 @@ import dagger.Provides
|
|||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import dev.jdtech.jellyfin.database.ServerDatabase
|
||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
||||
import org.askartv.phone.database.ServerDatabase
|
||||
import org.askartv.phone.database.ServerDatabaseDao
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Module
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.app.Application
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
|
@ -14,7 +14,7 @@ import com.google.android.material.color.DynamicColorsOptions
|
|||
import dagger.hilt.android.HiltAndroidApp
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@HiltAndroidApp
|
||||
class BaseApplication : Application(), Configuration.Provider, ImageLoaderFactory {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
|
@ -9,7 +9,7 @@ import androidx.core.view.WindowInsetsCompat
|
|||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.media3.session.MediaSession
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
||||
import org.askartv.phone.viewmodels.PlayerActivityViewModel
|
||||
|
||||
abstract class BasePlayerActivity : AppCompatActivity() {
|
||||
|
|
@ -1,20 +1,20 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.DrawableRes
|
||||
import coil.load
|
||||
import dev.jdtech.jellyfin.api.JellyfinApi
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.User
|
||||
import org.askartv.phone.api.JellyfinApi
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.User
|
||||
import org.jellyfin.sdk.model.api.BaseItemDto
|
||||
import org.jellyfin.sdk.model.api.BaseItemKind
|
||||
import org.jellyfin.sdk.model.api.BaseItemPerson
|
||||
import org.jellyfin.sdk.model.api.ImageType
|
||||
import java.util.UUID
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
fun bindItemImage(imageView: ImageView, item: BaseItemDto) {
|
||||
val itemId =
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
|
@ -18,12 +18,12 @@ import androidx.work.OneTimeWorkRequestBuilder
|
|||
import androidx.work.WorkManager
|
||||
import com.google.android.material.navigation.NavigationBarView
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
||||
import dev.jdtech.jellyfin.databinding.ActivityMainBinding
|
||||
import dev.jdtech.jellyfin.viewmodels.MainViewModel
|
||||
import dev.jdtech.jellyfin.work.SyncWorker
|
||||
import org.askartv.phone.database.ServerDatabaseDao
|
||||
import org.askartv.phone.databinding.ActivityMainBinding
|
||||
import org.askartv.phone.viewmodels.MainViewModel
|
||||
import org.askartv.phone.work.SyncWorker
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class MainActivity : AppCompatActivity() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.app.AppOpsManager
|
||||
import android.app.PictureInPictureParams
|
||||
|
@ -34,14 +34,14 @@ import androidx.media3.ui.PlayerControlView
|
|||
import androidx.media3.ui.PlayerView
|
||||
import androidx.navigation.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.databinding.ActivityPlayerBinding
|
||||
import dev.jdtech.jellyfin.dialogs.SpeedSelectionDialogFragment
|
||||
import dev.jdtech.jellyfin.dialogs.TrackSelectionDialogFragment
|
||||
import dev.jdtech.jellyfin.utils.PlayerGestureHelper
|
||||
import dev.jdtech.jellyfin.utils.PreviewScrubListener
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerEvents
|
||||
import org.askartv.phone.databinding.ActivityPlayerBinding
|
||||
import org.askartv.phone.dialogs.SpeedSelectionDialogFragment
|
||||
import org.askartv.phone.dialogs.TrackSelectionDialogFragment
|
||||
import org.askartv.phone.viewmodels.PlayerActivityViewModel
|
||||
import org.askartv.phone.viewmodels.PlayerEvents
|
||||
import kotlinx.coroutines.launch
|
||||
import org.askartv.phone.utils.PlayerGestureHelper
|
||||
import org.askartv.phone.utils.PreviewScrubListener
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
|
||||
|
@ -106,7 +106,7 @@ class PlayerActivity : BasePlayerActivity() {
|
|||
appPreferences,
|
||||
this,
|
||||
binding.playerView,
|
||||
getSystemService(Context.AUDIO_SERVICE) as AudioManager,
|
||||
getSystemService(AUDIO_SERVICE) as AudioManager,
|
||||
)
|
||||
}
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindCardItemImage
|
||||
import dev.jdtech.jellyfin.databinding.CollectionItemBinding
|
||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
||||
import org.askartv.phone.bindCardItemImage
|
||||
import org.askartv.phone.databinding.CollectionItemBinding
|
||||
import org.askartv.phone.models.FindroidCollection
|
||||
|
||||
class CollectionListAdapter(
|
||||
private val onClickListener: (collection: FindroidCollection) -> Unit,
|
||||
|
@ -47,4 +47,4 @@ class CollectionListAdapter(
|
|||
}
|
||||
holder.bind(collection)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.databinding.DiscoveredServerItemBinding
|
||||
import dev.jdtech.jellyfin.models.DiscoveredServer
|
||||
import org.askartv.phone.databinding.DiscoveredServerItemBinding
|
||||
import org.askartv.phone.models.DiscoveredServer
|
||||
|
||||
class DiscoveredServerListAdapter(
|
||||
private val clickListener: (server: DiscoveredServer) -> Unit,
|
||||
|
@ -55,4 +55,4 @@ class DiscoveredServerListAdapter(
|
|||
holder.itemView.setOnClickListener { clickListener(server) }
|
||||
holder.bind(server)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.text.Html.fromHtml
|
||||
import android.util.TypedValue
|
||||
|
@ -9,15 +9,15 @@ import androidx.core.view.isVisible
|
|||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindCardItemImage
|
||||
import dev.jdtech.jellyfin.bindItemBackdropById
|
||||
import dev.jdtech.jellyfin.bindSeasonPoster
|
||||
import dev.jdtech.jellyfin.databinding.EpisodeItemBinding
|
||||
import dev.jdtech.jellyfin.databinding.SeasonHeaderBinding
|
||||
import dev.jdtech.jellyfin.models.EpisodeItem
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.isDownloaded
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.bindCardItemImage
|
||||
import org.askartv.phone.bindItemBackdropById
|
||||
import org.askartv.phone.bindSeasonPoster
|
||||
import org.askartv.phone.databinding.EpisodeItemBinding
|
||||
import org.askartv.phone.databinding.SeasonHeaderBinding
|
||||
import org.askartv.phone.models.EpisodeItem
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.isDownloaded
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
private const val ITEM_VIEW_TYPE_HEADER = 0
|
||||
private const val ITEM_VIEW_TYPE_EPISODE = 1
|
||||
|
@ -123,4 +123,4 @@ class EpisodeListAdapter(
|
|||
is EpisodeItem.Episode -> ITEM_VIEW_TYPE_EPISODE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +1,14 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.Constants
|
||||
import dev.jdtech.jellyfin.databinding.FavoriteSectionBinding
|
||||
import dev.jdtech.jellyfin.models.FavoriteSection
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import org.askartv.phone.Constants
|
||||
import org.askartv.phone.databinding.FavoriteSectionBinding
|
||||
import org.askartv.phone.models.FavoriteSection
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
|
||||
class FavoritesListAdapter(
|
||||
private val onItemClickListener: (item: FindroidItem) -> Unit,
|
||||
|
@ -59,4 +59,4 @@ class FavoritesListAdapter(
|
|||
val collection = getItem(position)
|
||||
holder.bind(collection, onItemClickListener)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.util.TypedValue
|
||||
import android.view.LayoutInflater
|
||||
|
@ -8,13 +8,13 @@ import androidx.core.view.isVisible
|
|||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindCardItemImage
|
||||
import dev.jdtech.jellyfin.databinding.HomeEpisodeItemBinding
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.isDownloaded
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.bindCardItemImage
|
||||
import org.askartv.phone.core.R
|
||||
import org.askartv.phone.databinding.HomeEpisodeItemBinding
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.isDownloaded
|
||||
|
||||
class HomeEpisodeListAdapter(private val onClickListener: (item: FindroidItem) -> Unit) : ListAdapter<FindroidItem, HomeEpisodeListAdapter.EpisodeViewHolder>(DiffCallback) {
|
||||
class EpisodeViewHolder(
|
||||
|
@ -42,9 +42,9 @@ class HomeEpisodeListAdapter(private val onClickListener: (item: FindroidItem) -
|
|||
is FindroidEpisode -> {
|
||||
binding.primaryName.text = item.seriesName
|
||||
binding.secondaryName.text = if (item.indexNumberEnd == null) {
|
||||
parent.resources.getString(CoreR.string.episode_name_extended, item.parentIndexNumber, item.indexNumber, item.name)
|
||||
parent.resources.getString(R.string.episode_name_extended, item.parentIndexNumber, item.indexNumber, item.name)
|
||||
} else {
|
||||
parent.resources.getString(CoreR.string.episode_name_extended_with_end, item.parentIndexNumber, item.indexNumber, item.indexNumberEnd, item.name)
|
||||
parent.resources.getString(R.string.episode_name_extended_with_end, item.parentIndexNumber, item.indexNumber, item.indexNumberEnd, item.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -81,4 +81,4 @@ class HomeEpisodeListAdapter(private val onClickListener: (item: FindroidItem) -
|
|||
}
|
||||
holder.bind(item)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindPersonImage
|
||||
import dev.jdtech.jellyfin.databinding.PersonItemBinding
|
||||
import org.askartv.phone.bindPersonImage
|
||||
import org.askartv.phone.databinding.PersonItemBinding
|
||||
import org.jellyfin.sdk.model.api.BaseItemPerson
|
||||
|
||||
class PersonListAdapter(private val clickListener: (item: BaseItemPerson) -> Unit) : ListAdapter<BaseItemPerson, PersonListAdapter.PersonViewHolder>(DiffCallback) {
|
||||
|
@ -45,4 +45,4 @@ class PersonListAdapter(private val clickListener: (item: BaseItemPerson) -> Uni
|
|||
holder.bind(item)
|
||||
holder.itemView.setOnClickListener { clickListener(item) }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.databinding.ServerAddressListItemBinding
|
||||
import dev.jdtech.jellyfin.models.ServerAddress
|
||||
import org.askartv.phone.databinding.ServerAddressListItemBinding
|
||||
import org.askartv.phone.models.ServerAddress
|
||||
|
||||
class ServerAddressAdapter(
|
||||
private val clickListener: (address: ServerAddress) -> Unit,
|
||||
|
@ -48,4 +48,4 @@ class ServerAddressAdapter(
|
|||
holder.itemView.setOnLongClickListener { longClickListener(address) }
|
||||
holder.bind(address)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.databinding.ServerItemBinding
|
||||
import dev.jdtech.jellyfin.models.Server
|
||||
import org.askartv.phone.databinding.ServerItemBinding
|
||||
import org.askartv.phone.models.Server
|
||||
|
||||
class ServerGridAdapter(
|
||||
private val onClickListener: (server: Server) -> Unit,
|
||||
|
@ -46,4 +46,4 @@ class ServerGridAdapter(
|
|||
}
|
||||
holder.bind(server)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindUserImage
|
||||
import dev.jdtech.jellyfin.databinding.UserListItemBinding
|
||||
import dev.jdtech.jellyfin.models.User
|
||||
import org.askartv.phone.bindUserImage
|
||||
import org.askartv.phone.databinding.UserListItemBinding
|
||||
import org.askartv.phone.models.User
|
||||
|
||||
class UserListAdapter(
|
||||
private val clickListener: (user: User) -> Unit,
|
||||
|
@ -50,4 +50,4 @@ class UserListAdapter(
|
|||
holder.itemView.setOnLongClickListener { longClickListener(user) }
|
||||
holder.bind(user)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindUserImage
|
||||
import dev.jdtech.jellyfin.databinding.UserItemBinding
|
||||
import dev.jdtech.jellyfin.models.User
|
||||
import org.askartv.phone.bindUserImage
|
||||
import org.askartv.phone.databinding.UserItemBinding
|
||||
import org.askartv.phone.models.User
|
||||
|
||||
class UserLoginListAdapter(
|
||||
private val clickListener: (user: User) -> Unit,
|
||||
|
@ -48,4 +48,4 @@ class UserLoginListAdapter(
|
|||
holder.itemView.setOnClickListener { clickListener(user) }
|
||||
holder.bind(user)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
@ -7,12 +7,12 @@ import androidx.core.view.isVisible
|
|||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindItemImage
|
||||
import dev.jdtech.jellyfin.databinding.BaseItemBinding
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.isDownloaded
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.bindItemImage
|
||||
import org.askartv.phone.core.R
|
||||
import org.askartv.phone.databinding.BaseItemBinding
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.isDownloaded
|
||||
|
||||
class ViewItemListAdapter(
|
||||
private val onClickListener: (item: FindroidItem) -> Unit,
|
||||
|
@ -27,7 +27,7 @@ class ViewItemListAdapter(
|
|||
if (item.unplayedItemCount != null && item.unplayedItemCount!! > 0) View.VISIBLE else View.GONE
|
||||
if (fixedWidth) {
|
||||
binding.itemLayout.layoutParams.width =
|
||||
parent.resources.getDimension(CoreR.dimen.overview_media_width).toInt()
|
||||
parent.resources.getDimension(R.dimen.overview_media_width).toInt()
|
||||
(binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0
|
||||
}
|
||||
|
||||
|
@ -67,4 +67,4 @@ class ViewItemListAdapter(
|
|||
}
|
||||
holder.bind(item, fixedWidth)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
@ -7,12 +7,12 @@ import androidx.core.view.isVisible
|
|||
import androidx.paging.PagingDataAdapter
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.bindItemImage
|
||||
import dev.jdtech.jellyfin.databinding.BaseItemBinding
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.isDownloaded
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.bindItemImage
|
||||
import org.askartv.phone.core.R
|
||||
import org.askartv.phone.databinding.BaseItemBinding
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.isDownloaded
|
||||
|
||||
class ViewItemPagingAdapter(
|
||||
private val onClickListener: (item: FindroidItem) -> Unit,
|
||||
|
@ -28,7 +28,7 @@ class ViewItemPagingAdapter(
|
|||
if (item.unplayedItemCount != null && item.unplayedItemCount!! > 0) View.VISIBLE else View.GONE
|
||||
if (fixedWidth) {
|
||||
binding.itemLayout.layoutParams.width =
|
||||
parent.resources.getDimension(CoreR.dimen.overview_media_width).toInt()
|
||||
parent.resources.getDimension(R.dimen.overview_media_width).toInt()
|
||||
(binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0
|
||||
}
|
||||
|
||||
|
@ -70,4 +70,4 @@ class ViewItemPagingAdapter(
|
|||
holder.bind(item, fixedWidth)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +1,17 @@
|
|||
package dev.jdtech.jellyfin.adapters
|
||||
package org.askartv.phone.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.databinding.CardOfflineBinding
|
||||
import dev.jdtech.jellyfin.databinding.NextUpSectionBinding
|
||||
import dev.jdtech.jellyfin.databinding.ViewItemBinding
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.HomeItem
|
||||
import dev.jdtech.jellyfin.models.View
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.databinding.CardOfflineBinding
|
||||
import org.askartv.phone.databinding.NextUpSectionBinding
|
||||
import org.askartv.phone.databinding.ViewItemBinding
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.HomeItem
|
||||
import org.askartv.phone.models.View
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
private const val ITEM_VIEW_TYPE_NEXT_UP = 0
|
||||
private const val ITEM_VIEW_TYPE_VIEW = 1
|
||||
|
@ -125,4 +125,4 @@ class ViewListAdapter(
|
|||
is HomeItem.ViewItem -> ITEM_VIEW_TYPE_VIEW
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.di
|
||||
package org.askartv.phone.di
|
||||
|
||||
import android.content.Context
|
||||
import dagger.Module
|
||||
|
@ -6,7 +6,7 @@ import dagger.Provides
|
|||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import dev.jdtech.jellyfin.BaseApplication
|
||||
import org.askartv.phone.BaseApplication
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Module
|
|
@ -1,11 +1,11 @@
|
|||
package dev.jdtech.jellyfin.dialogs
|
||||
package org.askartv.phone.dialogs
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Environment
|
||||
import android.os.StatFs
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
fun getStorageSelectionDialog(
|
||||
context: Context,
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.text.method.LinkMovementMethod
|
||||
|
@ -15,10 +15,10 @@ import androidx.lifecycle.lifecycleScope
|
|||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.DiscoveredServerListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentAddServerBinding
|
||||
import dev.jdtech.jellyfin.viewmodels.AddServerEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.AddServerViewModel
|
||||
import org.askartv.phone.adapters.DiscoveredServerListAdapter
|
||||
import org.askartv.phone.databinding.FragmentAddServerBinding
|
||||
import org.askartv.phone.viewmodels.AddServerEvent
|
||||
import org.askartv.phone.viewmodels.AddServerViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -13,18 +13,18 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentFavoriteBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.viewmodels.CollectionViewModel
|
||||
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||
import org.askartv.phone.databinding.FragmentFavoriteBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.viewmodels.CollectionViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class CollectionFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -13,19 +13,19 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentDownloadsBinding
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.utils.restart
|
||||
import dev.jdtech.jellyfin.viewmodels.DownloadsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.DownloadsViewModel
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||
import org.askartv.phone.databinding.FragmentDownloadsBinding
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.utils.restart
|
||||
import org.askartv.phone.viewmodels.DownloadsEvent
|
||||
import org.askartv.phone.viewmodels.DownloadsViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DownloadsFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.app.DownloadManager
|
||||
import android.os.Bundle
|
||||
|
@ -21,23 +21,23 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
|
|||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.R
|
||||
import dev.jdtech.jellyfin.bindCardItemImage
|
||||
import dev.jdtech.jellyfin.databinding.EpisodeBottomSheetBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.dialogs.getStorageSelectionDialog
|
||||
import dev.jdtech.jellyfin.dialogs.getVideoVersionDialog
|
||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
||||
import dev.jdtech.jellyfin.models.PlayerItem
|
||||
import dev.jdtech.jellyfin.models.UiText
|
||||
import dev.jdtech.jellyfin.models.isDownloaded
|
||||
import dev.jdtech.jellyfin.models.isDownloading
|
||||
import dev.jdtech.jellyfin.utils.setIconTintColorAttribute
|
||||
import dev.jdtech.jellyfin.viewmodels.EpisodeBottomSheetEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.EpisodeBottomSheetViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.R
|
||||
import org.askartv.phone.bindCardItemImage
|
||||
import org.askartv.phone.databinding.EpisodeBottomSheetBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.dialogs.getStorageSelectionDialog
|
||||
import org.askartv.phone.dialogs.getVideoVersionDialog
|
||||
import org.askartv.phone.models.FindroidSourceType
|
||||
import org.askartv.phone.models.PlayerItem
|
||||
import org.askartv.phone.models.UiText
|
||||
import org.askartv.phone.models.isDownloaded
|
||||
import org.askartv.phone.models.isDownloading
|
||||
import org.askartv.phone.utils.setIconTintColorAttribute
|
||||
import org.askartv.phone.viewmodels.EpisodeBottomSheetEvent
|
||||
import org.askartv.phone.viewmodels.EpisodeBottomSheetViewModel
|
||||
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jellyfin.sdk.model.DateTime
|
||||
import timber.log.Timber
|
||||
|
@ -48,7 +48,7 @@ import java.util.UUID
|
|||
import javax.inject.Inject
|
||||
import android.R as AndroidR
|
||||
import com.google.android.material.R as MaterialR
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class EpisodeBottomSheetFragment : BottomSheetDialogFragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -12,15 +12,15 @@ import androidx.lifecycle.lifecycleScope
|
|||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentFavoriteBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.viewmodels.FavoriteViewModel
|
||||
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||
import org.askartv.phone.databinding.FragmentFavoriteBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.viewmodels.FavoriteViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -19,21 +19,21 @@ import androidx.lifecycle.lifecycleScope
|
|||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.adapters.ViewListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentHomeBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.utils.restart
|
||||
import dev.jdtech.jellyfin.viewmodels.HomeViewModel
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.adapters.ViewListAdapter
|
||||
import org.askartv.phone.databinding.FragmentHomeBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.utils.restart
|
||||
import org.askartv.phone.viewmodels.HomeViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class HomeFragment : Fragment() {
|
||||
|
@ -202,7 +202,7 @@ class HomeFragment : Fragment() {
|
|||
checkIfLoginRequired(uiState.error.message)
|
||||
}
|
||||
|
||||
private fun navigateToLibraryFragment(view: dev.jdtech.jellyfin.models.View) {
|
||||
private fun navigateToLibraryFragment(view: org.askartv.phone.models.View) {
|
||||
findNavController().navigate(
|
||||
HomeFragmentDirections.actionNavigationHomeToLibraryFragment(
|
||||
libraryId = view.id,
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -19,24 +19,24 @@ import androidx.navigation.fragment.findNavController
|
|||
import androidx.navigation.fragment.navArgs
|
||||
import androidx.paging.LoadState
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.adapters.ViewItemPagingAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentLibraryBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.dialogs.SortDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidBoxSet
|
||||
import dev.jdtech.jellyfin.models.FindroidFolder
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.models.SortBy
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.viewmodels.LibraryViewModel
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.adapters.ViewItemPagingAdapter
|
||||
import org.askartv.phone.databinding.FragmentLibraryBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.dialogs.SortDialogFragment
|
||||
import org.askartv.phone.models.FindroidBoxSet
|
||||
import org.askartv.phone.models.FindroidFolder
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.models.SortBy
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.viewmodels.LibraryViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jellyfin.sdk.model.api.SortOrder
|
||||
import java.lang.IllegalArgumentException
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class LibraryFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.text.Html.fromHtml
|
||||
|
@ -16,16 +16,16 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.adapters.UserLoginListAdapter
|
||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
||||
import dev.jdtech.jellyfin.databinding.FragmentLoginBinding
|
||||
import dev.jdtech.jellyfin.viewmodels.LoginEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.LoginViewModel
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.adapters.UserLoginListAdapter
|
||||
import org.askartv.phone.database.ServerDatabaseDao
|
||||
import org.askartv.phone.databinding.FragmentLoginBinding
|
||||
import org.askartv.phone.viewmodels.LoginEvent
|
||||
import org.askartv.phone.viewmodels.LoginViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class LoginFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -19,15 +19,15 @@ import androidx.lifecycle.lifecycleScope
|
|||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.CollectionListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentMediaBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.viewmodels.MediaViewModel
|
||||
import org.askartv.phone.adapters.CollectionListAdapter
|
||||
import org.askartv.phone.databinding.FragmentMediaBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidCollection
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.viewmodels.MediaViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class MediaFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.app.DownloadManager
|
||||
import android.content.Intent
|
||||
|
@ -21,32 +21,32 @@ import androidx.navigation.fragment.findNavController
|
|||
import androidx.navigation.fragment.navArgs
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.R
|
||||
import dev.jdtech.jellyfin.adapters.PersonListAdapter
|
||||
import dev.jdtech.jellyfin.bindItemBackdropImage
|
||||
import dev.jdtech.jellyfin.databinding.FragmentMovieBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.dialogs.getStorageSelectionDialog
|
||||
import dev.jdtech.jellyfin.dialogs.getVideoVersionDialog
|
||||
import dev.jdtech.jellyfin.models.AudioCodec
|
||||
import dev.jdtech.jellyfin.models.DisplayProfile
|
||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
||||
import dev.jdtech.jellyfin.models.PlayerItem
|
||||
import dev.jdtech.jellyfin.models.UiText
|
||||
import dev.jdtech.jellyfin.models.isDownloaded
|
||||
import dev.jdtech.jellyfin.models.isDownloading
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.utils.setIconTintColorAttribute
|
||||
import dev.jdtech.jellyfin.viewmodels.MovieEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.MovieViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.R
|
||||
import org.askartv.phone.adapters.PersonListAdapter
|
||||
import org.askartv.phone.bindItemBackdropImage
|
||||
import org.askartv.phone.databinding.FragmentMovieBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.dialogs.getStorageSelectionDialog
|
||||
import org.askartv.phone.dialogs.getVideoVersionDialog
|
||||
import org.askartv.phone.models.AudioCodec
|
||||
import org.askartv.phone.models.DisplayProfile
|
||||
import org.askartv.phone.models.FindroidSourceType
|
||||
import org.askartv.phone.models.PlayerItem
|
||||
import org.askartv.phone.models.UiText
|
||||
import org.askartv.phone.models.isDownloaded
|
||||
import org.askartv.phone.models.isDownloading
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.utils.setIconTintColorAttribute
|
||||
import org.askartv.phone.viewmodels.MovieEvent
|
||||
import org.askartv.phone.viewmodels.MovieViewModel
|
||||
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import java.util.UUID
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class MovieFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -15,18 +15,18 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.ViewItemListAdapter
|
||||
import dev.jdtech.jellyfin.bindItemImage
|
||||
import dev.jdtech.jellyfin.databinding.FragmentPersonDetailBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.viewmodels.PersonDetailViewModel
|
||||
import org.askartv.phone.adapters.ViewItemListAdapter
|
||||
import org.askartv.phone.bindItemImage
|
||||
import org.askartv.phone.databinding.FragmentPersonDetailBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.viewmodels.PersonDetailViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
internal class PersonDetailFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -13,15 +13,15 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentSearchResultBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.viewmodels.SearchResultViewModel
|
||||
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||
import org.askartv.phone.databinding.FragmentSearchResultBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.viewmodels.SearchResultViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -13,13 +13,13 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.EpisodeListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentSeasonBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.viewmodels.SeasonEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.SeasonViewModel
|
||||
import org.askartv.phone.adapters.EpisodeListAdapter
|
||||
import org.askartv.phone.databinding.FragmentSeasonBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.viewmodels.SeasonEvent
|
||||
import org.askartv.phone.viewmodels.SeasonViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -12,12 +12,12 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.ServerAddressAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentServerAddressesBinding
|
||||
import dev.jdtech.jellyfin.dialogs.AddServerAddressDialog
|
||||
import dev.jdtech.jellyfin.dialogs.DeleteServerAddressDialog
|
||||
import dev.jdtech.jellyfin.viewmodels.ServerAddressesEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.ServerAddressesViewModel
|
||||
import org.askartv.phone.adapters.ServerAddressAdapter
|
||||
import org.askartv.phone.databinding.FragmentServerAddressesBinding
|
||||
import org.askartv.phone.dialogs.AddServerAddressDialog
|
||||
import org.askartv.phone.dialogs.DeleteServerAddressDialog
|
||||
import org.askartv.phone.viewmodels.ServerAddressesEvent
|
||||
import org.askartv.phone.viewmodels.ServerAddressesViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -11,11 +11,11 @@ import androidx.lifecycle.lifecycleScope
|
|||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.adapters.ServerGridAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentServerSelectBinding
|
||||
import dev.jdtech.jellyfin.dialogs.DeleteServerDialogFragment
|
||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
|
||||
import org.askartv.phone.adapters.ServerGridAdapter
|
||||
import org.askartv.phone.databinding.FragmentServerSelectBinding
|
||||
import org.askartv.phone.dialogs.DeleteServerDialogFragment
|
||||
import org.askartv.phone.viewmodels.ServerSelectEvent
|
||||
import org.askartv.phone.viewmodels.ServerSelectViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.preference.ListPreference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
class SettingsAppearanceFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
|
@ -1,10 +1,10 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.text.InputType
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
class SettingsCacheFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
|
@ -1,12 +1,12 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.viewmodels.SettingsDeviceViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.viewmodels.SettingsDeviceViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class SettingsDeviceFragment : PreferenceFragmentCompat() {
|
|
@ -1,8 +1,8 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
class SettingsDownloadsFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
|
@ -7,10 +7,10 @@ import androidx.navigation.fragment.findNavController
|
|||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.utils.restart
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.utils.restart
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class SettingsFragment : PreferenceFragmentCompat() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
|
@ -7,7 +7,7 @@ import android.os.Bundle
|
|||
import android.provider.Settings
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
class SettingsLanguageFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
|
@ -1,11 +1,11 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.text.InputType
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import dev.jdtech.jellyfin.Constants
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.Constants
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
class SettingsNetworkFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
|
@ -7,7 +7,7 @@ import android.text.InputType
|
|||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
class SettingsPlayerFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
|
@ -18,29 +18,29 @@ import androidx.navigation.fragment.findNavController
|
|||
import androidx.navigation.fragment.navArgs
|
||||
import com.google.android.material.R
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.adapters.PersonListAdapter
|
||||
import dev.jdtech.jellyfin.adapters.ViewItemListAdapter
|
||||
import dev.jdtech.jellyfin.bindCardItemImage
|
||||
import dev.jdtech.jellyfin.bindItemBackdropImage
|
||||
import dev.jdtech.jellyfin.databinding.FragmentShowBinding
|
||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidSeason
|
||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
||||
import dev.jdtech.jellyfin.models.PlayerItem
|
||||
import dev.jdtech.jellyfin.models.isDownloaded
|
||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
||||
import dev.jdtech.jellyfin.utils.setIconTintColorAttribute
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.ShowEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.ShowViewModel
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.adapters.PersonListAdapter
|
||||
import org.askartv.phone.adapters.ViewItemListAdapter
|
||||
import org.askartv.phone.bindCardItemImage
|
||||
import org.askartv.phone.bindItemBackdropImage
|
||||
import org.askartv.phone.databinding.FragmentShowBinding
|
||||
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidSeason
|
||||
import org.askartv.phone.models.FindroidSourceType
|
||||
import org.askartv.phone.models.PlayerItem
|
||||
import org.askartv.phone.models.isDownloaded
|
||||
import org.askartv.phone.utils.checkIfLoginRequired
|
||||
import org.askartv.phone.utils.setIconTintColorAttribute
|
||||
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||
import org.askartv.phone.viewmodels.ShowEvent
|
||||
import org.askartv.phone.viewmodels.ShowViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import java.util.UUID
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@AndroidEntryPoint
|
||||
class ShowFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.PreferenceHeaderFragmentCompat
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.fragments
|
||||
package org.askartv.phone.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
|
@ -12,12 +12,12 @@ import androidx.lifecycle.repeatOnLifecycle
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppNavigationDirections
|
||||
import dev.jdtech.jellyfin.adapters.UserListAdapter
|
||||
import dev.jdtech.jellyfin.databinding.FragmentUsersBinding
|
||||
import dev.jdtech.jellyfin.dialogs.DeleteUserDialogFragment
|
||||
import dev.jdtech.jellyfin.viewmodels.UsersEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.UsersViewModel
|
||||
import org.askartv.phone.AppNavigationDirections
|
||||
import org.askartv.phone.adapters.UserListAdapter
|
||||
import org.askartv.phone.databinding.FragmentUsersBinding
|
||||
import org.askartv.phone.dialogs.DeleteUserDialogFragment
|
||||
import org.askartv.phone.viewmodels.UsersEvent
|
||||
import org.askartv.phone.viewmodels.UsersViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package dev.jdtech.jellyfin.utils
|
||||
package org.askartv.phone.utils
|
||||
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import dev.jdtech.jellyfin.AppNavigationDirections
|
||||
import org.askartv.phone.AppNavigationDirections
|
||||
import timber.log.Timber
|
||||
|
||||
fun Fragment.checkIfLoginRequired(error: String?) {
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.utils
|
||||
package org.askartv.phone.utils
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.res.Resources
|
||||
|
@ -19,12 +19,12 @@ import android.view.animation.DecelerateInterpolator
|
|||
import android.widget.ImageView
|
||||
import androidx.media3.ui.AspectRatioFrameLayout
|
||||
import androidx.media3.ui.PlayerView
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.Constants
|
||||
import dev.jdtech.jellyfin.PlayerActivity
|
||||
import dev.jdtech.jellyfin.isControlsLocked
|
||||
import dev.jdtech.jellyfin.models.PlayerChapter
|
||||
import dev.jdtech.jellyfin.mpv.MPVPlayer
|
||||
import org.askartv.phone.AppPreferences
|
||||
import org.askartv.phone.Constants
|
||||
import org.askartv.phone.PlayerActivity
|
||||
import org.askartv.phone.isControlsLocked
|
||||
import org.askartv.phone.models.PlayerChapter
|
||||
import org.askartv.phone.mpv.MPVPlayer
|
||||
import timber.log.Timber
|
||||
import kotlin.math.abs
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.utils
|
||||
package org.askartv.phone.utils
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.view.View
|
||||
|
@ -8,7 +8,7 @@ import androidx.media3.common.Player
|
|||
import androidx.media3.ui.TimeBar
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import dev.jdtech.jellyfin.models.Trickplay
|
||||
import org.askartv.phone.models.Trickplay
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import timber.log.Timber
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/homeFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.HomeFragment"
|
||||
android:name="org.askartv.phone.fragments.HomeFragment"
|
||||
android:label="@string/title_home"
|
||||
tools:layout="@layout/fragment_home">
|
||||
<action
|
||||
|
@ -53,7 +53,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/mediaFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.MediaFragment"
|
||||
android:name="org.askartv.phone.fragments.MediaFragment"
|
||||
android:label="@string/title_media"
|
||||
tools:layout="@layout/fragment_media">
|
||||
<action
|
||||
|
@ -70,7 +70,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/twoPaneSettingsFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.TwoPaneSettingsFragment"
|
||||
android:name="org.askartv.phone.fragments.TwoPaneSettingsFragment"
|
||||
android:label="@string/title_settings">
|
||||
<action
|
||||
android:id="@+id/action_navigation_settings_to_serverSelectFragment"
|
||||
|
@ -87,10 +87,10 @@
|
|||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/settingsFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.SettingsFragment" />
|
||||
android:name="org.askartv.phone.fragments.SettingsFragment" />
|
||||
<fragment
|
||||
android:id="@+id/libraryFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.LibraryFragment"
|
||||
android:name="org.askartv.phone.fragments.LibraryFragment"
|
||||
android:label="{libraryName}"
|
||||
tools:layout="@layout/fragment_library">
|
||||
<argument
|
||||
|
@ -122,14 +122,14 @@
|
|||
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
|
||||
<argument
|
||||
android:name="libraryType"
|
||||
app:argType="dev.jdtech.jellyfin.models.CollectionType" />
|
||||
app:argType="org.askartv.phone.models.CollectionType" />
|
||||
<action
|
||||
android:id="@+id/action_libraryFragment_self"
|
||||
app:destination="@id/libraryFragment" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/showFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.ShowFragment"
|
||||
android:name="org.askartv.phone.fragments.ShowFragment"
|
||||
android:label="{itemName}"
|
||||
tools:layout="@layout/fragment_show">
|
||||
<argument
|
||||
|
@ -158,7 +158,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/movieFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.MovieFragment"
|
||||
android:name="org.askartv.phone.fragments.MovieFragment"
|
||||
android:label="{itemName}"
|
||||
tools:layout="@layout/fragment_movie">
|
||||
<argument
|
||||
|
@ -179,7 +179,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/seasonFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.SeasonFragment"
|
||||
android:name="org.askartv.phone.fragments.SeasonFragment"
|
||||
android:label="{seasonName}"
|
||||
tools:layout="@layout/fragment_season">
|
||||
<argument
|
||||
|
@ -211,7 +211,7 @@
|
|||
</fragment>
|
||||
<dialog
|
||||
android:id="@+id/episodeBottomSheetFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.EpisodeBottomSheetFragment"
|
||||
android:name="org.askartv.phone.fragments.EpisodeBottomSheetFragment"
|
||||
android:label="EpisodeBottomSheetFragment"
|
||||
tools:layout="@layout/episode_bottom_sheet">
|
||||
<argument
|
||||
|
@ -226,7 +226,7 @@
|
|||
</dialog>
|
||||
<fragment
|
||||
android:id="@+id/favoriteFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.FavoriteFragment"
|
||||
android:name="org.askartv.phone.fragments.FavoriteFragment"
|
||||
android:label="@string/title_favorite"
|
||||
tools:layout="@layout/fragment_favorite">
|
||||
<action
|
||||
|
@ -241,7 +241,7 @@
|
|||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/collectionFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.CollectionFragment"
|
||||
android:name="org.askartv.phone.fragments.CollectionFragment"
|
||||
android:label="{collectionName}"
|
||||
tools:layout="@layout/fragment_favorite">
|
||||
<argument
|
||||
|
@ -264,7 +264,7 @@
|
|||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/searchResultFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.SearchResultFragment"
|
||||
android:name="org.askartv.phone.fragments.SearchResultFragment"
|
||||
android:label="{query}"
|
||||
tools:layout="@layout/fragment_search_result">
|
||||
<action
|
||||
|
@ -282,7 +282,7 @@
|
|||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/addServerFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.AddServerFragment"
|
||||
android:name="org.askartv.phone.fragments.AddServerFragment"
|
||||
android:label="@string/add_server"
|
||||
tools:layout="@layout/fragment_add_server">
|
||||
<action
|
||||
|
@ -291,7 +291,7 @@
|
|||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/serverSelectFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.ServerSelectFragment"
|
||||
android:name="org.askartv.phone.fragments.ServerSelectFragment"
|
||||
android:label="@string/select_server"
|
||||
tools:layout="@layout/fragment_server_select">
|
||||
<action
|
||||
|
@ -308,7 +308,7 @@
|
|||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/loginFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.LoginFragment"
|
||||
android:name="org.askartv.phone.fragments.LoginFragment"
|
||||
android:label="@string/login"
|
||||
tools:layout="@layout/fragment_login">
|
||||
<action
|
||||
|
@ -324,7 +324,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/personDetailFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.PersonDetailFragment"
|
||||
android:name="org.askartv.phone.fragments.PersonDetailFragment"
|
||||
android:label="@string/person_detail_title"
|
||||
tools:layout="@layout/fragment_person_detail">
|
||||
|
||||
|
@ -342,12 +342,12 @@
|
|||
|
||||
<activity
|
||||
android:id="@+id/playerActivity"
|
||||
android:name="dev.jdtech.jellyfin.PlayerActivity"
|
||||
android:name="org.askartv.phone.PlayerActivity"
|
||||
android:label="activity_player"
|
||||
tools:layout="@layout/activity_player">
|
||||
<argument
|
||||
android:name="items"
|
||||
app:argType="dev.jdtech.jellyfin.models.PlayerItem[]" />
|
||||
app:argType="org.askartv.phone.models.PlayerItem[]" />
|
||||
</activity>
|
||||
|
||||
<include app:graph="@navigation/aboutlibs_navigation" />
|
||||
|
@ -357,7 +357,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/usersFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.UsersFragment"
|
||||
android:name="org.askartv.phone.fragments.UsersFragment"
|
||||
android:label="@string/users"
|
||||
tools:layout="@layout/fragment_users">
|
||||
<action
|
||||
|
@ -375,7 +375,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/serverAddressesFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.ServerAddressesFragment"
|
||||
android:name="org.askartv.phone.fragments.ServerAddressesFragment"
|
||||
android:label="@string/addresses"
|
||||
tools:layout="@layout/fragment_server_addresses">
|
||||
<action
|
||||
|
@ -390,7 +390,7 @@
|
|||
|
||||
<fragment
|
||||
android:id="@+id/downloadsFragment"
|
||||
android:name="dev.jdtech.jellyfin.fragments.DownloadsFragment"
|
||||
android:name="org.askartv.phone.fragments.DownloadsFragment"
|
||||
android:label="@string/title_download"
|
||||
tools:layout="@layout/fragment_favorite">
|
||||
<action
|
||||
|
|
|
@ -9,12 +9,12 @@ plugins {
|
|||
}
|
||||
|
||||
android {
|
||||
namespace = "dev.jdtech.jellyfin"
|
||||
namespace = "org.askartv.phone"
|
||||
compileSdk = Versions.compileSdk
|
||||
buildToolsVersion = Versions.buildTools
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "dev.jdtech.jellyfin"
|
||||
applicationId = "org.askartv.phone"
|
||||
minSdk = Versions.minSdk
|
||||
targetSdk = Versions.targetSdk
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.app.Application
|
||||
import coil.ImageLoader
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
|
@ -6,11 +6,11 @@ import androidx.activity.compose.setContent
|
|||
import androidx.activity.viewModels
|
||||
import com.ramcosta.composedestinations.DestinationsNavHost
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
||||
import dev.jdtech.jellyfin.destinations.AddServerScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.LoginScreenDestination
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.viewmodels.MainViewModel
|
||||
import org.askartv.phone.database.ServerDatabaseDao
|
||||
import org.askartv.phone.destinations.AddServerScreenDestination
|
||||
import org.askartv.phone.destinations.LoginScreenDestination
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.viewmodels.MainViewModel
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin
|
||||
package org.askartv.phone
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.WindowManager
|
||||
|
@ -9,11 +9,11 @@ import com.ramcosta.composedestinations.annotation.ActivityDestination
|
|||
import com.ramcosta.composedestinations.manualcomposablecalls.composable
|
||||
import com.ramcosta.composedestinations.scope.resultRecipient
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
||||
import dev.jdtech.jellyfin.destinations.PlayerScreenDestination
|
||||
import dev.jdtech.jellyfin.models.PlayerItem
|
||||
import dev.jdtech.jellyfin.ui.PlayerScreen
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||
import org.askartv.phone.destinations.PlayerScreenDestination
|
||||
import org.askartv.phone.models.PlayerItem
|
||||
import org.askartv.phone.ui.PlayerScreen
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
|
||||
data class PlayerActivityNavArgs(
|
||||
val items: ArrayList<PlayerItem>,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -38,13 +38,13 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.Text
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.LoginScreenDestination
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.AddServerEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.AddServerViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.destinations.LoginScreenDestination
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.AddServerEvent
|
||||
import org.askartv.phone.viewmodels.AddServerViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
|
@ -26,24 +26,24 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.Text
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.MovieScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
||||
import dev.jdtech.jellyfin.destinations.ShowScreenDestination
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.models.HomeItem
|
||||
import dev.jdtech.jellyfin.ui.components.Direction
|
||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyHomeItems
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.HomeViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.destinations.MovieScreenDestination
|
||||
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||
import org.askartv.phone.destinations.ShowScreenDestination
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.models.HomeItem
|
||||
import org.askartv.phone.ui.components.Direction
|
||||
import org.askartv.phone.ui.components.ItemCard
|
||||
import org.askartv.phone.ui.dummy.dummyHomeItems
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.HomeViewModel
|
||||
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
|
@ -20,15 +20,15 @@ import androidx.tv.foundation.lazy.grid.items
|
|||
import androidx.tv.material3.MaterialTheme
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.LibraryScreenDestination
|
||||
import dev.jdtech.jellyfin.models.CollectionType
|
||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
||||
import dev.jdtech.jellyfin.ui.components.Direction
|
||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyCollections
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.viewmodels.MediaViewModel
|
||||
import org.askartv.phone.destinations.LibraryScreenDestination
|
||||
import org.askartv.phone.models.CollectionType
|
||||
import org.askartv.phone.models.FindroidCollection
|
||||
import org.askartv.phone.ui.components.Direction
|
||||
import org.askartv.phone.ui.components.ItemCard
|
||||
import org.askartv.phone.ui.dummy.dummyCollections
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.viewmodels.MediaViewModel
|
||||
import java.util.UUID
|
||||
|
||||
@Destination
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
|
@ -22,20 +22,20 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.Text
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.LibraryScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.MovieScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.ShowScreenDestination
|
||||
import dev.jdtech.jellyfin.models.CollectionType
|
||||
import dev.jdtech.jellyfin.models.FindroidFolder
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidShow
|
||||
import dev.jdtech.jellyfin.ui.components.Direction
|
||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyMovies
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.viewmodels.LibraryViewModel
|
||||
import org.askartv.phone.destinations.LibraryScreenDestination
|
||||
import org.askartv.phone.destinations.MovieScreenDestination
|
||||
import org.askartv.phone.destinations.ShowScreenDestination
|
||||
import org.askartv.phone.models.CollectionType
|
||||
import org.askartv.phone.models.FindroidFolder
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidShow
|
||||
import org.askartv.phone.ui.components.Direction
|
||||
import org.askartv.phone.ui.components.ItemCard
|
||||
import org.askartv.phone.ui.dummy.dummyMovies
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.viewmodels.LibraryViewModel
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
import java.util.UUID
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -41,15 +41,15 @@ import androidx.tv.material3.Text
|
|||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import com.ramcosta.composedestinations.navigation.popUpTo
|
||||
import dev.jdtech.jellyfin.NavGraphs
|
||||
import dev.jdtech.jellyfin.destinations.MainScreenDestination
|
||||
import dev.jdtech.jellyfin.models.UiText
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.LoginEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.LoginViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.NavGraphs
|
||||
import org.askartv.phone.destinations.MainScreenDestination
|
||||
import org.askartv.phone.models.UiText
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.LoginEvent
|
||||
import org.askartv.phone.viewmodels.LoginViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
|
@ -40,17 +40,17 @@ import com.ramcosta.composedestinations.annotation.Destination
|
|||
import com.ramcosta.composedestinations.annotation.RootNavGraph
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import com.ramcosta.composedestinations.navigation.EmptyDestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.SettingsScreenDestination
|
||||
import dev.jdtech.jellyfin.models.User
|
||||
import dev.jdtech.jellyfin.ui.components.LoadingIndicator
|
||||
import dev.jdtech.jellyfin.ui.components.PillBorderIndicator
|
||||
import dev.jdtech.jellyfin.ui.components.ProfileButton
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyServer
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyUser
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.viewmodels.MainViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.destinations.SettingsScreenDestination
|
||||
import org.askartv.phone.models.User
|
||||
import org.askartv.phone.ui.components.LoadingIndicator
|
||||
import org.askartv.phone.ui.components.PillBorderIndicator
|
||||
import org.askartv.phone.ui.components.ProfileButton
|
||||
import org.askartv.phone.ui.dummy.dummyServer
|
||||
import org.askartv.phone.ui.dummy.dummyUser
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.viewmodels.MainViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@RootNavGraph(start = true)
|
||||
@Destination
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
|
@ -46,24 +46,24 @@ import androidx.tv.material3.Text
|
|||
import coil.compose.AsyncImage
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
||||
import dev.jdtech.jellyfin.models.AudioChannel
|
||||
import dev.jdtech.jellyfin.models.AudioCodec
|
||||
import dev.jdtech.jellyfin.models.DisplayProfile
|
||||
import dev.jdtech.jellyfin.models.Resolution
|
||||
import dev.jdtech.jellyfin.models.VideoMetadata
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyMovie
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.Yellow
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.MovieViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
||||
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||
import org.askartv.phone.models.AudioChannel
|
||||
import org.askartv.phone.models.AudioCodec
|
||||
import org.askartv.phone.models.DisplayProfile
|
||||
import org.askartv.phone.models.Resolution
|
||||
import org.askartv.phone.models.VideoMetadata
|
||||
import org.askartv.phone.ui.dummy.dummyMovie
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.Yellow
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.MovieViewModel
|
||||
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||
import org.jellyfin.sdk.model.api.BaseItemPerson
|
||||
import org.jellyfin.sdk.model.api.PersonKind
|
||||
import java.util.UUID
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.focusable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -35,21 +35,21 @@ import com.ramcosta.composedestinations.annotation.Destination
|
|||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import com.ramcosta.composedestinations.result.NavResult
|
||||
import com.ramcosta.composedestinations.result.ResultRecipient
|
||||
import dev.jdtech.jellyfin.core.R
|
||||
import dev.jdtech.jellyfin.destinations.VideoPlayerTrackSelectorDialogDestination
|
||||
import dev.jdtech.jellyfin.models.PlayerItem
|
||||
import dev.jdtech.jellyfin.models.Track
|
||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerControlsLayout
|
||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerMediaButton
|
||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerMediaTitle
|
||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerOverlay
|
||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerSeeker
|
||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerState
|
||||
import dev.jdtech.jellyfin.ui.components.player.rememberVideoPlayerState
|
||||
import dev.jdtech.jellyfin.ui.dialogs.VideoPlayerTrackSelectorDialogResult
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.handleDPadKeyEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
||||
import org.askartv.phone.core.R
|
||||
import org.askartv.phone.destinations.VideoPlayerTrackSelectorDialogDestination
|
||||
import org.askartv.phone.models.PlayerItem
|
||||
import org.askartv.phone.models.Track
|
||||
import org.askartv.phone.ui.components.player.VideoPlayerControlsLayout
|
||||
import org.askartv.phone.ui.components.player.VideoPlayerMediaButton
|
||||
import org.askartv.phone.ui.components.player.VideoPlayerMediaTitle
|
||||
import org.askartv.phone.ui.components.player.VideoPlayerOverlay
|
||||
import org.askartv.phone.ui.components.player.VideoPlayerSeeker
|
||||
import org.askartv.phone.ui.components.player.VideoPlayerState
|
||||
import org.askartv.phone.ui.components.player.rememberVideoPlayerState
|
||||
import org.askartv.phone.ui.dialogs.VideoPlayerTrackSelectorDialogResult
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.handleDPadKeyEvents
|
||||
import org.askartv.phone.viewmodels.PlayerActivityViewModel
|
||||
import kotlinx.coroutines.delay
|
||||
import java.util.Locale
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -22,17 +22,17 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.Text
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
||||
import dev.jdtech.jellyfin.models.EpisodeItem
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.ui.components.EpisodeCard
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisodeItems
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.SeasonViewModel
|
||||
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||
import org.askartv.phone.models.EpisodeItem
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.ui.components.EpisodeCard
|
||||
import org.askartv.phone.ui.dummy.dummyEpisodeItems
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||
import org.askartv.phone.viewmodels.SeasonViewModel
|
||||
import java.util.UUID
|
||||
|
||||
@Destination
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -43,21 +43,21 @@ import androidx.tv.material3.Text
|
|||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import com.ramcosta.composedestinations.navigation.popUpTo
|
||||
import dev.jdtech.jellyfin.NavGraphs
|
||||
import dev.jdtech.jellyfin.destinations.AddServerScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.MainScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.UserSelectScreenDestination
|
||||
import dev.jdtech.jellyfin.models.DiscoveredServer
|
||||
import dev.jdtech.jellyfin.models.Server
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyDiscoveredServer
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyDiscoveredServers
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyServers
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.NavGraphs
|
||||
import org.askartv.phone.destinations.AddServerScreenDestination
|
||||
import org.askartv.phone.destinations.MainScreenDestination
|
||||
import org.askartv.phone.destinations.UserSelectScreenDestination
|
||||
import org.askartv.phone.models.DiscoveredServer
|
||||
import org.askartv.phone.models.Server
|
||||
import org.askartv.phone.ui.dummy.dummyDiscoveredServer
|
||||
import org.askartv.phone.ui.dummy.dummyDiscoveredServers
|
||||
import org.askartv.phone.ui.dummy.dummyServers
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.ServerSelectEvent
|
||||
import org.askartv.phone.viewmodels.ServerSelectViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
|
@ -23,22 +23,22 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.Text
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.ServerSelectScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.SettingsSubScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.UserSelectScreenDestination
|
||||
import dev.jdtech.jellyfin.models.Preference
|
||||
import dev.jdtech.jellyfin.models.PreferenceCategory
|
||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
||||
import dev.jdtech.jellyfin.models.PreferenceSwitch
|
||||
import dev.jdtech.jellyfin.ui.components.SettingsCategoryCard
|
||||
import dev.jdtech.jellyfin.ui.components.SettingsSelectCard
|
||||
import dev.jdtech.jellyfin.ui.components.SettingsSwitchCard
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.SettingsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.SettingsViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.destinations.ServerSelectScreenDestination
|
||||
import org.askartv.phone.destinations.SettingsSubScreenDestination
|
||||
import org.askartv.phone.destinations.UserSelectScreenDestination
|
||||
import org.askartv.phone.models.Preference
|
||||
import org.askartv.phone.models.PreferenceCategory
|
||||
import org.askartv.phone.models.PreferenceSelect
|
||||
import org.askartv.phone.models.PreferenceSwitch
|
||||
import org.askartv.phone.ui.components.SettingsCategoryCard
|
||||
import org.askartv.phone.ui.components.SettingsSelectCard
|
||||
import org.askartv.phone.ui.components.SettingsSwitchCard
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.SettingsEvent
|
||||
import org.askartv.phone.viewmodels.SettingsViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -29,24 +29,24 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.Text
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.Constants
|
||||
import dev.jdtech.jellyfin.destinations.ServerSelectScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.SettingsScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.UserSelectScreenDestination
|
||||
import dev.jdtech.jellyfin.models.Preference
|
||||
import dev.jdtech.jellyfin.models.PreferenceCategory
|
||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
||||
import dev.jdtech.jellyfin.models.PreferenceSwitch
|
||||
import dev.jdtech.jellyfin.ui.components.SettingsCategoryCard
|
||||
import dev.jdtech.jellyfin.ui.components.SettingsDetailsCard
|
||||
import dev.jdtech.jellyfin.ui.components.SettingsSelectCard
|
||||
import dev.jdtech.jellyfin.ui.components.SettingsSwitchCard
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.SettingsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.SettingsViewModel
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.Constants
|
||||
import org.askartv.phone.destinations.ServerSelectScreenDestination
|
||||
import org.askartv.phone.destinations.SettingsScreenDestination
|
||||
import org.askartv.phone.destinations.UserSelectScreenDestination
|
||||
import org.askartv.phone.models.Preference
|
||||
import org.askartv.phone.models.PreferenceCategory
|
||||
import org.askartv.phone.models.PreferenceSelect
|
||||
import org.askartv.phone.models.PreferenceSwitch
|
||||
import org.askartv.phone.ui.components.SettingsCategoryCard
|
||||
import org.askartv.phone.ui.components.SettingsDetailsCard
|
||||
import org.askartv.phone.ui.components.SettingsSelectCard
|
||||
import org.askartv.phone.ui.components.SettingsSwitchCard
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.SettingsEvent
|
||||
import org.askartv.phone.viewmodels.SettingsViewModel
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
|
@ -56,21 +56,21 @@ import androidx.tv.material3.Text
|
|||
import coil.compose.AsyncImage
|
||||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
||||
import dev.jdtech.jellyfin.destinations.SeasonScreenDestination
|
||||
import dev.jdtech.jellyfin.models.FindroidSeason
|
||||
import dev.jdtech.jellyfin.ui.components.Direction
|
||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyShow
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.Yellow
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
||||
import dev.jdtech.jellyfin.viewmodels.ShowViewModel
|
||||
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||
import org.askartv.phone.destinations.SeasonScreenDestination
|
||||
import org.askartv.phone.models.FindroidSeason
|
||||
import org.askartv.phone.ui.components.Direction
|
||||
import org.askartv.phone.ui.components.ItemCard
|
||||
import org.askartv.phone.ui.dummy.dummyShow
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.Yellow
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||
import org.askartv.phone.viewmodels.ShowViewModel
|
||||
import java.util.UUID
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui
|
||||
package org.askartv.phone.ui
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -43,22 +43,22 @@ import coil.request.ImageRequest
|
|||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||
import com.ramcosta.composedestinations.navigation.popUpTo
|
||||
import dev.jdtech.jellyfin.NavGraphs
|
||||
import dev.jdtech.jellyfin.api.JellyfinApi
|
||||
import dev.jdtech.jellyfin.destinations.LoginScreenDestination
|
||||
import dev.jdtech.jellyfin.destinations.MainScreenDestination
|
||||
import dev.jdtech.jellyfin.models.Server
|
||||
import dev.jdtech.jellyfin.models.User
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyServer
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyUser
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyUsers
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
||||
import dev.jdtech.jellyfin.viewmodels.UserSelectEvent
|
||||
import dev.jdtech.jellyfin.viewmodels.UserSelectViewModel
|
||||
import org.askartv.phone.NavGraphs
|
||||
import org.askartv.phone.api.JellyfinApi
|
||||
import org.askartv.phone.destinations.LoginScreenDestination
|
||||
import org.askartv.phone.destinations.MainScreenDestination
|
||||
import org.askartv.phone.models.Server
|
||||
import org.askartv.phone.models.User
|
||||
import org.askartv.phone.ui.dummy.dummyServer
|
||||
import org.askartv.phone.ui.dummy.dummyUser
|
||||
import org.askartv.phone.ui.dummy.dummyUsers
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.utils.ObserveAsEvents
|
||||
import org.askartv.phone.viewmodels.UserSelectEvent
|
||||
import org.askartv.phone.viewmodels.UserSelectViewModel
|
||||
import org.jellyfin.sdk.model.api.ImageType
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.Box
|
||||
|
@ -26,10 +26,10 @@ import androidx.tv.material3.ClickableSurfaceScale
|
|||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Surface
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisode
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.ui.dummy.dummyEpisode
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
|
||||
@Composable
|
||||
fun EpisodeCard(
|
||||
|
@ -76,7 +76,7 @@ fun EpisodeCard(
|
|||
Column {
|
||||
Text(
|
||||
text = stringResource(
|
||||
id = dev.jdtech.jellyfin.core.R.string.episode_name,
|
||||
id = org.askartv.phone.core.R.string.episode_name,
|
||||
episode.indexNumber,
|
||||
episode.name,
|
||||
),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.background
|
||||
|
@ -24,13 +24,13 @@ import androidx.tv.material3.ClickableSurfaceScale
|
|||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Surface
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.core.R
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisode
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyMovie
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import org.askartv.phone.core.R
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.ui.dummy.dummyEpisode
|
||||
import org.askartv.phone.ui.dummy.dummyMovie
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
|
||||
@Composable
|
||||
fun ItemCard(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.aspectRatio
|
||||
|
@ -8,9 +8,9 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import coil.compose.AsyncImage
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
|
||||
enum class Direction {
|
||||
HORIZONTAL, VERTICAL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material3.CircularProgressIndicator
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.animation.animateColorAsState
|
||||
import androidx.compose.animation.core.animateDpAsState
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.aspectRatio
|
||||
|
@ -21,11 +21,11 @@ import androidx.tv.material3.Icon
|
|||
import androidx.tv.material3.Surface
|
||||
import coil.compose.AsyncImage
|
||||
import coil.request.ImageRequest
|
||||
import dev.jdtech.jellyfin.api.JellyfinApi
|
||||
import dev.jdtech.jellyfin.core.R
|
||||
import dev.jdtech.jellyfin.models.User
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyUser
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.api.JellyfinApi
|
||||
import org.askartv.phone.core.R
|
||||
import org.askartv.phone.models.User
|
||||
import org.askartv.phone.ui.dummy.dummyUser
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.jellyfin.sdk.model.api.ImageType
|
||||
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Box
|
||||
|
@ -17,12 +17,12 @@ import androidx.compose.ui.unit.dp
|
|||
import androidx.tv.material3.Icon
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.models.FindroidItem
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisode
|
||||
import dev.jdtech.jellyfin.ui.dummy.dummyShow
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.models.FindroidItem
|
||||
import org.askartv.phone.ui.dummy.dummyEpisode
|
||||
import org.askartv.phone.ui.dummy.dummyShow
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Composable
|
||||
fun ProgressBadge(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -25,10 +25,10 @@ import androidx.tv.material3.Icon
|
|||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Surface
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.models.PreferenceCategory
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.models.PreferenceCategory
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Composable
|
||||
fun SettingsCategoryCard(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -26,11 +26,11 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.RadioButton
|
||||
import androidx.tv.material3.Surface
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.Constants
|
||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.Constants
|
||||
import org.askartv.phone.models.PreferenceSelect
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Composable
|
||||
fun SettingsDetailsCard(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -25,11 +25,11 @@ import androidx.tv.material3.Icon
|
|||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Surface
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.Constants
|
||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.Constants
|
||||
import org.askartv.phone.models.PreferenceSelect
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Composable
|
||||
fun SettingsSelectCard(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components
|
||||
package org.askartv.phone.ui.components
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -26,10 +26,10 @@ import androidx.tv.material3.MaterialTheme
|
|||
import androidx.tv.material3.Surface
|
||||
import androidx.tv.material3.Switch
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.core.R
|
||||
import dev.jdtech.jellyfin.models.PreferenceSwitch
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import org.askartv.phone.core.R
|
||||
import org.askartv.phone.models.PreferenceSwitch
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
|
||||
@Composable
|
||||
fun SettingsSwitchCard(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components.player
|
||||
package org.askartv.phone.ui.components.player
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
|
@ -16,8 +16,8 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
|
||||
@Composable
|
||||
fun VideoPlayerControlsLayout(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components.player
|
||||
package org.askartv.phone.ui.components.player
|
||||
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.interaction.collectIsFocusedAsState
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components.player
|
||||
package org.askartv.phone.ui.components.player
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.runtime.Composable
|
||||
|
@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
|
||||
@Composable
|
||||
fun VideoPlayerMediaTitle(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components.player
|
||||
package org.askartv.phone.ui.components.player
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.fadeIn
|
||||
|
@ -22,8 +22,8 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
|
||||
@Composable
|
||||
fun VideoPlayerOverlay(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components.player
|
||||
package org.askartv.phone.ui.components.player
|
||||
|
||||
import androidx.compose.animation.core.animateDpAsState
|
||||
import androidx.compose.foundation.Canvas
|
||||
|
@ -26,8 +26,8 @@ import androidx.compose.ui.platform.LocalFocusManager
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.utils.handleDPadKeyEvents
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.utils.handleDPadKeyEvents
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components.player
|
||||
package org.askartv.phone.ui.components.player
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -19,10 +19,10 @@ import androidx.tv.material3.Icon
|
|||
import androidx.tv.material3.IconButton
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Text
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import kotlin.time.Duration
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
|
||||
@Composable
|
||||
fun VideoPlayerSeeker(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.components.player
|
||||
package org.askartv.phone.ui.components.player
|
||||
|
||||
import androidx.annotation.IntRange
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.dialogs
|
||||
package org.askartv.phone.ui.dialogs
|
||||
|
||||
import androidx.compose.ui.window.DialogProperties
|
||||
import com.ramcosta.composedestinations.spec.DestinationStyle
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jdtech.jellyfin.ui.dialogs
|
||||
package org.askartv.phone.ui.dialogs
|
||||
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
|
@ -31,12 +31,12 @@ import androidx.tv.material3.Text
|
|||
import com.ramcosta.composedestinations.annotation.Destination
|
||||
import com.ramcosta.composedestinations.result.EmptyResultBackNavigator
|
||||
import com.ramcosta.composedestinations.result.ResultBackNavigator
|
||||
import dev.jdtech.jellyfin.models.Track
|
||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
||||
import org.askartv.phone.models.Track
|
||||
import org.askartv.phone.ui.theme.FindroidTheme
|
||||
import org.askartv.phone.ui.theme.spacings
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import dev.jdtech.jellyfin.player.video.R as PlayerVideoR
|
||||
import org.askartv.phone.core.R as CoreR
|
||||
import org.askartv.phone.player.video.R as PlayerVideoR
|
||||
|
||||
@Parcelize
|
||||
data class VideoPlayerTrackSelectorDialogResult(
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package dev.jdtech.jellyfin.ui.dummy
|
||||
package org.askartv.phone.ui.dummy
|
||||
|
||||
import dev.jdtech.jellyfin.models.CollectionType
|
||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
||||
import dev.jdtech.jellyfin.models.FindroidImages
|
||||
import org.askartv.phone.models.CollectionType
|
||||
import org.askartv.phone.models.FindroidCollection
|
||||
import org.askartv.phone.models.FindroidImages
|
||||
import java.util.UUID
|
||||
|
||||
private val dummyMoviesCollection = FindroidCollection(
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package dev.jdtech.jellyfin.ui.dummy
|
||||
package org.askartv.phone.ui.dummy
|
||||
|
||||
import dev.jdtech.jellyfin.models.EpisodeItem
|
||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
||||
import dev.jdtech.jellyfin.models.FindroidImages
|
||||
import dev.jdtech.jellyfin.models.FindroidMediaStream
|
||||
import dev.jdtech.jellyfin.models.FindroidSource
|
||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
||||
import org.askartv.phone.models.EpisodeItem
|
||||
import org.askartv.phone.models.FindroidEpisode
|
||||
import org.askartv.phone.models.FindroidImages
|
||||
import org.askartv.phone.models.FindroidMediaStream
|
||||
import org.askartv.phone.models.FindroidSource
|
||||
import org.askartv.phone.models.FindroidSourceType
|
||||
import org.jellyfin.sdk.model.api.MediaStreamType
|
||||
import java.time.LocalDateTime
|
||||
import java.util.UUID
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package dev.jdtech.jellyfin.ui.dummy
|
||||
package org.askartv.phone.ui.dummy
|
||||
|
||||
import dev.jdtech.jellyfin.models.CollectionType
|
||||
import dev.jdtech.jellyfin.models.HomeItem
|
||||
import dev.jdtech.jellyfin.models.HomeSection
|
||||
import dev.jdtech.jellyfin.models.UiText
|
||||
import dev.jdtech.jellyfin.models.View
|
||||
import org.askartv.phone.models.CollectionType
|
||||
import org.askartv.phone.models.HomeItem
|
||||
import org.askartv.phone.models.HomeSection
|
||||
import org.askartv.phone.models.UiText
|
||||
import org.askartv.phone.models.View
|
||||
import java.util.UUID
|
||||
|
||||
val dummyHomeItems = listOf(
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package dev.jdtech.jellyfin.ui.dummy
|
||||
package org.askartv.phone.ui.dummy
|
||||
|
||||
import dev.jdtech.jellyfin.models.FindroidImages
|
||||
import dev.jdtech.jellyfin.models.FindroidMediaStream
|
||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
||||
import dev.jdtech.jellyfin.models.FindroidSource
|
||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
||||
import org.askartv.phone.models.FindroidImages
|
||||
import org.askartv.phone.models.FindroidMediaStream
|
||||
import org.askartv.phone.models.FindroidMovie
|
||||
import org.askartv.phone.models.FindroidSource
|
||||
import org.askartv.phone.models.FindroidSourceType
|
||||
import org.jellyfin.sdk.model.api.MediaStreamType
|
||||
import java.time.LocalDateTime
|
||||
import java.util.UUID
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue