package com.njlabs.showjava.utils; import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import com.njlabs.showjava.Constants; import com.njlabs.showjava.processor.ProcessService; import java.io.File; import java.util.List; public class Utils { public static void killAllProcessorServices(Context context, boolean forNew) { Intent mServiceIntent = new Intent(context, ProcessService.class); if(forNew){ mServiceIntent.setAction(Constants.ACTION.STOP_PROCESS_FOR_NEW); } else { mServiceIntent.setAction(Constants.ACTION.STOP_PROCESS); } context.stopService(mServiceIntent); } public static void forceKillAllProcessorServices(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses(); for (ActivityManager.RunningAppProcessInfo next : runningAppProcesses) { String processName = context.getPackageName() + ":service"; if (next.processName.equals(processName)) { android.os.Process.killProcess(next.pid); break; } } } public static boolean isProcessorServiceRunning(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses(); for (ActivityManager.RunningAppProcessInfo next : runningAppProcesses) { String processName = context.getPackageName() + ":service"; if (next.processName.equals(processName)) { return true; } } return false; } public static boolean sourceExists(File sourceDir) { if (sourceDir.exists() && sourceDir.isDirectory()) { File infoFile = new File(sourceDir + "/info.json"); if (infoFile.exists() && infoFile.isFile()) { SourceInfo sourceInfo = SourceInfo.getSourceInfo(infoFile); if (sourceInfo != null) { return true; } } } return false; } public static SourceInfo getSourceInfoFromSourcePath(File sourceDir) { if (sourceDir.isDirectory()) { File infoFile = new File(sourceDir + "/info.json"); if (infoFile.exists() && infoFile.isFile()) { return SourceInfo.getSourceInfo(infoFile); } } return null; } public static long getFolderSize(File f) { long size = 0; if (f.isDirectory()) { for (File file : f.listFiles()) { size += getFolderSize(file); } } else { size = f.length(); } return size; } }