Merge "Making folders work in RTL (issue 8569879)" into jb-mr2-dev
diff --git a/res/layout-land/search_bar.xml b/res/layout-land/search_bar.xml
index af1670b..8cdee94 100644
--- a/res/layout-land/search_bar.xml
+++ b/res/layout-land/search_bar.xml
@@ -25,6 +25,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
+ android:scaleType="center"
android:src="@drawable/ic_home_search_normal_holo"
android:adjustViewBounds="true"
android:onClick="onClickSearchButton"
@@ -39,6 +40,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
+ android:scaleType="center"
android:src="@drawable/ic_home_voice_search_holo"
android:adjustViewBounds="true"
android:onClick="onClickVoiceButton"
diff --git a/res/layout-port/search_bar.xml b/res/layout-port/search_bar.xml
index 7cf79b8..62bdb22 100644
--- a/res/layout-port/search_bar.xml
+++ b/res/layout-port/search_bar.xml
@@ -41,6 +41,7 @@
android:id="@+id/search_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:scaleType="fitStart"
android:src="@drawable/ic_home_search_normal_holo"
android:adjustViewBounds="true" />
</com.android.launcher2.HolographicLinearLayout>
@@ -65,6 +66,7 @@
android:id="@+id/voice_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:scaleType="fitEnd"
android:src="@drawable/ic_home_voice_search_holo"
android:adjustViewBounds="true" />
</com.android.launcher2.HolographicLinearLayout>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e82f618..3fe53d2 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -56,7 +56,7 @@
<dimen name="app_icon_padding_top">8dp</dimen>
<!-- QSB -->
- <dimen name="toolbar_button_vertical_padding">0dip</dimen>
+ <dimen name="toolbar_button_vertical_padding">4dip</dimen>
<dimen name="toolbar_button_horizontal_padding">12dip</dimen>
<!-- External toolbar icon size (for bounds) -->
<dimen name="toolbar_external_icon_width">36dp</dimen>
diff --git a/src/com/android/launcher2/DragLayer.java b/src/com/android/launcher2/DragLayer.java
index a819cb7..fccc1a6 100644
--- a/src/com/android/launcher2/DragLayer.java
+++ b/src/com/android/launcher2/DragLayer.java
@@ -34,6 +34,7 @@
import android.view.ViewParent;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import android.widget.FrameLayout;
@@ -222,6 +223,31 @@
}
@Override
+ public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
+ Folder currentFolder = mLauncher.getWorkspace().getOpenFolder();
+ if (currentFolder != null) {
+ if (child == currentFolder) {
+ return super.onRequestSendAccessibilityEvent(child, event);
+ }
+ // Skip propagating onRequestSendAccessibilityEvent all for other children
+ // when a folder is open
+ return false;
+ }
+ return super.onRequestSendAccessibilityEvent(child, event);
+ }
+
+ @Override
+ public void addChildrenForAccessibility(ArrayList<View> childrenForAccessibility) {
+ Folder currentFolder = mLauncher.getWorkspace().getOpenFolder();
+ if (currentFolder != null) {
+ // Only add the folder as a child for accessibility when it is open
+ childrenForAccessibility.add(currentFolder);
+ } else {
+ super.addChildrenForAccessibility(childrenForAccessibility);
+ }
+ }
+
+ @Override
public boolean onHoverEvent(MotionEvent ev) {
// If we've received this, we've already done the necessary handling
// in onInterceptHoverEvent. Return true to consume the event.
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 9f97442..b20e3a5 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -2287,6 +2287,11 @@
}
folder.animateOpen();
growAndFadeOutFolderIcon(folderIcon);
+
+ // Notify the accessibility manager that this folder "window" has appeared and occluded
+ // the workspace items
+ folder.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+ getDragLayer().sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
}
public void closeFolder() {
@@ -2311,6 +2316,10 @@
shrinkAndFadeInFolderIcon(fi);
}
folder.animateClosed();
+
+ // Notify the accessibility manager that this folder "window" has disappeard and no
+ // longer occludeds the workspace items
+ getDragLayer().sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
}
public boolean onLongClick(View v) {