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.**
|
**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
|
## Screenshots
|
||||||
| Home | Library | Movie | Season | Episode |
|
| Home | Library | Movie | Season | Episode |
|
||||||
|
|
|
@ -10,19 +10,19 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "dev.jdtech.jellyfin"
|
namespace = "org.askartv.phone"
|
||||||
compileSdk = Versions.compileSdk
|
compileSdk = Versions.compileSdk
|
||||||
buildToolsVersion = Versions.buildTools
|
buildToolsVersion = Versions.buildTools
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "dev.jdtech.jellyfin"
|
applicationId = "org.askartv.phone"
|
||||||
minSdk = Versions.minSdk
|
minSdk = Versions.minSdk
|
||||||
targetSdk = Versions.targetSdk
|
targetSdk = Versions.targetSdk
|
||||||
|
|
||||||
versionCode = Versions.appCode
|
versionCode = Versions.appCode
|
||||||
versionName = Versions.appName
|
versionName = Versions.appName
|
||||||
|
|
||||||
testInstrumentationRunner = "dev.jdtech.jellyfin.HiltTestRunner"
|
testInstrumentationRunner = "org.askartv.phone.HiltTestRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
applicationVariants.all {
|
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.
|
# hide the original source file name.
|
||||||
#-renamesourcefileattribute SourceFile
|
#-renamesourcefileattribute SourceFile
|
||||||
|
|
||||||
-keepnames class dev.jdtech.jellyfin.models.PlayerItem
|
-keepnames class org.askartv.phone.models.PlayerItem
|
||||||
|
|
||||||
# ProGuard thinks all SettingsFragments are unused
|
# ProGuard thinks all SettingsFragments are unused
|
||||||
-keep class dev.jdtech.jellyfin.fragments.SettingsLanguageFragment
|
-keep class org.askartv.phone.fragments.SettingsLanguageFragment
|
||||||
-keep class dev.jdtech.jellyfin.fragments.SettingsAppearanceFragment
|
-keep class org.askartv.phone.fragments.SettingsAppearanceFragment
|
||||||
-keep class dev.jdtech.jellyfin.fragments.SettingsDownloadsFragment
|
-keep class org.askartv.phone.fragments.SettingsDownloadsFragment
|
||||||
-keep class dev.jdtech.jellyfin.fragments.SettingsPlayerFragment
|
-keep class org.askartv.phone.fragments.SettingsPlayerFragment
|
||||||
-keep class dev.jdtech.jellyfin.fragments.SettingsDeviceFragment
|
-keep class org.askartv.phone.fragments.SettingsDeviceFragment
|
||||||
-keep class dev.jdtech.jellyfin.fragments.SettingsCacheFragment
|
-keep class org.askartv.phone.fragments.SettingsCacheFragment
|
||||||
-keep class dev.jdtech.jellyfin.fragments.SettingsNetworkFragment
|
-keep class org.askartv.phone.fragments.SettingsNetworkFragment
|
||||||
|
|
||||||
# These classes are from okhttp and are not used in Android
|
# These classes are from okhttp and are not used in Android
|
||||||
-dontwarn org.bouncycastle.jsse.BCSSLSocket
|
-dontwarn org.bouncycastle.jsse.BCSSLSocket
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.content.Context
|
import android.content.Context
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.hilt.work.HiltWorkerFactory
|
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.HiltAndroidRule
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import dagger.hilt.android.testing.UninstallModules
|
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.allOf
|
||||||
import org.hamcrest.CoreMatchers.not
|
import org.hamcrest.CoreMatchers.not
|
||||||
import org.junit.Before
|
import org.junit.Before
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewTreeObserver
|
import android.view.ViewTreeObserver
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.di
|
package org.askartv.phone.di
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.room.Room
|
import androidx.room.Room
|
||||||
|
@ -7,8 +7,8 @@ import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import dev.jdtech.jellyfin.database.ServerDatabase
|
import org.askartv.phone.database.ServerDatabase
|
||||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
import org.askartv.phone.database.ServerDatabaseDao
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
|
||||||
@Module
|
@Module
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
|
@ -14,7 +14,7 @@ import com.google.android.material.color.DynamicColorsOptions
|
||||||
import dagger.hilt.android.HiltAndroidApp
|
import dagger.hilt.android.HiltAndroidApp
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@HiltAndroidApp
|
@HiltAndroidApp
|
||||||
class BaseApplication : Application(), Configuration.Provider, ImageLoaderFactory {
|
class BaseApplication : Application(), Configuration.Provider, ImageLoaderFactory {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -9,7 +9,7 @@ import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.core.view.WindowInsetsControllerCompat
|
import androidx.core.view.WindowInsetsControllerCompat
|
||||||
import androidx.core.view.updatePadding
|
import androidx.core.view.updatePadding
|
||||||
import androidx.media3.session.MediaSession
|
import androidx.media3.session.MediaSession
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
import org.askartv.phone.viewmodels.PlayerActivityViewModel
|
||||||
|
|
||||||
abstract class BasePlayerActivity : AppCompatActivity() {
|
abstract class BasePlayerActivity : AppCompatActivity() {
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import coil.load
|
import coil.load
|
||||||
import dev.jdtech.jellyfin.api.JellyfinApi
|
import org.askartv.phone.api.JellyfinApi
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.User
|
import org.askartv.phone.models.User
|
||||||
import org.jellyfin.sdk.model.api.BaseItemDto
|
import org.jellyfin.sdk.model.api.BaseItemDto
|
||||||
import org.jellyfin.sdk.model.api.BaseItemKind
|
import org.jellyfin.sdk.model.api.BaseItemKind
|
||||||
import org.jellyfin.sdk.model.api.BaseItemPerson
|
import org.jellyfin.sdk.model.api.BaseItemPerson
|
||||||
import org.jellyfin.sdk.model.api.ImageType
|
import org.jellyfin.sdk.model.api.ImageType
|
||||||
import java.util.UUID
|
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) {
|
fun bindItemImage(imageView: ImageView, item: BaseItemDto) {
|
||||||
val itemId =
|
val itemId =
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -18,12 +18,12 @@ import androidx.work.OneTimeWorkRequestBuilder
|
||||||
import androidx.work.WorkManager
|
import androidx.work.WorkManager
|
||||||
import com.google.android.material.navigation.NavigationBarView
|
import com.google.android.material.navigation.NavigationBarView
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
import org.askartv.phone.database.ServerDatabaseDao
|
||||||
import dev.jdtech.jellyfin.databinding.ActivityMainBinding
|
import org.askartv.phone.databinding.ActivityMainBinding
|
||||||
import dev.jdtech.jellyfin.viewmodels.MainViewModel
|
import org.askartv.phone.viewmodels.MainViewModel
|
||||||
import dev.jdtech.jellyfin.work.SyncWorker
|
import org.askartv.phone.work.SyncWorker
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.app.AppOpsManager
|
import android.app.AppOpsManager
|
||||||
import android.app.PictureInPictureParams
|
import android.app.PictureInPictureParams
|
||||||
|
@ -34,14 +34,14 @@ import androidx.media3.ui.PlayerControlView
|
||||||
import androidx.media3.ui.PlayerView
|
import androidx.media3.ui.PlayerView
|
||||||
import androidx.navigation.navArgs
|
import androidx.navigation.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.databinding.ActivityPlayerBinding
|
import org.askartv.phone.databinding.ActivityPlayerBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.SpeedSelectionDialogFragment
|
import org.askartv.phone.dialogs.SpeedSelectionDialogFragment
|
||||||
import dev.jdtech.jellyfin.dialogs.TrackSelectionDialogFragment
|
import org.askartv.phone.dialogs.TrackSelectionDialogFragment
|
||||||
import dev.jdtech.jellyfin.utils.PlayerGestureHelper
|
import org.askartv.phone.viewmodels.PlayerActivityViewModel
|
||||||
import dev.jdtech.jellyfin.utils.PreviewScrubListener
|
import org.askartv.phone.viewmodels.PlayerEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerEvents
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import org.askartv.phone.utils.PlayerGestureHelper
|
||||||
|
import org.askartv.phone.utils.PreviewScrubListener
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ class PlayerActivity : BasePlayerActivity() {
|
||||||
appPreferences,
|
appPreferences,
|
||||||
this,
|
this,
|
||||||
binding.playerView,
|
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.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindCardItemImage
|
import org.askartv.phone.bindCardItemImage
|
||||||
import dev.jdtech.jellyfin.databinding.CollectionItemBinding
|
import org.askartv.phone.databinding.CollectionItemBinding
|
||||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
import org.askartv.phone.models.FindroidCollection
|
||||||
|
|
||||||
class CollectionListAdapter(
|
class CollectionListAdapter(
|
||||||
private val onClickListener: (collection: FindroidCollection) -> Unit,
|
private val onClickListener: (collection: FindroidCollection) -> Unit,
|
||||||
|
@ -47,4 +47,4 @@ class CollectionListAdapter(
|
||||||
}
|
}
|
||||||
holder.bind(collection)
|
holder.bind(collection)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,12 +1,12 @@
|
||||||
package dev.jdtech.jellyfin.adapters
|
package org.askartv.phone.adapters
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.databinding.DiscoveredServerItemBinding
|
import org.askartv.phone.databinding.DiscoveredServerItemBinding
|
||||||
import dev.jdtech.jellyfin.models.DiscoveredServer
|
import org.askartv.phone.models.DiscoveredServer
|
||||||
|
|
||||||
class DiscoveredServerListAdapter(
|
class DiscoveredServerListAdapter(
|
||||||
private val clickListener: (server: DiscoveredServer) -> Unit,
|
private val clickListener: (server: DiscoveredServer) -> Unit,
|
||||||
|
@ -55,4 +55,4 @@ class DiscoveredServerListAdapter(
|
||||||
holder.itemView.setOnClickListener { clickListener(server) }
|
holder.itemView.setOnClickListener { clickListener(server) }
|
||||||
holder.bind(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.text.Html.fromHtml
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
|
@ -9,15 +9,15 @@ import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindCardItemImage
|
import org.askartv.phone.bindCardItemImage
|
||||||
import dev.jdtech.jellyfin.bindItemBackdropById
|
import org.askartv.phone.bindItemBackdropById
|
||||||
import dev.jdtech.jellyfin.bindSeasonPoster
|
import org.askartv.phone.bindSeasonPoster
|
||||||
import dev.jdtech.jellyfin.databinding.EpisodeItemBinding
|
import org.askartv.phone.databinding.EpisodeItemBinding
|
||||||
import dev.jdtech.jellyfin.databinding.SeasonHeaderBinding
|
import org.askartv.phone.databinding.SeasonHeaderBinding
|
||||||
import dev.jdtech.jellyfin.models.EpisodeItem
|
import org.askartv.phone.models.EpisodeItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.isDownloaded
|
import org.askartv.phone.models.isDownloaded
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
private const val ITEM_VIEW_TYPE_HEADER = 0
|
private const val ITEM_VIEW_TYPE_HEADER = 0
|
||||||
private const val ITEM_VIEW_TYPE_EPISODE = 1
|
private const val ITEM_VIEW_TYPE_EPISODE = 1
|
||||||
|
@ -123,4 +123,4 @@ class EpisodeListAdapter(
|
||||||
is EpisodeItem.Episode -> ITEM_VIEW_TYPE_EPISODE
|
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.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.Constants
|
import org.askartv.phone.Constants
|
||||||
import dev.jdtech.jellyfin.databinding.FavoriteSectionBinding
|
import org.askartv.phone.databinding.FavoriteSectionBinding
|
||||||
import dev.jdtech.jellyfin.models.FavoriteSection
|
import org.askartv.phone.models.FavoriteSection
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
|
|
||||||
class FavoritesListAdapter(
|
class FavoritesListAdapter(
|
||||||
private val onItemClickListener: (item: FindroidItem) -> Unit,
|
private val onItemClickListener: (item: FindroidItem) -> Unit,
|
||||||
|
@ -59,4 +59,4 @@ class FavoritesListAdapter(
|
||||||
val collection = getItem(position)
|
val collection = getItem(position)
|
||||||
holder.bind(collection, onItemClickListener)
|
holder.bind(collection, onItemClickListener)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.adapters
|
package org.askartv.phone.adapters
|
||||||
|
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -8,13 +8,13 @@ import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindCardItemImage
|
import org.askartv.phone.bindCardItemImage
|
||||||
import dev.jdtech.jellyfin.databinding.HomeEpisodeItemBinding
|
import org.askartv.phone.core.R
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.databinding.HomeEpisodeItemBinding
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.isDownloaded
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.models.isDownloaded
|
||||||
|
|
||||||
class HomeEpisodeListAdapter(private val onClickListener: (item: FindroidItem) -> Unit) : ListAdapter<FindroidItem, HomeEpisodeListAdapter.EpisodeViewHolder>(DiffCallback) {
|
class HomeEpisodeListAdapter(private val onClickListener: (item: FindroidItem) -> Unit) : ListAdapter<FindroidItem, HomeEpisodeListAdapter.EpisodeViewHolder>(DiffCallback) {
|
||||||
class EpisodeViewHolder(
|
class EpisodeViewHolder(
|
||||||
|
@ -42,9 +42,9 @@ class HomeEpisodeListAdapter(private val onClickListener: (item: FindroidItem) -
|
||||||
is FindroidEpisode -> {
|
is FindroidEpisode -> {
|
||||||
binding.primaryName.text = item.seriesName
|
binding.primaryName.text = item.seriesName
|
||||||
binding.secondaryName.text = if (item.indexNumberEnd == null) {
|
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 {
|
} 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)
|
holder.bind(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,12 +1,12 @@
|
||||||
package dev.jdtech.jellyfin.adapters
|
package org.askartv.phone.adapters
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindPersonImage
|
import org.askartv.phone.bindPersonImage
|
||||||
import dev.jdtech.jellyfin.databinding.PersonItemBinding
|
import org.askartv.phone.databinding.PersonItemBinding
|
||||||
import org.jellyfin.sdk.model.api.BaseItemPerson
|
import org.jellyfin.sdk.model.api.BaseItemPerson
|
||||||
|
|
||||||
class PersonListAdapter(private val clickListener: (item: BaseItemPerson) -> Unit) : ListAdapter<BaseItemPerson, PersonListAdapter.PersonViewHolder>(DiffCallback) {
|
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.bind(item)
|
||||||
holder.itemView.setOnClickListener { clickListener(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.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.databinding.ServerAddressListItemBinding
|
import org.askartv.phone.databinding.ServerAddressListItemBinding
|
||||||
import dev.jdtech.jellyfin.models.ServerAddress
|
import org.askartv.phone.models.ServerAddress
|
||||||
|
|
||||||
class ServerAddressAdapter(
|
class ServerAddressAdapter(
|
||||||
private val clickListener: (address: ServerAddress) -> Unit,
|
private val clickListener: (address: ServerAddress) -> Unit,
|
||||||
|
@ -48,4 +48,4 @@ class ServerAddressAdapter(
|
||||||
holder.itemView.setOnLongClickListener { longClickListener(address) }
|
holder.itemView.setOnLongClickListener { longClickListener(address) }
|
||||||
holder.bind(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.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.databinding.ServerItemBinding
|
import org.askartv.phone.databinding.ServerItemBinding
|
||||||
import dev.jdtech.jellyfin.models.Server
|
import org.askartv.phone.models.Server
|
||||||
|
|
||||||
class ServerGridAdapter(
|
class ServerGridAdapter(
|
||||||
private val onClickListener: (server: Server) -> Unit,
|
private val onClickListener: (server: Server) -> Unit,
|
||||||
|
@ -46,4 +46,4 @@ class ServerGridAdapter(
|
||||||
}
|
}
|
||||||
holder.bind(server)
|
holder.bind(server)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,13 +1,13 @@
|
||||||
package dev.jdtech.jellyfin.adapters
|
package org.askartv.phone.adapters
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindUserImage
|
import org.askartv.phone.bindUserImage
|
||||||
import dev.jdtech.jellyfin.databinding.UserListItemBinding
|
import org.askartv.phone.databinding.UserListItemBinding
|
||||||
import dev.jdtech.jellyfin.models.User
|
import org.askartv.phone.models.User
|
||||||
|
|
||||||
class UserListAdapter(
|
class UserListAdapter(
|
||||||
private val clickListener: (user: User) -> Unit,
|
private val clickListener: (user: User) -> Unit,
|
||||||
|
@ -50,4 +50,4 @@ class UserListAdapter(
|
||||||
holder.itemView.setOnLongClickListener { longClickListener(user) }
|
holder.itemView.setOnLongClickListener { longClickListener(user) }
|
||||||
holder.bind(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.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindUserImage
|
import org.askartv.phone.bindUserImage
|
||||||
import dev.jdtech.jellyfin.databinding.UserItemBinding
|
import org.askartv.phone.databinding.UserItemBinding
|
||||||
import dev.jdtech.jellyfin.models.User
|
import org.askartv.phone.models.User
|
||||||
|
|
||||||
class UserLoginListAdapter(
|
class UserLoginListAdapter(
|
||||||
private val clickListener: (user: User) -> Unit,
|
private val clickListener: (user: User) -> Unit,
|
||||||
|
@ -48,4 +48,4 @@ class UserLoginListAdapter(
|
||||||
holder.itemView.setOnClickListener { clickListener(user) }
|
holder.itemView.setOnClickListener { clickListener(user) }
|
||||||
holder.bind(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.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -7,12 +7,12 @@ import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindItemImage
|
import org.askartv.phone.bindItemImage
|
||||||
import dev.jdtech.jellyfin.databinding.BaseItemBinding
|
import org.askartv.phone.core.R
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.databinding.BaseItemBinding
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.isDownloaded
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.models.isDownloaded
|
||||||
|
|
||||||
class ViewItemListAdapter(
|
class ViewItemListAdapter(
|
||||||
private val onClickListener: (item: FindroidItem) -> Unit,
|
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 (item.unplayedItemCount != null && item.unplayedItemCount!! > 0) View.VISIBLE else View.GONE
|
||||||
if (fixedWidth) {
|
if (fixedWidth) {
|
||||||
binding.itemLayout.layoutParams.width =
|
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
|
(binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,4 +67,4 @@ class ViewItemListAdapter(
|
||||||
}
|
}
|
||||||
holder.bind(item, fixedWidth)
|
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.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -7,12 +7,12 @@ import androidx.core.view.isVisible
|
||||||
import androidx.paging.PagingDataAdapter
|
import androidx.paging.PagingDataAdapter
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.bindItemImage
|
import org.askartv.phone.bindItemImage
|
||||||
import dev.jdtech.jellyfin.databinding.BaseItemBinding
|
import org.askartv.phone.core.R
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.databinding.BaseItemBinding
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.isDownloaded
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.models.isDownloaded
|
||||||
|
|
||||||
class ViewItemPagingAdapter(
|
class ViewItemPagingAdapter(
|
||||||
private val onClickListener: (item: FindroidItem) -> Unit,
|
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 (item.unplayedItemCount != null && item.unplayedItemCount!! > 0) View.VISIBLE else View.GONE
|
||||||
if (fixedWidth) {
|
if (fixedWidth) {
|
||||||
binding.itemLayout.layoutParams.width =
|
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
|
(binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,4 +70,4 @@ class ViewItemPagingAdapter(
|
||||||
holder.bind(item, fixedWidth)
|
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.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import dev.jdtech.jellyfin.databinding.CardOfflineBinding
|
import org.askartv.phone.databinding.CardOfflineBinding
|
||||||
import dev.jdtech.jellyfin.databinding.NextUpSectionBinding
|
import org.askartv.phone.databinding.NextUpSectionBinding
|
||||||
import dev.jdtech.jellyfin.databinding.ViewItemBinding
|
import org.askartv.phone.databinding.ViewItemBinding
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.HomeItem
|
import org.askartv.phone.models.HomeItem
|
||||||
import dev.jdtech.jellyfin.models.View
|
import org.askartv.phone.models.View
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
private const val ITEM_VIEW_TYPE_NEXT_UP = 0
|
private const val ITEM_VIEW_TYPE_NEXT_UP = 0
|
||||||
private const val ITEM_VIEW_TYPE_VIEW = 1
|
private const val ITEM_VIEW_TYPE_VIEW = 1
|
||||||
|
@ -125,4 +125,4 @@ class ViewListAdapter(
|
||||||
is HomeItem.ViewItem -> ITEM_VIEW_TYPE_VIEW
|
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 android.content.Context
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
|
@ -6,7 +6,7 @@ import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import dev.jdtech.jellyfin.BaseApplication
|
import org.askartv.phone.BaseApplication
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
|
||||||
@Module
|
@Module
|
|
@ -1,11 +1,11 @@
|
||||||
package dev.jdtech.jellyfin.dialogs
|
package org.askartv.phone.dialogs
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
import android.os.StatFs
|
import android.os.StatFs
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
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(
|
fun getStorageSelectionDialog(
|
||||||
context: Context,
|
context: Context,
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.method.LinkMovementMethod
|
import android.text.method.LinkMovementMethod
|
||||||
|
@ -15,10 +15,10 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.DiscoveredServerListAdapter
|
import org.askartv.phone.adapters.DiscoveredServerListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentAddServerBinding
|
import org.askartv.phone.databinding.FragmentAddServerBinding
|
||||||
import dev.jdtech.jellyfin.viewmodels.AddServerEvent
|
import org.askartv.phone.viewmodels.AddServerEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.AddServerViewModel
|
import org.askartv.phone.viewmodels.AddServerViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -13,18 +13,18 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentFavoriteBinding
|
import org.askartv.phone.databinding.FragmentFavoriteBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.viewmodels.CollectionViewModel
|
import org.askartv.phone.viewmodels.CollectionViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class CollectionFragment : Fragment() {
|
class CollectionFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -13,19 +13,19 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentDownloadsBinding
|
import org.askartv.phone.databinding.FragmentDownloadsBinding
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.utils.restart
|
import org.askartv.phone.utils.restart
|
||||||
import dev.jdtech.jellyfin.viewmodels.DownloadsEvent
|
import org.askartv.phone.viewmodels.DownloadsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.DownloadsViewModel
|
import org.askartv.phone.viewmodels.DownloadsViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class DownloadsFragment : Fragment() {
|
class DownloadsFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.app.DownloadManager
|
import android.app.DownloadManager
|
||||||
import android.os.Bundle
|
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.bottomsheet.BottomSheetDialogFragment
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.R
|
import org.askartv.phone.R
|
||||||
import dev.jdtech.jellyfin.bindCardItemImage
|
import org.askartv.phone.bindCardItemImage
|
||||||
import dev.jdtech.jellyfin.databinding.EpisodeBottomSheetBinding
|
import org.askartv.phone.databinding.EpisodeBottomSheetBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.dialogs.getStorageSelectionDialog
|
import org.askartv.phone.dialogs.getStorageSelectionDialog
|
||||||
import dev.jdtech.jellyfin.dialogs.getVideoVersionDialog
|
import org.askartv.phone.dialogs.getVideoVersionDialog
|
||||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
import org.askartv.phone.models.FindroidSourceType
|
||||||
import dev.jdtech.jellyfin.models.PlayerItem
|
import org.askartv.phone.models.PlayerItem
|
||||||
import dev.jdtech.jellyfin.models.UiText
|
import org.askartv.phone.models.UiText
|
||||||
import dev.jdtech.jellyfin.models.isDownloaded
|
import org.askartv.phone.models.isDownloaded
|
||||||
import dev.jdtech.jellyfin.models.isDownloading
|
import org.askartv.phone.models.isDownloading
|
||||||
import dev.jdtech.jellyfin.utils.setIconTintColorAttribute
|
import org.askartv.phone.utils.setIconTintColorAttribute
|
||||||
import dev.jdtech.jellyfin.viewmodels.EpisodeBottomSheetEvent
|
import org.askartv.phone.viewmodels.EpisodeBottomSheetEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.EpisodeBottomSheetViewModel
|
import org.askartv.phone.viewmodels.EpisodeBottomSheetViewModel
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.jellyfin.sdk.model.DateTime
|
import org.jellyfin.sdk.model.DateTime
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
@ -48,7 +48,7 @@ import java.util.UUID
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import android.R as AndroidR
|
import android.R as AndroidR
|
||||||
import com.google.android.material.R as MaterialR
|
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
|
@AndroidEntryPoint
|
||||||
class EpisodeBottomSheetFragment : BottomSheetDialogFragment() {
|
class EpisodeBottomSheetFragment : BottomSheetDialogFragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -12,15 +12,15 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentFavoriteBinding
|
import org.askartv.phone.databinding.FragmentFavoriteBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.viewmodels.FavoriteViewModel
|
import org.askartv.phone.viewmodels.FavoriteViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -19,21 +19,21 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.adapters.ViewListAdapter
|
import org.askartv.phone.adapters.ViewListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentHomeBinding
|
import org.askartv.phone.databinding.FragmentHomeBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.utils.restart
|
import org.askartv.phone.utils.restart
|
||||||
import dev.jdtech.jellyfin.viewmodels.HomeViewModel
|
import org.askartv.phone.viewmodels.HomeViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class HomeFragment : Fragment() {
|
class HomeFragment : Fragment() {
|
||||||
|
@ -202,7 +202,7 @@ class HomeFragment : Fragment() {
|
||||||
checkIfLoginRequired(uiState.error.message)
|
checkIfLoginRequired(uiState.error.message)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun navigateToLibraryFragment(view: dev.jdtech.jellyfin.models.View) {
|
private fun navigateToLibraryFragment(view: org.askartv.phone.models.View) {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
HomeFragmentDirections.actionNavigationHomeToLibraryFragment(
|
HomeFragmentDirections.actionNavigationHomeToLibraryFragment(
|
||||||
libraryId = view.id,
|
libraryId = view.id,
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -19,24 +19,24 @@ import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import androidx.paging.LoadState
|
import androidx.paging.LoadState
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.adapters.ViewItemPagingAdapter
|
import org.askartv.phone.adapters.ViewItemPagingAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentLibraryBinding
|
import org.askartv.phone.databinding.FragmentLibraryBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.dialogs.SortDialogFragment
|
import org.askartv.phone.dialogs.SortDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidBoxSet
|
import org.askartv.phone.models.FindroidBoxSet
|
||||||
import dev.jdtech.jellyfin.models.FindroidFolder
|
import org.askartv.phone.models.FindroidFolder
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.models.SortBy
|
import org.askartv.phone.models.SortBy
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.viewmodels.LibraryViewModel
|
import org.askartv.phone.viewmodels.LibraryViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.jellyfin.sdk.model.api.SortOrder
|
import org.jellyfin.sdk.model.api.SortOrder
|
||||||
import java.lang.IllegalArgumentException
|
import java.lang.IllegalArgumentException
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class LibraryFragment : Fragment() {
|
class LibraryFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.Html.fromHtml
|
import android.text.Html.fromHtml
|
||||||
|
@ -16,16 +16,16 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.adapters.UserLoginListAdapter
|
import org.askartv.phone.adapters.UserLoginListAdapter
|
||||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
import org.askartv.phone.database.ServerDatabaseDao
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentLoginBinding
|
import org.askartv.phone.databinding.FragmentLoginBinding
|
||||||
import dev.jdtech.jellyfin.viewmodels.LoginEvent
|
import org.askartv.phone.viewmodels.LoginEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.LoginViewModel
|
import org.askartv.phone.viewmodels.LoginViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class LoginFragment : Fragment() {
|
class LoginFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -19,15 +19,15 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.CollectionListAdapter
|
import org.askartv.phone.adapters.CollectionListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentMediaBinding
|
import org.askartv.phone.databinding.FragmentMediaBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
import org.askartv.phone.models.FindroidCollection
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.viewmodels.MediaViewModel
|
import org.askartv.phone.viewmodels.MediaViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class MediaFragment : Fragment() {
|
class MediaFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.app.DownloadManager
|
import android.app.DownloadManager
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
@ -21,32 +21,32 @@ import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.R
|
import org.askartv.phone.R
|
||||||
import dev.jdtech.jellyfin.adapters.PersonListAdapter
|
import org.askartv.phone.adapters.PersonListAdapter
|
||||||
import dev.jdtech.jellyfin.bindItemBackdropImage
|
import org.askartv.phone.bindItemBackdropImage
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentMovieBinding
|
import org.askartv.phone.databinding.FragmentMovieBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.dialogs.getStorageSelectionDialog
|
import org.askartv.phone.dialogs.getStorageSelectionDialog
|
||||||
import dev.jdtech.jellyfin.dialogs.getVideoVersionDialog
|
import org.askartv.phone.dialogs.getVideoVersionDialog
|
||||||
import dev.jdtech.jellyfin.models.AudioCodec
|
import org.askartv.phone.models.AudioCodec
|
||||||
import dev.jdtech.jellyfin.models.DisplayProfile
|
import org.askartv.phone.models.DisplayProfile
|
||||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
import org.askartv.phone.models.FindroidSourceType
|
||||||
import dev.jdtech.jellyfin.models.PlayerItem
|
import org.askartv.phone.models.PlayerItem
|
||||||
import dev.jdtech.jellyfin.models.UiText
|
import org.askartv.phone.models.UiText
|
||||||
import dev.jdtech.jellyfin.models.isDownloaded
|
import org.askartv.phone.models.isDownloaded
|
||||||
import dev.jdtech.jellyfin.models.isDownloading
|
import org.askartv.phone.models.isDownloading
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.utils.setIconTintColorAttribute
|
import org.askartv.phone.utils.setIconTintColorAttribute
|
||||||
import dev.jdtech.jellyfin.viewmodels.MovieEvent
|
import org.askartv.phone.viewmodels.MovieEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.MovieViewModel
|
import org.askartv.phone.viewmodels.MovieViewModel
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class MovieFragment : Fragment() {
|
class MovieFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -15,18 +15,18 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.ViewItemListAdapter
|
import org.askartv.phone.adapters.ViewItemListAdapter
|
||||||
import dev.jdtech.jellyfin.bindItemImage
|
import org.askartv.phone.bindItemImage
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentPersonDetailBinding
|
import org.askartv.phone.databinding.FragmentPersonDetailBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.viewmodels.PersonDetailViewModel
|
import org.askartv.phone.viewmodels.PersonDetailViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
internal class PersonDetailFragment : Fragment() {
|
internal class PersonDetailFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -13,15 +13,15 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.FavoritesListAdapter
|
import org.askartv.phone.adapters.FavoritesListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentSearchResultBinding
|
import org.askartv.phone.databinding.FragmentSearchResultBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.viewmodels.SearchResultViewModel
|
import org.askartv.phone.viewmodels.SearchResultViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -13,13 +13,13 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.EpisodeListAdapter
|
import org.askartv.phone.adapters.EpisodeListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentSeasonBinding
|
import org.askartv.phone.databinding.FragmentSeasonBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.viewmodels.SeasonEvent
|
import org.askartv.phone.viewmodels.SeasonEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.SeasonViewModel
|
import org.askartv.phone.viewmodels.SeasonViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -12,12 +12,12 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.ServerAddressAdapter
|
import org.askartv.phone.adapters.ServerAddressAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentServerAddressesBinding
|
import org.askartv.phone.databinding.FragmentServerAddressesBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.AddServerAddressDialog
|
import org.askartv.phone.dialogs.AddServerAddressDialog
|
||||||
import dev.jdtech.jellyfin.dialogs.DeleteServerAddressDialog
|
import org.askartv.phone.dialogs.DeleteServerAddressDialog
|
||||||
import dev.jdtech.jellyfin.viewmodels.ServerAddressesEvent
|
import org.askartv.phone.viewmodels.ServerAddressesEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.ServerAddressesViewModel
|
import org.askartv.phone.viewmodels.ServerAddressesViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -11,11 +11,11 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.adapters.ServerGridAdapter
|
import org.askartv.phone.adapters.ServerGridAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentServerSelectBinding
|
import org.askartv.phone.databinding.FragmentServerSelectBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.DeleteServerDialogFragment
|
import org.askartv.phone.dialogs.DeleteServerDialogFragment
|
||||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectEvent
|
import org.askartv.phone.viewmodels.ServerSelectEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
|
import org.askartv.phone.viewmodels.ServerSelectViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.SwitchPreferenceCompat
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
class SettingsAppearanceFragment : PreferenceFragmentCompat() {
|
class SettingsAppearanceFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
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.os.Bundle
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
import androidx.preference.EditTextPreference
|
import androidx.preference.EditTextPreference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
class SettingsCacheFragment : PreferenceFragmentCompat() {
|
class SettingsCacheFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
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 android.os.Bundle
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.preference.EditTextPreference
|
import androidx.preference.EditTextPreference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.viewmodels.SettingsDeviceViewModel
|
import org.askartv.phone.viewmodels.SettingsDeviceViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class SettingsDeviceFragment : PreferenceFragmentCompat() {
|
class SettingsDeviceFragment : PreferenceFragmentCompat() {
|
|
@ -1,8 +1,8 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
class SettingsDownloadsFragment : PreferenceFragmentCompat() {
|
class SettingsDownloadsFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
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.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
@ -7,10 +7,10 @@ import androidx.navigation.fragment.findNavController
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.utils.restart
|
import org.askartv.phone.utils.restart
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class SettingsFragment : PreferenceFragmentCompat() {
|
class SettingsFragment : PreferenceFragmentCompat() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
@ -7,7 +7,7 @@ import android.os.Bundle
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
class SettingsLanguageFragment : PreferenceFragmentCompat() {
|
class SettingsLanguageFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
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.os.Bundle
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
import androidx.preference.EditTextPreference
|
import androidx.preference.EditTextPreference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import dev.jdtech.jellyfin.Constants
|
import org.askartv.phone.Constants
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
class SettingsNetworkFragment : PreferenceFragmentCompat() {
|
class SettingsNetworkFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
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.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
@ -7,7 +7,7 @@ import android.text.InputType
|
||||||
import androidx.preference.EditTextPreference
|
import androidx.preference.EditTextPreference
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
class SettingsPlayerFragment : PreferenceFragmentCompat() {
|
class SettingsPlayerFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
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.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
@ -18,29 +18,29 @@ import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import com.google.android.material.R
|
import com.google.android.material.R
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.adapters.PersonListAdapter
|
import org.askartv.phone.adapters.PersonListAdapter
|
||||||
import dev.jdtech.jellyfin.adapters.ViewItemListAdapter
|
import org.askartv.phone.adapters.ViewItemListAdapter
|
||||||
import dev.jdtech.jellyfin.bindCardItemImage
|
import org.askartv.phone.bindCardItemImage
|
||||||
import dev.jdtech.jellyfin.bindItemBackdropImage
|
import org.askartv.phone.bindItemBackdropImage
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentShowBinding
|
import org.askartv.phone.databinding.FragmentShowBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.ErrorDialogFragment
|
import org.askartv.phone.dialogs.ErrorDialogFragment
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidSeason
|
import org.askartv.phone.models.FindroidSeason
|
||||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
import org.askartv.phone.models.FindroidSourceType
|
||||||
import dev.jdtech.jellyfin.models.PlayerItem
|
import org.askartv.phone.models.PlayerItem
|
||||||
import dev.jdtech.jellyfin.models.isDownloaded
|
import org.askartv.phone.models.isDownloaded
|
||||||
import dev.jdtech.jellyfin.utils.checkIfLoginRequired
|
import org.askartv.phone.utils.checkIfLoginRequired
|
||||||
import dev.jdtech.jellyfin.utils.setIconTintColorAttribute
|
import org.askartv.phone.utils.setIconTintColorAttribute
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||||
import dev.jdtech.jellyfin.viewmodels.ShowEvent
|
import org.askartv.phone.viewmodels.ShowEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.ShowViewModel
|
import org.askartv.phone.viewmodels.ShowViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class ShowFragment : Fragment() {
|
class ShowFragment : Fragment() {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.PreferenceHeaderFragmentCompat
|
import androidx.preference.PreferenceHeaderFragmentCompat
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.fragments
|
package org.askartv.phone.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -12,12 +12,12 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.AppNavigationDirections
|
import org.askartv.phone.AppNavigationDirections
|
||||||
import dev.jdtech.jellyfin.adapters.UserListAdapter
|
import org.askartv.phone.adapters.UserListAdapter
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentUsersBinding
|
import org.askartv.phone.databinding.FragmentUsersBinding
|
||||||
import dev.jdtech.jellyfin.dialogs.DeleteUserDialogFragment
|
import org.askartv.phone.dialogs.DeleteUserDialogFragment
|
||||||
import dev.jdtech.jellyfin.viewmodels.UsersEvent
|
import org.askartv.phone.viewmodels.UsersEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.UsersViewModel
|
import org.askartv.phone.viewmodels.UsersViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
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.fragment.app.Fragment
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import dev.jdtech.jellyfin.AppNavigationDirections
|
import org.askartv.phone.AppNavigationDirections
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
fun Fragment.checkIfLoginRequired(error: String?) {
|
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.annotation.SuppressLint
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
|
@ -19,12 +19,12 @@ import android.view.animation.DecelerateInterpolator
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.media3.ui.AspectRatioFrameLayout
|
import androidx.media3.ui.AspectRatioFrameLayout
|
||||||
import androidx.media3.ui.PlayerView
|
import androidx.media3.ui.PlayerView
|
||||||
import dev.jdtech.jellyfin.AppPreferences
|
import org.askartv.phone.AppPreferences
|
||||||
import dev.jdtech.jellyfin.Constants
|
import org.askartv.phone.Constants
|
||||||
import dev.jdtech.jellyfin.PlayerActivity
|
import org.askartv.phone.PlayerActivity
|
||||||
import dev.jdtech.jellyfin.isControlsLocked
|
import org.askartv.phone.isControlsLocked
|
||||||
import dev.jdtech.jellyfin.models.PlayerChapter
|
import org.askartv.phone.models.PlayerChapter
|
||||||
import dev.jdtech.jellyfin.mpv.MPVPlayer
|
import org.askartv.phone.mpv.MPVPlayer
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.utils
|
package org.askartv.phone.utils
|
||||||
|
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -8,7 +8,7 @@ import androidx.media3.common.Player
|
||||||
import androidx.media3.ui.TimeBar
|
import androidx.media3.ui.TimeBar
|
||||||
import coil.load
|
import coil.load
|
||||||
import coil.transform.RoundedCornersTransformation
|
import coil.transform.RoundedCornersTransformation
|
||||||
import dev.jdtech.jellyfin.models.Trickplay
|
import org.askartv.phone.models.Trickplay
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/homeFragment"
|
android:id="@+id/homeFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.HomeFragment"
|
android:name="org.askartv.phone.fragments.HomeFragment"
|
||||||
android:label="@string/title_home"
|
android:label="@string/title_home"
|
||||||
tools:layout="@layout/fragment_home">
|
tools:layout="@layout/fragment_home">
|
||||||
<action
|
<action
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/mediaFragment"
|
android:id="@+id/mediaFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.MediaFragment"
|
android:name="org.askartv.phone.fragments.MediaFragment"
|
||||||
android:label="@string/title_media"
|
android:label="@string/title_media"
|
||||||
tools:layout="@layout/fragment_media">
|
tools:layout="@layout/fragment_media">
|
||||||
<action
|
<action
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/twoPaneSettingsFragment"
|
android:id="@+id/twoPaneSettingsFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.TwoPaneSettingsFragment"
|
android:name="org.askartv.phone.fragments.TwoPaneSettingsFragment"
|
||||||
android:label="@string/title_settings">
|
android:label="@string/title_settings">
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_navigation_settings_to_serverSelectFragment"
|
android:id="@+id/action_navigation_settings_to_serverSelectFragment"
|
||||||
|
@ -87,10 +87,10 @@
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/settingsFragment"
|
android:id="@+id/settingsFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.SettingsFragment" />
|
android:name="org.askartv.phone.fragments.SettingsFragment" />
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/libraryFragment"
|
android:id="@+id/libraryFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.LibraryFragment"
|
android:name="org.askartv.phone.fragments.LibraryFragment"
|
||||||
android:label="{libraryName}"
|
android:label="{libraryName}"
|
||||||
tools:layout="@layout/fragment_library">
|
tools:layout="@layout/fragment_library">
|
||||||
<argument
|
<argument
|
||||||
|
@ -122,14 +122,14 @@
|
||||||
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
|
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
|
||||||
<argument
|
<argument
|
||||||
android:name="libraryType"
|
android:name="libraryType"
|
||||||
app:argType="dev.jdtech.jellyfin.models.CollectionType" />
|
app:argType="org.askartv.phone.models.CollectionType" />
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_libraryFragment_self"
|
android:id="@+id/action_libraryFragment_self"
|
||||||
app:destination="@id/libraryFragment" />
|
app:destination="@id/libraryFragment" />
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/showFragment"
|
android:id="@+id/showFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.ShowFragment"
|
android:name="org.askartv.phone.fragments.ShowFragment"
|
||||||
android:label="{itemName}"
|
android:label="{itemName}"
|
||||||
tools:layout="@layout/fragment_show">
|
tools:layout="@layout/fragment_show">
|
||||||
<argument
|
<argument
|
||||||
|
@ -158,7 +158,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/movieFragment"
|
android:id="@+id/movieFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.MovieFragment"
|
android:name="org.askartv.phone.fragments.MovieFragment"
|
||||||
android:label="{itemName}"
|
android:label="{itemName}"
|
||||||
tools:layout="@layout/fragment_movie">
|
tools:layout="@layout/fragment_movie">
|
||||||
<argument
|
<argument
|
||||||
|
@ -179,7 +179,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/seasonFragment"
|
android:id="@+id/seasonFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.SeasonFragment"
|
android:name="org.askartv.phone.fragments.SeasonFragment"
|
||||||
android:label="{seasonName}"
|
android:label="{seasonName}"
|
||||||
tools:layout="@layout/fragment_season">
|
tools:layout="@layout/fragment_season">
|
||||||
<argument
|
<argument
|
||||||
|
@ -211,7 +211,7 @@
|
||||||
</fragment>
|
</fragment>
|
||||||
<dialog
|
<dialog
|
||||||
android:id="@+id/episodeBottomSheetFragment"
|
android:id="@+id/episodeBottomSheetFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.EpisodeBottomSheetFragment"
|
android:name="org.askartv.phone.fragments.EpisodeBottomSheetFragment"
|
||||||
android:label="EpisodeBottomSheetFragment"
|
android:label="EpisodeBottomSheetFragment"
|
||||||
tools:layout="@layout/episode_bottom_sheet">
|
tools:layout="@layout/episode_bottom_sheet">
|
||||||
<argument
|
<argument
|
||||||
|
@ -226,7 +226,7 @@
|
||||||
</dialog>
|
</dialog>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/favoriteFragment"
|
android:id="@+id/favoriteFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.FavoriteFragment"
|
android:name="org.askartv.phone.fragments.FavoriteFragment"
|
||||||
android:label="@string/title_favorite"
|
android:label="@string/title_favorite"
|
||||||
tools:layout="@layout/fragment_favorite">
|
tools:layout="@layout/fragment_favorite">
|
||||||
<action
|
<action
|
||||||
|
@ -241,7 +241,7 @@
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/collectionFragment"
|
android:id="@+id/collectionFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.CollectionFragment"
|
android:name="org.askartv.phone.fragments.CollectionFragment"
|
||||||
android:label="{collectionName}"
|
android:label="{collectionName}"
|
||||||
tools:layout="@layout/fragment_favorite">
|
tools:layout="@layout/fragment_favorite">
|
||||||
<argument
|
<argument
|
||||||
|
@ -264,7 +264,7 @@
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/searchResultFragment"
|
android:id="@+id/searchResultFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.SearchResultFragment"
|
android:name="org.askartv.phone.fragments.SearchResultFragment"
|
||||||
android:label="{query}"
|
android:label="{query}"
|
||||||
tools:layout="@layout/fragment_search_result">
|
tools:layout="@layout/fragment_search_result">
|
||||||
<action
|
<action
|
||||||
|
@ -282,7 +282,7 @@
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/addServerFragment"
|
android:id="@+id/addServerFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.AddServerFragment"
|
android:name="org.askartv.phone.fragments.AddServerFragment"
|
||||||
android:label="@string/add_server"
|
android:label="@string/add_server"
|
||||||
tools:layout="@layout/fragment_add_server">
|
tools:layout="@layout/fragment_add_server">
|
||||||
<action
|
<action
|
||||||
|
@ -291,7 +291,7 @@
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/serverSelectFragment"
|
android:id="@+id/serverSelectFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.ServerSelectFragment"
|
android:name="org.askartv.phone.fragments.ServerSelectFragment"
|
||||||
android:label="@string/select_server"
|
android:label="@string/select_server"
|
||||||
tools:layout="@layout/fragment_server_select">
|
tools:layout="@layout/fragment_server_select">
|
||||||
<action
|
<action
|
||||||
|
@ -308,7 +308,7 @@
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/loginFragment"
|
android:id="@+id/loginFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.LoginFragment"
|
android:name="org.askartv.phone.fragments.LoginFragment"
|
||||||
android:label="@string/login"
|
android:label="@string/login"
|
||||||
tools:layout="@layout/fragment_login">
|
tools:layout="@layout/fragment_login">
|
||||||
<action
|
<action
|
||||||
|
@ -324,7 +324,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/personDetailFragment"
|
android:id="@+id/personDetailFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.PersonDetailFragment"
|
android:name="org.askartv.phone.fragments.PersonDetailFragment"
|
||||||
android:label="@string/person_detail_title"
|
android:label="@string/person_detail_title"
|
||||||
tools:layout="@layout/fragment_person_detail">
|
tools:layout="@layout/fragment_person_detail">
|
||||||
|
|
||||||
|
@ -342,12 +342,12 @@
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:id="@+id/playerActivity"
|
android:id="@+id/playerActivity"
|
||||||
android:name="dev.jdtech.jellyfin.PlayerActivity"
|
android:name="org.askartv.phone.PlayerActivity"
|
||||||
android:label="activity_player"
|
android:label="activity_player"
|
||||||
tools:layout="@layout/activity_player">
|
tools:layout="@layout/activity_player">
|
||||||
<argument
|
<argument
|
||||||
android:name="items"
|
android:name="items"
|
||||||
app:argType="dev.jdtech.jellyfin.models.PlayerItem[]" />
|
app:argType="org.askartv.phone.models.PlayerItem[]" />
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<include app:graph="@navigation/aboutlibs_navigation" />
|
<include app:graph="@navigation/aboutlibs_navigation" />
|
||||||
|
@ -357,7 +357,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/usersFragment"
|
android:id="@+id/usersFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.UsersFragment"
|
android:name="org.askartv.phone.fragments.UsersFragment"
|
||||||
android:label="@string/users"
|
android:label="@string/users"
|
||||||
tools:layout="@layout/fragment_users">
|
tools:layout="@layout/fragment_users">
|
||||||
<action
|
<action
|
||||||
|
@ -375,7 +375,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/serverAddressesFragment"
|
android:id="@+id/serverAddressesFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.ServerAddressesFragment"
|
android:name="org.askartv.phone.fragments.ServerAddressesFragment"
|
||||||
android:label="@string/addresses"
|
android:label="@string/addresses"
|
||||||
tools:layout="@layout/fragment_server_addresses">
|
tools:layout="@layout/fragment_server_addresses">
|
||||||
<action
|
<action
|
||||||
|
@ -390,7 +390,7 @@
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/downloadsFragment"
|
android:id="@+id/downloadsFragment"
|
||||||
android:name="dev.jdtech.jellyfin.fragments.DownloadsFragment"
|
android:name="org.askartv.phone.fragments.DownloadsFragment"
|
||||||
android:label="@string/title_download"
|
android:label="@string/title_download"
|
||||||
tools:layout="@layout/fragment_favorite">
|
tools:layout="@layout/fragment_favorite">
|
||||||
<action
|
<action
|
||||||
|
|
|
@ -9,12 +9,12 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "dev.jdtech.jellyfin"
|
namespace = "org.askartv.phone"
|
||||||
compileSdk = Versions.compileSdk
|
compileSdk = Versions.compileSdk
|
||||||
buildToolsVersion = Versions.buildTools
|
buildToolsVersion = Versions.buildTools
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "dev.jdtech.jellyfin"
|
applicationId = "org.askartv.phone"
|
||||||
minSdk = Versions.minSdk
|
minSdk = Versions.minSdk
|
||||||
targetSdk = Versions.targetSdk
|
targetSdk = Versions.targetSdk
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import coil.ImageLoader
|
import coil.ImageLoader
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
|
@ -6,11 +6,11 @@ import androidx.activity.compose.setContent
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import com.ramcosta.composedestinations.DestinationsNavHost
|
import com.ramcosta.composedestinations.DestinationsNavHost
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.database.ServerDatabaseDao
|
import org.askartv.phone.database.ServerDatabaseDao
|
||||||
import dev.jdtech.jellyfin.destinations.AddServerScreenDestination
|
import org.askartv.phone.destinations.AddServerScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.LoginScreenDestination
|
import org.askartv.phone.destinations.LoginScreenDestination
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.viewmodels.MainViewModel
|
import org.askartv.phone.viewmodels.MainViewModel
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin
|
package org.askartv.phone
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
@ -9,11 +9,11 @@ import com.ramcosta.composedestinations.annotation.ActivityDestination
|
||||||
import com.ramcosta.composedestinations.manualcomposablecalls.composable
|
import com.ramcosta.composedestinations.manualcomposablecalls.composable
|
||||||
import com.ramcosta.composedestinations.scope.resultRecipient
|
import com.ramcosta.composedestinations.scope.resultRecipient
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||||
import dev.jdtech.jellyfin.destinations.PlayerScreenDestination
|
import org.askartv.phone.destinations.PlayerScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.PlayerItem
|
import org.askartv.phone.models.PlayerItem
|
||||||
import dev.jdtech.jellyfin.ui.PlayerScreen
|
import org.askartv.phone.ui.PlayerScreen
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
|
|
||||||
data class PlayerActivityNavArgs(
|
data class PlayerActivityNavArgs(
|
||||||
val items: ArrayList<PlayerItem>,
|
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.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
@ -38,13 +38,13 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.LoginScreenDestination
|
import org.askartv.phone.destinations.LoginScreenDestination
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.AddServerEvent
|
import org.askartv.phone.viewmodels.AddServerEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.AddServerViewModel
|
import org.askartv.phone.viewmodels.AddServerViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@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.Arrangement
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
|
@ -26,24 +26,24 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.MovieScreenDestination
|
import org.askartv.phone.destinations.MovieScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||||
import dev.jdtech.jellyfin.destinations.ShowScreenDestination
|
import org.askartv.phone.destinations.ShowScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.models.HomeItem
|
import org.askartv.phone.models.HomeItem
|
||||||
import dev.jdtech.jellyfin.ui.components.Direction
|
import org.askartv.phone.ui.components.Direction
|
||||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
import org.askartv.phone.ui.components.ItemCard
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyHomeItems
|
import org.askartv.phone.ui.dummy.dummyHomeItems
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.HomeViewModel
|
import org.askartv.phone.viewmodels.HomeViewModel
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@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.Arrangement
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
|
@ -20,15 +20,15 @@ import androidx.tv.foundation.lazy.grid.items
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.LibraryScreenDestination
|
import org.askartv.phone.destinations.LibraryScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.CollectionType
|
import org.askartv.phone.models.CollectionType
|
||||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
import org.askartv.phone.models.FindroidCollection
|
||||||
import dev.jdtech.jellyfin.ui.components.Direction
|
import org.askartv.phone.ui.components.Direction
|
||||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
import org.askartv.phone.ui.components.ItemCard
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyCollections
|
import org.askartv.phone.ui.dummy.dummyCollections
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.viewmodels.MediaViewModel
|
import org.askartv.phone.viewmodels.MediaViewModel
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
@Destination
|
@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.Arrangement
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
|
@ -22,20 +22,20 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.LibraryScreenDestination
|
import org.askartv.phone.destinations.LibraryScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.MovieScreenDestination
|
import org.askartv.phone.destinations.MovieScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.ShowScreenDestination
|
import org.askartv.phone.destinations.ShowScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.CollectionType
|
import org.askartv.phone.models.CollectionType
|
||||||
import dev.jdtech.jellyfin.models.FindroidFolder
|
import org.askartv.phone.models.FindroidFolder
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidShow
|
import org.askartv.phone.models.FindroidShow
|
||||||
import dev.jdtech.jellyfin.ui.components.Direction
|
import org.askartv.phone.ui.components.Direction
|
||||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
import org.askartv.phone.ui.components.ItemCard
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyMovies
|
import org.askartv.phone.ui.dummy.dummyMovies
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.viewmodels.LibraryViewModel
|
import org.askartv.phone.viewmodels.LibraryViewModel
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.flowOf
|
import kotlinx.coroutines.flow.flowOf
|
||||||
import java.util.UUID
|
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.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
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.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import com.ramcosta.composedestinations.navigation.popUpTo
|
import com.ramcosta.composedestinations.navigation.popUpTo
|
||||||
import dev.jdtech.jellyfin.NavGraphs
|
import org.askartv.phone.NavGraphs
|
||||||
import dev.jdtech.jellyfin.destinations.MainScreenDestination
|
import org.askartv.phone.destinations.MainScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.UiText
|
import org.askartv.phone.models.UiText
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.LoginEvent
|
import org.askartv.phone.viewmodels.LoginEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.LoginViewModel
|
import org.askartv.phone.viewmodels.LoginViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.ui
|
package org.askartv.phone.ui
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
|
@ -40,17 +40,17 @@ import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.annotation.RootNavGraph
|
import com.ramcosta.composedestinations.annotation.RootNavGraph
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import com.ramcosta.composedestinations.navigation.EmptyDestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.EmptyDestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.SettingsScreenDestination
|
import org.askartv.phone.destinations.SettingsScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.User
|
import org.askartv.phone.models.User
|
||||||
import dev.jdtech.jellyfin.ui.components.LoadingIndicator
|
import org.askartv.phone.ui.components.LoadingIndicator
|
||||||
import dev.jdtech.jellyfin.ui.components.PillBorderIndicator
|
import org.askartv.phone.ui.components.PillBorderIndicator
|
||||||
import dev.jdtech.jellyfin.ui.components.ProfileButton
|
import org.askartv.phone.ui.components.ProfileButton
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyServer
|
import org.askartv.phone.ui.dummy.dummyServer
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyUser
|
import org.askartv.phone.ui.dummy.dummyUser
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.viewmodels.MainViewModel
|
import org.askartv.phone.viewmodels.MainViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@RootNavGraph(start = true)
|
@RootNavGraph(start = true)
|
||||||
@Destination
|
@Destination
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.ui
|
package org.askartv.phone.ui
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
@ -46,24 +46,24 @@ import androidx.tv.material3.Text
|
||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||||
import dev.jdtech.jellyfin.models.AudioChannel
|
import org.askartv.phone.models.AudioChannel
|
||||||
import dev.jdtech.jellyfin.models.AudioCodec
|
import org.askartv.phone.models.AudioCodec
|
||||||
import dev.jdtech.jellyfin.models.DisplayProfile
|
import org.askartv.phone.models.DisplayProfile
|
||||||
import dev.jdtech.jellyfin.models.Resolution
|
import org.askartv.phone.models.Resolution
|
||||||
import dev.jdtech.jellyfin.models.VideoMetadata
|
import org.askartv.phone.models.VideoMetadata
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyMovie
|
import org.askartv.phone.ui.dummy.dummyMovie
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.Yellow
|
import org.askartv.phone.ui.theme.Yellow
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.MovieViewModel
|
import org.askartv.phone.viewmodels.MovieViewModel
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||||
import org.jellyfin.sdk.model.api.BaseItemPerson
|
import org.jellyfin.sdk.model.api.BaseItemPerson
|
||||||
import org.jellyfin.sdk.model.api.PersonKind
|
import org.jellyfin.sdk.model.api.PersonKind
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.ui
|
package org.askartv.phone.ui
|
||||||
|
|
||||||
import androidx.compose.foundation.focusable
|
import androidx.compose.foundation.focusable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
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.navigation.DestinationsNavigator
|
||||||
import com.ramcosta.composedestinations.result.NavResult
|
import com.ramcosta.composedestinations.result.NavResult
|
||||||
import com.ramcosta.composedestinations.result.ResultRecipient
|
import com.ramcosta.composedestinations.result.ResultRecipient
|
||||||
import dev.jdtech.jellyfin.core.R
|
import org.askartv.phone.core.R
|
||||||
import dev.jdtech.jellyfin.destinations.VideoPlayerTrackSelectorDialogDestination
|
import org.askartv.phone.destinations.VideoPlayerTrackSelectorDialogDestination
|
||||||
import dev.jdtech.jellyfin.models.PlayerItem
|
import org.askartv.phone.models.PlayerItem
|
||||||
import dev.jdtech.jellyfin.models.Track
|
import org.askartv.phone.models.Track
|
||||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerControlsLayout
|
import org.askartv.phone.ui.components.player.VideoPlayerControlsLayout
|
||||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerMediaButton
|
import org.askartv.phone.ui.components.player.VideoPlayerMediaButton
|
||||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerMediaTitle
|
import org.askartv.phone.ui.components.player.VideoPlayerMediaTitle
|
||||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerOverlay
|
import org.askartv.phone.ui.components.player.VideoPlayerOverlay
|
||||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerSeeker
|
import org.askartv.phone.ui.components.player.VideoPlayerSeeker
|
||||||
import dev.jdtech.jellyfin.ui.components.player.VideoPlayerState
|
import org.askartv.phone.ui.components.player.VideoPlayerState
|
||||||
import dev.jdtech.jellyfin.ui.components.player.rememberVideoPlayerState
|
import org.askartv.phone.ui.components.player.rememberVideoPlayerState
|
||||||
import dev.jdtech.jellyfin.ui.dialogs.VideoPlayerTrackSelectorDialogResult
|
import org.askartv.phone.ui.dialogs.VideoPlayerTrackSelectorDialogResult
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.handleDPadKeyEvents
|
import org.askartv.phone.utils.handleDPadKeyEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
import org.askartv.phone.viewmodels.PlayerActivityViewModel
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import kotlin.time.Duration.Companion.milliseconds
|
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.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
@ -22,17 +22,17 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||||
import dev.jdtech.jellyfin.models.EpisodeItem
|
import org.askartv.phone.models.EpisodeItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.ui.components.EpisodeCard
|
import org.askartv.phone.ui.components.EpisodeCard
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisodeItems
|
import org.askartv.phone.ui.dummy.dummyEpisodeItems
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||||
import dev.jdtech.jellyfin.viewmodels.SeasonViewModel
|
import org.askartv.phone.viewmodels.SeasonViewModel
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.ui
|
package org.askartv.phone.ui
|
||||||
|
|
||||||
import androidx.compose.foundation.BorderStroke
|
import androidx.compose.foundation.BorderStroke
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
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.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import com.ramcosta.composedestinations.navigation.popUpTo
|
import com.ramcosta.composedestinations.navigation.popUpTo
|
||||||
import dev.jdtech.jellyfin.NavGraphs
|
import org.askartv.phone.NavGraphs
|
||||||
import dev.jdtech.jellyfin.destinations.AddServerScreenDestination
|
import org.askartv.phone.destinations.AddServerScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.MainScreenDestination
|
import org.askartv.phone.destinations.MainScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.UserSelectScreenDestination
|
import org.askartv.phone.destinations.UserSelectScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.DiscoveredServer
|
import org.askartv.phone.models.DiscoveredServer
|
||||||
import dev.jdtech.jellyfin.models.Server
|
import org.askartv.phone.models.Server
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyDiscoveredServer
|
import org.askartv.phone.ui.dummy.dummyDiscoveredServer
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyDiscoveredServers
|
import org.askartv.phone.ui.dummy.dummyDiscoveredServers
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyServers
|
import org.askartv.phone.ui.dummy.dummyServers
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectEvent
|
import org.askartv.phone.viewmodels.ServerSelectEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
|
import org.askartv.phone.viewmodels.ServerSelectViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@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.Arrangement
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
|
@ -23,22 +23,22 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.ServerSelectScreenDestination
|
import org.askartv.phone.destinations.ServerSelectScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.SettingsSubScreenDestination
|
import org.askartv.phone.destinations.SettingsSubScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.UserSelectScreenDestination
|
import org.askartv.phone.destinations.UserSelectScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.Preference
|
import org.askartv.phone.models.Preference
|
||||||
import dev.jdtech.jellyfin.models.PreferenceCategory
|
import org.askartv.phone.models.PreferenceCategory
|
||||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
import org.askartv.phone.models.PreferenceSelect
|
||||||
import dev.jdtech.jellyfin.models.PreferenceSwitch
|
import org.askartv.phone.models.PreferenceSwitch
|
||||||
import dev.jdtech.jellyfin.ui.components.SettingsCategoryCard
|
import org.askartv.phone.ui.components.SettingsCategoryCard
|
||||||
import dev.jdtech.jellyfin.ui.components.SettingsSelectCard
|
import org.askartv.phone.ui.components.SettingsSelectCard
|
||||||
import dev.jdtech.jellyfin.ui.components.SettingsSwitchCard
|
import org.askartv.phone.ui.components.SettingsSwitchCard
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.SettingsEvent
|
import org.askartv.phone.viewmodels.SettingsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.SettingsViewModel
|
import org.askartv.phone.viewmodels.SettingsViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.ui
|
package org.askartv.phone.ui
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
@ -29,24 +29,24 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.Constants
|
import org.askartv.phone.Constants
|
||||||
import dev.jdtech.jellyfin.destinations.ServerSelectScreenDestination
|
import org.askartv.phone.destinations.ServerSelectScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.SettingsScreenDestination
|
import org.askartv.phone.destinations.SettingsScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.UserSelectScreenDestination
|
import org.askartv.phone.destinations.UserSelectScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.Preference
|
import org.askartv.phone.models.Preference
|
||||||
import dev.jdtech.jellyfin.models.PreferenceCategory
|
import org.askartv.phone.models.PreferenceCategory
|
||||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
import org.askartv.phone.models.PreferenceSelect
|
||||||
import dev.jdtech.jellyfin.models.PreferenceSwitch
|
import org.askartv.phone.models.PreferenceSwitch
|
||||||
import dev.jdtech.jellyfin.ui.components.SettingsCategoryCard
|
import org.askartv.phone.ui.components.SettingsCategoryCard
|
||||||
import dev.jdtech.jellyfin.ui.components.SettingsDetailsCard
|
import org.askartv.phone.ui.components.SettingsDetailsCard
|
||||||
import dev.jdtech.jellyfin.ui.components.SettingsSelectCard
|
import org.askartv.phone.ui.components.SettingsSelectCard
|
||||||
import dev.jdtech.jellyfin.ui.components.SettingsSwitchCard
|
import org.askartv.phone.ui.components.SettingsSwitchCard
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.SettingsEvent
|
import org.askartv.phone.viewmodels.SettingsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.SettingsViewModel
|
import org.askartv.phone.viewmodels.SettingsViewModel
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.ui
|
package org.askartv.phone.ui
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
@ -56,21 +56,21 @@ import androidx.tv.material3.Text
|
||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import dev.jdtech.jellyfin.destinations.PlayerActivityDestination
|
import org.askartv.phone.destinations.PlayerActivityDestination
|
||||||
import dev.jdtech.jellyfin.destinations.SeasonScreenDestination
|
import org.askartv.phone.destinations.SeasonScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.FindroidSeason
|
import org.askartv.phone.models.FindroidSeason
|
||||||
import dev.jdtech.jellyfin.ui.components.Direction
|
import org.askartv.phone.ui.components.Direction
|
||||||
import dev.jdtech.jellyfin.ui.components.ItemCard
|
import org.askartv.phone.ui.components.ItemCard
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyShow
|
import org.askartv.phone.ui.dummy.dummyShow
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.Yellow
|
import org.askartv.phone.ui.theme.Yellow
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerItemsEvent
|
import org.askartv.phone.viewmodels.PlayerItemsEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerViewModel
|
import org.askartv.phone.viewmodels.PlayerViewModel
|
||||||
import dev.jdtech.jellyfin.viewmodels.ShowViewModel
|
import org.askartv.phone.viewmodels.ShowViewModel
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.jdtech.jellyfin.ui
|
package org.askartv.phone.ui
|
||||||
|
|
||||||
import androidx.compose.foundation.BorderStroke
|
import androidx.compose.foundation.BorderStroke
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
@ -43,22 +43,22 @@ import coil.request.ImageRequest
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
|
||||||
import com.ramcosta.composedestinations.navigation.popUpTo
|
import com.ramcosta.composedestinations.navigation.popUpTo
|
||||||
import dev.jdtech.jellyfin.NavGraphs
|
import org.askartv.phone.NavGraphs
|
||||||
import dev.jdtech.jellyfin.api.JellyfinApi
|
import org.askartv.phone.api.JellyfinApi
|
||||||
import dev.jdtech.jellyfin.destinations.LoginScreenDestination
|
import org.askartv.phone.destinations.LoginScreenDestination
|
||||||
import dev.jdtech.jellyfin.destinations.MainScreenDestination
|
import org.askartv.phone.destinations.MainScreenDestination
|
||||||
import dev.jdtech.jellyfin.models.Server
|
import org.askartv.phone.models.Server
|
||||||
import dev.jdtech.jellyfin.models.User
|
import org.askartv.phone.models.User
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyServer
|
import org.askartv.phone.ui.dummy.dummyServer
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyUser
|
import org.askartv.phone.ui.dummy.dummyUser
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyUsers
|
import org.askartv.phone.ui.dummy.dummyUsers
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.utils.ObserveAsEvents
|
import org.askartv.phone.utils.ObserveAsEvents
|
||||||
import dev.jdtech.jellyfin.viewmodels.UserSelectEvent
|
import org.askartv.phone.viewmodels.UserSelectEvent
|
||||||
import dev.jdtech.jellyfin.viewmodels.UserSelectViewModel
|
import org.askartv.phone.viewmodels.UserSelectViewModel
|
||||||
import org.jellyfin.sdk.model.api.ImageType
|
import org.jellyfin.sdk.model.api.ImageType
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Destination
|
@Destination
|
||||||
@Composable
|
@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.BorderStroke
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
|
@ -26,10 +26,10 @@ import androidx.tv.material3.ClickableSurfaceScale
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Surface
|
import androidx.tv.material3.Surface
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisode
|
import org.askartv.phone.ui.dummy.dummyEpisode
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun EpisodeCard(
|
fun EpisodeCard(
|
||||||
|
@ -76,7 +76,7 @@ fun EpisodeCard(
|
||||||
Column {
|
Column {
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(
|
text = stringResource(
|
||||||
id = dev.jdtech.jellyfin.core.R.string.episode_name,
|
id = org.askartv.phone.core.R.string.episode_name,
|
||||||
episode.indexNumber,
|
episode.indexNumber,
|
||||||
episode.name,
|
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.BorderStroke
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
@ -24,13 +24,13 @@ import androidx.tv.material3.ClickableSurfaceScale
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Surface
|
import androidx.tv.material3.Surface
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.core.R
|
import org.askartv.phone.core.R
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisode
|
import org.askartv.phone.ui.dummy.dummyEpisode
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyMovie
|
import org.askartv.phone.ui.dummy.dummyMovie
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ItemCard(
|
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.background
|
||||||
import androidx.compose.foundation.layout.aspectRatio
|
import androidx.compose.foundation.layout.aspectRatio
|
||||||
|
@ -8,9 +8,9 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
|
|
||||||
enum class Direction {
|
enum class Direction {
|
||||||
HORIZONTAL, VERTICAL
|
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.foundation.layout.size
|
||||||
import androidx.compose.material3.CircularProgressIndicator
|
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.animateColorAsState
|
||||||
import androidx.compose.animation.core.animateDpAsState
|
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.BorderStroke
|
||||||
import androidx.compose.foundation.layout.aspectRatio
|
import androidx.compose.foundation.layout.aspectRatio
|
||||||
|
@ -21,11 +21,11 @@ import androidx.tv.material3.Icon
|
||||||
import androidx.tv.material3.Surface
|
import androidx.tv.material3.Surface
|
||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import coil.request.ImageRequest
|
import coil.request.ImageRequest
|
||||||
import dev.jdtech.jellyfin.api.JellyfinApi
|
import org.askartv.phone.api.JellyfinApi
|
||||||
import dev.jdtech.jellyfin.core.R
|
import org.askartv.phone.core.R
|
||||||
import dev.jdtech.jellyfin.models.User
|
import org.askartv.phone.models.User
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyUser
|
import org.askartv.phone.ui.dummy.dummyUser
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import org.jellyfin.sdk.model.api.ImageType
|
import org.jellyfin.sdk.model.api.ImageType
|
||||||
|
|
||||||
@Composable
|
@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.background
|
||||||
import androidx.compose.foundation.layout.Box
|
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.Icon
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.models.FindroidItem
|
import org.askartv.phone.models.FindroidItem
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyEpisode
|
import org.askartv.phone.ui.dummy.dummyEpisode
|
||||||
import dev.jdtech.jellyfin.ui.dummy.dummyShow
|
import org.askartv.phone.ui.dummy.dummyShow
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ProgressBadge(
|
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.BorderStroke
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
@ -25,10 +25,10 @@ import androidx.tv.material3.Icon
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Surface
|
import androidx.tv.material3.Surface
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.models.PreferenceCategory
|
import org.askartv.phone.models.PreferenceCategory
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SettingsCategoryCard(
|
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.BorderStroke
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
@ -26,11 +26,11 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.RadioButton
|
import androidx.tv.material3.RadioButton
|
||||||
import androidx.tv.material3.Surface
|
import androidx.tv.material3.Surface
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.Constants
|
import org.askartv.phone.Constants
|
||||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
import org.askartv.phone.models.PreferenceSelect
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SettingsDetailsCard(
|
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.BorderStroke
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
@ -25,11 +25,11 @@ import androidx.tv.material3.Icon
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Surface
|
import androidx.tv.material3.Surface
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.Constants
|
import org.askartv.phone.Constants
|
||||||
import dev.jdtech.jellyfin.models.PreferenceSelect
|
import org.askartv.phone.models.PreferenceSelect
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SettingsSelectCard(
|
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.BorderStroke
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
@ -26,10 +26,10 @@ import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Surface
|
import androidx.tv.material3.Surface
|
||||||
import androidx.tv.material3.Switch
|
import androidx.tv.material3.Switch
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.core.R
|
import org.askartv.phone.core.R
|
||||||
import dev.jdtech.jellyfin.models.PreferenceSwitch
|
import org.askartv.phone.models.PreferenceSwitch
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SettingsSwitchCard(
|
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.background
|
||||||
import androidx.compose.foundation.border
|
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.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun VideoPlayerControlsLayout(
|
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.MutableInteractionSource
|
||||||
import androidx.compose.foundation.interaction.collectIsFocusedAsState
|
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.foundation.layout.Column
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun VideoPlayerMediaTitle(
|
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.AnimatedVisibility
|
||||||
import androidx.compose.animation.fadeIn
|
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.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun VideoPlayerOverlay(
|
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.animation.core.animateDpAsState
|
||||||
import androidx.compose.foundation.Canvas
|
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.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.utils.handleDPadKeyEvents
|
import org.askartv.phone.utils.handleDPadKeyEvents
|
||||||
|
|
||||||
@OptIn(ExperimentalComposeUiApi::class)
|
@OptIn(ExperimentalComposeUiApi::class)
|
||||||
@Composable
|
@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.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
@ -19,10 +19,10 @@ import androidx.tv.material3.Icon
|
||||||
import androidx.tv.material3.IconButton
|
import androidx.tv.material3.IconButton
|
||||||
import androidx.tv.material3.MaterialTheme
|
import androidx.tv.material3.MaterialTheme
|
||||||
import androidx.tv.material3.Text
|
import androidx.tv.material3.Text
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import kotlin.time.Duration
|
import kotlin.time.Duration
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun VideoPlayerSeeker(
|
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.annotation.IntRange
|
||||||
import androidx.compose.runtime.Composable
|
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 androidx.compose.ui.window.DialogProperties
|
||||||
import com.ramcosta.composedestinations.spec.DestinationStyle
|
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 android.os.Parcelable
|
||||||
import androidx.compose.foundation.BorderStroke
|
import androidx.compose.foundation.BorderStroke
|
||||||
|
@ -31,12 +31,12 @@ import androidx.tv.material3.Text
|
||||||
import com.ramcosta.composedestinations.annotation.Destination
|
import com.ramcosta.composedestinations.annotation.Destination
|
||||||
import com.ramcosta.composedestinations.result.EmptyResultBackNavigator
|
import com.ramcosta.composedestinations.result.EmptyResultBackNavigator
|
||||||
import com.ramcosta.composedestinations.result.ResultBackNavigator
|
import com.ramcosta.composedestinations.result.ResultBackNavigator
|
||||||
import dev.jdtech.jellyfin.models.Track
|
import org.askartv.phone.models.Track
|
||||||
import dev.jdtech.jellyfin.ui.theme.FindroidTheme
|
import org.askartv.phone.ui.theme.FindroidTheme
|
||||||
import dev.jdtech.jellyfin.ui.theme.spacings
|
import org.askartv.phone.ui.theme.spacings
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import dev.jdtech.jellyfin.core.R as CoreR
|
import org.askartv.phone.core.R as CoreR
|
||||||
import dev.jdtech.jellyfin.player.video.R as PlayerVideoR
|
import org.askartv.phone.player.video.R as PlayerVideoR
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
data class VideoPlayerTrackSelectorDialogResult(
|
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 org.askartv.phone.models.CollectionType
|
||||||
import dev.jdtech.jellyfin.models.FindroidCollection
|
import org.askartv.phone.models.FindroidCollection
|
||||||
import dev.jdtech.jellyfin.models.FindroidImages
|
import org.askartv.phone.models.FindroidImages
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
private val dummyMoviesCollection = FindroidCollection(
|
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 org.askartv.phone.models.EpisodeItem
|
||||||
import dev.jdtech.jellyfin.models.FindroidEpisode
|
import org.askartv.phone.models.FindroidEpisode
|
||||||
import dev.jdtech.jellyfin.models.FindroidImages
|
import org.askartv.phone.models.FindroidImages
|
||||||
import dev.jdtech.jellyfin.models.FindroidMediaStream
|
import org.askartv.phone.models.FindroidMediaStream
|
||||||
import dev.jdtech.jellyfin.models.FindroidSource
|
import org.askartv.phone.models.FindroidSource
|
||||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
import org.askartv.phone.models.FindroidSourceType
|
||||||
import org.jellyfin.sdk.model.api.MediaStreamType
|
import org.jellyfin.sdk.model.api.MediaStreamType
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
import java.util.UUID
|
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 org.askartv.phone.models.CollectionType
|
||||||
import dev.jdtech.jellyfin.models.HomeItem
|
import org.askartv.phone.models.HomeItem
|
||||||
import dev.jdtech.jellyfin.models.HomeSection
|
import org.askartv.phone.models.HomeSection
|
||||||
import dev.jdtech.jellyfin.models.UiText
|
import org.askartv.phone.models.UiText
|
||||||
import dev.jdtech.jellyfin.models.View
|
import org.askartv.phone.models.View
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
val dummyHomeItems = listOf(
|
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 org.askartv.phone.models.FindroidImages
|
||||||
import dev.jdtech.jellyfin.models.FindroidMediaStream
|
import org.askartv.phone.models.FindroidMediaStream
|
||||||
import dev.jdtech.jellyfin.models.FindroidMovie
|
import org.askartv.phone.models.FindroidMovie
|
||||||
import dev.jdtech.jellyfin.models.FindroidSource
|
import org.askartv.phone.models.FindroidSource
|
||||||
import dev.jdtech.jellyfin.models.FindroidSourceType
|
import org.askartv.phone.models.FindroidSourceType
|
||||||
import org.jellyfin.sdk.model.api.MediaStreamType
|
import org.jellyfin.sdk.model.api.MediaStreamType
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
import java.util.UUID
|
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