Broadcast new message count

pull/180/head
M66B 5 years ago
parent 40baad0b17
commit d535f07db7

@ -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). 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 /> <br />
<a name="faq107"></a> <a name="faq107"></a>

@ -116,6 +116,8 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
private static final int BACKOFF_ERROR_AFTER = 16; // seconds private static final int BACKOFF_ERROR_AFTER = 16; // seconds
private static final long WIDGET_UPDATE_DELAY = 2500L; // milliseconds 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( private static final List<String> PREF_EVAL = Collections.unmodifiableList(Arrays.asList(
"enabled", "poll_interval" // restart account(s) "enabled", "poll_interval" // restart account(s)
)); ));
@ -539,6 +541,16 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
if (lastCount == null || !lastCount.equals(count)) { if (lastCount == null || !lastCount.equals(count)) {
lastCount = 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 { try {
if (count == 0 || !badge) if (count == 0 || !badge)
ShortcutBadger.removeCount(ServiceSynchronize.this); ShortcutBadger.removeCount(ServiceSynchronize.this);

Loading…
Cancel
Save