package com.brew.brewshop.fragments;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import com.brew.brewshop.FragmentHandler;
import com.brew.brewshop.R;
import com.brew.brewshop.storage.BrewStorage;
import com.brew.brewshop.storage.recipes.Recipe;
import com.brew.brewshop.util.Util;
public class RecipeNotesFragment extends Fragment {
@SuppressWarnings("unused")
private static final String TAG = RecipeNotesFragment.class.getName();
private static final String RECIPE = "Recipe";
private Recipe mRecipe;
private BrewStorage mStorage;
private EditText mNotes;
private FragmentHandler mViewSwitcher;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) {
View root = inflater.inflate(R.layout.fragment_edit_recipe_notes, container, false);
mNotes = (EditText) root.findViewById(R.id.recipe_notes);
setHasOptionsMenu(true);
mStorage = new BrewStorage(getActivity());
mViewSwitcher.setTitle(getActivity().getResources().getString(R.string.edit_recipe_notes));
if (state != null) {
mRecipe= state.getParcelable(RECIPE);
}
if (mRecipe != null) {
mNotes.append(mRecipe.getNotes());
}
Util.showKeyboard(getActivity());
return root;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mViewSwitcher = (FragmentHandler) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement " + FragmentHandler.class.getName());
}
}
@Override
public void onPause() {
super.onPause();
mRecipe.setNotes(mNotes.getText().toString());
mStorage.updateRecipe(mRecipe);
Util.hideKeyboard(getActivity());
}
@Override
public void onDestroyView() {
super.onDestroyView();
mStorage.close();
}
@Override
public void onSaveInstanceState(Bundle state) {
super.onSaveInstanceState(state);
if (state == null) {
state = new Bundle();
}
state.putParcelable(RECIPE, mRecipe);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.empty_menu, menu);
}
public void setRecipe(Recipe recipe) {
mRecipe = recipe;
}
}