mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Show notification top bar when MWI messages are waiting
This commit is contained in:
parent
e5f227ba35
commit
f9cf90fecd
3 changed files with 36 additions and 0 deletions
|
|
@ -40,6 +40,7 @@ import org.linphone.core.ChatRoom
|
|||
import org.linphone.core.Core
|
||||
import org.linphone.core.CoreListenerStub
|
||||
import org.linphone.core.GlobalState
|
||||
import org.linphone.core.MessageWaitingIndication
|
||||
import org.linphone.core.RegistrationState
|
||||
import org.linphone.core.VFS
|
||||
import org.linphone.core.tools.Log
|
||||
|
|
@ -53,6 +54,7 @@ class MainViewModel @UiThread constructor() : ViewModel() {
|
|||
private const val TAG = "[Main ViewModel]"
|
||||
|
||||
const val NONE = 0
|
||||
const val MWI_MESSAGES_WAITING = 4
|
||||
const val NON_DEFAULT_ACCOUNT_NOTIFICATIONS = 5
|
||||
const val NON_DEFAULT_ACCOUNT_NOT_CONNECTED = 10
|
||||
const val SEND_NOTIFICATIONS_PERMISSION_NOT_GRANTED = 17
|
||||
|
|
@ -288,6 +290,32 @@ class MainViewModel @UiThread constructor() : ViewModel() {
|
|||
lastAccountRemovedEvent.postValue(Event(true))
|
||||
}
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
override fun onMessageWaitingIndicationChanged(
|
||||
core: Core,
|
||||
event: org.linphone.core.Event,
|
||||
mwi: MessageWaitingIndication
|
||||
) {
|
||||
if (mwi.hasMessageWaiting()) {
|
||||
val summaries = mwi.summaries
|
||||
Log.i(
|
||||
"$TAG MWI NOTIFY received, messages are waiting ([${summaries.size}] summaries)"
|
||||
)
|
||||
if (summaries.isNotEmpty()) {
|
||||
val summary = summaries.first()
|
||||
val label = AppUtils.getStringWithPlural(
|
||||
R.plurals.mwi_messages_are_waiting,
|
||||
summary.nbNew,
|
||||
summary.nbNew.toString()
|
||||
)
|
||||
addAlert(MWI_MESSAGES_WAITING, label)
|
||||
}
|
||||
} else {
|
||||
Log.i("$TAG MWI NOTIFY received, no message is waiting")
|
||||
removeAlert(MWI_MESSAGES_WAITING)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
|
|
|
|||
|
|
@ -743,6 +743,10 @@
|
|||
<string name="generic_address_picker_contacts_list_title">Contacts</string>
|
||||
<string name="generic_address_picker_suggestions_list_title">Suggestions</string>
|
||||
<string name="post_notifications_permission_not_granted">La permission de poster des notifications n\'est pas donnée !</string>
|
||||
<plurals name="mwi_messages_are_waiting">
|
||||
<item quantity="one">%s message vocal en attente</item>
|
||||
<item quantity="other">%s messages vocaux en attente</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Keep <u></u> in the following strings translations! -->
|
||||
<string name="welcome_carousel_skip"><u>Passer</u></string>
|
||||
|
|
|
|||
|
|
@ -781,6 +781,10 @@
|
|||
<string name="generic_address_picker_contacts_list_title">Contacts</string>
|
||||
<string name="generic_address_picker_suggestions_list_title">Suggestions</string>
|
||||
<string name="post_notifications_permission_not_granted">Post notifications permission not granted!</string>
|
||||
<plurals name="mwi_messages_are_waiting">
|
||||
<item quantity="one">%s new voice message</item>
|
||||
<item quantity="other">%s new voice messages</item>
|
||||
</plurals>
|
||||
|
||||
<!-- Keep <u></u> in the following strings translations! -->
|
||||
<string name="welcome_carousel_skip"><u>Skip</u></string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue