fix: remove shortcut badger (#484)

* fix: remove shortcut badger
* docs: update changelog

Refs: https://github.com/FossifyOrg/Messages/issues/64, https://github.com/FossifyOrg/Messages/issues/483
This commit is contained in:
Naveen Singh 2025-08-11 18:48:44 +05:30 committed by GitHub
parent 402cab5765
commit 528a29891d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 2 additions and 28 deletions

View file

@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
### Fixed
- Fixed stale/missing notification badge on some devices
## [1.2.2] - 2025-08-01 ## [1.2.2] - 2025-08-01
### Changed ### Changed

View file

@ -142,7 +142,6 @@ dependencies {
implementation(libs.eventbus) implementation(libs.eventbus)
implementation(libs.indicator.fast.scroll) implementation(libs.indicator.fast.scroll)
implementation(libs.android.smsmms) implementation(libs.android.smsmms)
implementation(libs.shortcut.badger)
implementation(libs.androidx.swiperefreshlayout) implementation(libs.androidx.swiperefreshlayout)
implementation(libs.androidx.constraintlayout) implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.lifecycle.process) implementation(libs.androidx.lifecycle.process)

View file

@ -66,7 +66,6 @@ import org.fossify.messages.extensions.getConversations
import org.fossify.messages.extensions.getMessages import org.fossify.messages.extensions.getMessages
import org.fossify.messages.extensions.insertOrUpdateConversation import org.fossify.messages.extensions.insertOrUpdateConversation
import org.fossify.messages.extensions.messagesDB import org.fossify.messages.extensions.messagesDB
import org.fossify.messages.extensions.updateUnreadCountBadge
import org.fossify.messages.helpers.SEARCHED_MESSAGE_ID import org.fossify.messages.helpers.SEARCHED_MESSAGE_ID
import org.fossify.messages.helpers.THREAD_ID import org.fossify.messages.helpers.THREAD_ID
import org.fossify.messages.helpers.THREAD_TITLE import org.fossify.messages.helpers.THREAD_TITLE
@ -312,7 +311,6 @@ class MainActivity : SimpleActivity() {
listOf() listOf()
} }
updateUnreadCountBadge(conversations)
runOnUiThread { runOnUiThread {
setupConversations(conversations, cached = true) setupConversations(conversations, cached = true)
getNewConversations( getNewConversations(

View file

@ -26,7 +26,6 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.google.android.mms.pdu_alt.PduHeaders import com.google.android.mms.pdu_alt.PduHeaders
import me.leolin.shortcutbadger.ShortcutBadger
import org.fossify.commons.extensions.areDigitsOnly import org.fossify.commons.extensions.areDigitsOnly
import org.fossify.commons.extensions.getBlockedNumbers import org.fossify.commons.extensions.getBlockedNumbers
import org.fossify.commons.extensions.getIntValue import org.fossify.commons.extensions.getIntValue
@ -1005,15 +1004,6 @@ fun Context.markThreadMessagesUnread(threadId: Long) {
} }
} }
fun Context.updateUnreadCountBadge(conversations: List<Conversation>) {
val unreadCount = conversations.count { !it.read }
if (unreadCount == 0) {
ShortcutBadger.removeCount(this)
} else {
ShortcutBadger.applyCount(this, unreadCount)
}
}
@SuppressLint("NewApi") @SuppressLint("NewApi")
fun Context.getThreadId(address: String): Long { fun Context.getThreadId(address: String): Long {
return try { return try {

View file

@ -5,10 +5,8 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import org.fossify.commons.extensions.notificationManager import org.fossify.commons.extensions.notificationManager
import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.messages.extensions.conversationsDB
import org.fossify.messages.extensions.deleteMessage import org.fossify.messages.extensions.deleteMessage
import org.fossify.messages.extensions.updateLastConversationMessage import org.fossify.messages.extensions.updateLastConversationMessage
import org.fossify.messages.extensions.updateUnreadCountBadge
import org.fossify.messages.helpers.IS_MMS import org.fossify.messages.helpers.IS_MMS
import org.fossify.messages.helpers.MESSAGE_ID import org.fossify.messages.helpers.MESSAGE_ID
import org.fossify.messages.helpers.THREAD_ID import org.fossify.messages.helpers.THREAD_ID
@ -23,7 +21,6 @@ class DeleteSmsReceiver : BroadcastReceiver() {
context.notificationManager.cancel(threadId.hashCode()) context.notificationManager.cancel(threadId.hashCode())
ensureBackgroundThread { ensureBackgroundThread {
context.deleteMessage(messageId, isMms) context.deleteMessage(messageId, isMms)
context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations())
context.updateLastConversationMessage(threadId) context.updateLastConversationMessage(threadId)
refreshMessages() refreshMessages()
} }

View file

@ -7,7 +7,6 @@ import org.fossify.commons.extensions.notificationManager
import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.messages.extensions.conversationsDB import org.fossify.messages.extensions.conversationsDB
import org.fossify.messages.extensions.markThreadMessagesRead import org.fossify.messages.extensions.markThreadMessagesRead
import org.fossify.messages.extensions.updateUnreadCountBadge
import org.fossify.messages.helpers.MARK_AS_READ import org.fossify.messages.helpers.MARK_AS_READ
import org.fossify.messages.helpers.THREAD_ID import org.fossify.messages.helpers.THREAD_ID
import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.helpers.refreshMessages
@ -21,7 +20,6 @@ class MarkAsReadReceiver : BroadcastReceiver() {
ensureBackgroundThread { ensureBackgroundThread {
context.markThreadMessagesRead(threadId) context.markThreadMessagesRead(threadId)
context.conversationsDB.markRead(threadId) context.conversationsDB.markRead(threadId)
context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations())
refreshMessages() refreshMessages()
} }
} }

View file

@ -14,12 +14,10 @@ import org.fossify.commons.extensions.showErrorToast
import org.fossify.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.SimpleContactsHelper
import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.messages.R import org.fossify.messages.R
import org.fossify.messages.extensions.conversationsDB
import org.fossify.messages.extensions.getConversations import org.fossify.messages.extensions.getConversations
import org.fossify.messages.extensions.getLatestMMS import org.fossify.messages.extensions.getLatestMMS
import org.fossify.messages.extensions.insertOrUpdateConversation import org.fossify.messages.extensions.insertOrUpdateConversation
import org.fossify.messages.extensions.showReceivedMessageNotification import org.fossify.messages.extensions.showReceivedMessageNotification
import org.fossify.messages.extensions.updateUnreadCountBadge
import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut
import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.helpers.refreshMessages
import org.fossify.messages.models.Message import org.fossify.messages.models.Message
@ -90,7 +88,6 @@ class MmsReceiver : MmsReceivedReceiver() {
val conversation = context.getConversations(mms.threadId).firstOrNull() val conversation = context.getConversations(mms.threadId).firstOrNull()
?: return@ensureBackgroundThread ?: return@ensureBackgroundThread
context.insertOrUpdateConversation(conversation) context.insertOrUpdateConversation(conversation)
context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations())
refreshMessages() refreshMessages()
} }
} }

View file

@ -84,11 +84,6 @@ class SmsReceiver : BroadcastReceiver() {
} catch (ignored: Exception) { } catch (ignored: Exception) {
} }
try {
context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations())
} catch (ignored: Exception) {
}
val senderName = context.getNameFromAddress(address, privateCursor) val senderName = context.getNameFromAddress(address, privateCursor)
val phoneNumber = PhoneNumber(address, 0, "", address) val phoneNumber = PhoneNumber(address, 0, "", address)
val participant = SimpleContact(0, 0, senderName, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList()) val participant = SimpleContact(0, 0, senderName, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList())

View file

@ -29,7 +29,6 @@ app-build-javaVersion = "VERSION_17"
app-build-kotlinJVMTarget = "17" app-build-kotlinJVMTarget = "17"
#Helpers #Helpers
ez-vcard = "0.12.1" ez-vcard = "0.12.1"
shortcut-badger = "1.1.22"
[libraries] [libraries]
#AndroidX #AndroidX
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" } androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
@ -49,7 +48,6 @@ android-smsmms = { module = "org.fossify:android-smsmms", version.ref = "android
eventbus = { module = "org.greenrobot:eventbus", version.ref = "eventbus" } eventbus = { module = "org.greenrobot:eventbus", version.ref = "eventbus" }
#Helpers #Helpers
ez-vcard = { module = "com.googlecode.ez-vcard:ez-vcard", version.ref = "ez-vcard" } ez-vcard = { module = "com.googlecode.ez-vcard:ez-vcard", version.ref = "ez-vcard" }
shortcut-badger = { module = "me.leolin:ShortcutBadger", version.ref = "shortcut-badger" }
#Kotlin #Kotlin
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
[bundles] [bundles]