diff --git a/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt b/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt
index c0a124dcf..67b2c4af9 100644
--- a/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt
+++ b/app/src/main/java/org/linphone/activities/chat_bubble/ChatBubbleActivity.kt
@@ -126,8 +126,7 @@ class ChatBubbleActivity : GenericActivity() {
}
binding.setCloseBubbleClickListener {
- val notificationId = coreContext.notificationsManager.getChatNotificationIdForSipUri(viewModel.chatRoom.peerAddress.asStringUriOnly())
- coreContext.notificationsManager.cancel(notificationId)
+ coreContext.notificationsManager.cancelChatNotificationIdForSipUri(viewModel.chatRoom.peerAddress.asStringUriOnly())
}
binding.setSendMessageClickListener {
diff --git a/app/src/main/java/org/linphone/core/CoreService.kt b/app/src/main/java/org/linphone/core/CoreService.kt
index f5c50aaa8..2e6af44e6 100644
--- a/app/src/main/java/org/linphone/core/CoreService.kt
+++ b/app/src/main/java/org/linphone/core/CoreService.kt
@@ -60,8 +60,12 @@ class CoreService : CoreService() {
override fun onTaskRemoved(rootIntent: Intent?) {
if (!corePreferences.keepServiceAlive) {
- Log.i("[Service] Task removed, stopping Core")
- coreContext.stop()
+ if (coreContext.core.isInBackground()) {
+ Log.i("[Service] Task removed, stopping Core")
+ coreContext.stop()
+ } else {
+ Log.w("[Service] Task removed but Core in not in background, skipping")
+ }
}
super.onTaskRemoved(rootIntent)
diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt
index ed526bf4d..01ede0691 100644
--- a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt
+++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt
@@ -93,11 +93,7 @@ class NotificationsManager(private val context: Context) {
field = value
if (value != null) {
// When a chat room becomes visible, cancel unread chat notification if any
- val notifiable: Notifiable? = chatNotificationsMap[value]
- if (notifiable != null) {
- cancel(notifiable.notificationId)
- notifiable.messages.clear()
- }
+ cancelChatNotificationIdForSipUri(value)
}
}
@@ -246,12 +242,12 @@ class NotificationsManager(private val context: Context) {
return null
}
- fun getChatNotificationIdForSipUri(sipUri: String): Int {
+ fun cancelChatNotificationIdForSipUri(sipUri: String) {
val notifiable: Notifiable? = chatNotificationsMap[sipUri]
if (notifiable != null) {
- return notifiable.notificationId
+ notifiable.messages.clear()
+ cancel(notifiable.notificationId)
}
- return 0
}
/* Service related */
diff --git a/app/src/main/res/drawable-xhdpi/collapse_default.png b/app/src/main/res/drawable-xhdpi/collapse_default.png
new file mode 100644
index 000000000..c6895edc8
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/collapse_default.png differ
diff --git a/app/src/main/res/drawable-xhdpi/fullscreen_default.png b/app/src/main/res/drawable-xhdpi/fullscreen_default.png
new file mode 100644
index 000000000..afbb2de2e
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/fullscreen_default.png differ
diff --git a/app/src/main/res/layout/chat_bubble_activity.xml b/app/src/main/res/layout/chat_bubble_activity.xml
index cb072b4e2..f6eefb782 100644
--- a/app/src/main/res/layout/chat_bubble_activity.xml
+++ b/app/src/main/res/layout/chat_bubble_activity.xml
@@ -32,17 +32,15 @@
android:background="?attr/lightToolbarBackgroundColor"
android:orientation="horizontal">
-
-
+ app:tint="?attr/drawableTintColor"
+ android:src="@drawable/fullscreen_default"/>