From e35cbd0f3741c67f8ddc34fe4563967b4ab43332 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 27 Mar 2021 15:50:39 +0100 Subject: [PATCH] Revert "Run start service on foreground" This reverts commit f7a85deeec4f613b0e27d67f3204138356f0b5b4. --- .../eu/faircode/email/AdapterAttachment.java | 7 +- .../java/eu/faircode/email/AdapterFolder.java | 13 +- .../java/eu/faircode/email/AdapterImage.java | 7 +- .../eu/faircode/email/AdapterMessage.java | 45 +++---- .../eu/faircode/email/FragmentAccount.java | 12 +- .../eu/faircode/email/FragmentAccounts.java | 23 ++-- .../eu/faircode/email/FragmentCompose.java | 35 ++---- .../eu/faircode/email/FragmentDialogSync.java | 9 +- .../eu/faircode/email/FragmentFolder.java | 15 +-- .../eu/faircode/email/FragmentFolders.java | 32 ++--- .../java/eu/faircode/email/FragmentGmail.java | 9 +- .../eu/faircode/email/FragmentMessages.java | 118 +++++------------- .../java/eu/faircode/email/FragmentOAuth.java | 9 +- .../email/FragmentOptionsNotifications.java | 2 +- .../email/FragmentOptionsSynchronize.java | 9 +- .../java/eu/faircode/email/FragmentPop.java | 12 +- .../eu/faircode/email/FragmentQuickSetup.java | 6 +- .../eu/faircode/email/ServiceSynchronize.java | 14 +-- 18 files changed, 114 insertions(+), 263 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterAttachment.java b/app/src/main/java/eu/faircode/email/AdapterAttachment.java index a29a3d5ee7..1fbf8908db 100644 --- a/app/src/main/java/eu/faircode/email/AdapterAttachment.java +++ b/app/src/main/java/eu/faircode/email/AdapterAttachment.java @@ -309,12 +309,9 @@ public class AdapterAttachment extends RecyclerView.Adapter() { - @Override - protected void onPostExecute(Bundle args) { - ServiceSynchronize.eval(context, "refresh/folder"); - } - @Override protected Void onExecute(Context context, Bundle args) { long fid = args.getLong("folder"); @@ -709,6 +704,8 @@ public class AdapterFolder extends RecyclerView.Adapter db.endTransaction(); } - return null; - } - - @Override - protected void onExecuted(Bundle args, Void data) { ServiceSynchronize.eval(context, "attachment"); + + return null; } @Override diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index df45ff0640..a09c6ca559 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -3197,12 +3197,9 @@ public class AdapterMessage extends RecyclerView.Adapter() { @Override protected void onPostExecute(Bundle args) { - Context context = getContext(); - if (context != null) { - boolean force = args.getBoolean("force"); - boolean outbox = args.getBoolean("outbox"); - - if (force) - ServiceSynchronize.reload(context, null, true, "refresh"); - else - ServiceSynchronize.eval(context, "refresh"); - - if (outbox) - ServiceSend.start(context); - } - swipeRefresh.setRefreshing(false); } @@ -389,8 +375,13 @@ public class FragmentFolders extends FragmentBase { db.endTransaction(); } - args.putBoolean("force", force); - args.putBoolean("outbox", outbox); + if (force) + ServiceSynchronize.reload(context, null, true, "refresh"); + else + ServiceSynchronize.eval(context, "refresh"); + + if (outbox) + ServiceSend.start(context); if (!now) throw new IllegalArgumentException(context.getString(R.string.title_no_connection)); @@ -700,14 +691,9 @@ public class FragmentFolders extends FragmentBase { db.endTransaction(); } - return null; - } + ServiceSynchronize.eval(context, "purge"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "purge"); + return null; } @Override diff --git a/app/src/main/java/eu/faircode/email/FragmentGmail.java b/app/src/main/java/eu/faircode/email/FragmentGmail.java index 979088d104..26bde01c0b 100644 --- a/app/src/main/java/eu/faircode/email/FragmentGmail.java +++ b/app/src/main/java/eu/faircode/email/FragmentGmail.java @@ -497,19 +497,16 @@ public class FragmentGmail extends FragmentBase { db.endTransaction(); } + ServiceSynchronize.eval(context, "Gmail"); + return null; } @Override protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "Gmail"); - if (args.getLong("account") < 0) { finish(); - if (context != null) - ToastEx.makeText(context, R.string.title_setup_oauth_updated, Toast.LENGTH_LONG).show(); + ToastEx.makeText(getContext(), R.string.title_setup_oauth_updated, Toast.LENGTH_LONG).show(); } else { FragmentReview fragment = new FragmentReview(); fragment.setArguments(args); diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 5cd8dfc295..5b3f46eae9 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -1452,19 +1452,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. args.putString("type", type); new SimpleTask() { - - @Override - protected void onPostExecute(Bundle args) { - Context context = getContext(); - if (context != null) { - boolean force = args.getBoolean("force"); - if (force) - ServiceSynchronize.reload(context, null, true, "refresh"); - else - ServiceSynchronize.eval(context, "refresh"); - } - } - @Override protected Void onExecute(Context context, Bundle args) { long fid = args.getLong("folder"); @@ -1516,7 +1503,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } - args.putBoolean("force", force); + if (force) + ServiceSynchronize.reload(context, null, true, "refresh"); + else + ServiceSynchronize.eval(context, "refresh"); if (!now) throw new IllegalArgumentException(context.getString(R.string.title_no_connection)); @@ -2986,14 +2976,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } - return null; - } + ServiceSynchronize.eval(context, "seen"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "seen"); + return null; } @Override @@ -3130,14 +3115,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } - return null; - } + ServiceSynchronize.eval(context, "flag"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "flag"); + return null; } @Override @@ -3708,6 +3688,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } + ServiceSynchronize.eval(context, "outbox/drafts"); + NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); nm.cancel("send:" + id, 1); @@ -3716,13 +3698,11 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onExecuted(Bundle args, EntityMessage draft) { - if (draft != null) { - ServiceSynchronize.eval(context, "outbox/drafts"); + if (draft != null) context.startActivity( new Intent(context, ActivityCompose.class) .putExtra("action", "edit") .putExtra("id", draft.id)); - } } @Override @@ -5230,14 +5210,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } - return null; - } + ServiceSynchronize.eval(context, "expand"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "expand"); + return null; } @Override @@ -5434,15 +5409,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } + ServiceSynchronize.eval(context, "move"); + return null; } @Override protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "move"); - if (viewType == AdapterMessage.ViewType.THREAD) { PagedList messages = adapter.getCurrentList(); if (messages != null && result.size() > 0) { @@ -5533,14 +5506,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } - return null; - } + ServiceSynchronize.eval(context, "move"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "move"); + return null; } @Override @@ -7212,6 +7180,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } + ServiceSynchronize.eval(context, "delete"); + NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); nm.cancel("send:" + id, 1); @@ -7220,10 +7190,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "delete"); - if (viewType == AdapterMessage.ViewType.THREAD) { PagedList messages = adapter.getCurrentList(); if (messages != null) { @@ -7266,15 +7232,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } + ServiceSynchronize.eval(context, "delete"); + return null; } @Override protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "delete"); - if (viewType == AdapterMessage.ViewType.THREAD) { long[] ids = args.getLongArray("ids"); PagedList messages = adapter.getCurrentList(); @@ -7336,14 +7300,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } - return null; - } + ServiceSynchronize.eval(context, "junk"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "junk"); + return null; } @Override @@ -7412,14 +7371,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } }); - return null; - } + ServiceSynchronize.eval(context, "flag"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "flag"); + return null; } @Override @@ -7602,19 +7556,18 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } + if (copy) + ServiceSynchronize.eval(context, "copy"); + return result; } @Override protected void onExecuted(Bundle args, ArrayList result) { boolean copy = args.getBoolean("copy"); - if (copy) { - Context context = getContext(); - if (context != null) { - ServiceSynchronize.eval(context, "copy"); - ToastEx.makeText(context, R.string.title_completed, Toast.LENGTH_LONG).show(); - } - } else + if (copy) + ToastEx.makeText(getContext(), R.string.title_completed, Toast.LENGTH_LONG).show(); + else moveAsk(result, false, !autoclose && onclose == null); } @@ -7927,14 +7880,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. db.endTransaction(); } - return null; - } + ServiceSynchronize.eval(context, "purge"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "purge"); + return null; } @Override diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java index 7abd0777d9..711cc0a29a 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java +++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java @@ -608,6 +608,8 @@ public class FragmentOAuth extends FragmentBase { db.endTransaction(); } + ServiceSynchronize.eval(context, "OAuth"); + return null; } @@ -615,14 +617,9 @@ public class FragmentOAuth extends FragmentBase { protected void onExecuted(Bundle args, Void data) { pbOAuth.setVisibility(View.GONE); - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "OAuth"); - if (args.getLong("account") < 0) { finish(); - if (context != null) - ToastEx.makeText(context, R.string.title_setup_oauth_updated, Toast.LENGTH_LONG).show(); + ToastEx.makeText(getContext(), R.string.title_setup_oauth_updated, Toast.LENGTH_LONG).show(); } else { FragmentReview fragment = new FragmentReview(); fragment.setArguments(args); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java index 3cf391919a..a48d3d2648 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java @@ -229,7 +229,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("background_service", checked).apply(); - ServiceSynchronize.eval(compoundButton.getContext(), "background=" + checked); + ServiceSynchronize.eval(getContext(), "background=" + checked); } }); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java index 8a1f4053ed..66213fc6bf 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java @@ -506,14 +506,9 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr DB db = DB.getInstance(context); db.account().setAccountPollExempted(id, exempted); - return null; - } + ServiceSynchronize.eval(context, "exempted"); - @Override - protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "exempted"); + return null; } @Override diff --git a/app/src/main/java/eu/faircode/email/FragmentPop.java b/app/src/main/java/eu/faircode/email/FragmentPop.java index ba2ddd73be..9bae082d13 100644 --- a/app/src/main/java/eu/faircode/email/FragmentPop.java +++ b/app/src/main/java/eu/faircode/email/FragmentPop.java @@ -611,6 +611,8 @@ public class FragmentPop extends FragmentBase { db.endTransaction(); } + ServiceSynchronize.eval(context, "POP3"); + if (!synchronize) { NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); nm.cancel("receive:" + account.id, 1); @@ -632,10 +634,8 @@ public class FragmentPop extends FragmentBase { fragment.show(getParentFragmentManager(), "account:save"); } else { Context context = getContext(); - if (context != null) { - ServiceSynchronize.eval(context, "POP3"); + if (context != null) WidgetUnified.updateData(context); // Update color stripe - } if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) { getParentFragmentManager().popBackStack(); @@ -879,15 +879,13 @@ public class FragmentPop extends FragmentBase { DB db = DB.getInstance(context); db.account().setAccountTbd(id); + ServiceSynchronize.eval(context, "delete account"); + return null; } @Override protected void onExecuted(Bundle args, Void data) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "delete account"); - if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) getParentFragmentManager().popBackStack(); } diff --git a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java index 11b2aa7d40..9a6ca2cd94 100644 --- a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java @@ -452,15 +452,13 @@ public class FragmentQuickSetup extends FragmentBase { db.endTransaction(); } + ServiceSynchronize.eval(context, "quick setup"); + return null; } @Override protected void onExecuted(Bundle args, EmailProvider result) { - Context context = getContext(); - if (context != null) - ServiceSynchronize.eval(context, "quick setup"); - boolean check = args.getBoolean("check"); if (check) { tvImap.setText(result == null ? null diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 5d4e35867f..2b07ef1fab 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -2023,16 +2023,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences prefs.edit().putInt("poll_interval", OPTIMIZE_POLL_INTERVAL).apply(); } else if (pollInterval <= 60 && account.poll_exempted) { db.account().setAccountPollExempted(account.id, false); - ApplicationEx.getMainHandler().post(new Runnable() { - @Override - public void run() { - try { - onEval(new Intent().putExtra("account", account.id)); - } catch (Throwable ex) { - Log.e(ex); - } - } - }); + ServiceSynchronize.eval(this, "Optimize=" + reason); } } @@ -2441,13 +2432,12 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences private static void start(Context context, Intent intent) { if (isBackgroundService(context)) context.startService(intent); - else { + else try { ContextCompat.startForegroundService(context, intent); } catch (Throwable ex) { Log.e(ex); } - } } private static boolean isBackgroundService(Context context) {