diff --git a/CHANGELOG.md b/CHANGELOG.md index fb45f104..a1c59c14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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). ## [Unreleased] +### Fixed +- Fixed stale/missing notification badge on some devices ## [1.2.2] - 2025-08-01 ### Changed diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ad4c95b5..aa6ec39f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -142,7 +142,6 @@ dependencies { implementation(libs.eventbus) implementation(libs.indicator.fast.scroll) implementation(libs.android.smsmms) - implementation(libs.shortcut.badger) implementation(libs.androidx.swiperefreshlayout) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.lifecycle.process) diff --git a/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt index 5d1c55eb..d4bee8df 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt @@ -66,7 +66,6 @@ import org.fossify.messages.extensions.getConversations import org.fossify.messages.extensions.getMessages import org.fossify.messages.extensions.insertOrUpdateConversation 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.THREAD_ID import org.fossify.messages.helpers.THREAD_TITLE @@ -312,7 +311,6 @@ class MainActivity : SimpleActivity() { listOf() } - updateUnreadCountBadge(conversations) runOnUiThread { setupConversations(conversations, cached = true) getNewConversations( diff --git a/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt b/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt index b2f0d68e..939c03b9 100644 --- a/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt +++ b/app/src/main/kotlin/org/fossify/messages/extensions/Context.kt @@ -26,7 +26,6 @@ import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.request.RequestOptions import com.google.android.mms.pdu_alt.PduHeaders -import me.leolin.shortcutbadger.ShortcutBadger import org.fossify.commons.extensions.areDigitsOnly import org.fossify.commons.extensions.getBlockedNumbers import org.fossify.commons.extensions.getIntValue @@ -1005,15 +1004,6 @@ fun Context.markThreadMessagesUnread(threadId: Long) { } } -fun Context.updateUnreadCountBadge(conversations: List) { - val unreadCount = conversations.count { !it.read } - if (unreadCount == 0) { - ShortcutBadger.removeCount(this) - } else { - ShortcutBadger.applyCount(this, unreadCount) - } -} - @SuppressLint("NewApi") fun Context.getThreadId(address: String): Long { return try { diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt index dc5e499f..d277b143 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt @@ -5,10 +5,8 @@ import android.content.Context import android.content.Intent import org.fossify.commons.extensions.notificationManager import org.fossify.commons.helpers.ensureBackgroundThread -import org.fossify.messages.extensions.conversationsDB import org.fossify.messages.extensions.deleteMessage import org.fossify.messages.extensions.updateLastConversationMessage -import org.fossify.messages.extensions.updateUnreadCountBadge import org.fossify.messages.helpers.IS_MMS import org.fossify.messages.helpers.MESSAGE_ID import org.fossify.messages.helpers.THREAD_ID @@ -23,7 +21,6 @@ class DeleteSmsReceiver : BroadcastReceiver() { context.notificationManager.cancel(threadId.hashCode()) ensureBackgroundThread { context.deleteMessage(messageId, isMms) - context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations()) context.updateLastConversationMessage(threadId) refreshMessages() } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt index 74302854..e00d2f5e 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt @@ -7,7 +7,6 @@ import org.fossify.commons.extensions.notificationManager import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.messages.extensions.conversationsDB 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.THREAD_ID import org.fossify.messages.helpers.refreshMessages @@ -21,7 +20,6 @@ class MarkAsReadReceiver : BroadcastReceiver() { ensureBackgroundThread { context.markThreadMessagesRead(threadId) context.conversationsDB.markRead(threadId) - context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations()) refreshMessages() } } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt index cdf5e443..b258fe6e 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt @@ -14,12 +14,10 @@ import org.fossify.commons.extensions.showErrorToast import org.fossify.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.messages.R -import org.fossify.messages.extensions.conversationsDB import org.fossify.messages.extensions.getConversations import org.fossify.messages.extensions.getLatestMMS import org.fossify.messages.extensions.insertOrUpdateConversation import org.fossify.messages.extensions.showReceivedMessageNotification -import org.fossify.messages.extensions.updateUnreadCountBadge import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.models.Message @@ -90,7 +88,6 @@ class MmsReceiver : MmsReceivedReceiver() { val conversation = context.getConversations(mms.threadId).firstOrNull() ?: return@ensureBackgroundThread context.insertOrUpdateConversation(conversation) - context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations()) refreshMessages() } } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt index 9ffe81d0..044e0b06 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt @@ -84,11 +84,6 @@ class SmsReceiver : BroadcastReceiver() { } catch (ignored: Exception) { } - try { - context.updateUnreadCountBadge(context.conversationsDB.getUnreadConversations()) - } catch (ignored: Exception) { - } - val senderName = context.getNameFromAddress(address, privateCursor) val phoneNumber = PhoneNumber(address, 0, "", address) val participant = SimpleContact(0, 0, senderName, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList()) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8970e16c..0cbbcf02 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -29,7 +29,6 @@ app-build-javaVersion = "VERSION_17" app-build-kotlinJVMTarget = "17" #Helpers ez-vcard = "0.12.1" -shortcut-badger = "1.1.22" [libraries] #AndroidX 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" } #Helpers ez-vcard = { module = "com.googlecode.ez-vcard:ez-vcard", version.ref = "ez-vcard" } -shortcut-badger = { module = "me.leolin:ShortcutBadger", version.ref = "shortcut-badger" } #Kotlin kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } [bundles]