|
@ -136,9 +136,10 @@ public class ServiceSynchronize extends LifecycleService { |
|
|
private static final int ATTACHMENT_AUTO_DOWNLOAD_SIZE = 32 * 1024; // bytes |
|
|
private static final int ATTACHMENT_AUTO_DOWNLOAD_SIZE = 32 * 1024; // bytes |
|
|
private static final long RECONNECT_BACKOFF = 90 * 1000L; // milliseconds |
|
|
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_SYNCHRONIZE_FOLDER = BuildConfig.APPLICATION_ID + ".SYNCHRONIZE_FOLDER"; |
|
|
static final String ACTION_PROCESS_OPERATIONS = BuildConfig.APPLICATION_ID + ".PROCESS_OPERATIONS"; |
|
|
static final String ACTION_PROCESS_OPERATIONS = BuildConfig.APPLICATION_ID + ".PROCESS_OPERATIONS"; |
|
@ -238,7 +239,15 @@ public class ServiceSynchronize extends LifecycleService { |
|
|
serviceManager.queue_stop(); |
|
|
serviceManager.queue_stop(); |
|
|
else if ("reload".equals(action)) |
|
|
else if ("reload".equals(action)) |
|
|
serviceManager.queue_reload(); |
|
|
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(); |
|
|
Bundle args = new Bundle(); |
|
|
args.putLong("id", Long.parseLong(action.split(":")[1])); |
|
|
args.putLong("id", Long.parseLong(action.split(":")[1])); |
|
|
args.putString("action", action.split(":")[0]); |
|
|
args.putString("action", action.split(":")[0]); |
|
@ -341,6 +350,10 @@ public class ServiceSynchronize extends LifecycleService { |
|
|
PendingIntent piView = PendingIntent.getActivity( |
|
|
PendingIntent piView = PendingIntent.getActivity( |
|
|
this, ActivityView.REQUEST_UNIFIED, view, PendingIntent.FLAG_UPDATE_CURRENT); |
|
|
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 |
|
|
// Build notification |
|
|
Notification.Builder builder; |
|
|
Notification.Builder builder; |
|
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) |
|
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) |
|
@ -355,7 +368,7 @@ public class ServiceSynchronize extends LifecycleService { |
|
|
.setContentIntent(piView) |
|
|
.setContentIntent(piView) |
|
|
.setNumber(messages.size()) |
|
|
.setNumber(messages.size()) |
|
|
.setShowWhen(false) |
|
|
.setShowWhen(false) |
|
|
.setOngoing(true) |
|
|
|
|
|
|
|
|
.setDeleteIntent(piClear) |
|
|
.setPriority(Notification.PRIORITY_DEFAULT) |
|
|
.setPriority(Notification.PRIORITY_DEFAULT) |
|
|
.setCategory(Notification.CATEGORY_STATUS) |
|
|
.setCategory(Notification.CATEGORY_STATUS) |
|
|
.setVisibility(Notification.VISIBILITY_PRIVATE) |
|
|
.setVisibility(Notification.VISIBILITY_PRIVATE) |
|
|