Optional force reload

pull/178/head
M66B 6 years ago
parent b330518620
commit 7b617e4d7c

@ -598,7 +598,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
break; break;
case R.string.title_synchronize_enabled: case R.string.title_synchronize_enabled:
db.folder().setFolderSynchronize(id, enabled); db.folder().setFolderSynchronize(id, enabled);
ServiceSynchronize.reload(context, aid, "folder sync=" + enabled); ServiceSynchronize.reload(context, aid, false, "folder sync=" + enabled);
break; break;
default: default:
throw new IllegalArgumentException("Unknown folder property=" + property); throw new IllegalArgumentException("Unknown folder property=" + property);

@ -333,7 +333,7 @@ public class FragmentAccounts extends FragmentBase {
} }
private void onMenuForceSync() { private void onMenuForceSync() {
ServiceSynchronize.reload(getContext(), null, "force sync"); ServiceSynchronize.reload(getContext(), null, true, "force sync");
ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show();
} }
@ -343,7 +343,7 @@ public class FragmentAccounts extends FragmentBase {
if (requestCode == REQUEST_IMPORT_OAUTH) if (requestCode == REQUEST_IMPORT_OAUTH)
if (Helper.hasPermissions(getContext(), permissions)) if (Helper.hasPermissions(getContext(), permissions))
ServiceSynchronize.reload(getContext(), null, "Permissions regranted"); ServiceSynchronize.reload(getContext(), null, false, "Permissions regranted");
} }
private void onSwipeRefresh() { private void onSwipeRefresh() {
@ -400,7 +400,7 @@ public class FragmentAccounts extends FragmentBase {
} }
if (force) if (force)
ServiceSynchronize.reload(context, null, "forced refresh"); ServiceSynchronize.reload(context, null, true, "refresh");
else else
ServiceSynchronize.eval(context, "refresh"); ServiceSynchronize.eval(context, "refresh");

@ -551,7 +551,7 @@ public class FragmentFolder extends FragmentBase {
} }
if (reload) if (reload)
ServiceSynchronize.reload(context, aid, "save folder"); ServiceSynchronize.reload(context, aid, false, "save folder");
else else
ServiceSynchronize.eval(context, "save folder"); ServiceSynchronize.eval(context, "save folder");
@ -617,7 +617,7 @@ public class FragmentFolder extends FragmentBase {
db.endTransaction(); db.endTransaction();
} }
ServiceSynchronize.reload(context, folder.account, "delete folder"); ServiceSynchronize.reload(context, folder.account, false, "delete folder");
return null; return null;
} }

@ -391,7 +391,7 @@ public class FragmentFolders extends FragmentBase {
} }
if (force) if (force)
ServiceSynchronize.reload(context, null, "forced refresh"); ServiceSynchronize.reload(context, null, true, "refresh");
else else
ServiceSynchronize.eval(context, "refresh"); ServiceSynchronize.eval(context, "refresh");
@ -503,7 +503,7 @@ public class FragmentFolders extends FragmentBase {
} }
private void onMenuForceSync() { private void onMenuForceSync() {
ServiceSynchronize.reload(getContext(), null, "force sync"); ServiceSynchronize.reload(getContext(), null, true, "force sync");
ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show();
} }

@ -1394,7 +1394,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
} }
if (force) if (force)
ServiceSynchronize.reload(context, null, "forced refresh"); ServiceSynchronize.reload(context, null, true, "refresh");
else else
ServiceSynchronize.eval(context, "refresh"); ServiceSynchronize.eval(context, "refresh");
@ -3762,7 +3762,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
} }
private void onMenuForceSync() { private void onMenuForceSync() {
ServiceSynchronize.reload(getContext(), null, "force sync"); ServiceSynchronize.reload(getContext(), null, true, "force sync");
ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show();
} }

@ -207,7 +207,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("auto_optimize", checked).apply(); prefs.edit().putBoolean("auto_optimize", checked).apply();
ServiceSynchronize.reload(getContext(), null, "optimize"); ServiceSynchronize.reload(getContext(), null, false, "optimize");
} }
}); });

@ -220,7 +220,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("sync_unseen", checked).apply(); prefs.edit().putBoolean("sync_unseen", checked).apply();
ServiceSynchronize.reload(getContext(), null, "sync_unseen=" + checked); ServiceSynchronize.reload(getContext(), null, false, "sync_unseen=" + checked);
} }
}); });
@ -228,7 +228,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("sync_flagged", checked).apply(); prefs.edit().putBoolean("sync_flagged", checked).apply();
ServiceSynchronize.reload(getContext(), null, "sync_flagged=" + checked); ServiceSynchronize.reload(getContext(), null, false, "sync_flagged=" + checked);
} }
}); });
@ -236,7 +236,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("delete_unseen", checked).apply(); prefs.edit().putBoolean("delete_unseen", checked).apply();
ServiceSynchronize.reload(getContext(), null, "delete_unseen=" + checked); ServiceSynchronize.reload(getContext(), null, false, "delete_unseen=" + checked);
} }
}); });
@ -244,7 +244,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("sync_kept", checked).apply(); prefs.edit().putBoolean("sync_kept", checked).apply();
ServiceSynchronize.reload(getContext(), null, "sync_kept=" + checked); ServiceSynchronize.reload(getContext(), null, false, "sync_kept=" + checked);
} }
}); });
@ -252,7 +252,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("sync_folders", checked).apply(); prefs.edit().putBoolean("sync_folders", checked).apply();
ServiceSynchronize.reload(getContext(), null, "sync_folders=" + checked); ServiceSynchronize.reload(getContext(), null, false, "sync_folders=" + checked);
} }
}); });
@ -269,7 +269,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("subscribed_only", checked).apply(); prefs.edit().putBoolean("subscribed_only", checked).apply();
ServiceSynchronize.reload(getContext(), null, "subscribed_only"); ServiceSynchronize.reload(getContext(), null, false, "subscribed_only");
} }
}); });

@ -685,7 +685,8 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
} }
private void onReload(Intent intent) { private void onReload(Intent intent) {
lastLost = 0; if (intent.getBooleanExtra("force", false))
lastLost = 0;
Bundle command = new Bundle(); Bundle command = new Bundle();
command.putString("name", "reload"); command.putString("name", "reload");
command.putLong("account", intent.getLongExtra("account", -1)); command.putLong("account", intent.getLongExtra("account", -1));
@ -954,7 +955,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
String name = e.getFolder().getFullName(); String name = e.getFolder().getFullName();
Log.i("Folder created=" + name); Log.i("Folder created=" + name);
if (db.folder().getFolderByName(account.id, name) == null) if (db.folder().getFolderByName(account.id, name) == null)
reload(ServiceSynchronize.this, account.id, "folder created"); reload(ServiceSynchronize.this, account.id, false, "folder created");
} finally { } finally {
wlFolder.release(); wlFolder.release();
} }
@ -972,7 +973,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
int count = db.folder().renameFolder(account.id, old, name); int count = db.folder().renameFolder(account.id, old, name);
Log.i("Renamed to " + name + " count=" + count); Log.i("Renamed to " + name + " count=" + count);
if (count == 0) if (count == 0)
reload(ServiceSynchronize.this, account.id, "folder renamed"); reload(ServiceSynchronize.this, account.id, false, "folder renamed");
} finally { } finally {
wlFolder.release(); wlFolder.release();
} }
@ -986,7 +987,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
String name = e.getFolder().getFullName(); String name = e.getFolder().getFullName();
Log.i("Folder deleted=" + name); Log.i("Folder deleted=" + name);
if (db.folder().getFolderByName(account.id, name) != null) if (db.folder().getFolderByName(account.id, name) != null)
reload(ServiceSynchronize.this, account.id, "folder deleted"); reload(ServiceSynchronize.this, account.id, false, "folder deleted");
} finally { } finally {
wlFolder.release(); wlFolder.release();
} }
@ -1912,11 +1913,12 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
.putExtra("reason", reason)); .putExtra("reason", reason));
} }
static void reload(Context context, Long account, String reason) { static void reload(Context context, Long account, boolean force, String reason) {
ContextCompat.startForegroundService(context, ContextCompat.startForegroundService(context,
new Intent(context, ServiceSynchronize.class) new Intent(context, ServiceSynchronize.class)
.setAction("reload") .setAction("reload")
.putExtra("account", account == null ? -1 : account) .putExtra("account", account == null ? -1 : account)
.putExtra("force", force)
.putExtra("reason", reason)); .putExtra("reason", reason));
} }

Loading…
Cancel
Save