diff --git a/app/build.gradle b/app/build.gradle index b47f9a9..0d897b4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,4 +127,6 @@ implementation 'com.getui:gtc:3.1.9.0' //个推核心组件 //数据库框架 implementation 'org.greenrobot:greendao:3.3.0' + //桌面角标 + implementation "me.leolin:ShortcutBadger:1.1.22@aar" } diff --git a/app/build.gradle b/app/build.gradle index b47f9a9..0d897b4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,4 +127,6 @@ implementation 'com.getui:gtc:3.1.9.0' //个推核心组件 //数据库框架 implementation 'org.greenrobot:greendao:3.3.0' + //桌面角标 + implementation "me.leolin:ShortcutBadger:1.1.22@aar" } diff --git a/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt b/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt new file mode 100644 index 0000000..40f2d62 --- /dev/null +++ b/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt @@ -0,0 +1,14 @@ +package com.casic.app.smartwell.utils + +import android.content.Context +import me.leolin.shortcutbadger.ShortcutBadger + +object BadeHelper { + fun setBadgeNum(context: Context, badgeCount: Int) { + if (badgeCount == 0) { + ShortcutBadger.removeCount(context) + } else { + ShortcutBadger.applyCount(context, badgeCount) + } + } +} \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index b47f9a9..0d897b4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,4 +127,6 @@ implementation 'com.getui:gtc:3.1.9.0' //个推核心组件 //数据库框架 implementation 'org.greenrobot:greendao:3.3.0' + //桌面角标 + implementation "me.leolin:ShortcutBadger:1.1.22@aar" } diff --git a/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt b/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt new file mode 100644 index 0000000..40f2d62 --- /dev/null +++ b/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt @@ -0,0 +1,14 @@ +package com.casic.app.smartwell.utils + +import android.content.Context +import me.leolin.shortcutbadger.ShortcutBadger + +object BadeHelper { + fun setBadgeNum(context: Context, badgeCount: Int) { + if (badgeCount == 0) { + ShortcutBadger.removeCount(context) + } else { + ShortcutBadger.applyCount(context, badgeCount) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt index 801dd88..e8f8a18 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt @@ -33,6 +33,8 @@ noticeLocaleBean.isRead = isRead noticeLocaleBean.noticeTime = noticeTime beanDao.insert(noticeLocaleBean) + //角标设置 + BadeHelper.setBadgeNum(BaseApplication.obtainInstance(), queryUnReadNotice()) } fun deleteNoticeByMessageId(messageId: String) { @@ -40,6 +42,8 @@ NoticeLocaleBeanDao.Properties.MessageId.eq(messageId) ).list() beanDao.deleteInTx(result) + //角标设置 + BadeHelper.setBadgeNum(BaseApplication.obtainInstance(), queryUnReadNotice()) } fun updateNoticeByMessageId(messageId: String) { @@ -48,6 +52,8 @@ ).unique() ?: return noticeLocaleBean.isRead = "1" beanDao.update(noticeLocaleBean) + //角标设置 + BadeHelper.setBadgeNum(BaseApplication.obtainInstance(), queryUnReadNotice()) } @@ -60,4 +66,10 @@ .limit(LocaleConstant.PAGE_LIMIT) .list() } + + private fun queryUnReadNotice(): Int { + return beanDao.queryBuilder().where( + NoticeLocaleBeanDao.Properties.IsRead.eq("0") + ).list().size + } } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index b47f9a9..0d897b4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,4 +127,6 @@ implementation 'com.getui:gtc:3.1.9.0' //个推核心组件 //数据库框架 implementation 'org.greenrobot:greendao:3.3.0' + //桌面角标 + implementation "me.leolin:ShortcutBadger:1.1.22@aar" } diff --git a/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt b/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt new file mode 100644 index 0000000..40f2d62 --- /dev/null +++ b/app/src/main/java/com/casic/app/smartwell/utils/BadeHelper.kt @@ -0,0 +1,14 @@ +package com.casic.app.smartwell.utils + +import android.content.Context +import me.leolin.shortcutbadger.ShortcutBadger + +object BadeHelper { + fun setBadgeNum(context: Context, badgeCount: Int) { + if (badgeCount == 0) { + ShortcutBadger.removeCount(context) + } else { + ShortcutBadger.applyCount(context, badgeCount) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt b/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt index 801dd88..e8f8a18 100644 --- a/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/app/smartwell/utils/DataBaseManager.kt @@ -33,6 +33,8 @@ noticeLocaleBean.isRead = isRead noticeLocaleBean.noticeTime = noticeTime beanDao.insert(noticeLocaleBean) + //角标设置 + BadeHelper.setBadgeNum(BaseApplication.obtainInstance(), queryUnReadNotice()) } fun deleteNoticeByMessageId(messageId: String) { @@ -40,6 +42,8 @@ NoticeLocaleBeanDao.Properties.MessageId.eq(messageId) ).list() beanDao.deleteInTx(result) + //角标设置 + BadeHelper.setBadgeNum(BaseApplication.obtainInstance(), queryUnReadNotice()) } fun updateNoticeByMessageId(messageId: String) { @@ -48,6 +52,8 @@ ).unique() ?: return noticeLocaleBean.isRead = "1" beanDao.update(noticeLocaleBean) + //角标设置 + BadeHelper.setBadgeNum(BaseApplication.obtainInstance(), queryUnReadNotice()) } @@ -60,4 +66,10 @@ .limit(LocaleConstant.PAGE_LIMIT) .list() } + + private fun queryUnReadNotice(): Int { + return beanDao.queryBuilder().where( + NoticeLocaleBeanDao.Properties.IsRead.eq("0") + ).list().size + } } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 6894b35..f67b11e 100644 --- a/build.gradle +++ b/build.gradle @@ -23,6 +23,7 @@ maven { url 'https://jitpack.io' } google() maven { url "https://mvn.getui.com/nexus/content/repositories/releases/"} + mavenCentral() } }