package com.uiuios.aios.bean; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; 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; String className; Drawable icon; String lable; int position; public DesktopIcon() { } private DesktopIcon(Parcel in) { packageName = in.readString(); lable = in.readString(); position = in.readInt(); } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(packageName); dest.writeString(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 String getClassName() { return className; } public void setClassName(String className) { this.className = className; } 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, ResolveInfo resolveInfo) { PackageManager pm = context.getPackageManager(); DesktopIcon desktopIcon = new DesktopIcon(); desktopIcon.setPackageName(resolveInfo.activityInfo.packageName); desktopIcon.setClassName(resolveInfo.activityInfo.name); desktopIcon.setIcon(resolveInfo.loadIcon(pm)); desktopIcon.setLable(resolveInfo.loadLabel(pm).toString()); desktopIcon.setPosition(0); return desktopIcon; } public static DesktopIcon creatDesktopIcon(Context context, ResolveInfo resolveInfo, int position) { PackageManager pm = context.getPackageManager(); DesktopIcon desktopIcon = new DesktopIcon(); desktopIcon.setPackageName(resolveInfo.activityInfo.packageName); desktopIcon.setClassName(resolveInfo.activityInfo.name); desktopIcon.setIcon(resolveInfo.loadIcon(pm)); desktopIcon.setLable(resolveInfo.loadLabel(pm).toString()); desktopIcon.setPosition(position); return desktopIcon; } }