Wrap CalculatorText in custom HorizontalScrollView.
Bug: 15725073
This allows numbers to draw right up to the edge while
still maintaining left/right padding inside the containing TextView.
Change-Id: I86f2b2f7f0b2258b6790ed0a432f6d03d5656e31
diff --git a/src/com/android/calculator2/CalculatorText.java b/src/com/android/calculator2/CalculatorText.java
index ec45123..f03dfc3 100644
--- a/src/com/android/calculator2/CalculatorText.java
+++ b/src/com/android/calculator2/CalculatorText.java
@@ -23,7 +23,6 @@
import android.graphics.Rect;
import android.text.Layout;
import android.text.TextPaint;
-import android.text.method.ScrollingMovementMethod;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.ActionMode;
@@ -38,6 +37,8 @@
*/
public class CalculatorText extends AlignedTextView implements View.OnLongClickListener {
+ public static final String TAG_ACTION_MODE = "ACTION_MODE";
+
private final ActionMode.Callback2 mPasteActionModeCallback = new ActionMode.Callback2() {
@Override
@@ -52,6 +53,7 @@
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+ mode.setTag(TAG_ACTION_MODE);
final ClipboardManager clipboard = (ClipboardManager) getContext()
.getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard.hasPrimaryClip()) {
@@ -120,12 +122,6 @@
(mMaximumTextSize - mMinimumTextSize) / 3);
a.recycle();
- // Allow scrolling by default.
- setMovementMethod(ScrollingMovementMethod.getInstance());
-
- // Reset the clickable flag, which is added when specifying a movement method.
- setClickable(false);
-
// Add a long click to start the ActionMode manually.
setOnLongClickListener(this);
}
@@ -157,8 +153,6 @@
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
- public int getWidthConstraint() { return mWidthConstraint; }
-
@Override
protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) {
super.onTextChanged(text, start, lengthBefore, lengthAfter);