Loading src/com/android/documentsui/SharedInputHandler.java +8 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ public class SharedInputHandler { private final FocusHandler mFocusManager; private final Procedure mSearchCanceler; private final Procedure mDirPopper; private final Runnable mSearchExecutor; private final Features mFeatures; private final SelectionTracker<String> mSelectionMgr; private final DrawerController mDrawer; Loading @@ -47,13 +48,15 @@ public class SharedInputHandler { Procedure searchCanceler, Procedure dirPopper, Features features, DrawerController drawer) { DrawerController drawer, Runnable searchExcutor) { mFocusManager = focusHandler; mSearchCanceler = searchCanceler; mSelectionMgr = selectionMgr; mDirPopper = dirPopper; mFeatures = features; mDrawer = drawer; mSearchExecutor = searchExcutor; } public boolean onKeyDown(int keyCode, KeyEvent event) { Loading @@ -73,6 +76,10 @@ public class SharedInputHandler { case KeyEvent.KEYCODE_TAB: return onTab(); case KeyEvent.KEYCODE_SEARCH: mSearchExecutor.run(); return true; default: // Instead of duplicating the switch-case in #isNavigationKeyCode, best just to // leave it here. Loading src/com/android/documentsui/files/FilesActivity.java +3 −4 Original line number Diff line number Diff line Loading @@ -159,7 +159,8 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons mInjector.searchManager::cancelSearch, this::popDir, mInjector.features, mDrawer); mDrawer, mInjector.searchManager::onSearchBarClicked); RootsFragment.show(getSupportFragmentManager(), null); Loading Loading @@ -360,9 +361,7 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return mActivityInputHandler.onKeyDown(keyCode, event) || mSharedInputHandler.onKeyDown( keyCode, event) || mSharedInputHandler.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); } Loading src/com/android/documentsui/picker/PickActivity.java +3 −4 Original line number Diff line number Diff line Loading @@ -146,7 +146,8 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { mInjector.searchManager::cancelSearch, this::popDir, mInjector.features, mDrawer); mDrawer, mInjector.searchManager::onSearchBarClicked); setupLayout(intent); mInjector.actions.initLocation(intent); Metrics.logPickerLaunchedFrom(Shared.getCallingPackageName(this)); Loading Loading @@ -389,9 +390,7 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { @CallSuper @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return mSharedInputHandler.onKeyDown( keyCode, event) return mSharedInputHandler.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); } Loading tests/unit/com/android/documentsui/SharedInputHandlerTest.java +23 −6 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class SharedInputHandlerTest { private TestDrawerController mDrawer = TestDrawerController.create(); private boolean mDirPopHappened; private boolean mCanceledSearch; private boolean mSearchExecuted; private Procedure mDirPopper = new Procedure() { @Override public boolean run() { Loading @@ -54,6 +55,12 @@ public class SharedInputHandlerTest { return true; } }; private Runnable mSearchExecutor = new Runnable() { @Override public void run() { mSearchExecuted = true; } }; @Before public void setUp() { Loading @@ -61,12 +68,11 @@ public class SharedInputHandlerTest { mSharedInputHandler = new SharedInputHandler( mFocusHandler, mSelectionMgr, () -> { return false; }, () -> false, mDirPopper, mFeatures, mDrawer); mDrawer, mSearchExecutor); } @Test Loading @@ -88,7 +94,8 @@ public class SharedInputHandlerTest { }, mDirPopper, new TestFeatures(), mDrawer); mDrawer, mSearchExecutor); KeyEvent backEvent = new KeyEvent(0, 0, MotionEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK, 0, 0); assertTrue(mSharedInputHandler.onKeyDown(backEvent.getKeyCode(), backEvent)); Loading Loading @@ -146,7 +153,8 @@ public class SharedInputHandlerTest { }, mDirPopper, new TestFeatures(), mDrawer); mDrawer, mSearchExecutor); KeyEvent escapeEvent = new KeyEvent(0, 0, MotionEvent.ACTION_DOWN, KeyEvent.KEYCODE_ESCAPE, 0, 0); assertTrue(mSharedInputHandler.onKeyDown(escapeEvent.getKeyCode(), escapeEvent)); Loading Loading @@ -208,4 +216,13 @@ public class SharedInputHandlerTest { assertTrue(mFocusHandler.focusDirectoryCalled); } @Test public void testSearchKey_LaunchSearchView() { KeyEvent searchEvent = new KeyEvent(0, 0, MotionEvent.ACTION_DOWN, KeyEvent.KEYCODE_SEARCH, 0, 0); assertTrue(mSharedInputHandler.onKeyDown(searchEvent.getKeyCode(), searchEvent)); assertTrue(mSearchExecuted); } } Loading
src/com/android/documentsui/SharedInputHandler.java +8 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ public class SharedInputHandler { private final FocusHandler mFocusManager; private final Procedure mSearchCanceler; private final Procedure mDirPopper; private final Runnable mSearchExecutor; private final Features mFeatures; private final SelectionTracker<String> mSelectionMgr; private final DrawerController mDrawer; Loading @@ -47,13 +48,15 @@ public class SharedInputHandler { Procedure searchCanceler, Procedure dirPopper, Features features, DrawerController drawer) { DrawerController drawer, Runnable searchExcutor) { mFocusManager = focusHandler; mSearchCanceler = searchCanceler; mSelectionMgr = selectionMgr; mDirPopper = dirPopper; mFeatures = features; mDrawer = drawer; mSearchExecutor = searchExcutor; } public boolean onKeyDown(int keyCode, KeyEvent event) { Loading @@ -73,6 +76,10 @@ public class SharedInputHandler { case KeyEvent.KEYCODE_TAB: return onTab(); case KeyEvent.KEYCODE_SEARCH: mSearchExecutor.run(); return true; default: // Instead of duplicating the switch-case in #isNavigationKeyCode, best just to // leave it here. Loading
src/com/android/documentsui/files/FilesActivity.java +3 −4 Original line number Diff line number Diff line Loading @@ -159,7 +159,8 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons mInjector.searchManager::cancelSearch, this::popDir, mInjector.features, mDrawer); mDrawer, mInjector.searchManager::onSearchBarClicked); RootsFragment.show(getSupportFragmentManager(), null); Loading Loading @@ -360,9 +361,7 @@ public class FilesActivity extends BaseActivity implements ActionHandler.Addons @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return mActivityInputHandler.onKeyDown(keyCode, event) || mSharedInputHandler.onKeyDown( keyCode, event) || mSharedInputHandler.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); } Loading
src/com/android/documentsui/picker/PickActivity.java +3 −4 Original line number Diff line number Diff line Loading @@ -146,7 +146,8 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { mInjector.searchManager::cancelSearch, this::popDir, mInjector.features, mDrawer); mDrawer, mInjector.searchManager::onSearchBarClicked); setupLayout(intent); mInjector.actions.initLocation(intent); Metrics.logPickerLaunchedFrom(Shared.getCallingPackageName(this)); Loading Loading @@ -389,9 +390,7 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { @CallSuper @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return mSharedInputHandler.onKeyDown( keyCode, event) return mSharedInputHandler.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); } Loading
tests/unit/com/android/documentsui/SharedInputHandlerTest.java +23 −6 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class SharedInputHandlerTest { private TestDrawerController mDrawer = TestDrawerController.create(); private boolean mDirPopHappened; private boolean mCanceledSearch; private boolean mSearchExecuted; private Procedure mDirPopper = new Procedure() { @Override public boolean run() { Loading @@ -54,6 +55,12 @@ public class SharedInputHandlerTest { return true; } }; private Runnable mSearchExecutor = new Runnable() { @Override public void run() { mSearchExecuted = true; } }; @Before public void setUp() { Loading @@ -61,12 +68,11 @@ public class SharedInputHandlerTest { mSharedInputHandler = new SharedInputHandler( mFocusHandler, mSelectionMgr, () -> { return false; }, () -> false, mDirPopper, mFeatures, mDrawer); mDrawer, mSearchExecutor); } @Test Loading @@ -88,7 +94,8 @@ public class SharedInputHandlerTest { }, mDirPopper, new TestFeatures(), mDrawer); mDrawer, mSearchExecutor); KeyEvent backEvent = new KeyEvent(0, 0, MotionEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK, 0, 0); assertTrue(mSharedInputHandler.onKeyDown(backEvent.getKeyCode(), backEvent)); Loading Loading @@ -146,7 +153,8 @@ public class SharedInputHandlerTest { }, mDirPopper, new TestFeatures(), mDrawer); mDrawer, mSearchExecutor); KeyEvent escapeEvent = new KeyEvent(0, 0, MotionEvent.ACTION_DOWN, KeyEvent.KEYCODE_ESCAPE, 0, 0); assertTrue(mSharedInputHandler.onKeyDown(escapeEvent.getKeyCode(), escapeEvent)); Loading Loading @@ -208,4 +216,13 @@ public class SharedInputHandlerTest { assertTrue(mFocusHandler.focusDirectoryCalled); } @Test public void testSearchKey_LaunchSearchView() { KeyEvent searchEvent = new KeyEvent(0, 0, MotionEvent.ACTION_DOWN, KeyEvent.KEYCODE_SEARCH, 0, 0); assertTrue(mSharedInputHandler.onKeyDown(searchEvent.getKeyCode(), searchEvent)); assertTrue(mSearchExecuted); } }