package com.boardgamegeek.ui;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.widget.ContentLoadingProgressBar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.TextView;
import com.boardgamegeek.R;
import com.boardgamegeek.ui.model.GeekList;
import com.boardgamegeek.ui.widget.TimestampView;
import com.boardgamegeek.util.UIUtils;
import com.boardgamegeek.util.XmlConverter;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import hugo.weaving.DebugLog;
public class GeekListDescriptionFragment extends Fragment {
private Unbinder unbinder;
@BindView(android.R.id.progress) ContentLoadingProgressBar progressBar;
@BindView(R.id.container) View container;
@BindView(R.id.username) TextView usernameView;
@BindView(R.id.items) TextView itemCountView;
@BindView(R.id.thumbs) TextView thumbCountView;
@BindView(R.id.posted_date) TimestampView postedDateView;
@BindView(R.id.edited_date) TimestampView editedDateView;
@BindView(R.id.body) WebView bodyView;
private XmlConverter xmlConverter;
@Override
@DebugLog
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
xmlConverter = new XmlConverter();
}
@Override
@DebugLog
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_geeklist_description, container, false);
unbinder = ButterKnife.bind(this, rootView);
//noinspection deprecation
rootView.setBackgroundDrawable(null);
return rootView;
}
@Override
public void onDestroyView() {
super.onDestroyView();
if (unbinder != null) unbinder.unbind();
}
public void setData(GeekList geekList) {
if (geekList == null) return;
usernameView.setText(geekList.username());
itemCountView.setText(String.valueOf(geekList.numberOfItems()));
thumbCountView.setText(String.valueOf(geekList.numberOfThumbs()));
UIUtils.setWebViewText(bodyView, xmlConverter.toHtml(geekList.description()));
postedDateView.setTimestamp(geekList.postTicks());
editedDateView.setTimestamp(geekList.editTicks());
container.setVisibility(View.VISIBLE);
progressBar.hide();
}
}