Merge branch 'stable' into stable-android

This commit is contained in:
Evgeny Poberezkin
2025-11-02 11:36:11 +00:00
13 changed files with 54 additions and 52 deletions
+2 -1
View File
@@ -95,7 +95,8 @@ kotlin {
implementation("com.jakewharton:process-phoenix:3.0.0")
val cameraXVersion = "1.3.4"
// https://issuetracker.google.com/issues/351313880
val cameraXVersion = "1.5.1"
implementation("androidx.camera:camera-core:${cameraXVersion}")
implementation("androidx.camera:camera-camera2:${cameraXVersion}")
implementation("androidx.camera:camera-lifecycle:${cameraXVersion}")
@@ -57,6 +57,9 @@ set_target_properties( support PROPERTIES IMPORTED_LOCATION
# can link multiple libraries, such as libraries you define in this
# build script, prebuilt third-party libraries, or system libraries.
# https://developer.android.com/guide/practices/page-sizes#cmake
target_link_options(app-lib PRIVATE "-Wl,-z,max-page-size=16384")
target_link_libraries( # Specifies the target library.
app-lib
@@ -632,7 +632,7 @@ object ChatController {
val chats = apiGetChats(rhId)
chatModel.chatsContext.updateChats(chats, keepingChatId = keepingChatId)
}
chatModel.userTags.value = apiGetChatTags(rhId).takeIf { hasUser } ?: emptyList()
chatModel.userTags.value = if (hasUser) apiGetChatTags(rhId) ?: emptyList() else emptyList()
chatModel.activeChatTagFilter.value = null
chatModel.updateChatTags(rhId)
}
@@ -15,8 +15,7 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import chat.simplex.common.model.*
@@ -38,7 +37,6 @@ fun ModalData.OnboardingConditionsView() {
ModalView({}, showClose = false) {
val serverOperators = remember { derivedStateOf { chatModel.conditions.value.serverOperators } }
val selectedOperatorIds = remember { stateGetOrPut("selectedOperatorIds") { serverOperators.value.filter { it.enabled }.map { it.operatorId }.toSet() } }
val selectedOperators = remember { derivedStateOf { serverOperators.value.filter { selectedOperatorIds.value.contains(it.operatorId) } } }
ColumnWithScrollBar(
Modifier
@@ -84,7 +82,7 @@ fun ModalData.OnboardingConditionsView() {
Spacer(Modifier.weight(1f))
Column(Modifier.widthIn(max = if (appPlatform.isAndroid) 450.dp else 1000.dp).align(Alignment.CenterHorizontally), horizontalAlignment = Alignment.CenterHorizontally) {
AcceptConditionsButton(enabled = selectedOperatorIds.value.isNotEmpty(), selectedOperators, selectedOperatorIds)
AcceptConditionsButton(enabled = selectedOperatorIds.value.isNotEmpty(), selectedOperatorIds)
TextButtonBelowOnboardingButton(stringResource(MR.strings.onboarding_conditions_configure_server_operators)) {
ModalManager.fullscreen.showModalCloseable { close ->
ChooseServerOperators(serverOperators, selectedOperatorIds, close)
@@ -217,7 +215,6 @@ private fun SetOperatorsButton(enabled: Boolean, close: () -> Unit) {
@Composable
private fun AcceptConditionsButton(
enabled: Boolean,
selectedOperators: State<List<ServerOperator>>,
selectedOperatorIds: State<Set<Long>>
) {
fun continueOnAccept() {
@@ -235,9 +232,7 @@ private fun AcceptConditionsButton(
onclick = {
withBGApi {
val conditionsId = chatModel.conditions.value.currentConditions.conditionsId
val acceptForOperators = selectedOperators.value.filter { !it.conditionsAcceptance.conditionsAccepted }
val operatorIds = acceptForOperators.map { it.operatorId }
val r = chatController.acceptConditions(chatModel.remoteHostId(), conditionsId = conditionsId, operatorIds = operatorIds)
val r = chatController.acceptConditions(chatModel.remoteHostId(), conditionsId = conditionsId, operatorIds = selectedOperatorIds.value.toList())
if (r != null) {
chatModel.conditions.value = r
val enabledOperators = enabledOperators(r.serverOperators, selectedOperatorIds.value)