package org.theotech.ceaselessandroid.fragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.TextView;
import com.joanzapata.iconify.widget.IconTextView;
import com.makeramen.roundedimageview.RoundedImageView;
import org.theotech.ceaselessandroid.R;
import org.theotech.ceaselessandroid.cache.CacheManager;
import org.theotech.ceaselessandroid.cache.LocalDailyCacheManagerImpl;
import org.theotech.ceaselessandroid.person.PersonManager;
import org.theotech.ceaselessandroid.person.PersonManagerImpl;
import org.theotech.ceaselessandroid.util.CommonUtils;
import org.theotech.ceaselessandroid.util.Constants;
import butterknife.Bind;
import butterknife.ButterKnife;
public class PersonSupportFragment extends Fragment implements ICardPageFragment {
private static final String TAG = PersonSupportFragment.class.getSimpleName();
@Bind(R.id.person_name)
TextView personName;
@Bind(R.id.person_image)
RoundedImageView personImage;
@Bind(R.id.person_notes_list)
ListView notes;
@Bind(R.id.note_btn)
IconTextView noteButton;
private CacheManager cacheManager;
private PersonManager personManager;
public PersonSupportFragment() {
// Required empty public constructor
}
public static PersonSupportFragment newInstance(String personId) {
PersonSupportFragment fragment = new PersonSupportFragment();
Bundle args = new Bundle();
args.putString(Constants.PERSON_ID_BUNDLE_ARG, personId);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
cacheManager = LocalDailyCacheManagerImpl.getInstance(getActivity());
personManager = PersonManagerImpl.getInstance(getActivity());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// create view and bind
View view = inflater.inflate(R.layout.fragment_person, container, false);
ButterKnife.bind(this, view);
// display person
Bundle bundle = getArguments();
if (bundle != null && bundle.containsKey(Constants.PERSON_ID_BUNDLE_ARG) && bundle.containsKey(Constants.HOME_SECTION_NUMBER_BUNDLE_ARG)) {
final String personId = bundle.getString(Constants.PERSON_ID_BUNDLE_ARG);
int homeIndex = bundle.getInt(Constants.HOME_SECTION_NUMBER_BUNDLE_ARG);
final FragmentState backStackInfo = new FragmentState(getString(R.string.nav_home));
Bundle currentState = new Bundle();
currentState.putInt(Constants.HOME_SECTION_NUMBER_BUNDLE_ARG, homeIndex);
backStackInfo.setState(currentState);
CommonUtils.injectPersonIntoView(getActivity(), personManager, personName, personImage,
notes, view, personId, getString(R.string.empty_notes), getActivity().getFragmentManager(),
backStackInfo);
CommonUtils.wireAddNote(noteButton, personId, getActivity(), backStackInfo);
CommonUtils.wireFavoriteShortcut(getActivity(), view, personId, personManager);
CommonUtils.wireSendMessage(getActivity(), view, personId);
CommonUtils.wireShowPersonMenu(view, personId, getActivity(), backStackInfo, personManager);
}
return view;
}
public String getCardName() {
return "PersonSupportCard";
}
}