Check if synchronization enable

This commit is contained in:
M66B 2019-02-18 15:50:36 +00:00
parent 7467e88d93
commit 966e3ab20b
4 changed files with 20 additions and 2 deletions

View File

@ -232,10 +232,14 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
if (folder.tbd != null)
return false;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean enabled = prefs.getBoolean("enabled", true);
PopupMenu popupMenu = new PopupMenu(context, itemView);
popupMenu.getMenu().add(Menu.NONE, action_synchronize_now, 1, R.string.title_synchronize_now)
.setEnabled(folder.account != null || "connected".equals(folder.state) /* outbox */);
.setEnabled(enabled &&
(folder.account != null || "connected".equals(folder.state) /* outbox */));
if (folder.account != null)
popupMenu.getMenu().add(Menu.NONE, action_delete_local, 2, R.string.title_delete_local);

View File

@ -2092,6 +2092,10 @@ public class FragmentCompose extends FragmentBase {
if (!attachment.available)
throw new IllegalArgumentException(context.getString(R.string.title_attachments_missing));
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (!prefs.getBoolean("enabled", true))
throw new IllegalArgumentException(context.getString(R.string.title_sync_disabled));
// Delete draft (cannot move to outbox)
EntityOperation.queue(context, db, draft, EntityOperation.DELETE);

View File

@ -491,6 +491,10 @@ public class FragmentMessages extends FragmentBase {
protected Boolean onExecute(Context context, Bundle args) {
long fid = args.getLong("folder");
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (!prefs.getBoolean("enabled", true))
throw new IllegalArgumentException(context.getString(R.string.title_sync_disabled));
DB db = DB.getInstance(context);
try {
db.beginTransaction();
@ -538,7 +542,12 @@ public class FragmentMessages extends FragmentBase {
@Override
protected void onException(Bundle args, Throwable ex) {
Helper.unexpectedError(getContext(), getViewLifecycleOwner(), ex);
swipeRefresh.setRefreshing(false);
if (ex instanceof IllegalArgumentException)
Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG).show();
else
Helper.unexpectedError(getContext(), getViewLifecycleOwner(), ex);
}
}.execute(FragmentMessages.this, args, "messages:refresh");
}

View File

@ -253,6 +253,7 @@
<string name="title_no_move">This provider does not support MOVE</string>
<string name="title_no_uidplus">This provider does not support UIDPLUS</string>
<string name="title_no_sync">Synchronization errors since %1$s</string>
<string name="title_sync_disabled">Synchronization is disabled</string>
<string name="title_drafts_required">A drafts folder is required to send messages</string>
<string name="title_account_delete">Delete this account permanently?</string>
<string name="title_identity_delete">Delete this identity permanently?</string>