Loading src/com/android/documentsui/BaseActivity.java +26 −21 Original line number Diff line number Diff line Loading @@ -82,8 +82,7 @@ import java.util.Date; import java.util.List; import java.util.concurrent.Executor; public abstract class BaseActivity extends Activity implements SearchManagerListener, NavigationViewManager.Environment { public abstract class BaseActivity extends Activity implements NavigationViewManager.Environment { public final FileOperations.Callback fileOpCallback = (status, opType, docCount) -> { if (status == FileOperations.Callback.STATUS_REJECTED) { Loading Loading @@ -203,7 +202,6 @@ public abstract class BaseActivity extends Activity getContentResolver().registerContentObserver( RootsCache.sNotificationUri, false, mRootsCacheObserver); mSearchManager = new SearchViewManager(this, icicle, mState.sortModel); DocumentsToolbar toolbar = (DocumentsToolbar) findViewById(R.id.toolbar); setActionBar(toolbar); Loading @@ -213,7 +211,32 @@ public abstract class BaseActivity extends Activity assert(breadcrumb != null); mNavigator = new NavigationViewManager(mDrawer, toolbar, mState, this, breadcrumb); SearchManagerListener searchListener = new SearchManagerListener() { /** * Called when search results changed. Refreshes the content of the directory. It * doesn't refresh elements on the action bar. e.g. The current directory name displayed * on the action bar won't get updated. */ @Override public void onSearchChanged(@Nullable String query) { // We should not get here if root is not searchable assert (canSearchRoot()); reloadSearch(query); } @Override public void onSearchFinished() { // Restores menu icons state invalidateOptionsMenu(); } @Override public void onSearchViewChanged(boolean opened) { mState.sortModel.setSortEnabled(!opened); mNavigator.update(); } }; mSearchManager = new SearchViewManager(searchListener, icicle); mSortController = SortController.create(this, mState.derivedMode, mState.sortModel); Loading Loading @@ -426,24 +449,6 @@ public abstract class BaseActivity extends Activity public void springOpenDirectory(DocumentInfo doc) { } /** * Called when search results changed. * Refreshes the content of the directory. It doesn't refresh elements on the action bar. * e.g. The current directory name displayed on the action bar won't get updated. */ @Override public void onSearchChanged(@Nullable String query) { // We should not get here if root is not searchable assert(canSearchRoot()); reloadSearch(query); } @Override public void onSearchFinished() { // Restores menu icons state invalidateOptionsMenu(); } private void reloadSearch(String query) { FragmentManager fm = getFragmentManager(); RootInfo root = getCurrentRoot(); Loading src/com/android/documentsui/SearchViewManager.java +9 −19 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import android.widget.SearchView.OnQueryTextListener; import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.Shared; import com.android.documentsui.sorting.SortModel; /** * Manages searching UI behavior. Loading @@ -46,11 +45,12 @@ public class SearchViewManager implements public interface SearchManagerListener { void onSearchChanged(@Nullable String query); void onSearchFinished(); void onSearchViewChanged(boolean opened); } private static final String TAG = "SearchManager"; private final SearchManagerListener mListener; private SearchManagerListener mListener; private boolean mSearchExpanded; private String mCurrentSearch; private boolean mIgnoreNextClose; Loading @@ -60,18 +60,12 @@ public class SearchViewManager implements private MenuItem mMenuItem; private SearchView mSearchView; // We need to disable sorting during search. private SortModel mSortModel; public SearchViewManager( SearchManagerListener listener, @Nullable Bundle savedState, SortModel sortModel) { SearchManagerListener listener, @Nullable Bundle savedState) { assert (listener != null); mListener = listener; mCurrentSearch = savedState != null ? savedState.getString(Shared.EXTRA_QUERY) : null; mSortModel = sortModel; } public void setSearchMangerListener(SearchManagerListener listener) { mListener = listener; } public void install(DocumentsToolbar actionBar, boolean isFullBarSearch) { Loading Loading @@ -194,7 +188,7 @@ public class SearchViewManager implements menu.setGroupVisible(R.id.group_hide_when_searching, false); } mSortModel.setSortEnabled(false); mListener.onSearchViewChanged(true); } /** Loading @@ -213,17 +207,15 @@ public class SearchViewManager implements // Refresh the directory if a search was done if (mCurrentSearch != null) { mCurrentSearch = null; if (mListener != null) { mListener.onSearchChanged(mCurrentSearch); } } if(mFullBar) { mMenuItem.collapseActionView(); } mListener.onSearchFinished(); mSortModel.setSortEnabled(true); mListener.onSearchViewChanged(false); return false; } Loading @@ -249,9 +241,7 @@ public class SearchViewManager implements public boolean onQueryTextSubmit(String query) { mCurrentSearch = query; mSearchView.clearFocus(); if (mListener != null) { mListener.onSearchChanged(mCurrentSearch); } return true; } Loading tests/common/com/android/documentsui/testing/TestSearchViewManager.java +10 −9 Original line number Diff line number Diff line Loading @@ -16,10 +16,7 @@ package com.android.documentsui.testing; import android.os.Bundle; import com.android.documentsui.SearchViewManager; import com.android.documentsui.sorting.SortModel; /** * Test copy of {@link com.android.documentsui.SearchViewManager} Loading @@ -32,13 +29,17 @@ public class TestSearchViewManager extends SearchViewManager { boolean updateMenuCalled; boolean showMenuCalled; public TestSearchViewManager( SearchManagerListener listener, Bundle savedState, SortModel sortModel) { super(listener, savedState, sortModel); } public TestSearchViewManager() { super(null, null, null); super( new SearchManagerListener() { @Override public void onSearchChanged(String query) { } @Override public void onSearchFinished() { } @Override public void onSearchViewChanged(boolean opened) { } }, null); } @Override Loading Loading
src/com/android/documentsui/BaseActivity.java +26 −21 Original line number Diff line number Diff line Loading @@ -82,8 +82,7 @@ import java.util.Date; import java.util.List; import java.util.concurrent.Executor; public abstract class BaseActivity extends Activity implements SearchManagerListener, NavigationViewManager.Environment { public abstract class BaseActivity extends Activity implements NavigationViewManager.Environment { public final FileOperations.Callback fileOpCallback = (status, opType, docCount) -> { if (status == FileOperations.Callback.STATUS_REJECTED) { Loading Loading @@ -203,7 +202,6 @@ public abstract class BaseActivity extends Activity getContentResolver().registerContentObserver( RootsCache.sNotificationUri, false, mRootsCacheObserver); mSearchManager = new SearchViewManager(this, icicle, mState.sortModel); DocumentsToolbar toolbar = (DocumentsToolbar) findViewById(R.id.toolbar); setActionBar(toolbar); Loading @@ -213,7 +211,32 @@ public abstract class BaseActivity extends Activity assert(breadcrumb != null); mNavigator = new NavigationViewManager(mDrawer, toolbar, mState, this, breadcrumb); SearchManagerListener searchListener = new SearchManagerListener() { /** * Called when search results changed. Refreshes the content of the directory. It * doesn't refresh elements on the action bar. e.g. The current directory name displayed * on the action bar won't get updated. */ @Override public void onSearchChanged(@Nullable String query) { // We should not get here if root is not searchable assert (canSearchRoot()); reloadSearch(query); } @Override public void onSearchFinished() { // Restores menu icons state invalidateOptionsMenu(); } @Override public void onSearchViewChanged(boolean opened) { mState.sortModel.setSortEnabled(!opened); mNavigator.update(); } }; mSearchManager = new SearchViewManager(searchListener, icicle); mSortController = SortController.create(this, mState.derivedMode, mState.sortModel); Loading Loading @@ -426,24 +449,6 @@ public abstract class BaseActivity extends Activity public void springOpenDirectory(DocumentInfo doc) { } /** * Called when search results changed. * Refreshes the content of the directory. It doesn't refresh elements on the action bar. * e.g. The current directory name displayed on the action bar won't get updated. */ @Override public void onSearchChanged(@Nullable String query) { // We should not get here if root is not searchable assert(canSearchRoot()); reloadSearch(query); } @Override public void onSearchFinished() { // Restores menu icons state invalidateOptionsMenu(); } private void reloadSearch(String query) { FragmentManager fm = getFragmentManager(); RootInfo root = getCurrentRoot(); Loading
src/com/android/documentsui/SearchViewManager.java +9 −19 Original line number Diff line number Diff line Loading @@ -34,7 +34,6 @@ import android.widget.SearchView.OnQueryTextListener; import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.Shared; import com.android.documentsui.sorting.SortModel; /** * Manages searching UI behavior. Loading @@ -46,11 +45,12 @@ public class SearchViewManager implements public interface SearchManagerListener { void onSearchChanged(@Nullable String query); void onSearchFinished(); void onSearchViewChanged(boolean opened); } private static final String TAG = "SearchManager"; private final SearchManagerListener mListener; private SearchManagerListener mListener; private boolean mSearchExpanded; private String mCurrentSearch; private boolean mIgnoreNextClose; Loading @@ -60,18 +60,12 @@ public class SearchViewManager implements private MenuItem mMenuItem; private SearchView mSearchView; // We need to disable sorting during search. private SortModel mSortModel; public SearchViewManager( SearchManagerListener listener, @Nullable Bundle savedState, SortModel sortModel) { SearchManagerListener listener, @Nullable Bundle savedState) { assert (listener != null); mListener = listener; mCurrentSearch = savedState != null ? savedState.getString(Shared.EXTRA_QUERY) : null; mSortModel = sortModel; } public void setSearchMangerListener(SearchManagerListener listener) { mListener = listener; } public void install(DocumentsToolbar actionBar, boolean isFullBarSearch) { Loading Loading @@ -194,7 +188,7 @@ public class SearchViewManager implements menu.setGroupVisible(R.id.group_hide_when_searching, false); } mSortModel.setSortEnabled(false); mListener.onSearchViewChanged(true); } /** Loading @@ -213,17 +207,15 @@ public class SearchViewManager implements // Refresh the directory if a search was done if (mCurrentSearch != null) { mCurrentSearch = null; if (mListener != null) { mListener.onSearchChanged(mCurrentSearch); } } if(mFullBar) { mMenuItem.collapseActionView(); } mListener.onSearchFinished(); mSortModel.setSortEnabled(true); mListener.onSearchViewChanged(false); return false; } Loading @@ -249,9 +241,7 @@ public class SearchViewManager implements public boolean onQueryTextSubmit(String query) { mCurrentSearch = query; mSearchView.clearFocus(); if (mListener != null) { mListener.onSearchChanged(mCurrentSearch); } return true; } Loading
tests/common/com/android/documentsui/testing/TestSearchViewManager.java +10 −9 Original line number Diff line number Diff line Loading @@ -16,10 +16,7 @@ package com.android.documentsui.testing; import android.os.Bundle; import com.android.documentsui.SearchViewManager; import com.android.documentsui.sorting.SortModel; /** * Test copy of {@link com.android.documentsui.SearchViewManager} Loading @@ -32,13 +29,17 @@ public class TestSearchViewManager extends SearchViewManager { boolean updateMenuCalled; boolean showMenuCalled; public TestSearchViewManager( SearchManagerListener listener, Bundle savedState, SortModel sortModel) { super(listener, savedState, sortModel); } public TestSearchViewManager() { super(null, null, null); super( new SearchManagerListener() { @Override public void onSearchChanged(String query) { } @Override public void onSearchFinished() { } @Override public void onSearchViewChanged(boolean opened) { } }, null); } @Override Loading