package com.mcxiaoke.apptoolkit.util;
import android.content.Context;
import com.mcxiaoke.apptoolkit.model.AppInfo;
import com.mcxiaoke.shell.Shell;
import java.io.File;
import java.io.IOException;
/**
* Project: filemanager
* Package: com.mcxiaoke.appmanager.util
* User: mcxiaoke
* Date: 13-6-11
* Time: 下午10:53
*/
public final class AppUtils {
public static void installApp(Context context, AppInfo app) {
}
public static void installAsSystemApp(Context context, AppInfo app) {
}
public static void moveToSystem(Context context, AppInfo app) {
}
public static void clearAppData(Context context, AppInfo app) {
}
public static void uninstallApp(Context context, AppInfo app) {
}
public static void showDetail(Context context, AppInfo app) {
}
public static void copyPackageName(Context context, AppInfo app) {
}
public static void killAppProcess(Context context, AppInfo app) {
}
public static void showApp(Context context, AppInfo app) {
}
public static boolean backupAppApk(AppInfo app) throws IOException {
boolean result = false;
File src = new File(app.sourceDir);
File dest = new File(Utils.getBackupAppsDir(), Utils.buildApkName(app));
if (src.exists() && !dest.exists()) {
result = IOHelper.copyFile(src, dest);
}
return result;
}
public static boolean backupAppData(AppInfo app) throws Exception {
String src = app.dataDir;
String dest = new File(Utils.getBackupDataDir(), app.packageName).getPath();
return Shell.backupAppData(src, dest, false, true);
}
public static boolean restoreAppData(AppInfo app) throws Exception {
File backupDataFile = new File(Utils.getBackupDataDir(), app.packageName);
String src = backupDataFile.getPath();
String dest = app.dataDir;
return Shell.restoreAppData(String.valueOf(app.uid), src, dest, false, false);
}
public static void showDataDir(Context context, AppInfo app) {
}
public static void createShortcut(Context context, AppInfo app) {
}
public static void viewManifestFile(Context context, AppInfo app) {
}
public static void gotoPlayStore(Context context, AppInfo app) {
}
// TODO todos
// show services/providers/receivers/permissions/activities
// kill process, show memory, show cpuinfo
// install binary, move to system, uninstall system
// apkBackup app data, batch install /uninstall
// shutdown, restart, remount, screenshot
// kill notifications, kill auto start
// disable component
// restart package / real kill: kill process
//Process.sendSignal(pid, Process.SIGNAL_KILL);
//ActivityManager.killBackgroundProcesses(PackageName)
// android:name="android.permission.GET_TASKS"
//android:name="android.permission.KILL_BACKGROUND_PROCESSES"
// 删除系统程序,三步:删除apk/odex,删除数据,删除dalvikcache
}