package com.hitherejoe.bourbon.ui.message;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.hitherejoe.bourbon.R;
import com.hitherejoe.bourbon.ui.browse.BrowseActivity;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MessageFragment extends Fragment {
@Bind(R.id.button_message) Button mMessageButton;
@Bind(R.id.image_message) ImageView mMessageImage;
@Bind(R.id.text_title) TextView mTitleText;
@Bind(R.id.text_message) TextView mMessageText;
public static final String ARGUMENT_TYPE = "ARGUMENT_TYPE";
public static final int TYPE_EMPTY = 0;
public static final int TYPE_ERROR = 1;
private int mType;
public static MessageFragment newInstance(int type) {
MessageFragment browseFragment = new MessageFragment();
Bundle bundle = new Bundle();
bundle.putInt(ARGUMENT_TYPE, type);
browseFragment.setArguments(bundle);
return browseFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = getArguments();
mType = bundle.getInt(ARGUMENT_TYPE, -1);
if (mType < 0) {
throw new IllegalArgumentException("MessageFragment requires a type");
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_message, container, false);
ButterKnife.bind(this, root);
showMessage();
return root;
}
@OnClick(R.id.button_message)
public void onMessageButtonClick() {
Activity activity = getActivity();
if (activity instanceof BrowseActivity) {
((BrowseActivity) activity).showBrowseFragment();
}
}
public void showMessage() {
mTitleText.setText(mType == TYPE_EMPTY ?
getString(R.string.title_no_shots) : getString(R.string.title_oops));
mMessageText.setText(mType == TYPE_EMPTY ?
getString(R.string.text_no_shots) : getString(R.string.text_error_loading_shots));
mMessageButton.setText(mType == TYPE_EMPTY ?
getString(R.string.text_check_again) : getString(R.string.text_reload));
mMessageImage.setImageResource(mType == TYPE_EMPTY ? R.drawable.ic_empty_glass_accent_120dp :
R.drawable.ic_sentiment_very_dissatisfied_accent_120dp);
}
}