From 940547200c73d8fb72737a6c8797fb79863d49cc Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 12 May 2019 11:40:54 +0200 Subject: [PATCH] Simplify searching --- .../java/eu/faircode/email/ActivityView.java | 47 +------ .../email/BoundaryCallbackMessages.java | 115 ++++++++++-------- .../faircode/email/FragmentOptionsMisc.java | 12 +- .../main/res/layout/fragment_options_misc.xml | 24 +--- app/src/main/res/values/strings.xml | 2 - 5 files changed, 69 insertions(+), 131 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 9f07e12269..73f4d82e92 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -500,49 +500,10 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB intent.removeExtra(Intent.EXTRA_PROCESS_TEXT); setIntent(intent); - if (Helper.isPro(ActivityView.this)) { - Bundle args = new Bundle(); - args.putString("search", search); - - new SimpleTask() { - @Override - protected Long onExecute(Context context, Bundle args) { - DB db = DB.getInstance(context); - - db.message().resetSearch(); - - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - if (prefs.getBoolean("search_local", false)) - return null; - - EntityFolder archive = db.folder().getPrimaryArchive(); - return (archive == null ? null : archive.id); - } - - @Override - protected void onExecuted(Bundle args, Long archive) { - Bundle sargs = new Bundle(); - sargs.putLong("folder", archive == null ? -1 : archive); - sargs.putString("search", args.getString("search")); - - FragmentMessages fragment = new FragmentMessages(); - fragment.setArguments(sargs); - - FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); - fragmentTransaction.replace(R.id.content_frame, fragment).addToBackStack("search"); - fragmentTransaction.commit(); - } - - @Override - protected void onException(Bundle args, Throwable ex) { - Helper.unexpectedError(ActivityView.this, ActivityView.this, ex); - } - }.execute(ActivityView.this, args, "search:account:archive"); - } else { - FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); - fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro"); - fragmentTransaction.commit(); - } + FragmentMessages.search( + ActivityView.this, ActivityView.this, + getSupportFragmentManager(), + -1, search); } } }; diff --git a/app/src/main/java/eu/faircode/email/BoundaryCallbackMessages.java b/app/src/main/java/eu/faircode/email/BoundaryCallbackMessages.java index cd9d84bca1..268f6159a4 100644 --- a/app/src/main/java/eu/faircode/email/BoundaryCallbackMessages.java +++ b/app/src/main/java/eu/faircode/email/BoundaryCallbackMessages.java @@ -68,7 +68,7 @@ import javax.mail.search.SubjectTerm; public class BoundaryCallbackMessages extends PagedList.BoundaryCallback { private Context context; - private Long fid; + private Long folder; private String searching; private int pageSize; private IBoundaryCallbackMessages intf; @@ -100,7 +100,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback= 0 && remote < pageSize) { + int remote_count = 0; + while (remote_index >= 0 && remote_count < pageSize) { Log.i("Boundary index=" + remote_index); - int from = Math.max(0, remote_index - (pageSize - remote) + 1); + int from = Math.max(0, remote_index - (pageSize - remote_count) + 1); Message[] isub = Arrays.copyOfRange(imessages, from, remote_index + 1); - remote_index -= (pageSize - remote); + remote_index -= (pageSize - remote_count); FetchProfile fp = new FetchProfile(); fp.add(FetchProfile.Item.ENVELOPE); @@ -414,29 +425,29 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback - - - - Show launcher icon with number of new messages Manage folder subscriptions - External search on device Force English language Show a warning when the receiving server could not authenticate the message Extra privacy features @@ -247,7 +246,6 @@ Most providers do not allow modified sender addresses Only available on supported launchers - Instead of searching in the primary archive folder on the server This will restart the app See the FAQ for details Enable extra logging and show debug information at various places