TP-0000 | Release 1.0.14 -> Master (#150)
This commit is contained in:
committed by
GitHub
parent
60b766a490
commit
c76438cae8
@@ -5,7 +5,7 @@ plugins {
|
||||
id 'maven-publish'
|
||||
}
|
||||
|
||||
def VERSION_NAME = "1.0.12_hotfix_2"
|
||||
def VERSION_NAME = "1.0.14"
|
||||
|
||||
android {
|
||||
namespace 'com.navi.uitron'
|
||||
|
||||
@@ -236,6 +236,12 @@ class MultiSectionTextFieldRenderer() : Renderer<MultiSectionTextFieldProperty>
|
||||
),
|
||||
selection = TextRange(maxCharList[index])
|
||||
)
|
||||
} else {
|
||||
inputValues[index].value =
|
||||
inputValues[index].value.copy(
|
||||
text = inputValues[index].value.text,
|
||||
selection = TextRange(maxCharList[index])
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -9,12 +9,15 @@ package com.navi.uitron.render
|
||||
|
||||
import android.widget.Toast
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalLifecycleOwner
|
||||
import androidx.compose.ui.platform.LocalSavedStateRegistryOwner
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.setViewTreeLifecycleOwner
|
||||
import androidx.lifecycle.setViewTreeViewModelStoreOwner
|
||||
import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
|
||||
@@ -34,6 +37,9 @@ class ToastRenderer(
|
||||
private val childrenComposeViews: List<UiTronView>?,
|
||||
private val uiTronRenderer: UiTronRenderer
|
||||
) : Renderer<ToastProperty> {
|
||||
|
||||
var toast: Toast? = null
|
||||
|
||||
@Composable
|
||||
override fun Render(
|
||||
property: ToastProperty,
|
||||
@@ -43,6 +49,7 @@ class ToastRenderer(
|
||||
) {
|
||||
super.Render(property, uiTronData, uiTronViewModel, modifier)
|
||||
var toastData = uiTronData as? ToastData
|
||||
val lifecycleOwner = LocalLifecycleOwner.current
|
||||
|
||||
if (property.isStateFul.orFalse()) {
|
||||
uiTronViewModel.addKeyToSavedStateHandle(property.layoutId.orEmpty())
|
||||
@@ -62,13 +69,14 @@ class ToastRenderer(
|
||||
|
||||
if (property.visible.orFalse()) {
|
||||
if (property.message.isNotNullAndNotEmpty()) {
|
||||
Toast.makeText(
|
||||
toast = Toast.makeText(
|
||||
LocalContext.current,
|
||||
property.message,
|
||||
getToastDuration(property.duration)
|
||||
).show()
|
||||
)
|
||||
toast?.show()
|
||||
} else {
|
||||
Toast(LocalContext.current).apply {
|
||||
toast = Toast(LocalContext.current).apply {
|
||||
duration = getToastDuration(property.duration)
|
||||
val views = ComposeView(LocalContext.current).apply {
|
||||
childrenComposeViews?.let {
|
||||
@@ -77,17 +85,39 @@ class ToastRenderer(
|
||||
}
|
||||
}
|
||||
}
|
||||
views.setViewTreeLifecycleOwner(LocalLifecycleOwner.current)
|
||||
views.setViewTreeLifecycleOwner(lifecycleOwner)
|
||||
views.setViewTreeViewModelStoreOwner(LocalViewModelStoreOwner.current)
|
||||
views.setViewTreeSavedStateRegistryOwner(LocalSavedStateRegistryOwner.current)
|
||||
setGravity(getGravity(property.gravity), dpToPx(property.xOffset.orZero()).toInt(),
|
||||
setGravity(
|
||||
getGravity(property.gravity), dpToPx(property.xOffset.orZero()).toInt(),
|
||||
dpToPx(property.yOffset.orZero()).toInt()
|
||||
)
|
||||
view = views
|
||||
}.show()
|
||||
}
|
||||
toast?.show()
|
||||
}
|
||||
uiTronViewModel.handleActions(toastData?.onDismiss)
|
||||
}
|
||||
|
||||
DisposableEffect(lifecycleOwner) {
|
||||
var observer: LifecycleEventObserver? = null
|
||||
observer = LifecycleEventObserver { _, event ->
|
||||
when (event) {
|
||||
Lifecycle.Event.ON_STOP -> {
|
||||
toast?.cancel()
|
||||
toast = null
|
||||
observer?.let {
|
||||
lifecycleOwner.lifecycle.removeObserver(it)
|
||||
}
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
lifecycleOwner.lifecycle.addObserver(observer)
|
||||
|
||||
onDispose {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user