From 65081e68944e51983dea5589e86d9d11de8e70af Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Tue, 30 Aug 2011 14:47:14 -0700 Subject: [PATCH] Fixed tutorial to read instructions after hover events. Change-Id: I64476ac8c935b6ae7ece41dd714b76cc46f94361 --- .../AccessibilityTutorialActivity.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/AccessibilityTutorialActivity.java b/src/com/android/settings/AccessibilityTutorialActivity.java index 5039970a32d..206aa94e20a 100644 --- a/src/com/android/settings/AccessibilityTutorialActivity.java +++ b/src/com/android/settings/AccessibilityTutorialActivity.java @@ -522,6 +522,9 @@ public class AccessibilityTutorialActivity extends Activity { /** Whether this module is currently focused. */ private boolean mIsVisible; + /** Handler for sending accessibility events after the current UI action. */ + private InstructionHandler mHandler = new InstructionHandler(); + /** * Constructs a new tutorial module for the given context and controller * with the specified layout. @@ -585,8 +588,11 @@ public class AccessibilityTutorialActivity extends Activity { return; } - final String text = getContext().getString(resId, formatArgs); + final String text = mContext.getString(resId, formatArgs); + mHandler.addInstruction(text); + } + private void addInstructionSync(CharSequence text) { mInstructions.setVisibility(View.VISIBLE); mInstructions.setText(text); mInstructions.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); @@ -661,6 +667,24 @@ public class AccessibilityTutorialActivity extends Activity { protected void setFinishVisible(boolean visible) { mFinish.setVisibility(visible ? VISIBLE : GONE); } + + private class InstructionHandler extends Handler { + private static final int ADD_INSTRUCTION = 1; + + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case ADD_INSTRUCTION: + final String text = (String) msg.obj; + addInstructionSync(text); + break; + } + } + + public void addInstruction(String text) { + obtainMessage(ADD_INSTRUCTION, text).sendToTarget(); + } + } } /**