package io.virtualapp.home.models; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import com.lody.virtual.remote.InstalledAppInfo; /** * @author Lody */ public class PackageAppData implements AppData { public String packageName; public String name; public Drawable icon; public boolean fastOpen; public boolean isFirstOpen; public boolean isLoading; public PackageAppData(Context context, InstalledAppInfo installedAppInfo) { this.packageName = installedAppInfo.packageName; this.isFirstOpen = !installedAppInfo.isLaunched(0); loadData(context, installedAppInfo.getApplicationInfo(installedAppInfo.getInstalledUsers()[0])); } private void loadData(Context context, ApplicationInfo appInfo) { if (appInfo == null) { return; } PackageManager pm = context.getPackageManager(); try { CharSequence sequence = appInfo.loadLabel(pm); if (sequence != null) { name = sequence.toString(); } icon = appInfo.loadIcon(pm); } catch (Throwable e) { e.printStackTrace(); } } @Override public boolean isLoading() { return isLoading; } @Override public boolean isFirstOpen() { return isFirstOpen; } @Override public Drawable getIcon() { return icon; } @Override public String getName() { return name; } @Override public boolean canReorder() { return true; } @Override public boolean canLaunch() { return true; } @Override public boolean canDelete() { return true; } @Override public boolean canCreateShortcut() { return true; } }