Merge "Create AccessibilityDelegate only when accessibility mode is on"

main
Tadashi G. Takaoka 2014-06-02 10:12:52 +00:00 committed by Android (Google) Code Review
commit d427d3b0fa
1 changed files with 16 additions and 10 deletions

View File

@ -161,10 +161,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
private final TimerHandler mKeyTimerHandler; private final TimerHandler mKeyTimerHandler;
private final int mLanguageOnSpacebarHorizontalMargin; private final int mLanguageOnSpacebarHorizontalMargin;
private final DrawingHandler mDrawingHandler = private final DrawingHandler mDrawingHandler = new DrawingHandler(this);
new DrawingHandler(this);
private final MainKeyboardAccessibilityDelegate mAccessibilityDelegate; private MainKeyboardAccessibilityDelegate mAccessibilityDelegate;
public MainKeyboardView(final Context context, final AttributeSet attrs) { public MainKeyboardView(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.mainKeyboardViewStyle); this(context, attrs, R.attr.mainKeyboardViewStyle);
@ -262,8 +261,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
mLanguageOnSpacebarHorizontalMargin = (int)getResources().getDimension( mLanguageOnSpacebarHorizontalMargin = (int)getResources().getDimension(
R.dimen.config_language_on_spacebar_horizontal_margin); R.dimen.config_language_on_spacebar_horizontal_margin);
mAccessibilityDelegate = new MainKeyboardAccessibilityDelegate(this, mKeyDetector);
} }
@Override @Override
@ -384,7 +381,14 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap; final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap;
mLanguageOnSpacebarTextSize = keyHeight * mLanguageOnSpacebarTextRatio; 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() { public void onHideWindow() {
if (AccessibilityUtils.getInstance().isAccessibilityEnabled()) { final MainKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate;
mAccessibilityDelegate.onHideWindow(); if (accessibilityDelegate != null) {
accessibilityDelegate.onHideWindow();
} }
} }
@ -736,8 +741,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
*/ */
@Override @Override
public boolean onHoverEvent(final MotionEvent event) { public boolean onHoverEvent(final MotionEvent event) {
if (AccessibilityUtils.getInstance().isTouchExplorationEnabled()) { final MainKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate;
return mAccessibilityDelegate.onHoverEvent(event); if (accessibilityDelegate != null) {
return accessibilityDelegate.onHoverEvent(event);
} }
return super.onHoverEvent(event); return super.onHoverEvent(event);
} }