diff options
author | Michael Jurka <mikejurka@google.com> | 2012-10-08 13:28:37 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-08 13:28:38 -0700 |
commit | 6c5679e5ddbac06d555f1242a2cf082deb71de21 (patch) | |
tree | 697d10b63919712c6c6109ad16aed5607f7b4ea7 /src/com/android/launcher2/Launcher.java | |
parent | ec437d0e7e95420213abcebcb832eb10e8196a20 (diff) | |
parent | 22143131770f7e90be4181e88ced0cb1d7158306 (diff) | |
download | android_packages_apps_Trebuchet-6c5679e5ddbac06d555f1242a2cf082deb71de21.tar.gz android_packages_apps_Trebuchet-6c5679e5ddbac06d555f1242a2cf082deb71de21.tar.bz2 android_packages_apps_Trebuchet-6c5679e5ddbac06d555f1242a2cf082deb71de21.zip |
Merge "Fix bug 6886990: cling accessibility" into jb-mr1-dev
Diffstat (limited to 'src/com/android/launcher2/Launcher.java')
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index e31df56b3..a48740da3 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -300,6 +300,9 @@ public final class Launcher extends Activity private BubbleTextView mWaitingForResume; + private HideFromAccessibilityHelper mHideFromAccessibilityHelper + = new HideFromAccessibilityHelper(); + private Runnable mBuildLayersRunnable = new Runnable() { public void run() { if (mWorkspace != null) { @@ -3661,8 +3664,9 @@ public final class Launcher extends Activity return true; } + private Cling initCling(int clingId, int[] positionData, boolean animate, int delay) { - Cling cling = (Cling) findViewById(clingId); + final Cling cling = (Cling) findViewById(clingId); if (cling != null) { cling.init(this, positionData); cling.setVisibility(View.VISIBLE); @@ -3679,11 +3683,21 @@ public final class Launcher extends Activity } else { cling.setAlpha(1f); } + cling.setFocusableInTouchMode(true); + cling.post(new Runnable() { + public void run() { + cling.setFocusable(true); + cling.requestFocus(); + } + }); + mHideFromAccessibilityHelper.setImportantForAccessibilityToNo( + mDragLayer, clingId == R.id.all_apps_cling); } return cling; } + private void dismissCling(final Cling cling, final String flag, int duration) { - if (cling != null) { + if (cling != null && cling.getVisibility() == View.VISIBLE) { ObjectAnimator anim = LauncherAnimUtils.ofFloat(cling, "alpha", 0f); anim.setDuration(duration); anim.addListener(new AnimatorListenerAdapter() { @@ -3701,8 +3715,10 @@ public final class Launcher extends Activity }; }); anim.start(); + mHideFromAccessibilityHelper.restoreImportantForAccessibility(mDragLayer); } } + private void removeCling(int id) { final View cling = findViewById(id); if (cling != null) { @@ -3713,6 +3729,7 @@ public final class Launcher extends Activity parent.removeView(cling); } }); + mHideFromAccessibilityHelper.restoreImportantForAccessibility(mDragLayer); } } |