diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-04-26 13:53:32 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-04-26 13:53:32 +0000 |
commit | 1d294609f5bb472fea0d536ac381359e9d9c4dc0 (patch) | |
tree | b08d35ea740818efd92b2ffb4a1e45b3bd7e06e8 /app | |
parent | 6bd4b41f8c7eeb112d00bc42658eace8ed3bcb85 (diff) | |
download | infinity-for-reddit-1d294609f5bb472fea0d536ac381359e9d9c4dc0.tar infinity-for-reddit-1d294609f5bb472fea0d536ac381359e9d9c4dc0.tar.gz infinity-for-reddit-1d294609f5bb472fea0d536ac381359e9d9c4dc0.tar.bz2 infinity-for-reddit-1d294609f5bb472fea0d536ac381359e9d9c4dc0.tar.lz infinity-for-reddit-1d294609f5bb472fea0d536ac381359e9d9c4dc0.tar.xz infinity-for-reddit-1d294609f5bb472fea0d536ac381359e9d9c4dc0.tar.zst infinity-for-reddit-1d294609f5bb472fea0d536ac381359e9d9c4dc0.zip |
Unescape HTML for post content and comments. Minor UI fixes.
Diffstat (limited to 'app')
8 files changed, 34 insertions, 44 deletions
diff --git a/app/build.gradle b/app/build.gradle index 82064ea1..6fe85a03 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,8 +39,8 @@ dependencies { implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v13:1.0.0' testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test:runner:1.2.0-alpha03' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-alpha03' + androidTestImplementation 'androidx.test:runner:1.2.0-alpha04' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-alpha04' implementation 'com.google.android.exoplayer:exoplayer:2.9.6' implementation 'com.google.android.exoplayer:exoplayer-dash:2.9.6' implementation 'androidx.browser:browser:1.0.0' diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java index 970c9ed6..c2808e97 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ParseComment.java @@ -1,6 +1,7 @@ package ml.docilealligator.infinityforreddit; import android.os.AsyncTask; +import android.text.Html; import android.util.Log; import org.json.JSONArray; @@ -116,7 +117,7 @@ class ParseComment { boolean isSubmitter = data.getBoolean(JSONUtils.IS_SUBMITTER_KEY); String commentContent = ""; if(!data.isNull(JSONUtils.BODY_HTML_KEY)) { - commentContent = data.getString(JSONUtils.BODY_HTML_KEY); + commentContent = Html.fromHtml(data.getString(JSONUtils.BODY_HTML_KEY).trim()).toString(); } String permalink = data.getString(JSONUtils.PERMALINK_KEY); int score = data.getInt(JSONUtils.SCORE_KEY); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java index f3d92f70..6cb68323 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java @@ -1,6 +1,7 @@ package ml.docilealligator.infinityforreddit; import android.os.AsyncTask; +import android.text.Html; import android.util.Log; import org.json.JSONArray; @@ -148,7 +149,7 @@ class ParsePost { if(data.isNull(JSONUtils.SELFTEXT_HTML_KEY)) { post.setSelfText(""); } else { - post.setSelfText(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()); + post.setSelfText(Html.fromHtml(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()).toString()); } bestPostData.add(post); } else { @@ -161,7 +162,7 @@ class ParsePost { if(data.isNull(JSONUtils.SELFTEXT_HTML_KEY)) { linkPost.setSelfText(""); } else { - linkPost.setSelfText(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()); + linkPost.setSelfText(Html.fromHtml(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()).toString()); } bestPostData.add(linkPost); } @@ -252,7 +253,7 @@ class ParsePost { if(data.isNull(JSONUtils.SELFTEXT_HTML_KEY)) { textWithImagePost.setSelfText(""); } else { - textWithImagePost.setSelfText(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()); + textWithImagePost.setSelfText(Html.fromHtml(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()).toString()); } bestPostData.add(textWithImagePost); } else { @@ -265,7 +266,7 @@ class ParsePost { if(data.isNull(JSONUtils.SELFTEXT_HTML_KEY)) { linkPost.setSelfText(""); } else { - linkPost.setSelfText(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()); + linkPost.setSelfText(Html.fromHtml(data.getString(JSONUtils.SELFTEXT_HTML_KEY).trim()).toString()); } linkPost.setPreviewWidth(previewWidth); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java index 5b2fecb7..0bc59909 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java @@ -298,7 +298,6 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo switch (post.getPostType()) { case Post.IMAGE_TYPE: - ((DataViewHolder) holder).typeChip.setVisibility(View.VISIBLE); ((DataViewHolder) holder).typeChip.setText("IMAGE"); final String imageUrl = post.getUrl(); @@ -312,7 +311,6 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo }); break; case Post.LINK_TYPE: - ((DataViewHolder) holder).typeChip.setVisibility(View.VISIBLE); ((DataViewHolder) holder).typeChip.setText("LINK"); ((DataViewHolder) holder).imageView.setOnClickListener(view -> { @@ -325,7 +323,6 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo }); break; case Post.GIF_VIDEO_TYPE: - ((DataViewHolder) holder).typeChip.setVisibility(View.VISIBLE); ((DataViewHolder) holder).typeChip.setText("GIF"); final Uri gifVideoUri = Uri.parse(post.getVideoUrl()); @@ -344,7 +341,6 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo }); break; case Post.VIDEO_TYPE: - ((DataViewHolder) holder).typeChip.setVisibility(View.VISIBLE); ((DataViewHolder) holder).typeChip.setText("VIDEO"); final Uri videoUri = Uri.parse(post.getVideoUrl()); @@ -363,7 +359,6 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo }); break; case Post.NO_PREVIEW_LINK_TYPE: - ((DataViewHolder) holder).typeChip.setVisibility(View.VISIBLE); ((DataViewHolder) holder).typeChip.setText("LINK"); final String noPreviewLinkUrl = post.getUrl(); ((DataViewHolder) holder).noPreviewLinkImageView.setVisibility(View.VISIBLE); @@ -377,7 +372,7 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo }); break; case Post.TEXT_TYPE: - ((DataViewHolder) holder).typeChip.setVisibility(View.GONE); + ((DataViewHolder) holder).typeChip.setText("TEXT"); break; } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/UserFollowing.java b/app/src/main/java/ml/docilealligator/infinityforreddit/UserFollowing.java index 4003c2d4..18fd09cb 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/UserFollowing.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/UserFollowing.java @@ -2,9 +2,10 @@ package ml.docilealligator.infinityforreddit; import android.content.SharedPreferences; import android.os.AsyncTask; -import androidx.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + import java.util.HashMap; import java.util.Map; @@ -109,7 +110,7 @@ class UserFollowing { if(isSubscribing) { subscribedUserDao.insert(subscribedUserData); } else { - subscribedUserDao.deleteSubscribedUser(userName);; + subscribedUserDao.deleteSubscribedUser(userName); } return null; } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java index fb449ac6..55e064df 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java @@ -245,6 +245,7 @@ public class ViewPostDetailActivity extends AppCompatActivity { switch (mPost.getPostType()) { case Post.IMAGE_TYPE: mTypeChip.setText("IMAGE"); + mImageView.setOnClickListener(view -> { Intent intent = new Intent(ViewPostDetailActivity.this, ViewImageActivity.class); intent.putExtra(ViewImageActivity.IMAGE_URL_KEY, mPost.getUrl()); @@ -304,6 +305,7 @@ public class ViewPostDetailActivity extends AppCompatActivity { break; case Post.NO_PREVIEW_LINK_TYPE: mTypeChip.setText("LINK"); + if(!mPost.getSelfText().equals("")) { mContentMarkdownView.setVisibility(View.VISIBLE); mContentMarkdownView.setMarkdown(getCustomSpannableConfiguration(), mPost.getSelfText()); @@ -319,7 +321,8 @@ public class ViewPostDetailActivity extends AppCompatActivity { }); break; case Post.TEXT_TYPE: - mTypeChip.setVisibility(View.GONE); + mTypeChip.setText("TEXT"); + if(!mPost.getSelfText().equals("")) { mContentMarkdownView.setVisibility(View.VISIBLE); mContentMarkdownView.setMarkdown(getCustomSpannableConfiguration(), mPost.getSelfText()); diff --git a/app/src/main/res/layout/activity_view_post_detail.xml b/app/src/main/res/layout/activity_view_post_detail.xml index 1a0be45d..26239fef 100644 --- a/app/src/main/res/layout/activity_view_post_detail.xml +++ b/app/src/main/res/layout/activity_view_post_detail.xml @@ -73,10 +73,8 @@ android:id="@+id/title_text_view_view_post_detail" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginEnd="16dp" - android:layout_marginLeft="16dp" - android:layout_marginRight="16dp" - android:layout_marginStart="16dp" + android:paddingStart="16dp" + android:paddingEnd="16dp" android:textColor="#000000" android:textSize="18sp" /> @@ -84,24 +82,23 @@ android:id="@+id/content_markdown_view_view_post_detail" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginEnd="16dp" - android:layout_marginStart="16dp" + android:paddingStart="16dp" + android:paddingEnd="16dp" android:layout_marginTop="16dp" android:visibility="gone" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="16dp" - android:layout_marginEnd="16dp"> + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:paddingTop="16dp"> <com.google.android.material.chip.Chip android:id="@+id/type_text_view_view_post_detail" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="8dp" android:layout_marginEnd="8dp" - android:textSize="12sp" android:textColor="@android:color/white" android:layout_centerVertical="true" app:chipBackgroundColor="@color/colorPrimaryDark"/> @@ -110,18 +107,18 @@ android:id="@+id/gilded_image_view_view_post_detail" android:layout_width="24dp" android:layout_height="24dp" - android:layout_marginTop="8dp" android:layout_toEndOf="@id/type_text_view_view_post_detail" + android:layout_centerVertical="true" android:visibility="gone"/> <TextView android:id="@+id/gilded_number_text_view_view_post_detail" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="8dp" android:layout_marginStart="4dp" android:layout_marginEnd="8dp" android:layout_toEndOf="@id/gilded_image_view_view_post_detail" + android:layout_centerVertical="true" android:visibility="gone" android:textSize="20sp" android:textColor="@color/gold"/> @@ -130,11 +127,10 @@ android:id="@+id/crosspost_image_view_view_post_detail" android:layout_width="24dp" android:layout_height="24dp" - android:layout_marginTop="8dp" android:layout_marginStart="8dp" android:layout_marginEnd="8dp" - android:layout_toStartOf="@id/nsfw_text_view_item_best_post" android:layout_toEndOf="@id/gilded_number_text_view_view_post_detail" + android:layout_centerVertical="true" android:src="@drawable/crosspost" android:tint="@color/colorAccent" android:visibility="gone"/> @@ -145,10 +141,10 @@ android:layout_height="wrap_content" android:text="@string/nsfw" android:layout_alignParentEnd="true" - android:layout_marginTop="8dp" android:layout_marginStart="8dp" android:textColor="@android:color/white" android:visibility="gone" + android:layout_centerVertical="true" app:chipBackgroundColor="@color/colorAccent"/> </RelativeLayout> diff --git a/app/src/main/res/layout/item_post.xml b/app/src/main/res/layout/item_post.xml index 9d94cb2a..45024d78 100644 --- a/app/src/main/res/layout/item_post.xml +++ b/app/src/main/res/layout/item_post.xml @@ -71,34 +71,32 @@ android:id="@+id/title_text_view_best_post_item" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="16dp" - android:layout_marginEnd="16dp" + android:paddingStart="16dp" + android:paddingEnd="16dp" android:textSize="18sp" android:textColor="#000000"/> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="16dp" - android:layout_marginEnd="16dp"> + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:paddingTop="16dp"> <com.google.android.material.chip.Chip android:id="@+id/type_text_view_item_best_post" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="8dp" android:layout_marginEnd="16dp" - android:textSize="12sp" android:textColor="@android:color/white" android:layout_centerVertical="true" - app:chipBackgroundColor="@color/colorPrimaryDark"/> + app:chipBackgroundColor="@color/colorPrimaryDark" /> <ImageView android:id="@+id/gilded_image_view_item_best_post" android:layout_width="24dp" android:layout_height="24dp" android:layout_toEndOf="@id/type_text_view_item_best_post" - android:layout_marginTop="8dp" android:layout_centerVertical="true" android:visibility="gone"/> @@ -106,7 +104,6 @@ android:id="@+id/gilded_number_text_view_item_best_post" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="8dp" android:layout_marginStart="4dp" android:layout_marginEnd="8dp" android:layout_toEndOf="@id/gilded_image_view_item_best_post" @@ -119,10 +116,8 @@ android:id="@+id/crosspost_image_view_item_best_post" android:layout_width="24dp" android:layout_height="24dp" - android:layout_marginTop="8dp" android:layout_marginStart="8dp" android:layout_marginEnd="8dp" - android:layout_toStartOf="@id/nsfw_text_view_item_best_post" android:layout_toEndOf="@id/gilded_number_text_view_item_best_post" android:src="@drawable/crosspost" android:tint="@color/colorAccent" @@ -135,9 +130,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" - android:layout_marginTop="8dp" android:layout_marginStart="8dp" - android:textSize="12sp" android:textColor="@android:color/white" android:visibility="gone" android:layout_centerVertical="true" |