From 51d5c20bb8bb03ca65aece94bbe16b72c4390ff8 Mon Sep 17 00:00:00 2001 From: tom79 Date: Mon, 21 Oct 2019 17:25:13 +0200 Subject: Fix delayed --- .../java/app/fedilab/android/activities/MainApplication.java | 6 +++++- .../fedilab/android/fragments/ContentSettingsFragment.java | 12 +++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/activities/MainApplication.java b/app/src/main/java/app/fedilab/android/activities/MainApplication.java index e40e8fd20..631f8f3ac 100644 --- a/app/src/main/java/app/fedilab/android/activities/MainApplication.java +++ b/app/src/main/java/app/fedilab/android/activities/MainApplication.java @@ -63,6 +63,7 @@ public class MainApplication extends MultiDexApplication { private static MainApplication app; + public static int notificationsSyncJob = -1; @Override public void onCreate() { @@ -70,7 +71,10 @@ public class MainApplication extends MultiDexApplication { app = this; //System.setProperty("java.net.preferIPv4Stack" , "true"); JobManager.create(this).addJobCreator(new ApplicationJob()); - NotificationsSyncJob.schedule(false); + + if( Helper.getNotificationIcon(getApplicationContext()) == Helper.NOTIF_NONE) { + notificationsSyncJob = NotificationsSyncJob.schedule(false); + } BackupStatusesSyncJob.schedule(false); BackupNotificationsSyncJob.schedule(false); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); diff --git a/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java b/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java index 1d182419a..4b30a0217 100644 --- a/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java +++ b/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java @@ -79,12 +79,14 @@ import app.fedilab.android.R; import app.fedilab.android.activities.BaseMainActivity; import app.fedilab.android.activities.LiveNotificationSettingsAccountsActivity; import app.fedilab.android.activities.MainActivity; +import app.fedilab.android.activities.MainApplication; import app.fedilab.android.activities.SettingsActivity; import app.fedilab.android.asynctasks.DownloadTrackingDomainsAsyncTask; import app.fedilab.android.asynctasks.RetrieveRelationshipAsyncTask; import app.fedilab.android.asynctasks.RetrieveRemoteDataAsyncTask; import app.fedilab.android.asynctasks.UpdateAccountInfoAsyncTask; import app.fedilab.android.client.Entities.Account; +import app.fedilab.android.client.Entities.Application; import app.fedilab.android.client.Entities.Error; import app.fedilab.android.client.Entities.MainMenuItem; import app.fedilab.android.client.Entities.Relationship; @@ -96,6 +98,8 @@ import app.fedilab.android.helper.ExpandableHeightListView; import app.fedilab.android.helper.Helper; import app.fedilab.android.interfaces.OnRetrieveRelationshipInterface; import app.fedilab.android.interfaces.OnRetrieveRemoteAccountInterface; +import app.fedilab.android.jobs.ApplicationJob; +import app.fedilab.android.jobs.NotificationsSyncJob; import app.fedilab.android.services.LiveNotificationDelayedService; import app.fedilab.android.services.StopDelayedNotificationReceiver; import app.fedilab.android.services.StopLiveNotificationReceiver; @@ -1286,6 +1290,9 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot live_notif_per_account.setVisibility(View.VISIBLE); editor.apply(); context.sendBroadcast(new Intent(context, StopDelayedNotificationReceiver.class)); + if( MainApplication.notificationsSyncJob != -1){ + ApplicationJob.cancelJob(MainApplication.notificationsSyncJob); + } break; case Helper.NOTIF_DELAYED: editor.putBoolean(Helper.SET_LIVE_NOTIFICATIONS, false); @@ -1293,6 +1300,9 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot live_notif_per_account.setVisibility(View.VISIBLE); context.sendBroadcast(new Intent(context, StopLiveNotificationReceiver.class)); editor.apply(); + if( MainApplication.notificationsSyncJob != -1){ + ApplicationJob.cancelJob(MainApplication.notificationsSyncJob); + } break; case Helper.NOTIF_NONE: editor.putBoolean(Helper.SET_LIVE_NOTIFICATIONS, false); @@ -1300,7 +1310,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot live_notif_per_account.setVisibility(View.GONE); context.sendBroadcast(new Intent(context, StopLiveNotificationReceiver.class)); context.sendBroadcast(new Intent(context, StopDelayedNotificationReceiver.class)); - + MainApplication.notificationsSyncJob = NotificationsSyncJob.schedule(false); editor.apply(); break; } -- cgit v1.2.3