package com.fastaccess.ui.modules.apps.selected;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.LoaderManager;
import android.support.v7.view.ActionMode;
import com.fastaccess.data.dao.AppsModel;
import com.fastaccess.ui.adapter.DeviceAppsAdapter;
import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder;
import com.fastaccess.ui.widgets.recyclerview.touch.ItemTouchHelperAdapter;
import java.util.List;
/**
* Created by Kosh on 10 Oct 2016, 11:40 PM
*/
public interface SelectedAppsMvp {
interface View {
void onStartLoading();
void onAppsLoaded(@Nullable List<AppsModel> data);
void onLoaderReset();
void setSelection(@NonNull String componentName, int position);
boolean hasSelection();
void onActionModeDestroyed();
void onRemoveSelectedApps();
void onFilter(@Nullable String text);
void onNotifyChanges();
void onNotifyItemMoved(int fromPosition, int toPosition);
void onSwap(int fromPosition, int toPosition);
void onSelectAll();
}
interface Presenter extends LoaderManager.LoaderCallbacks<List<AppsModel>>,
BaseViewHolder.OnItemClickListener<AppsModel>,
ActionMode.Callback, ItemTouchHelperAdapter {
void onRemoveSelectedApps(@Nullable List<AppsModel> selections);
void onSaveIndexChanges(@NonNull DeviceAppsAdapter adapter, int fromPosition, int toPosition);
}
}