package me.ccrama.redditslide.Fragments;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import net.dean.jraw.models.Submission;
import java.util.List;
import me.ccrama.redditslide.Activities.CommentsScreen;
import me.ccrama.redditslide.Activities.Shadowbox;
import me.ccrama.redditslide.R;
import me.ccrama.redditslide.SpoilerRobotoTextView;
import me.ccrama.redditslide.SubmissionViews.PopulateShadowboxInfo;
import me.ccrama.redditslide.Views.CommentOverflow;
import me.ccrama.redditslide.util.SubmissionParser;
/**
* Created by ccrama on 6/2/2015.
*/
public class SelftextFull extends Fragment {
private int i = 0;
private Submission s;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.submission_textcard, container, false);
PopulateShadowboxInfo.doActionbar(s, rootView, getActivity(), true);
if (!s.getSelftext().isEmpty()) {
setViews(s.getDataNode().get("selftext_html").asText(), s.getSubredditName(), rootView);
}
rootView.findViewById(R.id.desc).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i2 = new Intent(getActivity(), CommentsScreen.class);
i2.putExtra(CommentsScreen.EXTRA_PAGE, i);
i2.putExtra(CommentsScreen.EXTRA_SUBREDDIT, sub);
(getActivity()).startActivity(i2);
}
});
return rootView;
}
public String sub;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = this.getArguments();
i = bundle.getInt("page", 0);
sub = bundle.getString("sub");
if (((Shadowbox) getActivity()).subredditPosts == null
|| ((Shadowbox) getActivity()).subredditPosts.getPosts().size() < bundle.getInt(
"page", 0)) {
getActivity().finish();
} else {
s = ((Shadowbox) getActivity()).subredditPosts.getPosts().get(bundle.getInt("page", 0));
}
}
private void setViews(String rawHTML, String subredditName, View base) {
if (rawHTML.isEmpty()) {
return;
}
List<String> blocks = SubmissionParser.getBlocks(rawHTML);
int startIndex = 0;
if (!blocks.get(0).startsWith("<table>") && !blocks.get(0).startsWith("<pre>")) {
((SpoilerRobotoTextView) base.findViewById(R.id.firstTextView)).setTextHtml(blocks.get(0), subredditName);
startIndex = 1;
}
CommentOverflow overflow = (CommentOverflow) base.findViewById(R.id.commentOverflow);
if (blocks.size() > 1) {
if (startIndex == 0) {
overflow.setViews(blocks, subredditName);
} else {
overflow.setViews(blocks.subList(startIndex, blocks.size()), subredditName);
}
}
}
}