package com.v7lin.android.env; import java.io.File; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.text.TextUtils; /** * * * @author v7lin E-mail:v7lin@qq.com */ public class NormalSkinChecker implements SkinChecker { private final boolean mCheckPkg; private NormalSkinChecker(boolean checkPkg) { super(); mCheckPkg = checkPkg; } @Override public boolean isSkinValid(Context context, String skinPath) { boolean isValid = false; if (!TextUtils.isEmpty(skinPath)) { final File skinFile = new File(skinPath); if (skinFile.exists() && skinFile.isFile()) { PackageManager manager = context.getPackageManager(); PackageInfo info = manager.getPackageArchiveInfo(skinFile.getAbsolutePath(), PackageManager.GET_ACTIVITIES); if (mCheckPkg) { isValid = TextUtils.equals(context.getPackageName(), info.packageName); } else { isValid = true; } } } return isValid; } public static NormalSkinChecker newInstance(boolean checkPkg) { return new NormalSkinChecker(checkPkg); } }