package com.kth.baasio.helpcenter.ui;
import com.actionbarsherlock.app.SherlockFragment;
import com.kth.baasio.callback.BaasioCallback;
import com.kth.baasio.exception.BaasioException;
import com.kth.baasio.help.BaasioHelp;
import com.kth.baasio.help.data.Faq;
import com.kth.baasio.helpcenter.R;
import com.kth.baasio.utils.JsonUtils;
import com.kth.baasio.utils.ObjectUtils;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
public class FaqDetailFragment extends SherlockFragment {
public static final String FAQ_DETAIL = "faq_detail";
private ViewGroup mRootView;
private TextView mTextQuestion;
private TextView mTextAnswer;
private Faq mFaq;
public FaqDetailFragment() {
super();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setRetainInstance(true);
mRootView = (ViewGroup)inflater.inflate(R.layout.fragment_faqdetail, null);
mTextQuestion = (TextView)mRootView.findViewById(R.id.textQuestion);
mTextAnswer = (TextView)mRootView.findViewById(R.id.textAnswer);
if (getActivity().getIntent() != null) {
String faq = getActivity().getIntent().getStringExtra(FAQ_DETAIL);
if (!ObjectUtils.isEmpty(faq)) {
mFaq = JsonUtils.parse(faq, Faq.class);
refreshView();
getEntities(mFaq.getUuid());
}
}
return mRootView;
}
private void refreshView() {
if (!ObjectUtils.isEmpty(mFaq.getTitle())) {
mTextQuestion.setText(mFaq.getTitle());
}
if (!ObjectUtils.isEmpty(mFaq.getContent())) {
String result = mFaq.getContent().replaceAll("[\n]{2,}", "\n\n");
mTextAnswer.setText(result);
}
}
private void getEntities(String uuid) {
BaasioHelp.getHelpDetailInBackground(uuid, new BaasioCallback<Faq>() {
@Override
public void onException(BaasioException e) {
Toast.makeText(getActivity(), getString(R.string.error_fail_get_faqdetail),
Toast.LENGTH_LONG).show();
}
@Override
public void onResponse(Faq response) {
if (response != null) {
mFaq = response;
}
refreshView();
}
});
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
}