summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/Launcher.java
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-10-08 13:28:37 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-10-08 13:28:38 -0700
commit6c5679e5ddbac06d555f1242a2cf082deb71de21 (patch)
tree697d10b63919712c6c6109ad16aed5607f7b4ea7 /src/com/android/launcher2/Launcher.java
parentec437d0e7e95420213abcebcb832eb10e8196a20 (diff)
parent22143131770f7e90be4181e88ced0cb1d7158306 (diff)
downloadandroid_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.java21
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);
}
}