mirror of https://github.com/M66B/FairEmail.git
Broadcast new message count
This commit is contained in:
parent
40baad0b17
commit
d535f07db7
8
FAQ.md
8
FAQ.md
|
@ -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…
Reference in New Issue