support server always_display_attachments

article: properly serialize new fields
This commit is contained in:
Andrew Dolgov 2012-10-10 16:45:33 +04:00
parent 84bffe92cd
commit c444d3b1e6
2 changed files with 17 additions and 6 deletions

View File

@ -262,16 +262,19 @@ public class ArticleFragment extends Fragment {
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
String flatContent = articleContent.replaceAll("[\r\n]", "");
boolean hasImages = flatContent.matches(".*?<img[^>+].*?");
for (Attachment a : m_article.attachments) { for (Attachment a : m_article.attachments) {
if (a.content_type != null && a.content_url != null) { if (a.content_type != null && a.content_url != null) {
try { try {
URL url = new URL(a.content_url.trim()); if (a.content_type.indexOf("image") != -1 &&
String strUrl = url.toString().trim(); (!hasImages || m_article.always_display_attachments)) {
String regex = String.format(".*?<img.*src=[\"']%1$s[\"'].*", strUrl); URL url = new URL(a.content_url.trim());
String strUrl = url.toString().trim();
if (a.content_type.indexOf("image") != -1 && !articleContent.replaceAll("[\r\n]", "").matches(regex)) {
content += "<p><img src=\"" + strUrl.replace("\"", "\\\"") + "\"></p>"; content += "<p><img src=\"" + strUrl.replace("\"", "\\\"") + "\"></p>";
} }

View File

@ -24,6 +24,7 @@ public class Article implements Parcelable {
public String feed_title; public String feed_title;
public int comments_count; public int comments_count;
public String comments_link; public String comments_link;
public boolean always_display_attachments;
public Article(Parcel in) { public Article(Parcel in) {
readFromParcel(in); readFromParcel(in);
@ -60,6 +61,9 @@ public class Article implements Parcelable {
out.writeString(content); out.writeString(content);
out.writeList(attachments); out.writeList(attachments);
out.writeString(feed_title); out.writeString(feed_title);
out.writeInt(comments_count);
out.writeString(comments_link);
out.writeInt(always_display_attachments ? 1 : 0);
} }
public void readFromParcel(Parcel in) { public void readFromParcel(Parcel in) {
@ -82,6 +86,10 @@ public class Article implements Parcelable {
in.readList(attachments, Attachment.class.getClassLoader()); in.readList(attachments, Attachment.class.getClassLoader());
feed_title = in.readString(); feed_title = in.readString();
comments_count = in.readInt();
comments_link = in.readString();
always_display_attachments = in.readInt() == 1;
} }
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")