package com.zhuinden.simplestackdemoexamplemvp.presentation.paths.addoredittask;
import android.os.Parcelable;
import android.support.annotation.NonNull;
import android.view.View;
import com.google.auto.value.AutoValue;
import com.zhuinden.simplestack.navigator.ViewChangeHandler;
import com.zhuinden.simplestack.navigator.changehandlers.SegueViewChangeHandler;
import com.zhuinden.simplestackdemoexamplemvp.R;
import com.zhuinden.simplestackdemoexamplemvp.application.Key;
/**
* Created by Zhuinden on 2017.01.25..
*/
@AutoValue
public abstract class AddOrEditTaskKey
implements Key {
public abstract Key parent();
public abstract String taskId();
public static Parcelable create(Key parent) {
return createWithTaskId(parent, "");
}
public static Parcelable createWithTaskId(Key parent, String taskId) {
return new AutoValue_AddOrEditTaskKey(R.layout.path_addoredittask, parent, taskId);
}
@NonNull
@Override
public ViewChangeHandler viewChangeHandler() {
return new SegueViewChangeHandler();
}
@Override
public int menu() {
return R.menu.empty_menu;
}
@Override
public boolean isFabVisible() {
return true;
}
@Override
public int navigationViewId() {
return 0;
}
@Override
public boolean shouldShowUp() {
return true;
}
@Override
public View.OnClickListener fabClickListener(View view) {
return v -> {
AddOrEditTaskView addOrEditTaskCoordinator = (AddOrEditTaskView)view;
addOrEditTaskCoordinator.saveTask();
addOrEditTaskCoordinator.navigateBack();
};
}
@Override
public int fabDrawableIcon() {
return R.drawable.ic_done;
}
}