// Path: app/src/main/java/com/sscience/stopapp/base/BasePresenter.java
// public interface BasePresenter {
//     void start();
// }
// 
// Path: app/src/main/java/com/sscience/stopapp/base/BaseView.java
// public interface BaseView<T> {
//     void setPresenter(T presenter);
// }
// 
// Path: app/src/main/java/com/sscience/stopapp/bean/AppInfo.java
// public class AppInfo implements Serializable, Cloneable {
// 
//     private static final long serialVersionUID = -2984090829607150673L;
//     public final static String APP_PACKAGE_NAME = "appPackageName";
//     public final static String APP_NAME = "appName";
//     public final static String APP_ICON = "appIcon";
//     public final static String IS_ENABLE = "isEnable";
//     public final static String IS_SYSTEM_APP = "isSystemApp";
// 
//     public String appName;
//     public String appPackageName;
//     public Bitmap appIcon;
//     public int isEnable;
//     public int isSystemApp;
// 
//     public String getAppName() {
//         return appName;
//     }
// 
//     public void setAppName(String appName) {
//         this.appName = appName;
//     }
// 
//     public String getAppPackageName() {
//         return appPackageName;
//     }
// 
//     public void setAppPackageName(String appPackageName) {
//         this.appPackageName = appPackageName;
//     }
// 
//     public Bitmap getAppIcon() {
//         return appIcon;
//     }
// 
//     public void setAppIcon(Bitmap appIcon) {
//         this.appIcon = appIcon;
//     }
// 
//     public int isEnable() {
//         return isEnable;
//     }
// 
//     public void setEnable(int enable) {
//         isEnable = enable;
//     }
// 
//     public int isSystemApp() {
//         return isSystemApp;
//     }
// 
//     public void setSystemApp(int systemApp) {
//         isSystemApp = systemApp;
//     }
// 
//     @Override
//     public AppInfo clone() throws CloneNotSupportedException {
//         AppInfo appInfo = null;
//         try {
//             appInfo = (AppInfo) super.clone();
// 
//         } catch (CloneNotSupportedException e) {
//             e.printStackTrace();
//         }
//         return appInfo;
//     }
// 
//     public boolean equals(Object obj) {
//         if (!(obj instanceof AppInfo))
//             return false;
//         if (obj == this)
//             return true;
//         return this.appPackageName.equals(((AppInfo) obj).appPackageName);
//     }
// 
//     @Override
//     public int hashCode() {
//         return appPackageName.length();
//     }
// }


import com.sscience.stopapp.base.BasePresenter;
import com.sscience.stopapp.base.BaseView;
import com.sscience.stopapp.bean.AppInfo;
import java.util.List;
package com.sscience.stopapp.presenter;



/**
 * @author SScience
 * @description
 * @email chentushen.science@gmail.com
 * @data 2017/1/29
 */

public interface AppsContract {

    interface View extends BaseView<Presenter> {
        void getApps(List<AppInfo> apps);

        void hadAddDisableApps();

        void addDisableAppsSuccess();

        void getRootError(String cmd);

        void uninstallSuccess(String appName, int position);

        void ableApp(AppInfo appInfo, int position, boolean isChecked, boolean isAbleApp);
    }

    interface Presenter extends BasePresenter {
        void getApps(int appStyle);

        void addDisableAppsSuccess(List<AppInfo> appList);

        void uninstallApp(AppInfo appInfo, int position);

        void addDisableApps(AppInfo appInfo);

// Path: app/src/main/java/com/sscience/stopapp/base/BasePresenter.java
// public interface BasePresenter {
//     void start();
// }
// 
// Path: app/src/main/java/com/sscience/stopapp/base/BaseView.java
// public interface BaseView<T> {
//     void setPresenter(T presenter);
// }
// 
// Path: app/src/main/java/com/sscience/stopapp/bean/AppInfo.java
// public class AppInfo implements Serializable, Cloneable {
// 
//     private static final long serialVersionUID = -2984090829607150673L;
//     public final static String APP_PACKAGE_NAME = "appPackageName";
//     public final static String APP_NAME = "appName";
//     public final static String APP_ICON = "appIcon";
//     public final static String IS_ENABLE = "isEnable";
//     public final static String IS_SYSTEM_APP = "isSystemApp";
// 
//     public String appName;
//     public String appPackageName;
//     public Bitmap appIcon;
//     public int isEnable;
//     public int isSystemApp;
// 
//     public String getAppName() {
//         return appName;
//     }
// 
//     public void setAppName(String appName) {
//         this.appName = appName;
//     }
// 
//     public String getAppPackageName() {
//         return appPackageName;
//     }
// 
//     public void setAppPackageName(String appPackageName) {
//         this.appPackageName = appPackageName;
//     }
// 
//     public Bitmap getAppIcon() {
//         return appIcon;
//     }
// 
//     public void setAppIcon(Bitmap appIcon) {
//         this.appIcon = appIcon;
//     }
// 
//     public int isEnable() {
//         return isEnable;
//     }
// 
//     public void setEnable(int enable) {
//         isEnable = enable;
//     }
// 
//     public int isSystemApp() {
//         return isSystemApp;
//     }
// 
//     public void setSystemApp(int systemApp) {
//         isSystemApp = systemApp;
//     }
// 
//     @Override
//     public AppInfo clone() throws CloneNotSupportedException {
//         AppInfo appInfo = null;
//         try {
//             appInfo = (AppInfo) super.clone();
// 
//         } catch (CloneNotSupportedException e) {
//             e.printStackTrace();
//         }
//         return appInfo;
//     }
// 
//     public boolean equals(Object obj) {
//         if (!(obj instanceof AppInfo))
//             return false;
//         if (obj == this)
//             return true;
//         return this.appPackageName.equals(((AppInfo) obj).appPackageName);
//     }
// 
//     @Override
//     public int hashCode() {
//         return appPackageName.length();
//     }
// }


// Path: app/src/main/java/com/sscience/stopapp/presenter/AppsContract.java
import com.sscience.stopapp.base.BasePresenter;
import com.sscience.stopapp.base.BaseView;
import com.sscience.stopapp.bean.AppInfo;
import java.util.List;

package com.sscience.stopapp.presenter;



/**
 * @author SScience
 * @description
 * @email chentushen.science@gmail.com
 * @data 2017/1/29
 */

public interface AppsContract {

    interface View extends BaseView<Presenter> {
        void getApps(List<AppInfo> apps);

        void hadAddDisableApps();

        void addDisableAppsSuccess();

        void getRootError(String cmd);

        void uninstallSuccess(String appName, int position);

        void ableApp(AppInfo appInfo, int position, boolean isChecked, boolean isAbleApp);
    }

    interface Presenter extends BasePresenter {
        void getApps(int appStyle);

        void addDisableAppsSuccess(List<AppInfo> appList);

        void uninstallApp(AppInfo appInfo, int position);

        void addDisableApps(AppInfo appInfo);

        void ableApp(AppInfo appInfo, int position, boolean isChecked);