// Path: app/src/main/java/com/livingstoneapp/interactors/IPackageInteractor.java
// public interface IPackageInteractor {
//     Observable<ArrayList<InstalledPackageHeader>> getInstalledPackages(boolean refresh);
//     Observable<String> getAppNameFromPackage(String packageName);
//     Observable<AppInfo> getApplicationInfo(String packageName);
//     Observable<ArrayList<FeatureInfoInternal>> getRequestedFeatures(String packageName);
// 
// }
// 
// Path: app/src/main/java/com/livingstoneapp/models/InstalledPackageHeader.java
// public class InstalledPackageHeader {
//     private String mPackageName;
//     private String mAppName;
//     private Drawable mAppIcon;
// 
//     public InstalledPackageHeader() {
// 
//     }
// 
//     public InstalledPackageHeader(String packageName, String appName, Drawable appIcon) {
//         this.mPackageName = packageName;
//         this.mAppName = appName;
//         this.mAppIcon = appIcon;
//     }
// 
//     public Drawable getAppIcon() {
//         return mAppIcon;
//     }
//     public void setAppIcon(Drawable mAppIcon) {
//         this.mAppIcon = mAppIcon;
//     }
// 
//     public String getAppName() {
//         return mAppName;
//     }
//     public void setAppName(String mAppName) {
//         this.mAppName = mAppName;
//     }
// 
//     public String getPackageName() {
//         return mPackageName;
//     }
//     public void setPackageName(String mPackageName) {
//         this.mPackageName = mPackageName;
//     }
// }
// 
// Path: app/src/main/java/com/livingstoneapp/views/IPackageListView.java
// public interface IPackageListView {
//     void init();
//     void setInstalledPackages(List<InstalledPackageHeader> items);
//     void setError(String message);
//     void startDetailActivity(InstalledPackageHeader item);
//     void setDetailFragment(InstalledPackageHeader item);
//     void showWaitDialog();
//     void hideWaitDialog();
//     void showContentView();
//     void hideContentView();
// }


import javax.inject.Inject;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import com.livingstoneapp.interactors.IPackageInteractor;
import com.livingstoneapp.models.InstalledPackageHeader;
import com.livingstoneapp.views.IPackageListView;
package com.livingstoneapp.presenters;




/**
 * Created by renier on 2/2/2016.
 */
public class PackageListActivityPresenterImpl implements IPackageListActivityPresenter {

    private IPackageListView mView;
    private boolean mIsTwoPane = false;
    private IPackageInteractor mPackageInteractor;


    @Inject
// Path: app/src/main/java/com/livingstoneapp/interactors/IPackageInteractor.java
// public interface IPackageInteractor {
//     Observable<ArrayList<InstalledPackageHeader>> getInstalledPackages(boolean refresh);
//     Observable<String> getAppNameFromPackage(String packageName);
//     Observable<AppInfo> getApplicationInfo(String packageName);
//     Observable<ArrayList<FeatureInfoInternal>> getRequestedFeatures(String packageName);
// 
// }
// 
// Path: app/src/main/java/com/livingstoneapp/models/InstalledPackageHeader.java
// public class InstalledPackageHeader {
//     private String mPackageName;
//     private String mAppName;
//     private Drawable mAppIcon;
// 
//     public InstalledPackageHeader() {
// 
//     }
// 
//     public InstalledPackageHeader(String packageName, String appName, Drawable appIcon) {
//         this.mPackageName = packageName;
//         this.mAppName = appName;
//         this.mAppIcon = appIcon;
//     }
// 
//     public Drawable getAppIcon() {
//         return mAppIcon;
//     }
//     public void setAppIcon(Drawable mAppIcon) {
//         this.mAppIcon = mAppIcon;
//     }
// 
//     public String getAppName() {
//         return mAppName;
//     }
//     public void setAppName(String mAppName) {
//         this.mAppName = mAppName;
//     }
// 
//     public String getPackageName() {
//         return mPackageName;
//     }
//     public void setPackageName(String mPackageName) {
//         this.mPackageName = mPackageName;
//     }
// }
// 
// Path: app/src/main/java/com/livingstoneapp/views/IPackageListView.java
// public interface IPackageListView {
//     void init();
//     void setInstalledPackages(List<InstalledPackageHeader> items);
//     void setError(String message);
//     void startDetailActivity(InstalledPackageHeader item);
//     void setDetailFragment(InstalledPackageHeader item);
//     void showWaitDialog();
//     void hideWaitDialog();
//     void showContentView();
//     void hideContentView();
// }


// Path: app/src/main/java/com/livingstoneapp/presenters/PackageListActivityPresenterImpl.java
import javax.inject.Inject;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import com.livingstoneapp.interactors.IPackageInteractor;
import com.livingstoneapp.models.InstalledPackageHeader;
import com.livingstoneapp.views.IPackageListView;

package com.livingstoneapp.presenters;




/**
 * Created by renier on 2/2/2016.
 */
public class PackageListActivityPresenterImpl implements IPackageListActivityPresenter {

    private IPackageListView mView;
    private boolean mIsTwoPane = false;
    private IPackageInteractor mPackageInteractor;


    @Inject
    public PackageListActivityPresenterImpl(IPackageInteractor interactor) {