From 5319d31c5144b7aa94a3e8af573406220043a2cb Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 5 Nov 2018 18:56:57 +0000 Subject: [PATCH] Differentiate between normal and found threads --- app/src/main/java/eu/faircode/email/ActivityView.java | 1 + app/src/main/java/eu/faircode/email/AdapterMessage.java | 3 ++- app/src/main/java/eu/faircode/email/DaoMessage.java | 3 ++- app/src/main/java/eu/faircode/email/FragmentMessages.java | 7 +++++-- .../main/java/eu/faircode/email/ViewModelMessages.java | 8 +++++--- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 0ade983dba..4612c844cc 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -857,6 +857,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB Bundle args = new Bundle(); args.putLong("account", intent.getLongExtra("account", -1)); args.putString("thread", intent.getStringExtra("thread")); + args.putBoolean("found", intent.getBooleanExtra("found", false)); FragmentMessages fragment = new FragmentMessages(); fragment.setArguments(args); diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 69d9339653..b57f5cc411 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -548,7 +548,8 @@ public class AdapterMessage extends PagedListAdapter pagedThread(long account, String thread, String sort, boolean debug); + DataSource.Factory pagedThread(long account, String thread, boolean found, String sort, boolean debug); @Query("SELECT COUNT(id)" + " FROM message" + diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index d2cc69ba5e..79c243f5c5 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -95,6 +95,7 @@ public class FragmentMessages extends FragmentEx { private long folder = -1; private long account = -1; private String thread = null; + private boolean found = false; private String search = null; private long primary = -1; @@ -133,6 +134,7 @@ public class FragmentMessages extends FragmentEx { account = args.getLong("account", -1); folder = args.getLong("folder", -1); thread = args.getString("thread"); + found = args.getBoolean("found", false); search = args.getString("search"); if (TextUtils.isEmpty(search)) @@ -548,7 +550,8 @@ public class FragmentMessages extends FragmentEx { lbm.sendBroadcast( new Intent(ActivityView.ACTION_VIEW_THREAD) .putExtra("account", target.account) - .putExtra("thread", target.thread)); + .putExtra("thread", target.thread) + .putExtra("found", target.found)); return true; } }); @@ -1119,7 +1122,7 @@ public class FragmentMessages extends FragmentEx { break; case THREAD: - messages = new LivePagedListBuilder<>(db.message().pagedThread(account, thread, sort, debug), LOCAL_PAGE_SIZE).build(); + messages = new LivePagedListBuilder<>(db.message().pagedThread(account, thread, found, sort, debug), LOCAL_PAGE_SIZE).build(); break; } } else { diff --git a/app/src/main/java/eu/faircode/email/ViewModelMessages.java b/app/src/main/java/eu/faircode/email/ViewModelMessages.java index a8dca942ef..b5199740b3 100644 --- a/app/src/main/java/eu/faircode/email/ViewModelMessages.java +++ b/app/src/main/java/eu/faircode/email/ViewModelMessages.java @@ -56,17 +56,19 @@ public class ViewModelMessages extends ViewModel { next = item; } return new Target[]{ - prev == null ? null : new Target(prev.account, prev.thread), - next == null ? null : new Target(next.account, next.thread)}; + prev == null ? null : new Target(prev.account, prev.thread, prev.ui_found), + next == null ? null : new Target(next.account, next.thread, next.ui_found)}; } class Target { long account; String thread; + boolean found; - Target(long account, String thread) { + Target(long account, String thread, boolean found) { this.account = account; this.thread = thread; + this.found = found; } } }