Loading core/java/com/android/internal/widget/PointerLocationView.java +33 −16 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; import android.view.ViewConfiguration; import android.view.WindowInsets; import android.view.WindowManagerPolicyConstants.PointerEventListener; import android.view.MotionEvent.PointerCoords; Loading Loading @@ -120,6 +121,7 @@ public class PointerLocationView extends View implements InputDeviceListener, private final Paint mPathPaint; private final FontMetricsInt mTextMetrics = new FontMetricsInt(); private int mHeaderBottom; private int mHeaderPaddingTop = 0; private boolean mCurDown; private int mCurNumPointers; private int mMaxNumPointers; Loading Loading @@ -190,11 +192,21 @@ public class PointerLocationView extends View implements InputDeviceListener, mPrintCoords = state; } @Override public WindowInsets onApplyWindowInsets(WindowInsets insets) { if (insets.getDisplayCutout() != null) { mHeaderPaddingTop = insets.getDisplayCutout().getSafeInsetTop(); } else { mHeaderPaddingTop = 0; } return super.onApplyWindowInsets(insets); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); mTextPaint.getFontMetricsInt(mTextMetrics); mHeaderBottom = -mTextMetrics.ascent+mTextMetrics.descent+2; mHeaderBottom = mHeaderPaddingTop-mTextMetrics.ascent+mTextMetrics.descent+2; if (false) { Log.i("foo", "Metrics: ascent=" + mTextMetrics.ascent + " descent=" + mTextMetrics.descent Loading Loading @@ -223,7 +235,7 @@ public class PointerLocationView extends View implements InputDeviceListener, protected void onDraw(Canvas canvas) { final int w = getWidth(); final int itemW = w/7; final int base = -mTextMetrics.ascent+1; final int base = mHeaderPaddingTop-mTextMetrics.ascent+1; final int bottom = mHeaderBottom; final int NP = mPointers.size(); Loading @@ -232,7 +244,7 @@ public class PointerLocationView extends View implements InputDeviceListener, if (mActivePointerId >= 0) { final PointerState ps = mPointers.get(mActivePointerId); canvas.drawRect(0, 0, itemW-1, bottom,mTextBackgroundPaint); canvas.drawRect(0, mHeaderPaddingTop, itemW-1, bottom,mTextBackgroundPaint); canvas.drawText(mText.clear() .append("P: ").append(mCurNumPointers) .append(" / ").append(mMaxNumPointers) Loading @@ -240,24 +252,26 @@ public class PointerLocationView extends View implements InputDeviceListener, final int N = ps.mTraceCount; if ((mCurDown && ps.mCurDown) || N == 0) { canvas.drawRect(itemW, 0, (itemW * 2) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW, mHeaderPaddingTop, (itemW * 2) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("X: ").append(ps.mCoords.x, 1) .toString(), 1 + itemW, base, mTextPaint); canvas.drawRect(itemW * 2, 0, (itemW * 3) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 2, mHeaderPaddingTop, (itemW * 3) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("Y: ").append(ps.mCoords.y, 1) .toString(), 1 + itemW * 2, base, mTextPaint); } else { float dx = ps.mTraceX[N - 1] - ps.mTraceX[0]; float dy = ps.mTraceY[N - 1] - ps.mTraceY[0]; canvas.drawRect(itemW, 0, (itemW * 2) - 1, bottom, canvas.drawRect(itemW, mHeaderPaddingTop, (itemW * 2) - 1, bottom, Math.abs(dx) < mVC.getScaledTouchSlop() ? mTextBackgroundPaint : mTextLevelPaint); canvas.drawText(mText.clear() .append("dX: ").append(dx, 1) .toString(), 1 + itemW, base, mTextPaint); canvas.drawRect(itemW * 2, 0, (itemW * 3) - 1, bottom, canvas.drawRect(itemW * 2, mHeaderPaddingTop, (itemW * 3) - 1, bottom, Math.abs(dy) < mVC.getScaledTouchSlop() ? mTextBackgroundPaint : mTextLevelPaint); canvas.drawText(mText.clear() Loading @@ -265,26 +279,29 @@ public class PointerLocationView extends View implements InputDeviceListener, .toString(), 1 + itemW * 2, base, mTextPaint); } canvas.drawRect(itemW * 3, 0, (itemW * 4) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 3, mHeaderPaddingTop, (itemW * 4) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("Xv: ").append(ps.mXVelocity, 3) .toString(), 1 + itemW * 3, base, mTextPaint); canvas.drawRect(itemW * 4, 0, (itemW * 5) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 4, mHeaderPaddingTop, (itemW * 5) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("Yv: ").append(ps.mYVelocity, 3) .toString(), 1 + itemW * 4, base, mTextPaint); canvas.drawRect(itemW * 5, 0, (itemW * 6) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 5, 0, (itemW * 5) + (ps.mCoords.pressure * itemW) - 1, bottom, mTextLevelPaint); canvas.drawRect(itemW * 5, mHeaderPaddingTop, (itemW * 6) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 5, mHeaderPaddingTop, (itemW * 5) + (ps.mCoords.pressure * itemW) - 1, bottom, mTextLevelPaint); canvas.drawText(mText.clear() .append("Prs: ").append(ps.mCoords.pressure, 2) .toString(), 1 + itemW * 5, base, mTextPaint); canvas.drawRect(itemW * 6, 0, w, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 6, 0, (itemW * 6) + (ps.mCoords.size * itemW) - 1, bottom, mTextLevelPaint); canvas.drawRect(itemW * 6, mHeaderPaddingTop, w, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 6, mHeaderPaddingTop, (itemW * 6) + (ps.mCoords.size * itemW) - 1, bottom, mTextLevelPaint); canvas.drawText(mText.clear() .append("Size: ").append(ps.mCoords.size, 2) .toString(), 1 + itemW * 6, base, mTextPaint); Loading Loading
core/java/com/android/internal/widget/PointerLocationView.java +33 −16 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; import android.view.ViewConfiguration; import android.view.WindowInsets; import android.view.WindowManagerPolicyConstants.PointerEventListener; import android.view.MotionEvent.PointerCoords; Loading Loading @@ -120,6 +121,7 @@ public class PointerLocationView extends View implements InputDeviceListener, private final Paint mPathPaint; private final FontMetricsInt mTextMetrics = new FontMetricsInt(); private int mHeaderBottom; private int mHeaderPaddingTop = 0; private boolean mCurDown; private int mCurNumPointers; private int mMaxNumPointers; Loading Loading @@ -190,11 +192,21 @@ public class PointerLocationView extends View implements InputDeviceListener, mPrintCoords = state; } @Override public WindowInsets onApplyWindowInsets(WindowInsets insets) { if (insets.getDisplayCutout() != null) { mHeaderPaddingTop = insets.getDisplayCutout().getSafeInsetTop(); } else { mHeaderPaddingTop = 0; } return super.onApplyWindowInsets(insets); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); mTextPaint.getFontMetricsInt(mTextMetrics); mHeaderBottom = -mTextMetrics.ascent+mTextMetrics.descent+2; mHeaderBottom = mHeaderPaddingTop-mTextMetrics.ascent+mTextMetrics.descent+2; if (false) { Log.i("foo", "Metrics: ascent=" + mTextMetrics.ascent + " descent=" + mTextMetrics.descent Loading Loading @@ -223,7 +235,7 @@ public class PointerLocationView extends View implements InputDeviceListener, protected void onDraw(Canvas canvas) { final int w = getWidth(); final int itemW = w/7; final int base = -mTextMetrics.ascent+1; final int base = mHeaderPaddingTop-mTextMetrics.ascent+1; final int bottom = mHeaderBottom; final int NP = mPointers.size(); Loading @@ -232,7 +244,7 @@ public class PointerLocationView extends View implements InputDeviceListener, if (mActivePointerId >= 0) { final PointerState ps = mPointers.get(mActivePointerId); canvas.drawRect(0, 0, itemW-1, bottom,mTextBackgroundPaint); canvas.drawRect(0, mHeaderPaddingTop, itemW-1, bottom,mTextBackgroundPaint); canvas.drawText(mText.clear() .append("P: ").append(mCurNumPointers) .append(" / ").append(mMaxNumPointers) Loading @@ -240,24 +252,26 @@ public class PointerLocationView extends View implements InputDeviceListener, final int N = ps.mTraceCount; if ((mCurDown && ps.mCurDown) || N == 0) { canvas.drawRect(itemW, 0, (itemW * 2) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW, mHeaderPaddingTop, (itemW * 2) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("X: ").append(ps.mCoords.x, 1) .toString(), 1 + itemW, base, mTextPaint); canvas.drawRect(itemW * 2, 0, (itemW * 3) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 2, mHeaderPaddingTop, (itemW * 3) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("Y: ").append(ps.mCoords.y, 1) .toString(), 1 + itemW * 2, base, mTextPaint); } else { float dx = ps.mTraceX[N - 1] - ps.mTraceX[0]; float dy = ps.mTraceY[N - 1] - ps.mTraceY[0]; canvas.drawRect(itemW, 0, (itemW * 2) - 1, bottom, canvas.drawRect(itemW, mHeaderPaddingTop, (itemW * 2) - 1, bottom, Math.abs(dx) < mVC.getScaledTouchSlop() ? mTextBackgroundPaint : mTextLevelPaint); canvas.drawText(mText.clear() .append("dX: ").append(dx, 1) .toString(), 1 + itemW, base, mTextPaint); canvas.drawRect(itemW * 2, 0, (itemW * 3) - 1, bottom, canvas.drawRect(itemW * 2, mHeaderPaddingTop, (itemW * 3) - 1, bottom, Math.abs(dy) < mVC.getScaledTouchSlop() ? mTextBackgroundPaint : mTextLevelPaint); canvas.drawText(mText.clear() Loading @@ -265,26 +279,29 @@ public class PointerLocationView extends View implements InputDeviceListener, .toString(), 1 + itemW * 2, base, mTextPaint); } canvas.drawRect(itemW * 3, 0, (itemW * 4) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 3, mHeaderPaddingTop, (itemW * 4) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("Xv: ").append(ps.mXVelocity, 3) .toString(), 1 + itemW * 3, base, mTextPaint); canvas.drawRect(itemW * 4, 0, (itemW * 5) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 4, mHeaderPaddingTop, (itemW * 5) - 1, bottom, mTextBackgroundPaint); canvas.drawText(mText.clear() .append("Yv: ").append(ps.mYVelocity, 3) .toString(), 1 + itemW * 4, base, mTextPaint); canvas.drawRect(itemW * 5, 0, (itemW * 6) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 5, 0, (itemW * 5) + (ps.mCoords.pressure * itemW) - 1, bottom, mTextLevelPaint); canvas.drawRect(itemW * 5, mHeaderPaddingTop, (itemW * 6) - 1, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 5, mHeaderPaddingTop, (itemW * 5) + (ps.mCoords.pressure * itemW) - 1, bottom, mTextLevelPaint); canvas.drawText(mText.clear() .append("Prs: ").append(ps.mCoords.pressure, 2) .toString(), 1 + itemW * 5, base, mTextPaint); canvas.drawRect(itemW * 6, 0, w, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 6, 0, (itemW * 6) + (ps.mCoords.size * itemW) - 1, bottom, mTextLevelPaint); canvas.drawRect(itemW * 6, mHeaderPaddingTop, w, bottom, mTextBackgroundPaint); canvas.drawRect(itemW * 6, mHeaderPaddingTop, (itemW * 6) + (ps.mCoords.size * itemW) - 1, bottom, mTextLevelPaint); canvas.drawText(mText.clear() .append("Size: ").append(ps.mCoords.size, 2) .toString(), 1 + itemW * 6, base, mTextPaint); Loading