diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-12-19 10:32:37 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-12-19 10:32:37 +0000 |
commit | ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a (patch) | |
tree | 46c42fbd205c226736bebeaa98a24d28312899fb /app/src/main | |
parent | f0c04a2f6d5b848da159702e7800d22ccb16f71b (diff) | |
download | infinity-for-reddit-ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a.tar infinity-for-reddit-ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a.tar.gz infinity-for-reddit-ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a.tar.bz2 infinity-for-reddit-ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a.tar.lz infinity-for-reddit-ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a.tar.xz infinity-for-reddit-ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a.tar.zst infinity-for-reddit-ae49dd50d4b8ccdbc99a142c44e29e63ab111a3a.zip |
Show a play button on the image if the post is a video or an image.
Diffstat (limited to 'app/src/main')
10 files changed, 110 insertions, 19 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java index 6c1c1130..694e0f62 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java @@ -466,6 +466,8 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy intent.putExtra(ViewGIFActivity.IMAGE_URL_KEY, mPost.getVideoUrl()); mActivity.startActivity(intent); }); + + ((PostDetailViewHolder) holder).mPlayButtonImageView.setVisibility(View.VISIBLE); break; case Post.VIDEO_TYPE: ((PostDetailViewHolder) holder).mTypeTextView.setText("VIDEO"); @@ -479,6 +481,8 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy intent.putExtra(ViewVideoActivity.EXTRA_ID, mPost.getId()); mActivity.startActivity(intent); }); + + ((PostDetailViewHolder) holder).mPlayButtonImageView.setVisibility(View.VISIBLE); break; case Post.NO_PREVIEW_LINK_TYPE: ((PostDetailViewHolder) holder).mTypeTextView.setText("LINK"); @@ -1576,6 +1580,8 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy TextView mLoadImageErrorTextView; @BindView(R.id.image_view_item_post_detail) AspectRatioImageView mImageView; + @BindView(R.id.play_button_image_view_item_post_detail) + ImageView mPlayButtonImageView; @BindView(R.id.image_view_no_preview_link_item_post_detail) ImageView mNoPreviewLinkImageView; @BindView(R.id.bottom_constraint_layout_item_post_detail) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java index 9b5dc638..a4e897de 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java @@ -465,6 +465,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView intent.putExtra(ViewGIFActivity.IMAGE_URL_KEY, post.getVideoUrl()); mContext.startActivity(intent); }); + + ((PostViewHolder) holder).playButtonImageView.setVisibility(View.VISIBLE); break; case Post.VIDEO_TYPE: ((PostViewHolder) holder).typeTextView.setText(R.string.video); @@ -478,6 +480,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView intent.putExtra(ViewVideoActivity.EXTRA_ID, fullName); mContext.startActivity(intent); }); + + ((PostViewHolder) holder).playButtonImageView.setVisibility(View.VISIBLE); break; case Post.NO_PREVIEW_LINK_TYPE: ((PostViewHolder) holder).typeTextView.setText(R.string.link); @@ -943,7 +947,9 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView if (post.getPostType() != Post.TEXT_TYPE && post.getPostType() != Post.NO_PREVIEW_LINK_TYPE) { ((PostCompactViewHolder) holder).relativeLayout.setVisibility(View.VISIBLE); - ((PostCompactViewHolder) holder).progressBar.setVisibility(View.VISIBLE); + if (post.getPostType() != Post.GIF_TYPE && post.getPostType() != Post.VIDEO_TYPE) { + ((PostCompactViewHolder) holder).progressBar.setVisibility(View.VISIBLE); + } ((PostCompactViewHolder) holder).imageView.setVisibility(View.VISIBLE); loadImage(holder, post); } @@ -1013,6 +1019,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView intent.putExtra(ViewGIFActivity.IMAGE_URL_KEY, post.getVideoUrl()); mContext.startActivity(intent); }); + + ((PostCompactViewHolder) holder).playButtonImageView.setVisibility(View.VISIBLE); break; case Post.VIDEO_TYPE: ((PostCompactViewHolder) holder).typeTextView.setText(R.string.video); @@ -1026,6 +1034,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView intent.putExtra(ViewVideoActivity.EXTRA_ID, fullName); mContext.startActivity(intent); }); + + ((PostCompactViewHolder) holder).playButtonImageView.setVisibility(View.VISIBLE); break; case Post.NO_PREVIEW_LINK_TYPE: ((PostCompactViewHolder) holder).typeTextView.setText(R.string.link); @@ -1406,6 +1416,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView ((PostViewHolder) holder).linkTextView.setVisibility(View.GONE); ((PostViewHolder) holder).progressBar.setVisibility(View.GONE); ((PostViewHolder) holder).imageView.setVisibility(View.GONE); + ((PostViewHolder) holder).playButtonImageView.setVisibility(View.GONE); ((PostViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE); ((PostViewHolder) holder).noPreviewLinkImageView.setVisibility(View.GONE); ((PostViewHolder) holder).contentTextView.setVisibility(View.GONE); @@ -1427,6 +1438,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView ((PostCompactViewHolder) holder).linkTextView.setVisibility(View.GONE); ((PostCompactViewHolder) holder).progressBar.setVisibility(View.GONE); ((PostCompactViewHolder) holder).imageView.setVisibility(View.GONE); + ((PostCompactViewHolder) holder).playButtonImageView.setVisibility(View.GONE); ((PostCompactViewHolder) holder).noPreviewLinkImageView.setVisibility(View.GONE); ((PostCompactViewHolder) holder).upvoteButton.clearColorFilter(); ((PostCompactViewHolder) holder).scoreTextView.setTextColor(ContextCompat.getColor(mContext, R.color.defaultTextColor)); @@ -1479,6 +1491,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView ProgressBar progressBar; @BindView(R.id.image_view_best_post_item) AspectRatioGifImageView imageView; + @BindView(R.id.play_button_image_view_item_post) + ImageView playButtonImageView; @BindView(R.id.load_image_error_relative_layout_item_post) RelativeLayout errorRelativeLayout; @BindView(R.id.image_view_no_preview_link_item_post) @@ -1563,6 +1577,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView ProgressBar progressBar; @BindView(R.id.image_view_best_post_item) ImageView imageView; + @BindView(R.id.play_button_image_view_item_post_compact) + ImageView playButtonImageView; @BindView(R.id.image_view_no_preview_link_item_post_compact) ImageView noPreviewLinkImageView; @BindView(R.id.bottom_constraint_layout_item_post_compact) diff --git a/app/src/main/res/drawable-night/ic_play_circle_36dp.xml b/app/src/main/res/drawable-night/ic_play_circle_36dp.xml new file mode 100644 index 00000000..2471417e --- /dev/null +++ b/app/src/main/res/drawable-night/ic_play_circle_36dp.xml @@ -0,0 +1,4 @@ +<vector android:height="36dp" android:viewportHeight="24" + android:viewportWidth="24" android:width="36dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M10,16.5l6,-4.5 -6,-4.5zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_play_circle_36dp.xml b/app/src/main/res/drawable/ic_play_circle_36dp.xml new file mode 100644 index 00000000..7a21d9a9 --- /dev/null +++ b/app/src/main/res/drawable/ic_play_circle_36dp.xml @@ -0,0 +1,4 @@ +<vector android:height="36dp" android:viewportHeight="24" + android:viewportWidth="24" android:width="36dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FFFFFFFF" android:pathData="M10,16.5l6,-4.5 -6,-4.5zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/> +</vector> diff --git a/app/src/main/res/drawable/play_button_round_background.xml b/app/src/main/res/drawable/play_button_round_background.xml new file mode 100644 index 00000000..d047c68d --- /dev/null +++ b/app/src/main/res/drawable/play_button_round_background.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > + <item> + <shape android:shape="oval"> + <solid android:color="@color/backgroundColorInverse" /> + </shape> + </item> + +</layer-list>
\ No newline at end of file diff --git a/app/src/main/res/layout/item_post.xml b/app/src/main/res/layout/item_post.xml index 22b94789..787a1fe9 100644 --- a/app/src/main/res/layout/item_post.xml +++ b/app/src/main/res/layout/item_post.xml @@ -231,19 +231,35 @@ android:layout_height="wrap_content" android:visibility="gone"> + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView + android:id="@+id/image_view_best_post_item" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:adjustViewBounds="true" + android:scaleType="fitStart" /> + + <ImageView + android:id="@+id/play_button_image_view_item_post" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="16dp" + android:layout_gravity="start" + android:background="@drawable/play_button_round_background" + android:src="@drawable/ic_play_circle_36dp" + android:visibility="gone" /> + + </FrameLayout> + <ProgressBar android:id="@+id/progress_bar_item_post" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> - <ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView - android:id="@+id/image_view_best_post_item" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:adjustViewBounds="true" - android:scaleType="fitStart" /> - <RelativeLayout android:id="@+id/load_image_error_relative_layout_item_post" android:layout_width="match_parent" diff --git a/app/src/main/res/layout/item_post_compact.xml b/app/src/main/res/layout/item_post_compact.xml index c8ab31c2..411bf5fc 100644 --- a/app/src/main/res/layout/item_post_compact.xml +++ b/app/src/main/res/layout/item_post_compact.xml @@ -230,18 +230,34 @@ app:layout_constraintTop_toTopOf="parent" tools:visibility="visible"> + <FrameLayout + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <ImageView + android:id="@+id/image_view_best_post_item" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:scaleType="center" /> + + <ImageView + android:id="@+id/play_button_image_view_item_post_compact" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="0dp" + android:layout_gravity="center" + android:background="@drawable/play_button_round_background" + android:src="@drawable/ic_play_circle_36dp" + android:visibility="gone" /> + + </FrameLayout> + <ProgressBar android:id="@+id/progress_bar_item_post_compact" android:layout_width="36dp" android:layout_height="36dp" android:layout_centerInParent="true" /> - <ImageView - android:id="@+id/image_view_best_post_item" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scaleType="center" /> - </RelativeLayout> <ImageView diff --git a/app/src/main/res/layout/item_post_detail.xml b/app/src/main/res/layout/item_post_detail.xml index 63406305..7a9dac19 100644 --- a/app/src/main/res/layout/item_post_detail.xml +++ b/app/src/main/res/layout/item_post_detail.xml @@ -210,12 +210,28 @@ android:layout_height="wrap_content" android:visibility="gone"> - <com.santalu.aspectratioimageview.AspectRatioImageView - android:id="@+id/image_view_item_post_detail" + <FrameLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - android:adjustViewBounds="true" - android:scaleType="fitStart"/> + android:layout_height="wrap_content"> + + <com.santalu.aspectratioimageview.AspectRatioImageView + android:id="@+id/image_view_item_post_detail" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:adjustViewBounds="true" + android:scaleType="fitStart"/> + + <ImageView + android:id="@+id/play_button_image_view_item_post_detail" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="16dp" + android:layout_gravity="start" + android:background="@drawable/play_button_round_background" + android:src="@drawable/ic_play_circle_36dp" + android:visibility="gone" /> + + </FrameLayout> <RelativeLayout android:id="@+id/load_wrapper_item_post_detail" diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index 6be140e4..f5d0ec6c 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -22,6 +22,8 @@ <color name="backgroundColorPrimaryDark">#1565C0</color> + <color name="backgroundColorInverse">#FFFFFF</color> + <color name="roundedBottomSheetPrimaryBackground">#242424</color> <color name="voteAndReplyUnavailableVoteButtonColor">#3C3C3C</color> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index bf8487e6..43811d56 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -22,6 +22,8 @@ <color name="backgroundColorPrimaryDark">@color/colorPrimaryDark</color> + <color name="backgroundColorInverse">#000000</color> + <color name="roundedBottomSheetPrimaryBackground">#FFFFFF</color> <color name="roundedBottomSheetPrimaryNavigationBarColor">@android:color/black</color> |