Invoke View#performLongClick()
Bug: 27489940
- Don't silently eat long-clicks in CalculatorResult's GestureDetector,
instead invoke View's normal long click listener.
Change-Id: I9afcc360ae4a3dda7126d096cc066a79cbe84ae9
diff --git a/src/com/android/calculator2/CalculatorResult.java b/src/com/android/calculator2/CalculatorResult.java
index 646b772..bfad8b4 100644
--- a/src/com/android/calculator2/CalculatorResult.java
+++ b/src/com/android/calculator2/CalculatorResult.java
@@ -47,13 +47,6 @@
// A larger value is unlikely to avoid running out of space
final OverScroller mScroller;
final GestureDetector mGestureDetector;
- class MyTouchListener implements View.OnTouchListener {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- return mGestureDetector.onTouchEvent(event);
- }
- }
- final MyTouchListener mTouchListener = new MyTouchListener();
private Evaluator mEvaluator;
private boolean mScrollable = false;
// A scrollable result is currently displayed.
@@ -158,12 +151,27 @@
@Override
public void onLongPress(MotionEvent e) {
if (mValid) {
- mActionMode = startActionMode(mCopyActionModeCallback,
- ActionMode.TYPE_FLOATING);
+ performLongClick();
}
}
});
- setOnTouchListener(mTouchListener);
+ setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ return mGestureDetector.onTouchEvent(event);
+ }
+ });
+ setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ if (mValid) {
+ mActionMode = startActionMode(mCopyActionModeCallback,
+ ActionMode.TYPE_FLOATING);
+ return true;
+ }
+ return false;
+ }
+ });
setHorizontallyScrolling(false); // do it ourselves
setCursorVisible(false);
mExponentColorSpan = new ForegroundColorSpan(