package me.ccrama.redditslide.Activities;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.HorizontalScrollView;
import java.util.List;
import me.ccrama.redditslide.ColorPreferences;
import me.ccrama.redditslide.OpenRedditLink;
import me.ccrama.redditslide.R;
import me.ccrama.redditslide.Reddit;
import me.ccrama.redditslide.SpoilerRobotoTextView;
import me.ccrama.redditslide.Views.CommentOverflow;
import me.ccrama.redditslide.Views.SidebarLayout;
import me.ccrama.redditslide.Views.TitleTextView;
import me.ccrama.redditslide.util.SubmissionParser;
public class Announcement extends BaseActivity {
@Override
public void finish(){
super.finish();
overridePendingTransition(0, 0);
}
@Override
public void onCreate(Bundle savedInstance) {
overridePendingTransition(R.anim.fade_in_real, 0);
disableSwipeBackLayout();
applyColorTheme();
setTheme(R.style.popup);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
super.onCreate(savedInstance);
setContentView(R.layout.submission_dialog);
setViews(Reddit.appRestart.getString("page", ""), "NO SUB", (SpoilerRobotoTextView) findViewById(R.id.firstTextView), (CommentOverflow) findViewById(R.id.commentOverflow));
((TitleTextView) findViewById(R.id.title)).setText(Reddit.appRestart.getString("title", ""));
findViewById(R.id.ok).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
findViewById(R.id.comments).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new OpenRedditLink(Announcement.this, Reddit.appRestart.getString("url", ""));
finish();
}
});
}
private void setViews(String rawHTML, String subredditName, SpoilerRobotoTextView firstTextView, CommentOverflow commentOverflow) {
if (rawHTML.isEmpty()) {
return;
}
List<String> blocks = SubmissionParser.getBlocks(rawHTML);
int startIndex = 0;
// the <div class="md"> case is when the body contains a table or code block first
if (!blocks.get(0).equals("<div class=\"md\">")) {
firstTextView.setVisibility(View.VISIBLE);
firstTextView.setTextHtml(blocks.get(0), subredditName);
firstTextView.setLinkTextColor(new ColorPreferences(this).getColor(subredditName));
startIndex = 1;
} else {
firstTextView.setText("");
firstTextView.setVisibility(View.GONE);
}
if (blocks.size() > 1) {
if (startIndex == 0) {
commentOverflow.setViews(blocks, subredditName);
} else {
commentOverflow.setViews(blocks.subList(startIndex, blocks.size()), subredditName);
}
SidebarLayout sidebar = (SidebarLayout) findViewById(R.id.drawer_layout);
for (int i = 0; i < commentOverflow.getChildCount(); i++) {
View maybeScrollable = commentOverflow.getChildAt(i);
if (maybeScrollable instanceof HorizontalScrollView) {
sidebar.addScrollable(maybeScrollable);
}
}
} else {
commentOverflow.removeAllViews();
}
}
}