Fixed dark theme in landscape mode. Display the host of the url when the post is a link.

This commit is contained in:
Alex Ning 2019-06-06 16:11:22 +08:00
parent fe4ba7501e
commit d7a90b5397
3 changed files with 70 additions and 53 deletions

View File

@ -312,6 +312,9 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo
break; break;
case Post.LINK_TYPE: case Post.LINK_TYPE:
((DataViewHolder) holder).typeChip.setText("LINK"); ((DataViewHolder) holder).typeChip.setText("LINK");
((DataViewHolder) holder).linkTextView.setVisibility(View.VISIBLE);
String domain = Uri.parse(post.getUrl()).getHost();
((DataViewHolder) holder).linkTextView.setText(domain);
((DataViewHolder) holder).imageView.setOnClickListener(view -> { ((DataViewHolder) holder).imageView.setOnClickListener(view -> {
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
@ -360,7 +363,10 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo
break; break;
case Post.NO_PREVIEW_LINK_TYPE: case Post.NO_PREVIEW_LINK_TYPE:
((DataViewHolder) holder).typeChip.setText("LINK"); ((DataViewHolder) holder).typeChip.setText("LINK");
final String noPreviewLinkUrl = post.getUrl(); String noPreviewLinkUrl = post.getUrl();
((DataViewHolder) holder).linkTextView.setVisibility(View.VISIBLE);
String noPreviewLinkDomain = Uri.parse(noPreviewLinkUrl).getHost();
((DataViewHolder) holder).linkTextView.setText(noPreviewLinkDomain);
((DataViewHolder) holder).noPreviewLinkImageView.setVisibility(View.VISIBLE); ((DataViewHolder) holder).noPreviewLinkImageView.setVisibility(View.VISIBLE);
((DataViewHolder) holder).noPreviewLinkImageView.setOnClickListener(view -> { ((DataViewHolder) holder).noPreviewLinkImageView.setOnClickListener(view -> {
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
@ -569,27 +575,28 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo
} }
class DataViewHolder extends RecyclerView.ViewHolder { class DataViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.card_view_view_post_detail) MaterialCardView cardView; @BindView(R.id.card_view_item_post) MaterialCardView cardView;
@BindView(R.id.subreddit_icon_name_linear_layout_view_item_best_post) LinearLayout subredditIconNameLinearLayout; @BindView(R.id.subreddit_icon_name_linear_layout_view_item_post) LinearLayout subredditIconNameLinearLayout;
@BindView(R.id.subreddit_icon_gif_image_view_best_post_item) AspectRatioGifImageView subredditIconGifImageView; @BindView(R.id.subreddit_icon_gif_image_view_item_post) AspectRatioGifImageView subredditIconGifImageView;
@BindView(R.id.subreddit_text_view_best_post_item) TextView subredditNameTextView; @BindView(R.id.subreddit_text_view_item_post) TextView subredditNameTextView;
@BindView(R.id.stickied_post_image_view_best_post_item) ImageView stickiedPostImageView; @BindView(R.id.stickied_post_image_view_item_post) ImageView stickiedPostImageView;
@BindView(R.id.post_time_text_view_best_post_item) TextView postTimeTextView; @BindView(R.id.post_time_text_view_best_item_post) TextView postTimeTextView;
@BindView(R.id.title_text_view_best_post_item) TextView titleTextView; @BindView(R.id.title_text_view_best_item_post) TextView titleTextView;
@BindView(R.id.type_text_view_item_best_post) Chip typeChip; @BindView(R.id.type_text_view_item_post) Chip typeChip;
@BindView(R.id.gilded_image_view_item_best_post) ImageView gildedImageView; @BindView(R.id.gilded_image_view_item_post) ImageView gildedImageView;
@BindView(R.id.gilded_number_text_view_item_best_post) TextView gildedNumberTextView; @BindView(R.id.gilded_number_text_view_item_post) TextView gildedNumberTextView;
@BindView(R.id.crosspost_image_view_item_best_post) ImageView crosspostImageView; @BindView(R.id.crosspost_image_view_item_post) ImageView crosspostImageView;
@BindView(R.id.nsfw_text_view_item_best_post) Chip nsfwChip; @BindView(R.id.nsfw_text_view_item_post) Chip nsfwChip;
@BindView(R.id.image_view_wrapper_item_best_post) RelativeLayout relativeLayout; @BindView(R.id.link_text_view_item_post) TextView linkTextView;
@BindView(R.id.progress_bar_best_post_item) ProgressBar progressBar; @BindView(R.id.image_view_wrapper_item_post) RelativeLayout relativeLayout;
@BindView(R.id.progress_bar_item_post) ProgressBar progressBar;
@BindView(R.id.image_view_best_post_item) AspectRatioGifImageView imageView; @BindView(R.id.image_view_best_post_item) AspectRatioGifImageView imageView;
@BindView(R.id.load_image_error_relative_layout_best_post_item) RelativeLayout errorRelativeLayout; @BindView(R.id.load_image_error_relative_layout_item_post) RelativeLayout errorRelativeLayout;
@BindView(R.id.image_view_no_preview_link_best_post_item) ImageView noPreviewLinkImageView; @BindView(R.id.image_view_no_preview_link_item_post) ImageView noPreviewLinkImageView;
@BindView(R.id.plus_button_item_best_post) ImageView upvoteButton; @BindView(R.id.plus_button_item_post) ImageView upvoteButton;
@BindView(R.id.score_text_view_item_best_post) TextView scoreTextView; @BindView(R.id.score_text_view_item_post) TextView scoreTextView;
@BindView(R.id.minus_button_item_best_post) ImageView downvoteButton; @BindView(R.id.minus_button_item_post) ImageView downvoteButton;
@BindView(R.id.share_button_item_best_post) ImageView shareButton; @BindView(R.id.share_button_item_post) ImageView shareButton;
DataViewHolder(View itemView) { DataViewHolder(View itemView) {
super(itemView); super(itemView);
@ -633,6 +640,7 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo
((DataViewHolder) holder).gildedNumberTextView.setVisibility(View.GONE); ((DataViewHolder) holder).gildedNumberTextView.setVisibility(View.GONE);
((DataViewHolder) holder).crosspostImageView.setVisibility(View.GONE); ((DataViewHolder) holder).crosspostImageView.setVisibility(View.GONE);
((DataViewHolder) holder).nsfwChip.setVisibility(View.GONE); ((DataViewHolder) holder).nsfwChip.setVisibility(View.GONE);
((DataViewHolder) holder).linkTextView.setVisibility(View.GONE);
((DataViewHolder) holder).progressBar.setVisibility(View.GONE); ((DataViewHolder) holder).progressBar.setVisibility(View.GONE);
((DataViewHolder) holder).imageView.setVisibility(View.GONE); ((DataViewHolder) holder).imageView.setVisibility(View.GONE);
((DataViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE); ((DataViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);

View File

@ -5,7 +5,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:id="@+id/card_view_view_post_detail" android:id="@+id/card_view_item_post"
app:cardCornerRadius="16dp"> app:cardCornerRadius="16dp">
<LinearLayout <LinearLayout
@ -18,24 +18,24 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<LinearLayout <LinearLayout
android:id="@+id/subreddit_icon_name_linear_layout_view_item_best_post" android:id="@+id/subreddit_icon_name_linear_layout_view_item_post"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constrainedWidth="true" app:layout_constrainedWidth="true"
android:padding="16dp" android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/stickied_post_image_view_best_post_item" app:layout_constraintEnd_toStartOf="@id/stickied_post_image_view_item_post"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<CustomView.AspectRatioGifImageView <CustomView.AspectRatioGifImageView
android:id="@+id/subreddit_icon_gif_image_view_best_post_item" android:id="@+id/subreddit_icon_gif_image_view_item_post"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_gravity="center"/> android:layout_gravity="center"/>
<TextView <TextView
android:id="@+id/subreddit_text_view_best_post_item" android:id="@+id/subreddit_text_view_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
@ -45,25 +45,25 @@
</LinearLayout> </LinearLayout>
<ImageView <ImageView
android:id="@+id/stickied_post_image_view_best_post_item" android:id="@+id/stickied_post_image_view_item_post"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:tint="@color/backgroundColorPrimaryDark" android:tint="@color/backgroundColorPrimaryDark"
android:visibility="gone" android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/subreddit_icon_name_linear_layout_view_item_best_post" app:layout_constraintStart_toEndOf="@id/subreddit_icon_name_linear_layout_view_item_post"
app:layout_constraintEnd_toStartOf="@+id/post_time_text_view_best_post_item" app:layout_constraintEnd_toStartOf="@+id/post_time_text_view_best_item_post"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"/> app:layout_constraintTop_toTopOf="parent"/>
<TextView <TextView
android:id="@+id/post_time_text_view_best_post_item" android:id="@+id/post_time_text_view_best_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/stickied_post_image_view_best_post_item" app:layout_constraintStart_toEndOf="@id/stickied_post_image_view_item_post"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintHorizontal_bias="1"/> app:layout_constraintHorizontal_bias="1"/>
@ -71,7 +71,7 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<TextView <TextView
android:id="@+id/title_text_view_best_post_item" android:id="@+id/title_text_view_best_item_post"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="16dp" android:paddingStart="16dp"
@ -87,7 +87,7 @@
android:paddingTop="16dp"> android:paddingTop="16dp">
<com.google.android.material.chip.Chip <com.google.android.material.chip.Chip
android:id="@+id/type_text_view_item_best_post" android:id="@+id/type_text_view_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
@ -96,39 +96,39 @@
app:chipBackgroundColor="@color/backgroundColorPrimaryDark" /> app:chipBackgroundColor="@color/backgroundColorPrimaryDark" />
<ImageView <ImageView
android:id="@+id/gilded_image_view_item_best_post" android:id="@+id/gilded_image_view_item_post"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_toEndOf="@id/type_text_view_item_best_post" android:layout_toEndOf="@id/type_text_view_item_post"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:visibility="gone"/> android:visibility="gone"/>
<TextView <TextView
android:id="@+id/gilded_number_text_view_item_best_post" android:id="@+id/gilded_number_text_view_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_toEndOf="@id/gilded_image_view_item_best_post" android:layout_toEndOf="@id/gilded_image_view_item_post"
android:visibility="gone" android:visibility="gone"
android:textSize="20sp" android:textSize="20sp"
android:textColor="@color/gold" android:textColor="@color/gold"
android:layout_centerVertical="true"/> android:layout_centerVertical="true"/>
<ImageView <ImageView
android:id="@+id/crosspost_image_view_item_best_post" android:id="@+id/crosspost_image_view_item_post"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_toEndOf="@id/gilded_number_text_view_item_best_post" android:layout_toEndOf="@id/gilded_number_text_view_item_post"
android:src="@drawable/crosspost" android:src="@drawable/crosspost"
android:tint="@color/colorAccent" android:tint="@color/colorAccent"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:visibility="gone"/> android:visibility="gone"/>
<com.google.android.material.chip.Chip <com.google.android.material.chip.Chip
android:id="@+id/nsfw_text_view_item_best_post" android:id="@+id/nsfw_text_view_item_post"
android:text="@string/nsfw" android:text="@string/nsfw"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -141,15 +141,24 @@
</RelativeLayout> </RelativeLayout>
<TextView
android:id="@+id/link_text_view_item_post"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:textSize="12sp"
android:visibility="gone"/>
<RelativeLayout <RelativeLayout
android:id="@+id/image_view_wrapper_item_best_post" android:id="@+id/image_view_wrapper_item_post"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:visibility="gone"> android:visibility="gone">
<ProgressBar <ProgressBar
android:id="@+id/progress_bar_best_post_item" android:id="@+id/progress_bar_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" /> android:layout_centerInParent="true" />
@ -162,7 +171,7 @@
android:scaleType="fitStart" /> android:scaleType="fitStart" />
<RelativeLayout <RelativeLayout
android:id="@+id/load_image_error_relative_layout_best_post_item" android:id="@+id/load_image_error_relative_layout_item_post"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_centerInParent="true" android:layout_centerInParent="true"
@ -181,7 +190,7 @@
</RelativeLayout> </RelativeLayout>
<ImageView <ImageView
android:id="@+id/image_view_no_preview_link_best_post_item" android:id="@+id/image_view_no_preview_link_item_post"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="150dp" android:layout_height="150dp"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
@ -196,7 +205,7 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<ImageView <ImageView
android:id="@+id/plus_button_item_best_post" android:id="@+id/plus_button_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
@ -209,20 +218,20 @@
android:focusable="true"/> android:focusable="true"/>
<TextView <TextView
android:id="@+id/score_text_view_item_best_post" android:id="@+id/score_text_view_item_post"
android:layout_width="64dp" android:layout_width="64dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_toEndOf="@id/plus_button_item_best_post" android:layout_toEndOf="@id/plus_button_item_post"
android:layout_alignBottom="@id/plus_button_item_best_post" android:layout_alignBottom="@id/plus_button_item_post"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:gravity="center"/> android:gravity="center"/>
<ImageView <ImageView
android:id="@+id/minus_button_item_best_post" android:id="@+id/minus_button_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_toEndOf="@id/score_text_view_item_best_post" android:layout_toEndOf="@id/score_text_view_item_post"
android:padding="16dp" android:padding="16dp"
android:src="@drawable/ic_arrow_downward_black_24dp" android:src="@drawable/ic_arrow_downward_black_24dp"
android:tint="@android:color/tab_indicator_text" android:tint="@android:color/tab_indicator_text"
@ -231,7 +240,7 @@
android:focusable="true"/> android:focusable="true"/>
<ImageView <ImageView
android:id="@+id/share_button_item_best_post" android:id="@+id/share_button_item_post"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="AppTheme" parent="Theme.MaterialComponents.Light"> <style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
@ -10,4 +9,5 @@
<item name="android:navigationBarColor">@android:color/black</item> <item name="android:navigationBarColor">@android:color/black</item>
<item name="android:textColorPrimary">@android:color/white</item> <item name="android:textColorPrimary">@android:color/white</item>
</style> </style>
</resources> </resources>