Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ca7d85d authored by The Android Open Source Project's avatar The Android Open Source Project
Browse files

manual merge 3a6645a1

Merge commit '3a6645a1'
parents 17f9599f 3a6645a1
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -63295,6 +63295,30 @@
 visibility="public"
>
</method>
<method name="invalidateAllKeys"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="invalidateKey"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="keyIndex" type="int">
</parameter>
</method>
<method name="isPreviewEnabled"
 return="boolean"
 abstract="false"
+22 −8
Original line number Diff line number Diff line
@@ -407,7 +407,7 @@ public class KeyboardView extends View implements View.OnClickListener {
        // Release buffer, just in case the new keyboard has a different size. 
        // It will be reallocated on the next draw.
        mBuffer = null;
        invalidateAll();
        invalidateAllKeys();
        computeProximityThreshold(keyboard);
        mMiniKeyboardCache.clear(); // Not really necessary to do every time, but will free up views
    }
@@ -431,7 +431,7 @@ public class KeyboardView extends View implements View.OnClickListener {
        if (mKeyboard != null) {
            if (mKeyboard.setShifted(shifted)) {
                // The whole keyboard probably needs to be redrawn
                invalidateAll();
                invalidateAllKeys();
                return true;
            }
        }
@@ -573,7 +573,7 @@ public class KeyboardView extends View implements View.OnClickListener {
        if (mBuffer == null) {
            mBuffer = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
            mCanvas = new Canvas(mBuffer);
            invalidateAll();
            invalidateAllKeys();
        }
        final Canvas canvas = mCanvas;
        canvas.clipRect(mDirtyRect, Op.REPLACE);
@@ -874,13 +874,27 @@ public class KeyboardView extends View implements View.OnClickListener {
        mPreviewText.setVisibility(VISIBLE);
    }

    private void invalidateAll() {
    /**
     * Requests a redraw of the entire keyboard. Calling {@link #invalidate} is not sufficient
     * because the keyboard renders the keys to an off-screen buffer and an invalidate() only 
     * draws the cached buffer.
     * @see #invalidateKey(int)
     */
    public void invalidateAllKeys() {
        mDirtyRect.union(0, 0, getWidth(), getHeight());
        mDrawPending = true;
        invalidate();
    }

    private void invalidateKey(int keyIndex) {
    /**
     * Invalidates a key so that it will be redrawn on the next repaint. Use this method if only
     * one key is changing it's content. Any changes that affect the position or size of the key
     * may not be honored.
     * @param keyIndex the index of the key in the attached {@link Keyboard}.
     * @see #invalidateAllKeys
     */
    public void invalidateKey(int keyIndex) {
        if (mKeys == null) return;
        if (keyIndex < 0 || keyIndex >= mKeys.length) {
            return;
        }
@@ -991,7 +1005,7 @@ public class KeyboardView extends View implements View.OnClickListener {
            mPopupKeyboard.showAtLocation(this, Gravity.NO_GRAVITY, x, y);
            mMiniKeyboardOnScreen = true;
            //mMiniKeyboard.onTouchEvent(getTranslatedEvent(me));
            invalidateAll();
            invalidateAllKeys();
            return true;
        }
        return false;
@@ -1164,7 +1178,7 @@ public class KeyboardView extends View implements View.OnClickListener {
        if (mPopupKeyboard.isShowing()) {
            mPopupKeyboard.dismiss();
            mMiniKeyboardOnScreen = false;
            invalidateAll();
            invalidateAllKeys();
        }
    }