Confirm mark all as read

pull/196/head
M66B 5 years ago
parent 2dbe68a223
commit 00f1234787

@ -4402,51 +4402,60 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
} }
private void onMenuMarkAllRead() { private void onMenuMarkAllRead() {
Bundle args = new Bundle(); new AlertDialog.Builder(getContext())
args.putString("type", type); .setTitle(R.string.title_mark_all_read)
args.putLong("folder", folder); .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
new SimpleTask<Void>() { public void onClick(DialogInterface dialog, int which) {
@Override Bundle args = new Bundle();
protected Void onExecute(Context context, Bundle args) throws Throwable { args.putString("type", type);
String type = args.getString("type"); args.putLong("folder", folder);
long folder = args.getLong("folder");
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); new SimpleTask<Void>() {
boolean filter_unflagged = prefs.getBoolean("filter_unflagged", false); @Override
boolean filter_unknown = prefs.getBoolean("filter_unknown", false); protected Void onExecute(Context context, Bundle args) throws Throwable {
boolean filter_snoozed = prefs.getBoolean("filter_snoozed", true); String type = args.getString("type");
boolean language_detection = prefs.getBoolean("language_detection", false); long folder = args.getLong("folder");
String filter_language = prefs.getString("filter_language", null);
DB db = DB.getInstance(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
try { boolean filter_unflagged = prefs.getBoolean("filter_unflagged", false);
db.beginTransaction(); boolean filter_unknown = prefs.getBoolean("filter_unknown", false);
boolean filter_snoozed = prefs.getBoolean("filter_snoozed", true);
boolean language_detection = prefs.getBoolean("language_detection", false);
String filter_language = prefs.getString("filter_language", null);
List<Long> ids = db.message().getMessageUnseen( DB db = DB.getInstance(context);
folder < 0 ? null : folder, try {
folder < 0 ? type : null, db.beginTransaction();
filter_unflagged, filter_unknown, filter_snoozed,
language_detection ? filter_language : null); List<Long> ids = db.message().getMessageUnseen(
for (long id : ids) { folder < 0 ? null : folder,
EntityMessage message = db.message().getMessage(id); folder < 0 ? type : null,
if (message != null) filter_unflagged, filter_unknown, filter_snoozed,
EntityOperation.queue(context, message, EntityOperation.SEEN, true); language_detection ? filter_language : null);
} for (long id : ids) {
EntityMessage message = db.message().getMessage(id);
if (message != null)
EntityOperation.queue(context, message, EntityOperation.SEEN, true);
}
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {
db.endTransaction(); db.endTransaction();
} }
return null; return null;
} }
@Override @Override
protected void onException(Bundle args, Throwable ex) { protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex); Log.unexpectedError(getParentFragmentManager(), ex);
} }
}.execute(FragmentMessages.this, args, "message:read"); }.execute(FragmentMessages.this, args, "message:read");
}
})
.setNegativeButton(android.R.string.cancel, null)
.show();
} }
private void onMenuSyncMore() { private void onMenuSyncMore() {

Loading…
Cancel
Save