Merge "Don’t create dummy app info." into ub-launcher3-burnaby-polish
This commit is contained in:
@@ -25,6 +25,8 @@ import android.content.res.TypedArray;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Region;
|
import android.graphics.Region;
|
||||||
|
import android.graphics.drawable.BitmapDrawable;
|
||||||
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
@@ -187,6 +189,15 @@ public class BubbleTextView extends TextView
|
|||||||
verifyHighRes();
|
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.
|
* Overrides the default long press timeout.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -4678,18 +4678,6 @@ public class Launcher extends Activity
|
|||||||
UserHandleCompat.myUserHandle());
|
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
|
// TODO: This method should be a part of LauncherSearchCallback
|
||||||
public void startDrag(View dragView, ItemInfo dragInfo, DragSource source) {
|
public void startDrag(View dragView, ItemInfo dragInfo, DragSource source) {
|
||||||
dragView.setTag(dragInfo);
|
dragView.setTag(dragInfo);
|
||||||
@@ -4721,8 +4709,9 @@ public class Launcher extends Activity
|
|||||||
/**
|
/**
|
||||||
* Resizes an icon drawable to the correct icon size.
|
* 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);
|
icon.setBounds(0, 0, mDeviceProfile.iconSizePx, mDeviceProfile.iconSizePx);
|
||||||
|
return icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -336,15 +336,18 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
|
|||||||
|
|
||||||
// Precalculate the prediction icon and normal icon sizes
|
// Precalculate the prediction icon and normal icon sizes
|
||||||
LayoutInflater layoutInflater = LayoutInflater.from(getContext());
|
LayoutInflater layoutInflater = LayoutInflater.from(getContext());
|
||||||
BubbleTextView icon = (BubbleTextView) layoutInflater.inflate(R.layout.all_apps_icon, this, false);
|
BubbleTextView icon = (BubbleTextView) layoutInflater.inflate(
|
||||||
icon.applyFromApplicationInfo(mLauncher.createDummyAppInfo());
|
R.layout.all_apps_icon, this, false);
|
||||||
|
icon.applyDummyInfo();
|
||||||
icon.measure(MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST),
|
icon.measure(MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST),
|
||||||
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);
|
BubbleTextView predIcon = (BubbleTextView) layoutInflater.inflate(
|
||||||
predIcon.applyFromApplicationInfo(mLauncher.createDummyAppInfo());
|
R.layout.all_apps_prediction_bar_icon, this, false);
|
||||||
|
predIcon.applyDummyInfo();
|
||||||
predIcon.measure(MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST),
|
predIcon.measure(MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE, MeasureSpec.AT_MOST),
|
||||||
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();
|
updateBackgroundAndPaddings();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user