diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-08-26 10:54:08 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2014-08-27 10:57:03 -0700 |
commit | 7661614383dc17d69a9b1fd819e4d610896d5205 (patch) | |
tree | 4670029b02e75d62d7fd7743aa57dada399aba12 | |
parent | 424418bb50ccf5d9270650b70cc51f423da51a65 (diff) | |
download | android_packages_apps_Trebuchet-7661614383dc17d69a9b1fd819e4d610896d5205.tar.gz android_packages_apps_Trebuchet-7661614383dc17d69a9b1fd819e4d610896d5205.tar.bz2 android_packages_apps_Trebuchet-7661614383dc17d69a9b1fd819e4d610896d5205.zip |
Updating Clings UI
issue: 16127412
Change-Id: Ie5885cabbef086e3b08811da72af88d01c4405e7
-rw-r--r-- | res/drawable-hdpi/cling_bg.9.png | bin | 0 -> 1352 bytes | |||
-rw-r--r-- | res/drawable-mdpi/cling_bg.9.png | bin | 0 -> 987 bytes | |||
-rw-r--r-- | res/drawable-xhdpi/cling_bg.9.png | bin | 0 -> 1829 bytes | |||
-rw-r--r-- | res/drawable-xxhdpi/cling_bg.9.png | bin | 0 -> 2936 bytes | |||
-rw-r--r-- | res/layout-land/longpress_cling.xml | 24 | ||||
-rw-r--r-- | res/layout-land/migration_cling.xml | 12 | ||||
-rw-r--r-- | res/layout-port/longpress_cling.xml | 15 | ||||
-rw-r--r-- | res/layout-port/migration_cling.xml | 8 | ||||
-rw-r--r-- | res/layout-sw600dp-port/longpress_cling.xml | 25 | ||||
-rw-r--r-- | res/layout-sw720dp/longpress_cling.xml | 22 | ||||
-rw-r--r-- | res/layout/longpress_cling_content.xml | 14 | ||||
-rw-r--r-- | res/layout/longpress_cling_welcome_content.xml | 21 | ||||
-rw-r--r-- | res/values/attrs.xml | 7 | ||||
-rw-r--r-- | src/com/android/launcher3/BorderCropDrawable.java | 90 | ||||
-rw-r--r-- | src/com/android/launcher3/ClearCircleLayout.java | 118 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherClings.java | 34 |
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 Binary files differnew file mode 100644 index 000000000..e173ba595 --- /dev/null +++ b/res/drawable-hdpi/cling_bg.9.png diff --git a/res/drawable-mdpi/cling_bg.9.png b/res/drawable-mdpi/cling_bg.9.png Binary files differnew file mode 100644 index 000000000..fc49c891c --- /dev/null +++ b/res/drawable-mdpi/cling_bg.9.png diff --git a/res/drawable-xhdpi/cling_bg.9.png b/res/drawable-xhdpi/cling_bg.9.png Binary files differnew file mode 100644 index 000000000..4db356f25 --- /dev/null +++ b/res/drawable-xhdpi/cling_bg.9.png diff --git a/res/drawable-xxhdpi/cling_bg.9.png b/res/drawable-xxhdpi/cling_bg.9.png Binary files differnew file mode 100644 index 000000000..dc9f69ae9 --- /dev/null +++ b/res/drawable-xxhdpi/cling_bg.9.png 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(); } }); |