Refactor image handling and decoding logic
- Introduced a maximum bitmap decode dimension to prevent excessive memory usage. - Enhanced base64 to bitmap conversion by extracting payload and applying EXIF orientation. - Improved error handling for image downloads and decoding processes. - Simplified media picker and chat input components to manage keyboard visibility more effectively. - Updated color selection grid to adaptively adjust based on available width. - Added safety checks for notifications and call actions in profile screens. - Optimized bitmap decoding in uriToBase64Image to handle large images more efficiently.
This commit is contained in:
@@ -366,6 +366,8 @@ class MainActivity : FragmentActivity() {
|
||||
super.onResume()
|
||||
// 🔥 Приложение стало видимым - отключаем уведомления
|
||||
com.rosetta.messenger.push.RosettaFirebaseMessagingService.isAppInForeground = true
|
||||
// ⚡ На возврате в приложение пробуем мгновенный reconnect без ожидания backoff.
|
||||
ProtocolManager.reconnectNowIfNeeded("activity_onResume")
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
@@ -624,6 +626,9 @@ fun MainScreen(
|
||||
|
||||
// Navigation helpers
|
||||
fun pushScreen(screen: Screen) {
|
||||
// Anti-spam: do not stack duplicate screens from rapid taps.
|
||||
if (navStack.lastOrNull() == screen) return
|
||||
if (screen is Screen.Requests && navStack.any { it is Screen.Requests }) return
|
||||
navStack = navStack + screen
|
||||
}
|
||||
fun popScreen() {
|
||||
|
||||
Reference in New Issue
Block a user