From e4967ca7a59f5c7392143bc72304cb3ce1b6e060 Mon Sep 17 00:00:00 2001 From: ziro Date: Thu, 11 Jan 2024 19:27:36 +0700 Subject: [PATCH] enhance: Base controller for compose --- .../extension/ExtensionDetailsController.kt | 27 +++++------------ .../base/controller/BaseComposeController.kt | 30 +++++++++++++++++++ 2 files changed, 37 insertions(+), 20 deletions(-) create mode 100644 app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseComposeController.kt diff --git a/app/src/main/java/dev/yokai/presentation/extension/ExtensionDetailsController.kt b/app/src/main/java/dev/yokai/presentation/extension/ExtensionDetailsController.kt index d5a5bd5984..cba61953f4 100644 --- a/app/src/main/java/dev/yokai/presentation/extension/ExtensionDetailsController.kt +++ b/app/src/main/java/dev/yokai/presentation/extension/ExtensionDetailsController.kt @@ -1,27 +1,14 @@ package dev.yokai.presentation.extension import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup import androidx.compose.material3.Text -import androidx.compose.ui.platform.ComposeView -import dev.yokai.presentation.theme.YokaiTheme -import eu.kanade.tachiyomi.ui.base.controller.BaseController +import androidx.compose.runtime.Composable +import eu.kanade.tachiyomi.ui.base.controller.BaseComposeController -class ExtensionDetailsController(bundle: Bundle? = null) : BaseController(bundle) { - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup, - savedViewState: Bundle? - ): View { - return ComposeView(container.context).apply { - setContent { - YokaiTheme { - // TODO - Text(text = "Hello World") - } - } - } +class ExtensionDetailsController(bundle: Bundle? = null) : BaseComposeController(bundle) { + @Composable + override fun ScreenContent() { + // TODO + Text(text = "Hello World") } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseComposeController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseComposeController.kt new file mode 100644 index 0000000000..5f69536bc2 --- /dev/null +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseComposeController.kt @@ -0,0 +1,30 @@ +package eu.kanade.tachiyomi.ui.base.controller + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.ComposeView +import dev.yokai.presentation.theme.YokaiTheme + +abstract class BaseComposeController(bundle: Bundle? = null) : + BaseController(bundle) { + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup, + savedViewState: Bundle? + ): View { + return ComposeView(container.context).apply { + setContent { + YokaiTheme { + ScreenContent() + } + } + } + } + + @Composable + abstract fun ScreenContent() +}