feat: enhance avatar handling and file attachment functionality with improved UI interactions
This commit is contained in:
@@ -58,7 +58,6 @@ import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
import java.util.Locale
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withTimeoutOrNull
|
||||
@@ -214,8 +213,11 @@ class MainActivity : FragmentActivity() {
|
||||
else -> "main"
|
||||
},
|
||||
transitionSpec = {
|
||||
fadeIn(animationSpec = tween(600)) togetherWith
|
||||
fadeOut(animationSpec = tween(600))
|
||||
// Новый экран плавно появляется ПОВЕРХ старого.
|
||||
// Старый остаётся видимым (alpha=1) пока новый не готов →
|
||||
// нет белой вспышки от Surface.
|
||||
fadeIn(animationSpec = tween(350)) togetherWith
|
||||
fadeOut(animationSpec = tween(1, delayMillis = 350))
|
||||
},
|
||||
label = "screenTransition"
|
||||
) { screen ->
|
||||
@@ -603,14 +605,13 @@ fun MainScreen(
|
||||
// Состояние протокола для передачи в SearchScreen
|
||||
val protocolState by ProtocolManager.state.collectAsState()
|
||||
|
||||
// Перечитать username/name после получения own profile с сервера
|
||||
// Аналог Desktop: useUserInformation автоматически обновляет UI при PacketSearch ответе
|
||||
LaunchedEffect(protocolState) {
|
||||
if (protocolState == ProtocolState.AUTHENTICATED &&
|
||||
// Реактивно обновляем username/name когда сервер отвечает на fetchOwnProfile()
|
||||
val ownProfileUpdated by ProtocolManager.ownProfileUpdated.collectAsState()
|
||||
LaunchedEffect(ownProfileUpdated) {
|
||||
if (ownProfileUpdated > 0L &&
|
||||
accountPublicKey.isNotBlank() &&
|
||||
accountPublicKey != "04c266b98ae5"
|
||||
) {
|
||||
delay(2000) // Ждём fetchOwnProfile() → PacketSearch → AccountManager update
|
||||
val accountManager = AccountManager(context)
|
||||
val encryptedAccount = accountManager.getAccount(accountPublicKey)
|
||||
accountUsername = encryptedAccount?.username ?: ""
|
||||
|
||||
Reference in New Issue
Block a user