package io.oversec.one; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Resources; import io.oversec.one.ui.MainActivity; import java.util.List; public class Util { public static CharSequence getPackageLabel(Context ctx, String packageName) { PackageManager lPackageManager = ctx.getPackageManager(); ApplicationInfo lApplicationInfo = null; try { lApplicationInfo = lPackageManager.getApplicationInfo(packageName, 0); } catch (final PackageManager.NameNotFoundException e) { return packageName; } return lPackageManager.getApplicationLabel(lApplicationInfo); } public static void enableLauncherIcon(Context context, boolean enable) { ComponentName componentName = new ComponentName(context.getPackageName(), "io.oversec.one.MainActivityLauncher"); setComponentState(context, componentName, enable ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED); if (!enable) { MainActivity.closeOnPanic(); } } private static void setComponentState(Context context, ComponentName componentName, int componentState) { PackageManager pm = context.getPackageManager(); pm.setComponentEnabledSetting(componentName, componentState, PackageManager.DONT_KILL_APP); } public static boolean hasDialerIntentHandler(Context context) { //or "is this a phone Intent intent = new Intent(Intent.ACTION_DIAL); PackageManager manager = context.getPackageManager(); List<ResolveInfo> infos = manager.queryIntentActivities(intent, 0); return infos.size() > 0; } public static boolean isOversec(Context ctx) { try { return ctx.getResources().getString(R.string.feature_package).trim().length() == 0; } catch (Resources.NotFoundException ex) { return true; } } public static boolean isFeatureEnctypeSYM(Context ctx) { return ctx.getResources().getBoolean(R.bool.feature_enctype_sym); } public static boolean isFeatureEnctypePGP(Context ctx) { return ctx.getResources().getBoolean(R.bool.feature_enctype_pgp); } }