Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f66b6802 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Refresh the all apps container search result when apps are installed

b/30102209

> After user comes back from the play store after installing
the app that didn't exist when searched, the app will now be
shown in the filtered search result list.

Change-Id: Ia5fe501596127a7401928e5db2d6f425ad753701
parent 68f98ac1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -207,6 +207,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
     */
    public void addApps(List<AppInfo> apps) {
        mApps.addApps(apps);
        mSearchBarController.refreshSearchResult();
    }

    /**
@@ -214,6 +215,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
     */
    public void updateApps(List<AppInfo> apps) {
        mApps.updateApps(apps);
        mSearchBarController.refreshSearchResult();
    }

    /**
@@ -221,6 +223,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
     */
    public void removeApps(List<AppInfo> apps) {
        mApps.removeApps(apps);
        mSearchBarController.refreshSearchResult();
    }

    public void setSearchBarVisible(boolean visible) {
+14 −3
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ public abstract class AllAppsSearchBarController
    protected AlphabeticalAppsList mApps;
    protected Callbacks mCb;
    protected ExtendedEditText mInput;
    private String mQuery;

    protected DefaultAppSearchAlgorithm mSearchAlgorithm;
    protected InputMethodManager mInputMethodManager;
@@ -94,14 +95,23 @@ public abstract class AllAppsSearchBarController

    @Override
    public void afterTextChanged(final Editable s) {
        String query = s.toString();
        if (query.isEmpty()) {
        mQuery = s.toString();
        if (mQuery.isEmpty()) {
            mSearchAlgorithm.cancel(true);
            mCb.clearSearchResult();
        } else {
            mSearchAlgorithm.cancel(false);
            mSearchAlgorithm.doSearch(query, mCb);
            mSearchAlgorithm.doSearch(mQuery, mCb);
        }
    }

    protected void refreshSearchResult() {
        if (mQuery == null) {
            return;
        }
        // If play store continues auto updating an app, we want to show partial result.
        mSearchAlgorithm.cancel(false);
        mSearchAlgorithm.doSearch(mQuery, mCb);
    }

    @Override
@@ -155,6 +165,7 @@ public abstract class AllAppsSearchBarController
     * Resets the search bar state.
     */
    public void reset() {
        mQuery = null;
        unfocusSearchField();
        mCb.clearSearchResult();
        mInput.setText("");