mirror of
https://github.com/M66B/FairEmail.git
synced 2025-01-03 13:44:40 +00:00
Improved watchdog
This commit is contained in:
parent
952d93bf17
commit
f59adf17f5
4 changed files with 11 additions and 18 deletions
|
@ -81,9 +81,11 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack
|
|||
|
||||
@Override
|
||||
protected void onExecuted(Bundle args, Boolean hasAccounts) {
|
||||
if (hasAccounts)
|
||||
if (hasAccounts) {
|
||||
startActivity(new Intent(ActivityMain.this, ActivityView.class));
|
||||
else
|
||||
ServiceSynchronize.watchdog(ActivityMain.this);
|
||||
ServiceSend.watchdog(ActivityMain.this);
|
||||
} else
|
||||
startActivity(new Intent(ActivityMain.this, ActivitySetup.class));
|
||||
finish();
|
||||
}
|
||||
|
|
|
@ -455,4 +455,8 @@ public class ServiceSend extends ServiceBase {
|
|||
ContextCompat.startForegroundService(context,
|
||||
new Intent(context, ServiceSend.class));
|
||||
}
|
||||
|
||||
static void watchdog(Context context) {
|
||||
boot(context);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -261,10 +261,6 @@ public class ServiceSynchronize extends ServiceBase {
|
|||
if (action != null)
|
||||
try {
|
||||
switch (action) {
|
||||
case "init":
|
||||
onInit();
|
||||
break;
|
||||
|
||||
case "alarm":
|
||||
onAlarm();
|
||||
break;
|
||||
|
@ -333,11 +329,6 @@ public class ServiceSynchronize extends ServiceBase {
|
|||
return builder;
|
||||
}
|
||||
|
||||
private void onInit() {
|
||||
EntityLog.log(this, "Service init");
|
||||
// Network events will manage the service
|
||||
}
|
||||
|
||||
private void onAlarm() {
|
||||
schedule(this);
|
||||
onReload(true, "alarm");
|
||||
|
@ -1437,14 +1428,9 @@ public class ServiceSynchronize extends ServiceBase {
|
|||
schedule(context);
|
||||
|
||||
// Conditionally init service
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean enabled = prefs.getBoolean("enabled", true);
|
||||
int pollInterval = prefs.getInt("poll_interval", 0);
|
||||
int accounts = db.account().getSynchronizingAccounts().size();
|
||||
if (enabled && pollInterval == 0 && accounts > 0)
|
||||
ContextCompat.startForegroundService(context,
|
||||
new Intent(context, ServiceSynchronize.class)
|
||||
.setAction("init"));
|
||||
if (accounts > 0)
|
||||
watchdog(context);
|
||||
else {
|
||||
for (EntityAccount account : db.account().getAccounts())
|
||||
db.account().setAccountState(account.id, null);
|
||||
|
|
|
@ -45,6 +45,7 @@ public class WorkerWatchdog extends Worker {
|
|||
public Result doWork() {
|
||||
Log.i("Running " + getName());
|
||||
ServiceSynchronize.watchdog(getApplicationContext());
|
||||
ServiceSend.watchdog(getApplicationContext());
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue