Loading res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -454,4 +454,7 @@ <!-- Search hint on search view. [CHAR LIMIT=48] --> <string name="search_bar_hint">Search this phone</string> <!-- Content description for deleting search history. [CHAR_LIMIT=60] --> <string name="delete_search_history">Delete the search history <xliff:g id="text" example="image">%1$s</xliff:g></string> </resources> src/com/android/documentsui/BaseActivity.java +8 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,14 @@ public abstract class BaseActivity mSearchManager.getSearchViewText()); } } @Override public void onSearchViewClearClicked() { if (SearchFragment.get(getSupportFragmentManager()) == null) { SearchFragment.showFragment(getSupportFragmentManager(), mSearchManager.getSearchViewText()); } } }; // "Commands" are meta input for controlling system behavior. Loading src/com/android/documentsui/queries/SearchFragment.java +16 −5 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class SearchFragment extends DialogFragment private SearchView mSearchView; private ViewGroup mSearchChipGroup; private ListView mListView; private ArrayAdapter<String> mAdapter; private List<String> mHistoryList; Loading Loading @@ -121,7 +122,7 @@ public class SearchFragment extends DialogFragment mSearchView.setQuery(currentQuery, false); mSearchView.setOnQueryTextListener(this); mHistoryList = SearchHistoryManager.getInstance( mSearchView.getContext().getApplicationContext()).getHistoryList(currentQuery); getContext().getApplicationContext()).getHistoryList(currentQuery); mSearchViewManager.bindChips(mSearchChipGroup); if (mSearchChipGroup.getVisibility() == View.VISIBLE) { Loading @@ -130,7 +131,8 @@ public class SearchFragment extends DialogFragment } } mListView.setAdapter(new HistoryListAdapter(getContext(), mHistoryList)); mAdapter = new HistoryListAdapter(getContext(), mHistoryList); mListView.setAdapter(mAdapter); mListView.setOnItemClickListener(this::onHistoryItemClicked); } Loading Loading @@ -169,9 +171,16 @@ public class SearchFragment extends DialogFragment @Override public boolean onQueryTextChange(String s) { if (!TextUtils.isEmpty(mSearchView.getQuery())) { mSearchViewManager.setCurrentSearch(s); mSearchViewManager.restoreSearch(true); dismiss(); } else { mHistoryList = SearchHistoryManager.getInstance( mSearchView.getContext().getApplicationContext()).getHistoryList(""); mAdapter.clear(); mAdapter.addAll(mHistoryList); } return true; } Loading @@ -196,6 +205,8 @@ public class SearchFragment extends DialogFragment mHistoryList.remove(history); notifyDataSetChanged(); }); button.setContentDescription( getContext().getString(R.string.delete_search_history, history)); return convertView; } Loading src/com/android/documentsui/queries/SearchViewManager.java +12 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,13 @@ public class SearchViewManager implements mSearchView.setOnCloseListener(this); mSearchView.setOnSearchClickListener(this); mSearchView.setOnQueryTextFocusChangeListener(this); final View clearButton = mSearchView.findViewById(R.id.search_close_btn); if (clearButton != null) { clearButton.setOnClickListener(v -> { mSearchView.setQuery("", false); mListener.onSearchViewClearClicked(); }); } mFullBar = isFullBarSearch; mSearchView.setMaxWidth(Integer.MAX_VALUE); Loading Loading @@ -588,5 +595,10 @@ public class SearchViewManager implements void onSearchChipStateChanged(View v); void onSearchViewFocusChanged(boolean hasFocus); /** * Call back when search view clear button clicked */ void onSearchViewClearClicked(); } } tests/common/com/android/documentsui/bots/Bots.java +6 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ import android.support.test.uiautomator.UiObject2; import android.support.test.uiautomator.UiSelector; import android.support.test.uiautomator.Until; import androidx.test.InstrumentationRegistry; /** * Handy collection of bots for working with Files app. */ Loading Loading @@ -69,11 +71,15 @@ public final class Bots { public final UiDevice mDevice; final Context mContext; final int mTimeout; public final String mTargetPackage; BaseBot(UiDevice device, Context context, int timeout) { mDevice = device; mContext = context; mTimeout = timeout; mTargetPackage = InstrumentationRegistry.getInstrumentation() .getTargetContext().getPackageName(); } /** Loading Loading
res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -454,4 +454,7 @@ <!-- Search hint on search view. [CHAR LIMIT=48] --> <string name="search_bar_hint">Search this phone</string> <!-- Content description for deleting search history. [CHAR_LIMIT=60] --> <string name="delete_search_history">Delete the search history <xliff:g id="text" example="image">%1$s</xliff:g></string> </resources>
src/com/android/documentsui/BaseActivity.java +8 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,14 @@ public abstract class BaseActivity mSearchManager.getSearchViewText()); } } @Override public void onSearchViewClearClicked() { if (SearchFragment.get(getSupportFragmentManager()) == null) { SearchFragment.showFragment(getSupportFragmentManager(), mSearchManager.getSearchViewText()); } } }; // "Commands" are meta input for controlling system behavior. Loading
src/com/android/documentsui/queries/SearchFragment.java +16 −5 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class SearchFragment extends DialogFragment private SearchView mSearchView; private ViewGroup mSearchChipGroup; private ListView mListView; private ArrayAdapter<String> mAdapter; private List<String> mHistoryList; Loading Loading @@ -121,7 +122,7 @@ public class SearchFragment extends DialogFragment mSearchView.setQuery(currentQuery, false); mSearchView.setOnQueryTextListener(this); mHistoryList = SearchHistoryManager.getInstance( mSearchView.getContext().getApplicationContext()).getHistoryList(currentQuery); getContext().getApplicationContext()).getHistoryList(currentQuery); mSearchViewManager.bindChips(mSearchChipGroup); if (mSearchChipGroup.getVisibility() == View.VISIBLE) { Loading @@ -130,7 +131,8 @@ public class SearchFragment extends DialogFragment } } mListView.setAdapter(new HistoryListAdapter(getContext(), mHistoryList)); mAdapter = new HistoryListAdapter(getContext(), mHistoryList); mListView.setAdapter(mAdapter); mListView.setOnItemClickListener(this::onHistoryItemClicked); } Loading Loading @@ -169,9 +171,16 @@ public class SearchFragment extends DialogFragment @Override public boolean onQueryTextChange(String s) { if (!TextUtils.isEmpty(mSearchView.getQuery())) { mSearchViewManager.setCurrentSearch(s); mSearchViewManager.restoreSearch(true); dismiss(); } else { mHistoryList = SearchHistoryManager.getInstance( mSearchView.getContext().getApplicationContext()).getHistoryList(""); mAdapter.clear(); mAdapter.addAll(mHistoryList); } return true; } Loading @@ -196,6 +205,8 @@ public class SearchFragment extends DialogFragment mHistoryList.remove(history); notifyDataSetChanged(); }); button.setContentDescription( getContext().getString(R.string.delete_search_history, history)); return convertView; } Loading
src/com/android/documentsui/queries/SearchViewManager.java +12 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,13 @@ public class SearchViewManager implements mSearchView.setOnCloseListener(this); mSearchView.setOnSearchClickListener(this); mSearchView.setOnQueryTextFocusChangeListener(this); final View clearButton = mSearchView.findViewById(R.id.search_close_btn); if (clearButton != null) { clearButton.setOnClickListener(v -> { mSearchView.setQuery("", false); mListener.onSearchViewClearClicked(); }); } mFullBar = isFullBarSearch; mSearchView.setMaxWidth(Integer.MAX_VALUE); Loading Loading @@ -588,5 +595,10 @@ public class SearchViewManager implements void onSearchChipStateChanged(View v); void onSearchViewFocusChanged(boolean hasFocus); /** * Call back when search view clear button clicked */ void onSearchViewClearClicked(); } }
tests/common/com/android/documentsui/bots/Bots.java +6 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ import android.support.test.uiautomator.UiObject2; import android.support.test.uiautomator.UiSelector; import android.support.test.uiautomator.Until; import androidx.test.InstrumentationRegistry; /** * Handy collection of bots for working with Files app. */ Loading Loading @@ -69,11 +71,15 @@ public final class Bots { public final UiDevice mDevice; final Context mContext; final int mTimeout; public final String mTargetPackage; BaseBot(UiDevice device, Context context, int timeout) { mDevice = device; mContext = context; mTimeout = timeout; mTargetPackage = InstrumentationRegistry.getInstrumentation() .getTargetContext().getPackageName(); } /** Loading