118 lines
3.1 KiB
Java
118 lines
3.1 KiB
Java
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<DesktopIcon> CREATOR = new Creator<DesktopIcon>() {
|
|
@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;
|
|
}
|
|
|
|
}
|