Broadcast new message count

This commit is contained in:
M66B 2020-06-05 08:36:17 +02:00
parent 40baad0b17
commit d535f07db7
2 changed files with 20 additions and 0 deletions

8
FAQ.md
View File

@ -2333,6 +2333,14 @@ despite FairEmail explicitly requesting not to show a badge for this notificatio
Note that Tesla Unread is [not supported anymore](https://forum.xda-developers.com/android/general/bad-news-tesla-unread-devoloper-t3920415).
FairEmail does send a new message count intent as well:
```
eu.faircode.email.NEW_MESSAGE_COUNT
```
The number of new, unread messages will be in an integer "*count*" parameter.
<br />
<a name="faq107"></a>

View File

@ -116,6 +116,8 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
private static final int BACKOFF_ERROR_AFTER = 16; // seconds
private static final long WIDGET_UPDATE_DELAY = 2500L; // milliseconds
private static final String ACTION_NEW_MESSAGE_COUNT = BuildConfig.APPLICATION_ID + ".NEW_MESSAGE_COUNT";
private static final List<String> PREF_EVAL = Collections.unmodifiableList(Arrays.asList(
"enabled", "poll_interval" // restart account(s)
));
@ -539,6 +541,16 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
if (lastCount == null || !lastCount.equals(count)) {
lastCount = count;
// Broadcast new message count
try {
Intent intent = new Intent(ACTION_NEW_MESSAGE_COUNT);
intent.putExtra("count", count);
sendBroadcast(intent);
} catch (Throwable ex) {
Log.e(ex);
}
// Update badge
try {
if (count == 0 || !badge)
ShortcutBadger.removeCount(ServiceSynchronize.this);