Files
VscoolOS/app/src/main/java/com/uiuios/aios/bean/DesktopIcon.java
Fanhuitong 16b3ac501e version:5.2
fix:
update:修改日常应用,取消通知权限,亮度调整
2024-04-22 10:56:09 +08:00

129 lines
3.3 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 androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.google.gson.JsonParser;
import java.io.Serializable;
public class DesktopIcon implements Serializable, Parcelable {
private static final long serialVersionUID = 3358230413497783708L;
protected String mTitle;
protected String mClass;
protected String mPackage;
protected Drawable icon;
int position;
public DesktopIcon() {
}
private DesktopIcon(Parcel in) {
mPackage = in.readString();
mTitle = in.readString();
position = in.readInt();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(mPackage);
dest.writeString(mTitle);
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 getPackage() {
return mPackage;
}
public void setPackage(String aPackage) {
this.mPackage = aPackage;
}
public String getClazz() {
return mClass;
}
public void setClass(String aClass) {
this.mClass = aClass;
}
public Drawable getIcon() {
return icon;
}
public void setIcon(Drawable icon) {
this.icon = icon;
}
public String getTitle() {
return mTitle;
}
public void setTitle(String title) {
this.mTitle = title;
}
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.setPackage(resolveInfo.activityInfo.packageName);
desktopIcon.setClass(resolveInfo.activityInfo.name);
desktopIcon.setIcon(resolveInfo.loadIcon(pm));
desktopIcon.setTitle(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.setPackage(resolveInfo.activityInfo.packageName);
desktopIcon.setClass(resolveInfo.activityInfo.name);
desktopIcon.setIcon(resolveInfo.loadIcon(pm));
desktopIcon.setTitle(resolveInfo.loadLabel(pm).toString());
desktopIcon.setPosition(position);
return desktopIcon;
}
@NonNull
@Override
public String toString() {
return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
}
}