MCPcopy Create free account
hub / github.com/buggins/coolreader / onKeyUp

Method onKeyUp

android/src/org/coolreader/crengine/ReaderView.java:413–508  ·  view source on GitHub ↗
(int keyCode, final KeyEvent event)

Source from the content-addressed store, hash-verified

411 private long currentDoubleClickActionStart = 0;
412 private int currentDoubleClickActionKeyCode = 0;
413 @Override
414 public boolean onKeyUp(int keyCode, final KeyEvent event) {
415 if (keyCode == 0)
416 keyCode = event.getScanCode();
417 keyCode = translateKeyCode(keyCode);
418 if (currentImageViewer != null)
419 return currentImageViewer.onKeyUp(keyCode, event);
420 if ( keyCode==KeyEvent.KEYCODE_VOLUME_DOWN || keyCode==KeyEvent.KEYCODE_VOLUME_UP ) {
421 if (isAutoScrollActive())
422 return true;
423 if ( !enableVolumeKeys )
424 return super.onKeyUp(keyCode, event);
425 }
426 if (isAutoScrollActive()) {
427 stopAutoScroll();
428 return true;
429 }
430 if ( keyCode==KeyEvent.KEYCODE_POWER || keyCode==KeyEvent.KEYCODE_ENDCALL ) {
431 mActivity.releaseBacklightControl();
432 return false;
433 }
434 boolean tracked = isTracked(event);
435// if ( keyCode!=KeyEvent.KEYCODE_BACK )
436// backKeyDownHere = false;
437 mActivity.onUserActivity();
438
439 if ( keyCode==KeyEvent.KEYCODE_BACK && !tracked )
440 return true;
441 //backKeyDownHere = false;
442
443 // apply orientation
444 keyCode = overrideKey( keyCode );
445 boolean isLongPress = false;
446 Long keyDownTs = keyDownTimestampMap.get(keyCode);
447 if ( keyDownTs!=null && System.currentTimeMillis()-keyDownTs>=LONG_KEYPRESS_TIME )
448 isLongPress = true;
449 ReaderAction action = ReaderAction.findForKey( keyCode, mSettings );
450 ReaderAction longAction = ReaderAction.findForLongKey( keyCode, mSettings );
451 ReaderAction dblAction = ReaderAction.findForDoubleKey( keyCode, mSettings );
452 stopTracking();
453
454 if ( keyCode>=KeyEvent.KEYCODE_0 && keyCode<=KeyEvent.KEYCODE_9 && tracked ) {
455 // goto/set shortcut bookmark
456 int shortcut = keyCode - KeyEvent.KEYCODE_0;
457 if ( shortcut==0 )
458 shortcut = 10;
459 if ( isLongPress )
460 addBookmark(shortcut);
461 else
462 goToBookmark(shortcut);
463 return true;
464 }
465 if ( action.isNone() || !tracked ) {
466 return super.onKeyUp(keyCode, event);
467 }
468 if ( !action.isNone() && action.canRepeat() && longAction.isRepeat() ) {
469 // already processed by onKeyDown()
470 return true;

Callers

nothing calls this directly

Calls 15

translateKeyCodeMethod · 0.95
isAutoScrollActiveMethod · 0.95
stopAutoScrollMethod · 0.95
isTrackedMethod · 0.95
overrideKeyMethod · 0.95
findForKeyMethod · 0.95
findForLongKeyMethod · 0.95
findForDoubleKeyMethod · 0.95
stopTrackingMethod · 0.95
addBookmarkMethod · 0.95
goToBookmarkMethod · 0.95
isNoneMethod · 0.95

Tested by

no test coverage detected