package com.zhuinden.simplestackdemoexamplefragments.presentation.paths.addoredittask;
import android.os.Parcelable;
import android.support.v4.app.Fragment;
import android.view.View;
import com.google.auto.value.AutoValue;
import com.zhuinden.simplestackdemoexamplefragments.R;
import com.zhuinden.simplestackdemoexamplefragments.application.BaseKey;
import com.zhuinden.simplestackdemoexamplefragments.application.Key;
/**
* Created by Zhuinden on 2017.01.25..
*/
@AutoValue
public abstract class AddOrEditTaskKey
extends BaseKey {
public abstract Key parent();
public abstract String taskId();
@Override
public Fragment createFragment() {
return new AddOrEditTaskFragment();
}
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);
}
@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(Fragment fragment) {
return v -> {
AddOrEditTaskFragment addOrEditTaskFragment = (AddOrEditTaskFragment) fragment;
addOrEditTaskFragment.saveTask();
addOrEditTaskFragment.navigateBack();
};
}
@Override
public int fabDrawableIcon() {
return R.drawable.ic_done;
}
}