Merge "Don’t create dummy app info." into ub-launcher3-burnaby-polish

This commit is contained in:
Winson Chung
2015-09-30 23:00:57 +00:00
committed by Android (Google) Code Review
3 changed files with 21 additions and 18 deletions

View File

@@ -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;
@@ -187,6 +189,15 @@ public class BubbleTextView extends TextView
verifyHighRes();
}
/**
* 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.
*/

View File

@@ -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;
}
/**

View File

@@ -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();
}