android: Some small fixes (#1305)

This commit is contained in:
Stanislav Dmitrenko
2022-11-06 16:30:10 +03:00
committed by GitHub
parent b2f663dde3
commit f8678af261
3 changed files with 29 additions and 6 deletions

View File

@@ -65,6 +65,7 @@ class MainActivity: FragmentActivity() {
// Only needed to be processed on first creation of activity
if (savedInstanceState == null) {
processNotificationIntent(intent, m)
processIntent(intent, m)
processExternalIntent(intent, m)
}
setContent {

View File

@@ -313,6 +313,10 @@ class ChatModel(val controller: ChatController) {
if (memberIndex >= 0) {
groupMembers[memberIndex] = member
false
} else if (groupInfo.membership.groupMemberId == member.groupMemberId) {
// Current user was updated (like his role, for example)
updateChatInfo(ChatInfo.Group(groupInfo))
true
} else {
groupMembers.add(member)
true
@@ -448,7 +452,7 @@ sealed class ChatInfo: SomeChat, NamedChat {
}
@Serializable @SerialName("group")
class Group(val groupInfo: GroupInfo): ChatInfo() {
data class Group(val groupInfo: GroupInfo): ChatInfo() {
override val chatType get() = ChatType.Group
override val localDisplayName get() = groupInfo.localDisplayName
override val id get() = groupInfo.id
@@ -700,7 +704,7 @@ class GroupProfile (
}
@Serializable
class GroupMember (
data class GroupMember (
val groupMemberId: Long,
val groupId: Long,
val memberId: String,

View File

@@ -1222,12 +1222,23 @@ open class ChatController(var ctrl: ChatCtrl?, val ntfManager: NtfManager, val a
// service or periodic mode was chosen and battery optimization is disabled
SimplexApp.context.schedulePeriodicServiceRestartWorker()
SimplexApp.context.schedulePeriodicWakeUp()
chatModel.appOpenUrl.value?.let {
chatModel.appOpenUrl.value = null
connectIfOpenedViaUri(it, chatModel)
}
}
}
private fun showBGServiceNotice(mode: NotificationsMode) = AlertManager.shared.showAlert {
val hideAlert: () -> Unit = {
AlertManager.shared.hideAlert()
chatModel.appOpenUrl.value?.let {
chatModel.appOpenUrl.value = null
connectIfOpenedViaUri(it, chatModel)
}
}
AlertDialog(
onDismissRequest = AlertManager.shared::hideAlert,
onDismissRequest = hideAlert,
title = {
Row {
Icon(
@@ -1253,7 +1264,7 @@ open class ChatController(var ctrl: ChatCtrl?, val ntfManager: NtfManager, val a
}
},
confirmButton = {
TextButton(onClick = AlertManager.shared::hideAlert) { Text(stringResource(R.string.ok)) }
TextButton(onClick = hideAlert) { Text(stringResource(R.string.ok)) }
}
)
}
@@ -1294,8 +1305,15 @@ open class ChatController(var ctrl: ChatCtrl?, val ntfManager: NtfManager, val a
}
private fun showDisablingServiceNotice(mode: NotificationsMode) = AlertManager.shared.showAlert {
val hideAlert: () -> Unit = {
AlertManager.shared.hideAlert()
chatModel.appOpenUrl.value?.let {
chatModel.appOpenUrl.value = null
connectIfOpenedViaUri(it, chatModel)
}
}
AlertDialog(
onDismissRequest = AlertManager.shared::hideAlert,
onDismissRequest = hideAlert,
title = {
Row {
Icon(
@@ -1318,7 +1336,7 @@ open class ChatController(var ctrl: ChatCtrl?, val ntfManager: NtfManager, val a
}
},
confirmButton = {
TextButton(onClick = AlertManager.shared::hideAlert) { Text(stringResource(R.string.ok)) }
TextButton(onClick = hideAlert) { Text(stringResource(R.string.ok)) }
}
)
}