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

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

Add entry and cursor location in GetSuggestionRequest

Bug: 223728521
Test: manual
Change-Id: I838896e2fad2d37c22e665473d59cc1b2c9a14d7
parent e2b51417
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -100,12 +100,14 @@ public class AllAppsSearchBarController
    @Override
    public void afterTextChanged(final Editable s) {
        mQuery = s.toString();
        mInput.getSelectionStart();
        if (mQuery.isEmpty()) {
            mSearchAlgorithm.cancel(true);
            mCallback.clearSearchResult();
        } else {
            mSearchAlgorithm.cancel(false);
            mSearchAlgorithm.doSearch(mQuery, mTextConversions, mCallback);
            mSearchAlgorithm.doSearch(mQuery, mInput.getSelectionStart(), mTextConversions,
                    mCallback);
        }
    }

@@ -115,7 +117,7 @@ public class AllAppsSearchBarController
        }
        // If play store continues auto updating an app, we want to show partial result.
        mSearchAlgorithm.cancel(false);
        mSearchAlgorithm.doSearch(mQuery, mCallback);
        mSearchAlgorithm.doSearch(mQuery, mInput.getSelectionStart(), mCallback);
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ public class DefaultAppSearchAlgorithm implements SearchAlgorithm<AdapterItem> {
    }

    @Override
    public void doSearch(String query, SearchCallback<AdapterItem> callback) {
    public void doSearch(String query, int cursorLocation, SearchCallback<AdapterItem> callback) {
        mAppState.getModel().enqueueModelUpdateTask(new BaseModelUpdateTask() {
            @Override
            public void execute(LauncherAppState app, BgDataModel dataModel, AllAppsList apps) {
+4 −3
Original line number Diff line number Diff line
@@ -25,13 +25,14 @@ public interface SearchAlgorithm<T> {
    /**
     * Performs search and sends the result to {@link SearchCallback}.
     */
    void doSearch(String query, SearchCallback<T> callback);
    void doSearch(String query, int cursorLocation, SearchCallback<T> callback);

    /**
     * Performs search with {@code query} and the {@code suggestedQueries}/
     */
    default void doSearch(String query, String[] suggestedQueries, SearchCallback<T> callback) {
        doSearch(query, callback);
    default void doSearch(String query, int cursorLocation, String[] suggestedQueries,
            SearchCallback<T> callback) {
        doSearch(query, cursorLocation, callback);
    }

    /**
+2 −1
Original line number Diff line number Diff line
@@ -48,7 +48,8 @@ public final class SimpleWidgetsSearchAlgorithm implements SearchAlgorithm<Widge
    }

    @Override
    public void doSearch(String query, SearchCallback<WidgetsListBaseEntry> callback) {
    public void doSearch(String query, int cursorLocation,
            SearchCallback<WidgetsListBaseEntry> callback) {
        ArrayList<WidgetsListBaseEntry> result = getFilteredWidgets(mDataProvider, query);
        mResultHandler.post(() -> callback.onSearchResult(query, result));
    }
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ public class WidgetsSearchBarController implements TextWatcher,
        } else {
            mSearchAlgorithm.cancel(/* interruptActiveRequests= */ false);
            mSearchModeListener.enterSearchMode();
            mSearchAlgorithm.doSearch(mQuery, this);
            mSearchAlgorithm.doSearch(mQuery, mInput.getSelectionStart(), this);
            mCancelButton.setVisibility(VISIBLE);
        }
    }
Loading