mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-06 00:53:26 +02:00
Allow swiping summary notification away
This commit is contained in:
@@ -136,9 +136,10 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
private static final int ATTACHMENT_AUTO_DOWNLOAD_SIZE = 32 * 1024; // bytes
|
||||
private static final long RECONNECT_BACKOFF = 90 * 1000L; // milliseconds
|
||||
|
||||
static final int PI_SEEN = 1;
|
||||
static final int PI_TRASH = 2;
|
||||
static final int PI_IGNORED = 3;
|
||||
static final int PI_CLEAR = 1;
|
||||
static final int PI_SEEN = 2;
|
||||
static final int PI_TRASH = 3;
|
||||
static final int PI_IGNORED = 4;
|
||||
|
||||
static final String ACTION_SYNCHRONIZE_FOLDER = BuildConfig.APPLICATION_ID + ".SYNCHRONIZE_FOLDER";
|
||||
static final String ACTION_PROCESS_OPERATIONS = BuildConfig.APPLICATION_ID + ".PROCESS_OPERATIONS";
|
||||
@@ -238,7 +239,15 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
serviceManager.queue_stop();
|
||||
else if ("reload".equals(action))
|
||||
serviceManager.queue_reload();
|
||||
else if (action.startsWith("seen:") || action.startsWith("trash:") || action.startsWith("ignored:")) {
|
||||
else if ("clear".equals(action)) {
|
||||
new SimpleTask<Void>() {
|
||||
@Override
|
||||
protected Void onLoad(Context context, Bundle args) throws Throwable {
|
||||
DB.getInstance(context).message().ignoreAll();
|
||||
return null;
|
||||
}
|
||||
}.load(this, new Bundle());
|
||||
} else if (action.startsWith("seen:") || action.startsWith("trash:") || action.startsWith("ignored:")) {
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("id", Long.parseLong(action.split(":")[1]));
|
||||
args.putString("action", action.split(":")[0]);
|
||||
@@ -341,6 +350,10 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
PendingIntent piView = PendingIntent.getActivity(
|
||||
this, ActivityView.REQUEST_UNIFIED, view, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
|
||||
Intent clear = new Intent(this, ServiceSynchronize.class);
|
||||
clear.setAction("clear");
|
||||
PendingIntent piClear = PendingIntent.getService(this, PI_CLEAR, clear, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
|
||||
// Build notification
|
||||
Notification.Builder builder;
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
|
||||
@@ -355,7 +368,7 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
.setContentIntent(piView)
|
||||
.setNumber(messages.size())
|
||||
.setShowWhen(false)
|
||||
.setOngoing(true)
|
||||
.setDeleteIntent(piClear)
|
||||
.setPriority(Notification.PRIORITY_DEFAULT)
|
||||
.setCategory(Notification.CATEGORY_STATUS)
|
||||
.setVisibility(Notification.VISIBILITY_PRIVATE)
|
||||
|
||||
Reference in New Issue
Block a user