@@ -228,6 +228,7 @@ public void setKeyboard(final Keyboard keyboard) {
228228 keyboardFillPaint .setColor (keyboard .fillColour );
229229 if (shiftMode != SHIFT_PERSISTENT ) {
230230 shiftMode = SHIFT_DISABLED ;
231+ keyPreviewPlane .updateShiftMode (shiftMode );
231232 }
232233 requestLayout ();
233234 }
@@ -540,6 +541,7 @@ private void sendDownEvent(
540541
541542 if (shiftPointerId != NONEXISTENT_POINTER_ID ) {
542543 shiftMode = SHIFT_HELD ;
544+ keyPreviewPlane .updateShiftMode (shiftMode );
543545 }
544546
545547 activeKey = key ;
@@ -611,6 +613,7 @@ else if (key != null) {
611613
612614 if (shiftMode == SHIFT_SINGLE ) {
613615 shiftMode = SHIFT_DISABLED ;
616+ keyPreviewPlane .updateShiftMode (shiftMode );
614617 }
615618 }
616619
@@ -633,24 +636,24 @@ private void sendShiftDownEvent(final int pointerId) {
633636 ? SHIFT_INITIATED
634637 : SHIFT_HELD
635638 );
639+ keyPreviewPlane .updateShiftMode (shiftMode );
636640 }
637641 shiftPointerId = pointerId ;
638642
639- keyPreviewPlane .updateShiftMode (shiftMode );
640643 invalidate ();
641644 }
642645
643646 private void sendShiftMoveToEvent (final int pointerId ) {
644647
645648 shiftMode = SHIFT_HELD ;
646649 shiftPointerId = pointerId ;
650+ keyPreviewPlane .updateShiftMode (shiftMode );
647651
648652 activeKey = null ;
649653 activePointerId = NONEXISTENT_POINTER_ID ;
650654
651655 removeAllExtendedPressHandlerMessages ();
652656 keyPreviewPlane .dismissLatest ();
653- keyPreviewPlane .updateShiftMode (shiftMode );
654657 invalidate ();
655658 }
656659
@@ -690,8 +693,8 @@ private void sendShiftUpEvent(boolean shouldRedrawKeyboard) {
690693 break ;
691694 }
692695 shiftPointerId = NONEXISTENT_POINTER_ID ;
693-
694696 keyPreviewPlane .updateShiftMode (shiftMode );
697+
695698 if (shouldRedrawKeyboard ) {
696699 invalidate ();
697700 }
0 commit comments