version:1.7.1
fix: update:更换图标,添加应用页面
This commit is contained in:
@@ -3,7 +3,12 @@ package com.uiui.zyos.bean;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.PixelFormat;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.VectorDrawable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -99,7 +104,18 @@ public class DesktopIcon implements Serializable, Parcelable {
|
||||
DesktopIcon desktopIcon = new DesktopIcon();
|
||||
desktopIcon.setPackageName(resolveInfo.activityInfo.packageName);
|
||||
desktopIcon.setClassName(resolveInfo.activityInfo.name);
|
||||
desktopIcon.setIcon(resolveInfo.loadIcon(pm));
|
||||
Drawable drawable = resolveInfo.loadIcon(pm);
|
||||
if (drawable instanceof VectorDrawable) {
|
||||
Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(),
|
||||
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
|
||||
Canvas canvas = new Canvas(bitmap);
|
||||
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
|
||||
drawable.draw(canvas);
|
||||
Drawable d = new BitmapDrawable(context.getResources(), bitmap);
|
||||
desktopIcon.setIcon(d);
|
||||
} else {
|
||||
desktopIcon.setIcon(drawable);
|
||||
}
|
||||
desktopIcon.setLable(resolveInfo.loadLabel(pm).toString());
|
||||
desktopIcon.setPosition(0);
|
||||
return desktopIcon;
|
||||
|
||||
Reference in New Issue
Block a user