package io.itch.views; import io.itch.Constants; import io.itch.R; import io.itch.models.tumblr.Post; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.text.Html; import android.view.View; import android.widget.TextView; public class PostViewHelper { private static final String PREF_LAST_VIEWED_POST = "io.itch.news.latest.id"; public static void populateView(Context context, View result, Post post) { String titleText = null; String bodyText = null; switch (post.getPostType()) { case TEXT: titleText = post.getTitle(); bodyText = post.getBody(); break; case LINK: titleText = post.getTitle(); bodyText = post.getDescription(); break; case AUDIO: titleText = post.getCaption(); break; case VIDEO: titleText = post.getCaption(); break; default: break; } TextView titleView = (TextView) result.findViewById(R.id.textViewNewsTitle); setText(titleView, titleText, false); TextView bodyView = (TextView) result.findViewById(R.id.textViewNewsBody); setText(bodyView, bodyText, false); } private static void setText(TextView view, String text, boolean keepHtml) { CharSequence displayText = null; if (text != null) { displayText = keepHtml ? Html.fromHtml(text) : Html.fromHtml(text).toString(); } if (view != null) { if (displayText != null && !"".equals(displayText)) { view.setVisibility(View.VISIBLE); view.setText(displayText); } else { view.setVisibility(View.GONE); } } } public static boolean hasBeenSeen(Context context, Post post) { SharedPreferences prefs = context.getSharedPreferences(Constants.PREF_STORE, Context.MODE_PRIVATE); long last = prefs.getLong(PREF_LAST_VIEWED_POST, 0); return (post.getId() == last); } public static void setHasBeenSeen(Context context, Post post) { Editor edit = context.getSharedPreferences(Constants.PREF_STORE, Context.MODE_PRIVATE).edit(); edit.putLong(PREF_LAST_VIEWED_POST, post.getId()); edit.commit(); } }