Loading src/com/android/documentsui/BaseActivity.java +5 −8 Original line number Diff line number Diff line Loading @@ -175,10 +175,6 @@ public abstract class BaseActivity */ @Override public void onSearchChanged(@Nullable String query) { if (query != null) { SearchFragment.dismissFragment(getSupportFragmentManager()); } if (mSearchManager.isSearching()) { Metrics.logSearchMode(query != null, mSearchManager.hasCheckedChip()); if (mInjector.pickResult != null) { Loading Loading @@ -227,10 +223,11 @@ public abstract class BaseActivity final boolean isInitailSearch = !TextUtils.isEmpty(mSearchManager.getCurrentSearch()) && TextUtils.isEmpty(mSearchManager.getSearchViewText()); if (hasFocus && (SearchFragment.get(getSupportFragmentManager()) == null) && !isInitailSearch) { if (hasFocus) { if (!isInitailSearch) { SearchFragment.showFragment(getSupportFragmentManager(), mSearchManager.getSearchViewText()); } } else { SearchFragment.dismissFragment(getSupportFragmentManager()); } Loading src/com/android/documentsui/queries/SearchFragment.java +3 −5 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.documentsui.queries; import android.content.Context; import android.graphics.Rect; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; Loading Loading @@ -104,6 +103,7 @@ public class SearchFragment extends Fragment{ final BaseActivity activity = (BaseActivity) getActivity(); final Injector injector = activity.getInjector(); mSearchViewManager = injector.searchManager; mSearchViewManager.setFragmentManager(this.getParentFragmentManager()); final String currentQuery = getArguments().getString(KEY_QUERY, ""); Loading @@ -124,12 +124,11 @@ public class SearchFragment extends Fragment{ View toolbar = getActivity().findViewById(R.id.toolbar_background_layout); if (toolbar != null) { // Align top with the bottom of search bar. Rect rect = new Rect(); toolbar.getGlobalVisibleRect(rect); FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); layoutParams.setMargins(0, rect.height(), 0, 0); layoutParams.setMargins(0, getResources().getDimensionPixelSize( R.dimen.action_bar_space_height), 0, 0); getView().setLayoutParams(layoutParams); } Loading @@ -152,7 +151,6 @@ public class SearchFragment extends Fragment{ mSearchViewManager.setHistorySearch(); mSearchViewManager.setCurrentSearch(item); mSearchViewManager.restoreSearch(true); dismiss(); } private void dismiss() { Loading src/com/android/documentsui/queries/SearchViewManager.java +17 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.SearchView.OnQueryTextListener; import androidx.fragment.app.FragmentManager; import com.android.documentsui.MetricConsts; import com.android.documentsui.Metrics; Loading Loading @@ -89,6 +90,7 @@ public class SearchViewManager implements private @Nullable Menu mMenu; private @Nullable MenuItem mMenuItem; private @Nullable SearchView mSearchView; private @Nullable FragmentManager mFragmentManager; public SearchViewManager( SearchManagerListener listener, Loading Loading @@ -244,6 +246,10 @@ public class SearchViewManager implements restoreSearch(true); } public void setFragmentManager(FragmentManager fragmentManager) { mFragmentManager = fragmentManager; } /** * Used to hide menu icons, when the search is being restored. Needed because search restoration * is done before onPrepareOptionsMenu(Menu menu) that is overriding the icons visibility. Loading Loading @@ -511,8 +517,17 @@ public class SearchViewManager implements @Override public boolean onQueryTextChange(String newText) { //Skip first search when search expanded if (!(mCurrentSearch == null && newText.isEmpty())) { if (mCurrentSearch == null && newText.isEmpty()) { return true; } performSearch(newText); if (mFragmentManager != null) { if (!newText.isEmpty()) { SearchFragment.dismissFragment(mFragmentManager); } else { SearchFragment.showFragment(mFragmentManager, ""); } } return true; } Loading Loading
src/com/android/documentsui/BaseActivity.java +5 −8 Original line number Diff line number Diff line Loading @@ -175,10 +175,6 @@ public abstract class BaseActivity */ @Override public void onSearchChanged(@Nullable String query) { if (query != null) { SearchFragment.dismissFragment(getSupportFragmentManager()); } if (mSearchManager.isSearching()) { Metrics.logSearchMode(query != null, mSearchManager.hasCheckedChip()); if (mInjector.pickResult != null) { Loading Loading @@ -227,10 +223,11 @@ public abstract class BaseActivity final boolean isInitailSearch = !TextUtils.isEmpty(mSearchManager.getCurrentSearch()) && TextUtils.isEmpty(mSearchManager.getSearchViewText()); if (hasFocus && (SearchFragment.get(getSupportFragmentManager()) == null) && !isInitailSearch) { if (hasFocus) { if (!isInitailSearch) { SearchFragment.showFragment(getSupportFragmentManager(), mSearchManager.getSearchViewText()); } } else { SearchFragment.dismissFragment(getSupportFragmentManager()); } Loading
src/com/android/documentsui/queries/SearchFragment.java +3 −5 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.documentsui.queries; import android.content.Context; import android.graphics.Rect; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; Loading Loading @@ -104,6 +103,7 @@ public class SearchFragment extends Fragment{ final BaseActivity activity = (BaseActivity) getActivity(); final Injector injector = activity.getInjector(); mSearchViewManager = injector.searchManager; mSearchViewManager.setFragmentManager(this.getParentFragmentManager()); final String currentQuery = getArguments().getString(KEY_QUERY, ""); Loading @@ -124,12 +124,11 @@ public class SearchFragment extends Fragment{ View toolbar = getActivity().findViewById(R.id.toolbar_background_layout); if (toolbar != null) { // Align top with the bottom of search bar. Rect rect = new Rect(); toolbar.getGlobalVisibleRect(rect); FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); layoutParams.setMargins(0, rect.height(), 0, 0); layoutParams.setMargins(0, getResources().getDimensionPixelSize( R.dimen.action_bar_space_height), 0, 0); getView().setLayoutParams(layoutParams); } Loading @@ -152,7 +151,6 @@ public class SearchFragment extends Fragment{ mSearchViewManager.setHistorySearch(); mSearchViewManager.setCurrentSearch(item); mSearchViewManager.restoreSearch(true); dismiss(); } private void dismiss() { Loading
src/com/android/documentsui/queries/SearchViewManager.java +17 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.SearchView.OnQueryTextListener; import androidx.fragment.app.FragmentManager; import com.android.documentsui.MetricConsts; import com.android.documentsui.Metrics; Loading Loading @@ -89,6 +90,7 @@ public class SearchViewManager implements private @Nullable Menu mMenu; private @Nullable MenuItem mMenuItem; private @Nullable SearchView mSearchView; private @Nullable FragmentManager mFragmentManager; public SearchViewManager( SearchManagerListener listener, Loading Loading @@ -244,6 +246,10 @@ public class SearchViewManager implements restoreSearch(true); } public void setFragmentManager(FragmentManager fragmentManager) { mFragmentManager = fragmentManager; } /** * Used to hide menu icons, when the search is being restored. Needed because search restoration * is done before onPrepareOptionsMenu(Menu menu) that is overriding the icons visibility. Loading Loading @@ -511,8 +517,17 @@ public class SearchViewManager implements @Override public boolean onQueryTextChange(String newText) { //Skip first search when search expanded if (!(mCurrentSearch == null && newText.isEmpty())) { if (mCurrentSearch == null && newText.isEmpty()) { return true; } performSearch(newText); if (mFragmentManager != null) { if (!newText.isEmpty()) { SearchFragment.dismissFragment(mFragmentManager); } else { SearchFragment.showFragment(mFragmentManager, ""); } } return true; } Loading