diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-08-14 10:53:27 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2014-08-19 18:03:06 -0700 |
commit | 508da15509224b46fcccabbe78f3e92fe69a67d8 (patch) | |
tree | 6c1601c69868b28d6e9abd2f1d4d916fe67686b1 /src/com/android/launcher3/PagedViewIcon.java | |
parent | f8177d383a86bf0e5230f70c1635fa044ed4b0be (diff) | |
download | android_packages_apps_Trebuchet-508da15509224b46fcccabbe78f3e92fe69a67d8.tar.gz android_packages_apps_Trebuchet-508da15509224b46fcccabbe78f3e92fe69a67d8.tar.bz2 android_packages_apps_Trebuchet-508da15509224b46fcccabbe78f3e92fe69a67d8.zip |
Updating the icon click feedback
> Using BubbleTextView everywhere, removed PagedIconView
> There is a brightness feedback on touch and shadow
feedback on click, until app launches
issue: 16878374
Change-Id: I3dc1149a123c8a75feca6210948398bf2187f1f2
Diffstat (limited to 'src/com/android/launcher3/PagedViewIcon.java')
-rw-r--r-- | src/com/android/launcher3/PagedViewIcon.java | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/src/com/android/launcher3/PagedViewIcon.java b/src/com/android/launcher3/PagedViewIcon.java deleted file mode 100644 index e819d5edf..000000000 --- a/src/com/android/launcher3/PagedViewIcon.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2010 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.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Region; -import android.graphics.drawable.Drawable; -import android.util.AttributeSet; -import android.util.TypedValue; -import android.widget.TextView; - -/** - * An icon on a PagedView, specifically for items in the launcher's paged view (with compound - * drawables on the top). - */ -public class PagedViewIcon extends TextView { - /** A simple callback interface to allow a PagedViewIcon to notify when it has been pressed */ - public static interface PressedCallback { - void iconPressed(PagedViewIcon icon); - } - - @SuppressWarnings("unused") - private static final String TAG = "PagedViewIcon"; - private static final float PRESS_ALPHA = 0.4f; - - private PagedViewIcon.PressedCallback mPressedCallback; - private boolean mLockDrawableState = false; - - private Bitmap mIcon; - - public PagedViewIcon(Context context) { - this(context, null); - } - - public PagedViewIcon(Context context, AttributeSet attrs) { - this(context, attrs, 0); - } - - public PagedViewIcon(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - public void onFinishInflate() { - super.onFinishInflate(); - - // Ensure we are using the right text size - LauncherAppState app = LauncherAppState.getInstance(); - DeviceProfile grid = app.getDynamicGrid().getDeviceProfile(); - setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx); - } - - public void applyFromApplicationInfo(AppInfo info, boolean scaleUp, - PagedViewIcon.PressedCallback cb) { - LauncherAppState app = LauncherAppState.getInstance(); - DeviceProfile grid = app.getDynamicGrid().getDeviceProfile(); - - mIcon = info.iconBitmap; - mPressedCallback = cb; - Drawable icon = Utilities.createIconDrawable(mIcon); - icon.setBounds(0, 0, grid.allAppsIconSizePx, grid.allAppsIconSizePx); - setCompoundDrawables(null, icon, null, null); - setCompoundDrawablePadding(grid.iconDrawablePaddingPx); - setText(info.title); - if (info.contentDescription != null) { - setContentDescription(info.contentDescription); - } - setTag(info); - } - - public void lockDrawableState() { - mLockDrawableState = true; - } - - public void resetDrawableState() { - mLockDrawableState = false; - post(new Runnable() { - @Override - public void run() { - refreshDrawableState(); - } - }); - } - - protected void drawableStateChanged() { - super.drawableStateChanged(); - - // We keep in the pressed state until resetDrawableState() is called to reset the press - // feedback - if (isPressed()) { - setAlpha(PRESS_ALPHA); - if (mPressedCallback != null) { - mPressedCallback.iconPressed(this); - } - } else if (!mLockDrawableState) { - setAlpha(1f); - } - } -} |