package com.uiui.os.bean; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; import java.io.Serializable; public class DesktopIcon implements Serializable , Parcelable { private static final long serialVersionUID = 3358230413497783708L; String packageName; Drawable icon; String lable; int position; private DesktopIcon() { } private DesktopIcon(Parcel in) { packageName = in.readStringNoHelper(); lable = in.readStringNoHelper(); position = in.readInt(); } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeStringNoHelper(packageName); dest.writeStringNoHelper(lable); dest.writeInt(position); } @Override public int describeContents() { return 0; } public static final Creator CREATOR = new Creator() { @Override public DesktopIcon createFromParcel(Parcel in) { return new DesktopIcon(in); } @Override public DesktopIcon[] newArray(int size) { return new DesktopIcon[size]; } }; public String getPackageName() { return packageName; } public void setPackageName(String packageName) { this.packageName = packageName; } public Drawable getIcon() { return icon; } public void setIcon(Drawable icon) { this.icon = icon; } public String getLable() { return lable; } public void setLable(String lable) { this.lable = lable; } public int getPosition() { return position; } public void setPosition(int position) { this.position = position; } public static DesktopIcon creatDesktopIcon(Context context, ApplicationInfo applicationInfo) { PackageManager pm = context.getPackageManager(); DesktopIcon desktopIcon = new DesktopIcon(); desktopIcon.setPackageName(applicationInfo.packageName); desktopIcon.setIcon(applicationInfo.loadIcon(pm)); desktopIcon.setLable(applicationInfo.loadLabel(pm).toString()); desktopIcon.setPosition(0); return desktopIcon; } public static DesktopIcon creatDesktopIcon(Context context, ApplicationInfo applicationInfo, int position) { PackageManager pm = context.getPackageManager(); DesktopIcon desktopIcon = new DesktopIcon(); desktopIcon.setPackageName(applicationInfo.packageName); desktopIcon.setIcon(applicationInfo.loadIcon(pm)); desktopIcon.setLable(applicationInfo.loadLabel(pm).toString()); desktopIcon.setPosition(position); return desktopIcon; } }