From 207f61d9c3cc505d5998c4c8589855c698ae83f0 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 13 Aug 2021 14:39:52 +0200 Subject: [PATCH] Clear task on search by scheme --- .../main/java/eu/faircode/email/ActivitySearch.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivitySearch.java b/app/src/main/java/eu/faircode/email/ActivitySearch.java index 23bfee175a..1ca92dd4b3 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySearch.java +++ b/app/src/main/java/eu/faircode/email/ActivitySearch.java @@ -37,14 +37,17 @@ public class ActivitySearch extends ActivityBase { CharSequence query; Uri uri = getIntent().getData(); - if (uri == null || !SEARCH_SCHEME.equals(uri.getScheme())) - query = getIntent().getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT); - else + boolean external = (uri != null && SEARCH_SCHEME.equals(uri.getScheme())); + if (external) query = Uri.decode(uri.toString().substring(SEARCH_SCHEME.length() + 1)); + else + query = getIntent().getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT); Log.i("External search query=" + query); - Intent view = new Intent(this, ActivityView.class); - view.putExtra(Intent.EXTRA_PROCESS_TEXT, query); + Intent view = new Intent(this, ActivityView.class) + .putExtra(Intent.EXTRA_PROCESS_TEXT, query); + if (external) + view.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(view); finish();