summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-11-29 14:29:38 -0800
committerWinson Chung <winsonc@google.com>2012-11-29 14:30:30 -0800
commit7819abd2d191a170cbc9d4bd190001c465187a9d (patch)
tree63f5fd378c80fc9f7c33353cc9b128617229bae8
parent1ef2123ccdf35f2e20ab180111bfa76c46c997e3 (diff)
downloadandroid_packages_apps_Trebuchet-7819abd2d191a170cbc9d4bd190001c465187a9d.tar.gz
android_packages_apps_Trebuchet-7819abd2d191a170cbc9d4bd190001c465187a9d.tar.bz2
android_packages_apps_Trebuchet-7819abd2d191a170cbc9d4bd190001c465187a9d.zip
Fixing issue where the cling is offset. (Bug 7633074)
- Also fixing issue where the workspace cling was showing on top of AllApps when you entered it for the first time. Change-Id: I7d59ad153de192bc1d69537af1b4af632465138b
-rw-r--r--res/layout-land/launcher.xml27
-rw-r--r--res/layout-port/launcher.xml27
-rw-r--r--res/layout-sw720dp/launcher.xml27
-rw-r--r--src/com/android/launcher2/AppsCustomizePagedView.java3
-rw-r--r--src/com/android/launcher2/AppsCustomizeTabHost.java11
-rw-r--r--src/com/android/launcher2/Launcher.java4
6 files changed, 57 insertions, 42 deletions
diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml
index 0892352a9..051d8b25c 100644
--- a/res/layout-land/launcher.xml
+++ b/res/layout-land/launcher.xml
@@ -86,6 +86,21 @@
android:id="@+id/qsb_bar"
layout="@layout/qsb_bar" />
+ <!-- The Workspace cling must appear under the AppsCustomizePagedView below to ensure
+ that it is still visible during the transition to AllApps and doesn't overlay on
+ top of that view. -->
+ <include layout="@layout/workspace_cling"
+ android:id="@+id/workspace_cling"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+
+ <include layout="@layout/folder_cling"
+ android:id="@+id/folder_cling"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+
<com.android.launcher2.DrawableStateProxyView
android:id="@+id/voice_button_proxy"
android:layout_width="@dimen/qsb_bar_height"
@@ -102,17 +117,5 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible" />
-
- <include layout="@layout/workspace_cling"
- android:id="@+id/workspace_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:visibility="gone" />
-
- <include layout="@layout/folder_cling"
- android:id="@+id/folder_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:visibility="gone" />
</com.android.launcher2.DragLayer>
</FrameLayout> \ No newline at end of file
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml
index ad7eff4ba..445c85ea4 100644
--- a/res/layout-port/launcher.xml
+++ b/res/layout-port/launcher.xml
@@ -85,6 +85,21 @@
android:id="@+id/qsb_bar"
layout="@layout/qsb_bar" />
+ <!-- The Workspace cling must appear under the AppsCustomizePagedView below to ensure
+ that it is still visible during the transition to AllApps and doesn't overlay on
+ top of that view. -->
+ <include layout="@layout/workspace_cling"
+ android:id="@+id/workspace_cling"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+
+ <include layout="@layout/folder_cling"
+ android:id="@+id/folder_cling"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+
<com.android.launcher2.DrawableStateProxyView
android:id="@+id/voice_button_proxy"
android:layout_width="80dp"
@@ -100,17 +115,5 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible" />
-
- <include layout="@layout/workspace_cling"
- android:id="@+id/workspace_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:visibility="gone" />
-
- <include layout="@layout/folder_cling"
- android:id="@+id/folder_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:visibility="gone" />
</com.android.launcher2.DragLayer>
</FrameLayout> \ No newline at end of file
diff --git a/res/layout-sw720dp/launcher.xml b/res/layout-sw720dp/launcher.xml
index b5540423e..81a8f37da 100644
--- a/res/layout-sw720dp/launcher.xml
+++ b/res/layout-sw720dp/launcher.xml
@@ -85,6 +85,21 @@
android:id="@+id/qsb_bar"
layout="@layout/qsb_bar" />
+ <!-- The Workspace cling must appear under the AppsCustomizePagedView below to ensure
+ that it is still visible during the transition to AllApps and doesn't overlay on
+ top of that view. -->
+ <include layout="@layout/workspace_cling"
+ android:id="@+id/workspace_cling"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+
+ <include layout="@layout/folder_cling"
+ android:id="@+id/folder_cling"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+
<com.android.launcher2.DrawableStateProxyView
android:id="@+id/voice_button_proxy"
android:layout_width="80dp"
@@ -101,17 +116,5 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible" />
-
- <include layout="@layout/workspace_cling"
- android:id="@+id/workspace_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:visibility="gone" />
-
- <include layout="@layout/folder_cling"
- android:id="@+id/folder_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:visibility="gone" />
</com.android.launcher2.DragLayer>
</FrameLayout> \ No newline at end of file
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 6a959daff..4bfeb60b8 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -499,9 +499,10 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
int[] pos = mWidgetSpacingLayout.estimateCellPosition(mClingFocusedX, mClingFocusedY);
mLauncher.getDragLayer().getLocationInDragLayer(this, offset);
// PagedViews are centered horizontally but top aligned
+ // Note we have to shift the items up now that Launcher sits under the status bar
pos[0] += (getMeasuredWidth() - mWidgetSpacingLayout.getMeasuredWidth()) / 2 +
offset[0];
- pos[1] += offset[1];
+ pos[1] += offset[1] - mLauncher.getDragLayer().getPaddingTop();
mLauncher.showFirstRunAllAppsCling(pos);
}
}
diff --git a/src/com/android/launcher2/AppsCustomizeTabHost.java b/src/com/android/launcher2/AppsCustomizeTabHost.java
index 19bc6827f..5eb848306 100644
--- a/src/com/android/launcher2/AppsCustomizeTabHost.java
+++ b/src/com/android/launcher2/AppsCustomizeTabHost.java
@@ -418,11 +418,9 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona
}
if (!toWorkspace) {
- // Going from Workspace -> All Apps
- setVisibilityOfSiblingsWithLowerZOrder(INVISIBLE);
-
- // Dismiss the workspace cling and show the all apps cling (if not already shown)
+ // Dismiss the workspace cling
l.dismissWorkspaceCling(null);
+ // Show the all apps cling (if not already shown)
mAppsCustomizePane.showAllAppsCling();
// Make sure adjacent pages are loaded (we wait until after the transition to
// prevent slowing down the animation)
@@ -431,6 +429,11 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona
if (!LauncherApplication.isScreenLarge()) {
mAppsCustomizePane.hideScrollingIndicator(false);
}
+
+ // Going from Workspace -> All Apps
+ // NOTE: We should do this at the end since we check visibility state in some of the
+ // cling initialization/dismiss code above.
+ setVisibilityOfSiblingsWithLowerZOrder(INVISIBLE);
}
}
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 002b52045..a4ed91f73 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -3739,7 +3739,9 @@ public final class Launcher extends Activity
}
private void dismissCling(final Cling cling, final String flag, int duration) {
- if (cling != null && cling.getVisibility() == View.VISIBLE) {
+ // To catch cases where siblings of top-level views are made invisible, just check whether
+ // the cling is directly set to GONE before dismissing it.
+ if (cling != null && cling.getVisibility() != View.GONE) {
ObjectAnimator anim = LauncherAnimUtils.ofFloat(cling, "alpha", 0f);
anim.setDuration(duration);
anim.addListener(new AnimatorListenerAdapter() {