@Override public void onFingerDoubleTap(int x, int y) { myReader.runAction(ActionCode.HIDE_TOAST); myReader.runAction( getZoneMap() .getActionByCoordinates( x, y, getContextWidth(), getContextHeight(), TapZoneMap.Tap.doubleTap), x, y); }
@Override protected void releaseSelectionCursor() { super.releaseSelectionCursor(); if (getCountOfSelectedWords() > 0) { myReader.runAction(ActionCode.SELECTION_SHOW_PANEL); } }
@Override public void onFingerReleaseAfterLongPress(int x, int y) { final SelectionCursor.Which cursor = getSelectionCursorInMovement(); if (cursor != null) { releaseSelectionCursor(); return; } final ZLTextRegion region = getOutlinedRegion(); if (region != null) { final ZLTextRegion.Soul soul = region.getSoul(); boolean doRunAction = false; if (soul instanceof ZLTextWordRegionSoul) { doRunAction = myReader.MiscOptions.WordTappingAction.getValue() == MiscOptions.WordTappingActionEnum.openDictionary; } else if (soul instanceof ZLTextImageRegionSoul) { doRunAction = myReader.ImageOptions.TapAction.getValue() == ImageOptions.TapActionEnum.openImageView; } if (doRunAction) { myReader.runAction(ActionCode.PROCESS_HYPERLINK); } } }
@Override public void onFingerSingleTap(int x, int y) { final ZLTextRegion hyperlinkRegion = findRegion(x, y, maxSelectionDistance(), ZLTextRegion.HyperlinkFilter); if (hyperlinkRegion != null) { outlineRegion(hyperlinkRegion); myReader.getViewWidget().reset(); myReader.getViewWidget().repaint(); myReader.runAction(ActionCode.PROCESS_HYPERLINK); return; } final ZLTextRegion bookRegion = findRegion(x, y, 0, ZLTextRegion.ExtensionFilter); if (bookRegion != null) { myReader.runAction(ActionCode.DISPLAY_BOOK_POPUP, bookRegion); return; } final ZLTextRegion videoRegion = findRegion(x, y, 0, ZLTextRegion.VideoFilter); if (videoRegion != null) { outlineRegion(videoRegion); myReader.getViewWidget().reset(); myReader.getViewWidget().repaint(); myReader.runAction(ActionCode.OPEN_VIDEO, (ZLTextVideoRegionSoul) videoRegion.getSoul()); return; } final ZLTextHighlighting highlighting = findHighlighting(x, y, maxSelectionDistance()); if (highlighting instanceof BookmarkHighlighting) { myReader.runAction( ActionCode.SELECTION_BOOKMARK, ((BookmarkHighlighting) highlighting).Bookmark); return; } if (myReader.isActionEnabled(ActionCode.HIDE_TOAST)) { myReader.runAction(ActionCode.HIDE_TOAST); return; } onFingerSingleTapLastResort(x, y); }
@Override public boolean onFingerLongPress(int x, int y) { myReader.runAction(ActionCode.HIDE_TOAST); final ZLTextRegion region = findRegion(x, y, maxSelectionDistance(), ZLTextRegion.AnyRegionFilter); if (region != null) { final ZLTextRegion.Soul soul = region.getSoul(); boolean doSelectRegion = false; if (soul instanceof ZLTextWordRegionSoul) { switch (myReader.MiscOptions.WordTappingAction.getValue()) { case startSelecting: myReader.runAction(ActionCode.SELECTION_HIDE_PANEL); initSelection(x, y); final SelectionCursor.Which cursor = findSelectionCursor(x, y); if (cursor != null) { moveSelectionCursorTo(cursor, x, y); } return true; case selectSingleWord: case openDictionary: doSelectRegion = true; break; } } else if (soul instanceof ZLTextImageRegionSoul) { doSelectRegion = myReader.ImageOptions.TapAction.getValue() != ImageOptions.TapActionEnum.doNothing; } else if (soul instanceof ZLTextHyperlinkRegionSoul) { doSelectRegion = true; } if (doSelectRegion) { outlineRegion(region); myReader.getViewWidget().reset(); myReader.getViewWidget().repaint(); return true; } } return false; }
@Override public void onFingerPress(int x, int y) { myReader.runAction(ActionCode.HIDE_TOAST); final float maxDist = ZLibrary.Instance().getDisplayDPI() / 4; final SelectionCursor.Which cursor = findSelectionCursor(x, y, maxDist * maxDist); if (cursor != null) { myReader.runAction(ActionCode.SELECTION_HIDE_PANEL); moveSelectionCursorTo(cursor, x, y); return; } if (myReader.MiscOptions.AllowScreenBrightnessAdjustment.getValue() && x < getContextWidth() / 10) { myIsBrightnessAdjustmentInProgress = true; myStartY = y; myStartBrightness = myReader.getViewWidget().getScreenBrightness(); return; } startManualScrolling(x, y); }
private void onFingerSingleTapLastResort(int x, int y) { myReader.runAction( getZoneMap() .getActionByCoordinates( x, y, getContextWidth(), getContextHeight(), isDoubleTapSupported() ? TapZoneMap.Tap.singleNotDoubleTap : TapZoneMap.Tap.singleTap), x, y); }
@Override protected void onNewIntent(Intent intent) { final Uri data = intent.getData(); final FBReaderApp fbReader = (FBReaderApp) FBReaderApp.Instance(); if ((intent.getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0) { super.onNewIntent(intent); } else if (Intent.ACTION_VIEW.equals(intent.getAction()) && data != null && "fbreader-action".equals(data.getScheme())) { fbReader.runAction(data.getEncodedSchemeSpecificPart(), data.getFragment()); } else if (Intent.ACTION_SEARCH.equals(intent.getAction())) { final String pattern = intent.getStringExtra(SearchManager.QUERY); final Runnable runnable = new Runnable() { public void run() { final TextSearchPopup popup = (TextSearchPopup) fbReader.getPopupById(TextSearchPopup.ID); popup.initPosition(); fbReader.TextSearchPatternOption.setValue(pattern); if (fbReader.getTextView().search(pattern, true, false, false, false) != 0) { runOnUiThread( new Runnable() { public void run() { fbReader.showPopup(popup.getId()); } }); } else { runOnUiThread( new Runnable() { public void run() { UIUtil.showErrorMessage(FBReader.this, "textNotFound"); popup.StartPosition = null; } }); } } }; UIUtil.wait("search", runnable, this); } else { super.onNewIntent(intent); } }