summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2014-08-28 00:08:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-28 00:08:46 +0000
commite3b36d51049b3361192217eaaa275e75eaba1dd1 (patch)
tree29a33b9636e5074ae48878b13ee669736085ccf7
parent74dc410bd19e07cde8702ad9c33dc1c25332d664 (diff)
parent7661614383dc17d69a9b1fd819e4d610896d5205 (diff)
downloadandroid_packages_apps_Trebuchet-e3b36d51049b3361192217eaaa275e75eaba1dd1.tar.gz
android_packages_apps_Trebuchet-e3b36d51049b3361192217eaaa275e75eaba1dd1.tar.bz2
android_packages_apps_Trebuchet-e3b36d51049b3361192217eaaa275e75eaba1dd1.zip
Merge "Updating Clings UI" into ub-now-porkchop
-rw-r--r--res/drawable-hdpi/cling_bg.9.pngbin0 -> 1352 bytes
-rw-r--r--res/drawable-mdpi/cling_bg.9.pngbin0 -> 987 bytes
-rw-r--r--res/drawable-xhdpi/cling_bg.9.pngbin0 -> 1829 bytes
-rw-r--r--res/drawable-xxhdpi/cling_bg.9.pngbin0 -> 2936 bytes
-rw-r--r--res/layout-land/longpress_cling.xml24
-rw-r--r--res/layout-land/migration_cling.xml12
-rw-r--r--res/layout-port/longpress_cling.xml15
-rw-r--r--res/layout-port/migration_cling.xml8
-rw-r--r--res/layout-sw600dp-port/longpress_cling.xml25
-rw-r--r--res/layout-sw720dp/longpress_cling.xml22
-rw-r--r--res/layout/longpress_cling_content.xml14
-rw-r--r--res/layout/longpress_cling_welcome_content.xml21
-rw-r--r--res/values/attrs.xml7
-rw-r--r--src/com/android/launcher3/BorderCropDrawable.java90
-rw-r--r--src/com/android/launcher3/ClearCircleLayout.java118
-rw-r--r--src/com/android/launcher3/Launcher.java2
-rw-r--r--src/com/android/launcher3/LauncherClings.java34
17 files changed, 171 insertions, 221 deletions
diff --git a/res/drawable-hdpi/cling_bg.9.png b/res/drawable-hdpi/cling_bg.9.png
new file mode 100644
index 000000000..e173ba595
--- /dev/null
+++ b/res/drawable-hdpi/cling_bg.9.png
Binary files differ
diff --git a/res/drawable-mdpi/cling_bg.9.png b/res/drawable-mdpi/cling_bg.9.png
new file mode 100644
index 000000000..fc49c891c
--- /dev/null
+++ b/res/drawable-mdpi/cling_bg.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/cling_bg.9.png b/res/drawable-xhdpi/cling_bg.9.png
new file mode 100644
index 000000000..4db356f25
--- /dev/null
+++ b/res/drawable-xhdpi/cling_bg.9.png
Binary files differ
diff --git a/res/drawable-xxhdpi/cling_bg.9.png b/res/drawable-xxhdpi/cling_bg.9.png
new file mode 100644
index 000000000..dc9f69ae9
--- /dev/null
+++ b/res/drawable-xxhdpi/cling_bg.9.png
Binary files differ
diff --git a/res/layout-land/longpress_cling.xml b/res/layout-land/longpress_cling.xml
index ffae0bead..d1b30a822 100644
--- a/res/layout-land/longpress_cling.xml
+++ b/res/layout-land/longpress_cling.xml
@@ -1,22 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:id="@+id/longpress_cling"
android:layout_width="match_parent"
- android:layout_height="match_parent" >
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
- <com.android.launcher3.ClearCircleLayout
- android:id="@+id/cling_longpress_hole"
+ <Space
android:layout_width="match_parent"
- android:layout_height="match_parent"
- launcher:holeLocation="page_indicator" />
+ android:layout_height="0dp"
+ android:layout_weight="1" />
<FrameLayout
android:id="@+id/cling_content"
android:layout_width="360dp"
android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:background="#FF009688"
- android:elevation="6dp" />
+ android:layout_gravity="center_horizontal"
+ android:background="@drawable/cling_bg" />
-</FrameLayout> \ No newline at end of file
+ <Space
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="2" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/res/layout-land/migration_cling.xml b/res/layout-land/migration_cling.xml
index cc446fb68..4765524f3 100644
--- a/res/layout-land/migration_cling.xml
+++ b/res/layout-land/migration_cling.xml
@@ -58,7 +58,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:fontFamily="sans-serif-condensed"
+ android:fontFamily="sans-serif-medium"
android:text="@string/migration_cling_title"
android:textColor="#E1000000"
android:textSize="20sp" />
@@ -68,7 +68,7 @@
android:layout_height="wrap_content"
android:paddingBottom="24dp"
android:text="@string/migration_cling_description"
- android:textColor="#E1000000"
+ android:textColor="#99000000"
android:textSize="16sp" />
<LinearLayout
@@ -76,23 +76,23 @@
android:layout_height="wrap_content" >
<Button
+ android:id="@+id/cling_dismiss_migration_copy_apps"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:fontFamily="sans-serif-condensed"
- android:id="@+id/cling_dismiss_migration_copy_apps"
+ android:fontFamily="sans-serif-medium"
android:text="@string/migration_cling_copy_apps"
android:textColor="#FFFFFFFF"
android:textSize="14sp" />
<Button
+ android:id="@+id/cling_dismiss_migration_use_default"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:fontFamily="sans-serif-condensed"
- android:id="@+id/cling_dismiss_migration_use_default"
+ android:fontFamily="sans-serif-medium"
android:text="@string/migration_cling_use_default"
android:textColor="#deFFFFFF"
android:textSize="14sp" />
diff --git a/res/layout-port/longpress_cling.xml b/res/layout-port/longpress_cling.xml
index ec0321f5e..d0f1ab712 100644
--- a/res/layout-port/longpress_cling.xml
+++ b/res/layout-port/longpress_cling.xml
@@ -5,19 +5,12 @@
android:layout_width="match_parent"
android:layout_height="match_parent" >
- <com.android.launcher3.ClearCircleLayout
- android:id="@+id/cling_longpress_hole"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- launcher:holeLocation="center_screen" />
-
<FrameLayout
android:id="@+id/cling_content"
- android:layout_width="360dp"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_gravity="bottom"
- android:background="#FF009688"
- android:elevation="6dp"
- android:tag="slide_from_bottom" />
+ android:layout_gravity="top"
+ android:background="@drawable/cling_bg"
+ android:tag="crop_bg_top_and_sides" />
</FrameLayout> \ No newline at end of file
diff --git a/res/layout-port/migration_cling.xml b/res/layout-port/migration_cling.xml
index 5251e7bf6..932a9f4dd 100644
--- a/res/layout-port/migration_cling.xml
+++ b/res/layout-port/migration_cling.xml
@@ -60,7 +60,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:fontFamily="sans-serif-condensed"
+ android:fontFamily="sans-serif-medium"
android:text="@string/migration_cling_title"
android:textColor="#E1000000"
android:textSize="20sp" />
@@ -70,7 +70,7 @@
android:layout_height="wrap_content"
android:paddingBottom="24dp"
android:text="@string/migration_cling_description"
- android:textColor="#E1000000"
+ android:textColor="#99000000"
android:textSize="16sp" />
<LinearLayout
@@ -83,7 +83,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:fontFamily="sans-serif-condensed"
+ android:fontFamily="sans-serif-medium"
android:text="@string/migration_cling_copy_apps"
android:textColor="#FFFFFFFF"
android:textSize="14sp" />
@@ -94,7 +94,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:fontFamily="sans-serif-condensed"
+ android:fontFamily="sans-serif-medium"
android:text="@string/migration_cling_use_default"
android:textColor="#deFFFFFF"
android:textSize="14sp" />
diff --git a/res/layout-sw600dp-port/longpress_cling.xml b/res/layout-sw600dp-port/longpress_cling.xml
index 4b4cf9109..090adc58a 100644
--- a/res/layout-sw600dp-port/longpress_cling.xml
+++ b/res/layout-sw600dp-port/longpress_cling.xml
@@ -1,23 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
android:id="@+id/longpress_cling"
android:layout_width="match_parent"
- android:layout_height="match_parent" >
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
- <com.android.launcher3.ClearCircleLayout
- android:id="@+id/cling_longpress_hole"
+ <Space
android:layout_width="match_parent"
- android:layout_height="match_parent"
- launcher:holeLocation="center_screen" />
+ android:layout_height="0dp"
+ android:layout_weight="1" />
<FrameLayout
android:id="@+id/cling_content"
android:layout_width="360dp"
android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal|top"
- android:background="#FF009688"
- android:elevation="6dp"
- android:tag="slide_from_top" />
+ android:layout_gravity="center_horizontal"
+ android:background="@drawable/cling_bg" />
-</FrameLayout> \ No newline at end of file
+ <Space
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="3" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/res/layout-sw720dp/longpress_cling.xml b/res/layout-sw720dp/longpress_cling.xml
deleted file mode 100644
index ffae0bead..000000000
--- a/res/layout-sw720dp/longpress_cling.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3"
- android:id="@+id/longpress_cling"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
-
- <com.android.launcher3.ClearCircleLayout
- android:id="@+id/cling_longpress_hole"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- launcher:holeLocation="page_indicator" />
-
- <FrameLayout
- android:id="@+id/cling_content"
- android:layout_width="360dp"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:background="#FF009688"
- android:elevation="6dp" />
-
-</FrameLayout> \ No newline at end of file
diff --git a/res/layout/longpress_cling_content.xml b/res/layout/longpress_cling_content.xml
index 16bb49357..47a8e9797 100644
--- a/res/layout/longpress_cling_content.xml
+++ b/res/layout/longpress_cling_content.xml
@@ -3,11 +3,14 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:padding="48dp" >
+ android:paddingBottom="24dp"
+ android:paddingTop="36dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingLeft="36dp"
+ android:paddingRight="36dp"
android:text="@string/workspace_cling_longpress_title"
android:textColor="#E1000000"
android:textSize="24sp" />
@@ -16,8 +19,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
+ android:paddingLeft="36dp"
+ android:paddingRight="36dp"
android:text="@string/workspace_cling_longpress_description"
- android:textColor="#E1000000"
+ android:textColor="#99000000"
android:textSize="16sp" />
<Button
@@ -26,8 +31,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
- android:layout_marginTop="24dp"
- android:fontFamily="sans-serif-condensed"
+ android:layout_marginRight="12dp"
+ android:layout_marginTop="27dp"
+ android:fontFamily="sans-serif-medium"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:text="@string/workspace_cling_longpress_dismiss"
diff --git a/res/layout/longpress_cling_welcome_content.xml b/res/layout/longpress_cling_welcome_content.xml
index 4b3410b5e..dd4f8d767 100644
--- a/res/layout/longpress_cling_welcome_content.xml
+++ b/res/layout/longpress_cling_welcome_content.xml
@@ -3,12 +3,15 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:padding="48dp" >
+ android:paddingBottom="24dp"
+ android:paddingTop="36dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingBottom="16dp"
+ android:layout_marginBottom="8dp"
+ android:paddingLeft="36dp"
+ android:paddingRight="36dp"
android:text="@string/first_run_cling_title"
android:textColor="#E1000000"
android:textSize="34sp" />
@@ -16,7 +19,10 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:fontFamily="sans-serif-condensed"
+ android:layout_marginBottom="5.3dp"
+ android:fontFamily="sans-serif-medium"
+ android:paddingLeft="36dp"
+ android:paddingRight="36dp"
android:text="@string/workspace_cling_longpress_title"
android:textColor="#E1000000"
android:textSize="20sp" />
@@ -24,8 +30,10 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingLeft="36dp"
+ android:paddingRight="36dp"
android:text="@string/workspace_cling_longpress_description"
- android:textColor="#E1000000"
+ android:textColor="#99000000"
android:textSize="16sp" />
<Button
@@ -34,8 +42,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
- android:layout_marginTop="24dp"
- android:fontFamily="sans-serif-condensed"
+ android:layout_marginRight="12dp"
+ android:layout_marginTop="27dp"
+ android:fontFamily="sans-serif-medium"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:text="@string/workspace_cling_longpress_dismiss"
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index a2bdafcd8..c9743995a 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -25,13 +25,6 @@
<attr name="sourceViewId" format="integer" />
</declare-styleable>
- <!-- ClearCircleLayout specific attributes. These attributes are used to customize
- the cling in XML files. -->
- <declare-styleable name="ClearCircleLayout">
- <!-- Used to identify how to draw the cling bg -->
- <attr name="holeLocation" format="string" />
- </declare-styleable>
-
<!-- Page Indicator specific attributes. -->
<declare-styleable name="PageIndicator">
<attr name="windowSize" format="integer" />
diff --git a/src/com/android/launcher3/BorderCropDrawable.java b/src/com/android/launcher3/BorderCropDrawable.java
new file mode 100644
index 000000000..caf497d9b
--- /dev/null
+++ b/src/com/android/launcher3/BorderCropDrawable.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3;
+
+import android.graphics.Canvas;
+import android.graphics.ColorFilter;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+
+public class BorderCropDrawable extends Drawable {
+
+ private final Drawable mChild;
+ private final Rect mBoundsShift;
+ private final Rect mPadding;
+
+ BorderCropDrawable(Drawable child, boolean cropLeft,
+ boolean cropTop, boolean cropRight, boolean cropBottom) {
+ mChild = child;
+
+ mBoundsShift = new Rect();
+ mPadding = new Rect();
+ mChild.getPadding(mPadding);
+
+ if (cropLeft) {
+ mBoundsShift.left = -mPadding.left;
+ mPadding.left = 0;
+ }
+ if (cropTop) {
+ mBoundsShift.top = -mPadding.top;
+ mPadding.top = 0;
+ }
+ if (cropRight) {
+ mBoundsShift.right = mPadding.right;
+ mPadding.right = 0;
+ }
+ if (cropBottom) {
+ mBoundsShift.bottom = mPadding.bottom;
+ mPadding.bottom = 0;
+ }
+ }
+
+ @Override
+ protected void onBoundsChange(Rect bounds) {
+ mChild.setBounds(
+ bounds.left + mBoundsShift.left,
+ bounds.top + mBoundsShift.top,
+ bounds.right + mBoundsShift.right,
+ bounds.bottom + mBoundsShift.bottom);
+ }
+
+ @Override
+ public boolean getPadding(Rect padding) {
+ padding.set(mPadding);
+ return (padding.left | padding.top | padding.right | padding.bottom) != 0;
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ mChild.draw(canvas);
+ }
+
+ @Override
+ public int getOpacity() {
+ return mChild.getOpacity();
+ }
+
+ @Override
+ public void setAlpha(int alpha) {
+ mChild.setAlpha(alpha);
+ }
+
+ @Override
+ public void setColorFilter(ColorFilter cf) {
+ mChild.setColorFilter(cf);
+ }
+}
diff --git a/src/com/android/launcher3/ClearCircleLayout.java b/src/com/android/launcher3/ClearCircleLayout.java
deleted file mode 100644
index e48c84eef..000000000
--- a/src/com/android/launcher3/ClearCircleLayout.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Point;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffXfermode;
-import android.graphics.Rect;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.View;
-
-public class ClearCircleLayout extends View {
-
- private static final String HOLE_LOCATION_PAGE_INDICATOR = "page_indicator";
- private static final String HOLE_LOCATION_CENTER_SCREEN = "center_screen";
-
- private static final int BACKGROUND_COLOR = 0x80000000;
- private static float MIGRATION_WORKSPACE_INNER_CIRCLE_RADIUS_DPS = 42;
- private static float MIGRATION_WORKSPACE_OUTER_CIRCLE_RADIUS_DPS = 46;
-
- private final String mHoleLocation;
- private final Paint mErasePaint;
- private final Paint mBorderPaint;
-
- private Launcher mLauncher;
- private Point mHoleCenter;
- private DisplayMetrics mMetrics;
-
- public ClearCircleLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
-
- TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ClearCircleLayout);
- mHoleLocation = a.getString(R.styleable.ClearCircleLayout_holeLocation);
- a.recycle();
-
- mErasePaint = new Paint();
- mErasePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY));
- mErasePaint.setColor(0xFFFFFF);
- mErasePaint.setAlpha(0);
- mErasePaint.setAntiAlias(true);
-
- mBorderPaint = new Paint();
- mBorderPaint.setColor(0xFFFFFFFF);
- mBorderPaint.setAntiAlias(true);
- }
-
- void initHole(Launcher launcher) {
- mLauncher = launcher;
- mMetrics = new DisplayMetrics();
- launcher.getWindowManager().getDefaultDisplay().getMetrics(mMetrics);
-
- if (mHoleLocation.endsWith(HOLE_LOCATION_PAGE_INDICATOR)) {
- LauncherAppState app = LauncherAppState.getInstance();
- DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
-
- Rect indicator = grid.getWorkspacePageIndicatorBounds(new Rect());
- mHoleCenter = new Point(indicator.centerX(), indicator.centerY());
- } else if (mHoleLocation.endsWith(HOLE_LOCATION_CENTER_SCREEN)) {
- mHoleCenter = new Point(mMetrics.widthPixels / 2, mMetrics.heightPixels / 2);
- }
- }
-
- @Override
- protected void dispatchDraw(Canvas canvas) {
- if (mHoleCenter == null) {
- canvas.drawColor(BACKGROUND_COLOR);
- } else {
- drawHole(canvas);
- }
-
- super.dispatchDraw(canvas);
- }
-
- private void drawHole(Canvas canvas) {
- // Initialize the draw buffer (to allow punching through)
- Bitmap eraseBg = Bitmap.createBitmap(getMeasuredWidth(), getMeasuredHeight(),
- Bitmap.Config.ARGB_8888);
- Canvas eraseCanvas = new Canvas(eraseBg);
- eraseCanvas.drawColor(BACKGROUND_COLOR);
-
- Rect insets = mLauncher.getDragLayer().getInsets();
- float x = mHoleCenter.x - insets.left;
- float y = mHoleCenter.y - insets.top;
- // Draw the outer circle
- eraseCanvas.drawCircle(x, y,
- DynamicGrid.pxFromDp(MIGRATION_WORKSPACE_OUTER_CIRCLE_RADIUS_DPS, mMetrics),
- mBorderPaint);
-
- // Draw the inner circle
- eraseCanvas.drawCircle(x, y,
- DynamicGrid.pxFromDp(MIGRATION_WORKSPACE_INNER_CIRCLE_RADIUS_DPS, mMetrics),
- mErasePaint);
-
- canvas.drawBitmap(eraseBg, 0, 0, null);
- eraseCanvas.setBitmap(null);
- eraseBg.recycle();
- }
-}
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index e134d1b4d..dff98f2dc 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -506,7 +506,7 @@ public class Launcher extends Activity
if (mModel.canMigrateFromOldLauncherDb(this)) {
launcherClings.showMigrationCling();
} else {
- launcherClings.showLongPressCling(true);
+ launcherClings.showLongPressCling(false);
}
}
}
diff --git a/src/com/android/launcher3/LauncherClings.java b/src/com/android/launcher3/LauncherClings.java
index 840fb52c3..458d81f61 100644
--- a/src/com/android/launcher3/LauncherClings.java
+++ b/src/com/android/launcher3/LauncherClings.java
@@ -18,13 +18,12 @@ package com.android.launcher3;
import android.accounts.Account;
import android.accounts.AccountManager;
-import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
-import android.animation.ValueAnimator;
import android.app.ActivityManager;
import android.content.Context;
import android.content.SharedPreferences;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.UserManager;
import android.provider.Settings;
@@ -41,8 +40,7 @@ class LauncherClings implements OnClickListener {
private static final String MIGRATION_CLING_DISMISSED_KEY = "cling_gel.migration.dismissed";
private static final String WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.workspace.dismissed";
- private static final String ANIM_SLIDE_FROM_BOTTOM = "slide_from_bottom";
- private static final String ANIM_SLIDE_FROM_TOP = "slide_from_top";
+ private static final String TAG_CROP_TOP_AND_SIDES = "crop_bg_top_and_sides";
private static final boolean DISABLE_CLINGS = false;
@@ -124,10 +122,7 @@ class LauncherClings implements OnClickListener {
ViewGroup root = (ViewGroup) mLauncher.findViewById(R.id.launcher);
View cling = mInflater.inflate(R.layout.longpress_cling, root, false);
- final ClearCircleLayout hole = (ClearCircleLayout) cling.findViewById(R.id.cling_longpress_hole);
- hole.initHole(mLauncher);
- hole.setClickable(true);
- hole.setOnLongClickListener(new OnLongClickListener() {
+ cling.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
@@ -142,6 +137,12 @@ class LauncherClings implements OnClickListener {
: R.layout.longpress_cling_content, content);
content.findViewById(R.id.cling_dismiss_longpress_info).setOnClickListener(this);
+ if (TAG_CROP_TOP_AND_SIDES.equals(content.getTag())) {
+ Drawable bg = new BorderCropDrawable(mLauncher.getResources().getDrawable(R.drawable.cling_bg),
+ true, true, true, false);
+ content.setBackground(bg);
+ }
+
root.addView(cling);
if (showWelcome) {
@@ -156,29 +157,20 @@ class LauncherClings implements OnClickListener {
public void onGlobalLayout() {
content.getViewTreeObserver().removeOnGlobalLayoutListener(this);
- hole.setAlpha(0);
- ValueAnimator anim1 = LauncherAnimUtils.ofFloat(hole, "alpha", 1);
-
- ObjectAnimator anim2;
-
- if (ANIM_SLIDE_FROM_TOP.equals(content.getTag())) {
+ ObjectAnimator anim;
+ if (TAG_CROP_TOP_AND_SIDES.equals(content.getTag())) {
content.setTranslationY(-content.getMeasuredHeight());
- anim2 = LauncherAnimUtils.ofFloat(content, "translationY", 0);
- } else if (ANIM_SLIDE_FROM_BOTTOM.equals(content.getTag())) {
- content.setTranslationY(content.getMeasuredHeight());
- anim2 = LauncherAnimUtils.ofFloat(content, "translationY", 0);
+ anim = LauncherAnimUtils.ofFloat(content, "translationY", 0);
} else {
content.setScaleX(0);
content.setScaleY(0);
PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1);
PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1);
- anim2 = LauncherAnimUtils.ofPropertyValuesHolder(content, scaleX, scaleY);
+ anim = LauncherAnimUtils.ofPropertyValuesHolder(content, scaleX, scaleY);
}
- AnimatorSet anim = LauncherAnimUtils.createAnimatorSet();
anim.setDuration(SHOW_CLING_DURATION);
anim.setInterpolator(new LogDecelerateInterpolator(100, 0));
- anim.playTogether(anim1, anim2);
anim.start();
}
});