personal personlization init

This commit is contained in:
nomadics9 2024-06-29 03:07:12 +03:00
parent 184c1fcd6d
commit fcb58ef8ad
243 changed files with 3109 additions and 1371 deletions

View file

@ -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.

View file

@ -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 |

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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() {

View file

@ -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 =

View file

@ -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() {

View file

@ -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,
) )
} }

View file

@ -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)
} }
} }

View file

@ -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)
} }
} }

View file

@ -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
} }
} }
} }

View file

@ -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)
} }
} }

View file

@ -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)
} }
} }

View file

@ -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) }
} }
} }

View file

@ -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)
} }
} }

View file

@ -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)
} }
} }

View file

@ -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)
} }
} }

View file

@ -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)
} }
} }

View file

@ -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)
} }
} }

View file

@ -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)
} }
} }
} }

View file

@ -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
} }
} }
} }

View file

@ -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

View file

@ -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,

View file

@ -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

View file

@ -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() {

View file

@ -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() {

View file

@ -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() {

View file

@ -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

View file

@ -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,

View file

@ -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() {

View file

@ -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() {

View file

@ -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() {

View file

@ -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() {

View file

@ -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() {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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?) {

View file

@ -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?) {

View file

@ -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() {

View file

@ -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?) {

View file

@ -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() {

View file

@ -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?) {

View file

@ -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?) {

View file

@ -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?) {

View file

@ -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() {

View file

@ -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

View file

@ -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

View file

@ -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?) {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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>,

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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,
), ),

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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(

View file

@ -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(

View file

@ -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(

View file

@ -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(

View file

@ -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(

View file

@ -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(

View file

@ -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

View file

@ -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(

View file

@ -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(

View file

@ -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

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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(

View file

@ -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(

View file

@ -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

View file

@ -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(

View file

@ -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