From e4ccc5105e42ede1ea9fb0945aeb85ce52f117d4 Mon Sep 17 00:00:00 2001 From: "Mr. Dragon" Date: Sat, 6 Apr 2019 02:46:02 +0530 Subject: [PATCH] SearchHistory : Resolve bugs 1. Package name being populated to search view when an app is queried 2. Search history was not save when an app was queried --- .../aurora/store/fragment/SearchFragment.java | 26 ++++++++++++++----- .../com/aurora/store/utility/PackageUtil.java | 5 ++-- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/aurora/store/fragment/SearchFragment.java b/app/src/main/java/com/aurora/store/fragment/SearchFragment.java index d2d2c1fcd..0abe715d4 100644 --- a/app/src/main/java/com/aurora/store/fragment/SearchFragment.java +++ b/app/src/main/java/com/aurora/store/fragment/SearchFragment.java @@ -46,6 +46,7 @@ import com.aurora.store.HistoryItemTouchHelper; import com.aurora.store.R; import com.aurora.store.activity.DetailsActivity; import com.aurora.store.adapter.SearchHistoryAdapter; +import com.aurora.store.utility.PackageUtil; import com.aurora.store.utility.PrefUtil; import org.jetbrains.annotations.NotNull; @@ -127,8 +128,14 @@ public class SearchFragment extends BaseFragment implements BaseFragment.EventLi public boolean onSuggestionClick(int position) { Cursor cursor = searchView.getSuggestionsAdapter().getCursor(); cursor.moveToPosition(position); - String suggestion = cursor.getString(2); - searchView.setQuery(suggestion, true); + if (position == 0) { + searchView.setQuery(cursor.getString(2), true); + searchView.setQuery(cursor.getString(1), false); + PackageUtil.addToPseudoPackageMap(context, + cursor.getString(2), + cursor.getString(1)); + } else + searchView.setQuery(cursor.getString(1), true); return true; } }); @@ -137,16 +144,21 @@ public class SearchFragment extends BaseFragment implements BaseFragment.EventLi private void setQuery(String query) { if (looksLikeAPackageId(query)) { context.startActivity(DetailsActivity.getDetailsIntent(getContext(), query)); + saveQuery(PackageUtil.getAppLabel(context, query)); } else { - String mDatedQuery = query - .concat(":") - .concat(new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()) - .format(new Date())); - setQueryToPref(mDatedQuery); getQueriedApps(query); + saveQuery(query); } } + private void saveQuery(String query) { + String mDatedQuery = query + .concat(":") + .concat(new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()) + .format(new Date())); + setQueryToPref(mDatedQuery); + } + private void setQueryToPref(String query) { mQueryList = PrefUtil.getListString(context, Constants.RECENT_HISTORY); mQueryList.add(0, query); diff --git a/app/src/main/java/com/aurora/store/utility/PackageUtil.java b/app/src/main/java/com/aurora/store/utility/PackageUtil.java index ab6ae8b08..4e3bd442c 100644 --- a/app/src/main/java/com/aurora/store/utility/PackageUtil.java +++ b/app/src/main/java/com/aurora/store/utility/PackageUtil.java @@ -24,6 +24,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.aurora.store.model.App; @@ -77,14 +78,14 @@ public class PackageUtil { } } - @Nullable + @NonNull public static String getAppLabel(Context c, String packageName) { try { PackageManager pm = c.getPackageManager(); ApplicationInfo appInfo = pm.getApplicationInfo(packageName, 0); return pm.getApplicationLabel(appInfo).toString(); } catch (Exception e) { - return null; + return ""; } }