summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortom79 <tschneider.ac@gmail.com>2019-10-21 17:25:13 +0200
committertom79 <tschneider.ac@gmail.com>2019-10-21 17:25:13 +0200
commit51d5c20bb8bb03ca65aece94bbe16b72c4390ff8 (patch)
treeb83eb6743acd20f3570861ca01044b442a9358bc
parent78e92b12cd308c4a2706dc7afb8cf98982a39eb4 (diff)
Fix delayed
-rw-r--r--app/src/main/java/app/fedilab/android/activities/MainApplication.java6
-rw-r--r--app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java12
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;
}