Skip to content

Commit ae5d709

Browse files
committed
DROID-4115 fixes
1 parent 3b65535 commit ae5d709

File tree

1 file changed

+30
-70
lines changed
  • feature-chats/src/main/java/com/anytypeio/anytype/feature_chats/presentation

1 file changed

+30
-70
lines changed

feature-chats/src/main/java/com/anytypeio/anytype/feature_chats/presentation/ChatViewModel.kt

Lines changed: 30 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -205,37 +205,26 @@ class ChatViewModel @Inject constructor(
205205
vmParams.space
206206
).collect { view ->
207207
val isMuted = NotificationStateCalculator.calculateMutedState(view)
208-
209-
if (view.spaceUxType == SpaceUxType.CHAT) {
210-
// For chat spaces, use space name and icon
208+
getObject.async(
209+
GetObject.Params(
210+
target = vmParams.ctx,
211+
space = vmParams.space
212+
)
213+
).onSuccess { objectView ->
214+
val wrapper = ObjectWrapper.Basic(objectView.details[vmParams.ctx].orEmpty())
215+
header.value = HeaderView.Default(
216+
title = wrapper.name.orEmpty(),
217+
icon = view.spaceIcon(builder = urlBuilder),
218+
isMuted = isMuted
219+
)
220+
}.onFailure {
221+
Timber.e(it, "Failed to fetch object for chat header")
222+
// Fallback to space name
211223
header.value = HeaderView.Default(
212224
title = view.name.orEmpty(),
213225
icon = view.spaceIcon(builder = urlBuilder),
214226
isMuted = isMuted
215227
)
216-
} else {
217-
// For non-chat spaces, fetch the object name
218-
getObject.async(
219-
GetObject.Params(
220-
target = vmParams.ctx,
221-
space = vmParams.space
222-
)
223-
).onSuccess { objectView ->
224-
val wrapper = ObjectWrapper.Basic(objectView.details[vmParams.ctx].orEmpty())
225-
header.value = HeaderView.Default(
226-
title = wrapper.name.orEmpty(),
227-
icon = view.spaceIcon(builder = urlBuilder),
228-
isMuted = isMuted
229-
)
230-
}.onFailure {
231-
Timber.e(it, "Failed to fetch object for chat header")
232-
// Fallback to space name
233-
header.value = HeaderView.Default(
234-
title = view.name.orEmpty(),
235-
icon = view.spaceIcon(builder = urlBuilder),
236-
isMuted = isMuted
237-
)
238-
}
239228
}
240229
}
241230
}
@@ -1594,51 +1583,22 @@ class ChatViewModel @Inject constructor(
15941583

15951584
fun onChatInfoSaved(newName: String) {
15961585
viewModelScope.launch {
1597-
val spaceView = spaceViews.get(vmParams.space)
1598-
if (spaceView == null) {
1599-
Timber.e("Space view not available")
1600-
sendToast("Failed to update chat name")
1601-
return@launch
1602-
}
1603-
1604-
if (spaceView.spaceUxType == SpaceUxType.CHAT) {
1605-
// For chat spaces, update space details
1606-
setSpaceDetails.async(
1607-
SetSpaceDetails.Params(
1608-
space = vmParams.space,
1609-
details = mapOf(Relations.NAME to newName)
1610-
)
1611-
).onSuccess {
1612-
Timber.d("Successfully updated chat space name to: $newName")
1613-
// Update local state
1614-
val currentHeader = header.value
1615-
if (currentHeader is HeaderView.Default) {
1616-
header.value = currentHeader.copy(title = newName)
1617-
}
1618-
sendToast("Chat name updated")
1619-
}.onFailure { e ->
1620-
Timber.e(e, "Error while updating chat space name")
1621-
sendToast("Failed to update chat name")
1622-
}
1623-
} else {
1624-
// For non-chat spaces, update the chat object
1625-
setObjectDetails.async(
1626-
SetObjectDetails.Params(
1627-
ctx = vmParams.ctx,
1628-
details = mapOf(Relations.NAME to newName)
1629-
)
1630-
).onSuccess {
1631-
Timber.d("Successfully updated chat name to: $newName")
1632-
// Update local state
1633-
val currentHeader = header.value
1634-
if (currentHeader is HeaderView.Default) {
1635-
header.value = currentHeader.copy(title = newName)
1636-
}
1637-
sendToast("Chat name updated")
1638-
}.onFailure { e ->
1639-
Timber.e(e, "Error while updating chat name")
1640-
sendToast("Failed to update chat name")
1586+
setObjectDetails.async(
1587+
SetObjectDetails.Params(
1588+
ctx = vmParams.ctx,
1589+
details = mapOf(Relations.NAME to newName)
1590+
)
1591+
).onSuccess {
1592+
Timber.d("Successfully updated chat name to: $newName")
1593+
// Update local state
1594+
val currentHeader = header.value
1595+
if (currentHeader is HeaderView.Default) {
1596+
header.value = currentHeader.copy(title = newName)
16411597
}
1598+
sendToast("Chat name updated")
1599+
}.onFailure { e ->
1600+
Timber.e(e, "Error while updating chat name")
1601+
sendToast("Failed to update chat name")
16421602
}
16431603
}
16441604
}

0 commit comments

Comments
 (0)