mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 20:48:43 +00:00
Add generic Compose fragment.
This commit is contained in:
committed by
Nicholas Tinsley
parent
fb07e897d0
commit
63a153571d
@@ -0,0 +1,34 @@
|
|||||||
|
package org.thoughtcrime.securesms.compose
|
||||||
|
|
||||||
|
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 androidx.compose.ui.platform.LocalContext
|
||||||
|
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||||
|
import org.signal.core.ui.theme.SignalTheme
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment
|
||||||
|
import org.thoughtcrime.securesms.util.DynamicTheme
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generic ComposeFragment which can be subclassed to build UI with compose.
|
||||||
|
*/
|
||||||
|
abstract class ComposeFragment : LoggingFragment() {
|
||||||
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||||
|
return ComposeView(requireContext()).apply {
|
||||||
|
setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
|
||||||
|
setContent {
|
||||||
|
SignalTheme(
|
||||||
|
isDarkMode = DynamicTheme.isDarkTheme(LocalContext.current)
|
||||||
|
) {
|
||||||
|
SheetContent()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
abstract fun SheetContent()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user