public class AppManager {
private static Stack<Activity> activityStack;
private static AppManager appManager;
public static AppManager getAppManager() {
if (appManager == null) {
appManager = new AppManager();
}
return appManager;
}
public void killProcess() {
try {
finishAllActivity();
System.exit(0);
Process.killProcess(Process.myPid());
} catch (Exception e) {
e.printStackTrace();
}
}
public void AppExit(Context context) {
try {
finishAllActivity();
} catch (Exception e) {
e.printStackTrace();
}
}
public void addActivity(Activity paramActivity) {
if (activityStack == null) {
activityStack = new Stack();
}
activityStack.add(paramActivity);
}
public Activity currentActivity() {
if (activityStack.isEmpty()) {
return null;
}
return (Activity) activityStack.lastElement();
}
public void finishActivity() {
finishActivity((Activity) activityStack.lastElement());
}
public void finishActivity(Activity paramActivity) {
if (paramActivity != null) {
activityStack.remove(paramActivity);
paramActivity.finish();
}
}
public void finishActivity(Class<?> paramClass) {
Iterator<Activity> localIterator = activityStack.iterator();
while (localIterator.hasNext()) {
Activity localActivity = (Activity) localIterator.next();
if (localActivity.getClass().equals(paramClass)) {
finishActivity(localActivity);
}
}
}
public void finishActivity(Class<?> paramClass, Activity notkill) {
Iterator<Activity> localIterator = activityStack.iterator();
while (localIterator.hasNext()) {
Activity localActivity = (Activity) localIterator.next();
if (localActivity.getClass().equals(paramClass) && localActivity != notkill) {
finishActivity(localActivity);
}
}
}
public void finishAllActivity() {
int j = activityStack.size();
for (int i = 0; i < j; i++) {
if (activityStack.get(i) != null) {
((Activity) activityStack.get(i)).finish();
}
}
activityStack.clear();
}
}