From e7a85f4f5f737e804c6703adf0ac07b055b45166 Mon Sep 17 00:00:00 2001 From: damontecres <154766448+damontecres@users.noreply.github.com> Date: Mon, 20 Oct 2025 19:10:36 -0400 Subject: [PATCH 1/4] Ensure suggested items are for the current user (#47) Fixes #46 Makes sure that the suggested items fetched on Movies & TV Shows recommended tab are for the current user which should respect content restrictions and other permissions. --- .../damontecres/wholphin/ui/components/RecommendedMovie.kt | 3 +++ .../damontecres/wholphin/ui/components/RecommendedTvShow.kt | 3 +++ 2 files changed, 6 insertions(+) diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedMovie.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedMovie.kt index df842cf3..88ee10c0 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedMovie.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedMovie.kt @@ -8,6 +8,7 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.github.damontecres.wholphin.data.ServerRepository import com.github.damontecres.wholphin.data.model.BaseItem import com.github.damontecres.wholphin.preferences.UserPreferences import com.github.damontecres.wholphin.ui.OneTimeLaunchedEffect @@ -41,6 +42,7 @@ class RecommendedMovieViewModel @Inject constructor( private val api: ApiClient, + private val serverRepository: ServerRepository, ) : ViewModel() { val loading = MutableLiveData(LoadingState.Loading) val rows = MutableLiveData>() @@ -88,6 +90,7 @@ class RecommendedMovieViewModel val suggestionsRequest = GetSuggestionsRequest( + userId = serverRepository.currentUser?.id, type = listOf(BaseItemKind.MOVIE), ) val suggestedItems = ApiRequestPager(api, suggestionsRequest, GetSuggestionsRequestHandler, viewModelScope) diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedTvShow.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedTvShow.kt index d7e32f83..e1dab51c 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedTvShow.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/components/RecommendedTvShow.kt @@ -8,6 +8,7 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.github.damontecres.wholphin.data.ServerRepository import com.github.damontecres.wholphin.data.model.BaseItem import com.github.damontecres.wholphin.preferences.UserPreferences import com.github.damontecres.wholphin.ui.OneTimeLaunchedEffect @@ -43,6 +44,7 @@ class RecommendedTvShowViewModel @Inject constructor( private val api: ApiClient, + private val serverRepository: ServerRepository, ) : ViewModel() { val loading = MutableLiveData(LoadingState.Loading) val rows = MutableLiveData>() @@ -98,6 +100,7 @@ class RecommendedTvShowViewModel val suggestionsRequest = GetSuggestionsRequest( + userId = serverRepository.currentUser?.id, type = listOf(BaseItemKind.SERIES), ) val suggestedItems = ApiRequestPager(api, suggestionsRequest, GetSuggestionsRequestHandler, viewModelScope) From 86d63f8b95f211f5625ced4b17c667163fa31cf2 Mon Sep 17 00:00:00 2001 From: Damontecres Date: Mon, 20 Oct 2025 21:25:53 -0400 Subject: [PATCH 2/4] Check for updates when resuming --- .../github/damontecres/wholphin/MainActivity.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/github/damontecres/wholphin/MainActivity.kt b/app/src/main/java/com/github/damontecres/wholphin/MainActivity.kt index eac3878e..f100cb48 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/MainActivity.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/MainActivity.kt @@ -31,17 +31,15 @@ import com.github.damontecres.wholphin.preferences.AppPreferences import com.github.damontecres.wholphin.preferences.DefaultUserConfiguration import com.github.damontecres.wholphin.preferences.UserPreferences import com.github.damontecres.wholphin.ui.CoilConfig +import com.github.damontecres.wholphin.ui.launchIO import com.github.damontecres.wholphin.ui.nav.ApplicationContent import com.github.damontecres.wholphin.ui.nav.Destination import com.github.damontecres.wholphin.ui.nav.NavigationManager import com.github.damontecres.wholphin.ui.theme.WholphinTheme import com.github.damontecres.wholphin.util.AppUpgradeHandler -import com.github.damontecres.wholphin.util.ExceptionHandler import com.github.damontecres.wholphin.util.UpdateChecker import com.github.damontecres.wholphin.util.profile.createDeviceProfile import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch import okhttp3.OkHttpClient import org.jellyfin.sdk.model.serializer.toUUIDOrNull import timber.log.Timber @@ -72,9 +70,6 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Timber.i("MainActivity.onCreate") - lifecycleScope.launch(Dispatchers.IO + ExceptionHandler()) { - appUpgradeHandler.run() - } setContent { CoilConfig(okHttpClient, false) val appPreferences by userPreferencesDataStore.data.collectAsState(null) @@ -167,6 +162,13 @@ class MainActivity : AppCompatActivity() { } } + override fun onResume() { + super.onResume() + lifecycleScope.launchIO { + appUpgradeHandler.run() + } + } + override fun onPause() { if (navigationManager.backStack.lastOrNull() is Destination.Playback) { navigationManager.goBack() From 9f3d83e8314374618dcf6f5a160af741a2e6686c Mon Sep 17 00:00:00 2001 From: Damontecres Date: Mon, 20 Oct 2025 21:26:11 -0400 Subject: [PATCH 3/4] Fix skip buttons not timing out --- .../com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt index a429da61..ca666e2d 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt @@ -388,7 +388,7 @@ fun PlaybackPage( LaunchedEffect(Unit) { focusRequester.tryRequestFocus() delay(10.seconds) - segmentCancelled = false + segmentCancelled = true } Button( onClick = { From 2770ae1e4ab039a0258a2b729843fe7c1b366a5d Mon Sep 17 00:00:00 2001 From: Damontecres Date: Tue, 21 Oct 2025 11:05:56 -0400 Subject: [PATCH 4/4] Release v0.1.2