aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/src/com/android/inputmethod/keyboard/MainKeyboardView.java26
1 files changed, 16 insertions, 10 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 95258ccdc..495cfa981 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -161,10 +161,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
private final TimerHandler mKeyTimerHandler;
private final int mLanguageOnSpacebarHorizontalMargin;
- private final DrawingHandler mDrawingHandler =
- new DrawingHandler(this);
+ private final DrawingHandler mDrawingHandler = new DrawingHandler(this);
- private final MainKeyboardAccessibilityDelegate mAccessibilityDelegate;
+ private MainKeyboardAccessibilityDelegate mAccessibilityDelegate;
public MainKeyboardView(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.mainKeyboardViewStyle);
@@ -262,8 +261,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
mLanguageOnSpacebarHorizontalMargin = (int)getResources().getDimension(
R.dimen.config_language_on_spacebar_horizontal_margin);
-
- mAccessibilityDelegate = new MainKeyboardAccessibilityDelegate(this, mKeyDetector);
}
@Override
@@ -384,7 +381,14 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap;
mLanguageOnSpacebarTextSize = keyHeight * mLanguageOnSpacebarTextRatio;
- mAccessibilityDelegate.setKeyboard(keyboard);
+ final MainKeyboardAccessibilityDelegate accessibilityDelegate;
+ if (AccessibilityUtils.getInstance().isAccessibilityEnabled()) {
+ accessibilityDelegate = new MainKeyboardAccessibilityDelegate(this, mKeyDetector);
+ accessibilityDelegate.setKeyboard(keyboard);
+ } else {
+ accessibilityDelegate = null;
+ }
+ mAccessibilityDelegate = accessibilityDelegate;
}
/**
@@ -726,8 +730,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
}
public void onHideWindow() {
- if (AccessibilityUtils.getInstance().isAccessibilityEnabled()) {
- mAccessibilityDelegate.onHideWindow();
+ final MainKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate;
+ if (accessibilityDelegate != null) {
+ accessibilityDelegate.onHideWindow();
}
}
@@ -736,8 +741,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
*/
@Override
public boolean onHoverEvent(final MotionEvent event) {
- if (AccessibilityUtils.getInstance().isTouchExplorationEnabled()) {
- return mAccessibilityDelegate.onHoverEvent(event);
+ final MainKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate;
+ if (accessibilityDelegate != null) {
+ return accessibilityDelegate.onHoverEvent(event);
}
return super.onHoverEvent(event);
}