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

View File

@ -5,7 +5,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:id="@+id/card_view_view_post_detail"
android:id="@+id/card_view_item_post"
app:cardCornerRadius="16dp">
<LinearLayout
@ -18,24 +18,24 @@
android:layout_height="wrap_content">
<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_height="wrap_content"
app:layout_constrainedWidth="true"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="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">
<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_height="24dp"
android:layout_gravity="center"/>
<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_height="wrap_content"
android:layout_marginStart="16dp"
@ -45,25 +45,25 @@
</LinearLayout>
<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_height="24dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:tint="@color/backgroundColorPrimaryDark"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/subreddit_icon_name_linear_layout_view_item_best_post"
app:layout_constraintEnd_toStartOf="@+id/post_time_text_view_best_post_item"
app:layout_constraintStart_toEndOf="@id/subreddit_icon_name_linear_layout_view_item_post"
app:layout_constraintEnd_toStartOf="@+id/post_time_text_view_best_item_post"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<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_height="wrap_content"
android:layout_marginEnd="16dp"
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_constraintTop_toTopOf="parent"
app:layout_constraintHorizontal_bias="1"/>
@ -71,7 +71,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<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_height="wrap_content"
android:paddingStart="16dp"
@ -87,7 +87,7 @@
android:paddingTop="16dp">
<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_height="wrap_content"
android:layout_marginEnd="16dp"
@ -96,39 +96,39 @@
app:chipBackgroundColor="@color/backgroundColorPrimaryDark" />
<ImageView
android:id="@+id/gilded_image_view_item_best_post"
android:id="@+id/gilded_image_view_item_post"
android:layout_width="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:visibility="gone"/>
<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_height="wrap_content"
android:layout_marginStart="4dp"
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:textSize="20sp"
android:textColor="@color/gold"
android:layout_centerVertical="true"/>
<ImageView
android:id="@+id/crosspost_image_view_item_best_post"
android:id="@+id/crosspost_image_view_item_post"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="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:tint="@color/colorAccent"
android:layout_centerVertical="true"
android:visibility="gone"/>
<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:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -141,15 +141,24 @@
</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
android:id="@+id/image_view_wrapper_item_best_post"
android:id="@+id/image_view_wrapper_item_post"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:visibility="gone">
<ProgressBar
android:id="@+id/progress_bar_best_post_item"
android:id="@+id/progress_bar_item_post"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
@ -162,7 +171,7 @@
android:scaleType="fitStart" />
<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_height="match_parent"
android:layout_centerInParent="true"
@ -181,7 +190,7 @@
</RelativeLayout>
<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_height="150dp"
android:layout_marginTop="16dp"
@ -196,7 +205,7 @@
android:layout_height="wrap_content">
<ImageView
android:id="@+id/plus_button_item_best_post"
android:id="@+id/plus_button_item_post"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
@ -209,20 +218,20 @@
android:focusable="true"/>
<TextView
android:id="@+id/score_text_view_item_best_post"
android:id="@+id/score_text_view_item_post"
android:layout_width="64dp"
android:layout_height="match_parent"
android:layout_toEndOf="@id/plus_button_item_best_post"
android:layout_alignBottom="@id/plus_button_item_best_post"
android:layout_toEndOf="@id/plus_button_item_post"
android:layout_alignBottom="@id/plus_button_item_post"
android:layout_alignParentTop="true"
android:gravity="center"/>
<ImageView
android:id="@+id/minus_button_item_best_post"
android:id="@+id/minus_button_item_post"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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:src="@drawable/ic_arrow_downward_black_24dp"
android:tint="@android:color/tab_indicator_text"
@ -231,7 +240,7 @@
android:focusable="true"/>
<ImageView
android:id="@+id/share_button_item_best_post"
android:id="@+id/share_button_item_post"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"

View File

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