summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWinson <winsonc@google.com>2015-09-30 15:33:00 -0700
committerWinson <winsonc@google.com>2015-09-30 15:44:05 -0700
commit5fbe0746dd0bc8b8ef187c616084e75e0d7c8468 (patch)
treed8109e29f6abc8e963d2ad62b9d743f72c26f83c
parent46a06da01cded4ba355381be41455f85f85369fa (diff)
downloadandroid_packages_apps_Trebuchet-5fbe0746dd0bc8b8ef187c616084e75e0d7c8468.tar.gz
android_packages_apps_Trebuchet-5fbe0746dd0bc8b8ef187c616084e75e0d7c8468.tar.bz2
android_packages_apps_Trebuchet-5fbe0746dd0bc8b8ef187c616084e75e0d7c8468.zip
Don’t create dummy app info.
Bug: 24539514 Change-Id: I5d14a4d9993e072451f8e7ed9a4cea219ae5d246
-rw-r--r--src/com/android/launcher3/BubbleTextView.java11
-rw-r--r--src/com/android/launcher3/Launcher.java15
-rw-r--r--src/com/android/launcher3/allapps/AllAppsContainerView.java13
3 files changed, 21 insertions, 18 deletions
diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java
index 0742b0e50..7e790c6ab 100644
--- a/src/com/android/launcher3/BubbleTextView.java
+++ b/src/com/android/launcher3/BubbleTextView.java
@@ -25,6 +25,8 @@ import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Region;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.AttributeSet;
@@ -188,6 +190,15 @@ public class BubbleTextView extends TextView
}
/**
+ * Used for measurement only, sets some dummy values on this view.
+ */
+ public void applyDummyInfo() {
+ ColorDrawable d = new ColorDrawable();
+ setIcon(mLauncher.resizeIconDrawable(d), mIconSize);
+ setText("");
+ }
+
+ /**
* Overrides the default long press timeout.
*/
public void setLongPressTimeout(int longPressTimeout) {
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 370f69586..56c8d76ca 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -4678,18 +4678,6 @@ public class Launcher extends Activity
UserHandleCompat.myUserHandle());
}
- /**
- * Generates a dummy AppInfo for us to use to calculate BubbleTextView sizes.
- */
- public AppInfo createDummyAppInfo() {
- Intent intent = new Intent();
- intent.setComponent(new ComponentName(this, Launcher.class));
- PackageManager pm = getPackageManager();
- ResolveInfo info = pm.resolveActivity(intent, 0);
- return new AppInfo(this, LauncherActivityInfoCompat.fromResolveInfo(info, this),
- UserHandleCompat.myUserHandle(), mIconCache);
- }
-
// TODO: This method should be a part of LauncherSearchCallback
public void startDrag(View dragView, ItemInfo dragInfo, DragSource source) {
dragView.setTag(dragInfo);
@@ -4721,8 +4709,9 @@ public class Launcher extends Activity
/**
* Resizes an icon drawable to the correct icon size.
*/
- public void resizeIconDrawable(Drawable icon) {
+ public Drawable resizeIconDrawable(Drawable icon) {
icon.setBounds(0, 0, mDeviceProfile.iconSizePx, mDeviceProfile.iconSizePx);
+ return icon;
}
/**
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index 90f132231..f9bb13450 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -336,15 +336,18 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
// Precalculate the prediction icon and normal icon sizes
LayoutInflater layoutInflater = LayoutInflater.from(getContext());
- BubbleTextView icon = (BubbleTextView) layoutInflater.inflate(R.layout.all_apps_icon, this, false);
- icon.applyFromApplicationInfo(mLauncher.createDummyAppInfo());
+ BubbleTextView icon = (BubbleTextView) layoutInflater.inflate(
+ R.layout.all_apps_icon, this, false);
+ icon.applyDummyInfo();
icon.measure(MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST),
MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST));
- BubbleTextView predIcon = (BubbleTextView) layoutInflater.inflate(R.layout.all_apps_prediction_bar_icon, this, false);
- predIcon.applyFromApplicationInfo(mLauncher.createDummyAppInfo());
+ BubbleTextView predIcon = (BubbleTextView) layoutInflater.inflate(
+ R.layout.all_apps_prediction_bar_icon, this, false);
+ predIcon.applyDummyInfo();
predIcon.measure(MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST),
MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST));
- mAppsRecyclerView.setPremeasuredIconHeights(predIcon.getMeasuredHeight(), icon.getMeasuredHeight());
+ mAppsRecyclerView.setPremeasuredIconHeights(predIcon.getMeasuredHeight(),
+ icon.getMeasuredHeight());
updateBackgroundAndPaddings();
}