package com.fastaccess.ui.modules.floating.folders.drawer;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.v4.content.Loader;
import android.view.View;
import com.fastaccess.data.dao.AppsModel;
import com.fastaccess.ui.base.mvp.presenter.BasePresenter;
import java.util.List;
/**
* Created by Kosh on 22 Oct 2016, 3:13 PM
*/
public class FloatingDrawPresenter extends BasePresenter<FloatingDrawerMvp.View> implements FloatingDrawerMvp.Presenter {
protected FloatingDrawPresenter(@NonNull FloatingDrawerMvp.View view) {
super(view);
}
public static FloatingDrawPresenter with(@NonNull FloatingDrawerMvp.View view) {
return new FloatingDrawPresenter(view);
}
@Override public void onLoadComplete(Loader<List<AppsModel>> loader, List<AppsModel> data) {
if (isAttached()) getView().onAppsLoaded(data);
}
@Override public void onItemClick(int position, View v, AppsModel item) {
try {
Context context = v.getContext();
PackageManager manager = context.getPackageManager();
Intent intent = manager.getLaunchIntentForPackage(item.getPackageName());
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(new ComponentName(item.getPackageName(), item.getActivityInfoName()));
context.startActivity(intent);
} catch (Exception e) {// app uninstalled/not found
e.printStackTrace();
item.delete();
}
if (isAttached()) getView().onTouchedOutside();
}
@Override public void onItemLongClick(int position, View v, AppsModel item) {
onItemClick(position, v, item);
}
}