Fix username takes up too much space in comments. Add PostCompactRightLeftThumbnailViewHolder and PostCompactLeftThumbnailViewHolder in order to fix layout issues in ConstraintLayout v2.0.0-beta8. Rename 'Show Thumbnail on the Right in Compact Layout' to 'Show Thumbnail on the Left in Compact Layout'.

This commit is contained in:
Alex Ning 2020-07-09 22:29:22 +08:00
parent 70264ee632
commit 5020bf633f
10 changed files with 806 additions and 293 deletions

View File

@ -31,7 +31,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.browser:browser:1.2.0' implementation 'androidx.browser:browser:1.2.0'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta8'
// Lifecycle components // Lifecycle components
def lifecycleVersion = '2.2.0' def lifecycleVersion = '2.2.0'
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycleVersion" implementation "androidx.lifecycle:lifecycle-extensions:$lifecycleVersion"
@ -52,15 +52,15 @@ dependencies {
implementation 'com.google.android.exoplayer:exoplayer-dash:2.10.4' implementation 'com.google.android.exoplayer:exoplayer-dash:2.10.4'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.10.4' implementation 'com.google.android.exoplayer:exoplayer-ui:2.10.4'
implementation 'com.alexvasilkov:gesture-views:2.6.0' implementation 'com.alexvasilkov:gesture-views:2.6.0'
implementation 'com.github.bumptech.glide:glide:4.10.0' implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.19' implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
implementation 'com.squareup.retrofit2:retrofit:2.7.2' implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.7.2' implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
implementation 'jp.wasabeef:glide-transformations:4.1.0' implementation 'jp.wasabeef:glide-transformations:4.1.0'
implementation 'com.google.dagger:dagger:2.27' implementation 'com.google.dagger:dagger:2.28.1'
annotationProcessor 'com.google.dagger:dagger-compiler:2.27' annotationProcessor 'com.google.dagger:dagger-compiler:2.28.1'
implementation 'com.jakewharton:butterknife:10.2.1' implementation 'com.jakewharton:butterknife:10.2.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1' annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
implementation 'com.github.santalu:aspect-ratio-imageview:1.0.9' implementation 'com.github.santalu:aspect-ratio-imageview:1.0.9'
@ -70,7 +70,7 @@ dependencies {
implementation 'io.noties.markwon:ext-strikethrough:4.3.1' implementation 'io.noties.markwon:ext-strikethrough:4.3.1'
implementation 'io.noties.markwon:simple-ext:4.3.1' implementation 'io.noties.markwon:simple-ext:4.3.1'
implementation 'io.noties.markwon:recycler-table:4.3.1' implementation 'io.noties.markwon:recycler-table:4.3.1'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.20'
implementation 'com.github.Ferfalk:SimpleSearchView:0.1.4' implementation 'com.github.Ferfalk:SimpleSearchView:0.1.4'
def eventbusVersion = '3.2.0' def eventbusVersion = '3.2.0'

View File

@ -789,29 +789,29 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
((CommentViewHolder) holder).itemView.setBackgroundColor(mAwardedCommentBackgroundColor); ((CommentViewHolder) holder).itemView.setBackgroundColor(mAwardedCommentBackgroundColor);
} }
String authorPrefixed = "u/" + comment.getAuthor(); String authorPrefixed = "u/" + "asdasdfasfadfafasfasfsafasdfasdfasfjk as df adsf asf a sfas f";
((CommentViewHolder) holder).authorTextView.setText(authorPrefixed); ((CommentViewHolder) holder).authorTextView.setText(authorPrefixed);
((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.VISIBLE);
((CommentViewHolder) holder).authorFlairTextView.setText("asfafaf");
if (comment.getAuthorFlairHTML() != null && !comment.getAuthorFlairHTML().equals("")) { /*if (comment.getAuthorFlairHTML() != null && !comment.getAuthorFlairHTML().equals("")) {
((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.VISIBLE); ((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.VISIBLE);
Utils.setHTMLWithImageToTextView(((CommentViewHolder) holder).authorFlairTextView, comment.getAuthorFlairHTML()); Utils.setHTMLWithImageToTextView(((CommentViewHolder) holder).authorFlairTextView, comment.getAuthorFlairHTML());
} else if (comment.getAuthorFlair() != null && !comment.getAuthorFlair().equals("")) { } else if (comment.getAuthorFlair() != null && !comment.getAuthorFlair().equals("")) {
((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.VISIBLE); ((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.VISIBLE);
((CommentViewHolder) holder).authorFlairTextView.setText(comment.getAuthorFlair()); ((CommentViewHolder) holder).authorFlairTextView.setText(comment.getAuthorFlair());
} }*/
if (comment.isSubmitter()) { if (comment.isSubmitter()) {
((CommentViewHolder) holder).authorTextView.setTextColor(mSubmitterColor); ((CommentViewHolder) holder).authorTextView.setTextColor(mSubmitterColor);
((CommentViewHolder) holder).authorTypeImageView.setVisibility(View.VISIBLE); Drawable submitterDrawable = Utils.getTintedDrawable(mActivity, R.drawable.ic_mic_14dp, mSubmitterColor);
((CommentViewHolder) holder).authorTypeImageView. ((CommentViewHolder) holder).authorTextView.setCompoundDrawablesWithIntrinsicBounds(
setColorFilter(mSubmitterColor, android.graphics.PorterDuff.Mode.SRC_IN); submitterDrawable, null, null, null);
((CommentViewHolder) holder).authorTypeImageView.setImageResource(R.drawable.ic_mic_14dp);
} else if (comment.isModerator()) { } else if (comment.isModerator()) {
((CommentViewHolder) holder).authorTextView.setTextColor(mModeratorColor); ((CommentViewHolder) holder).authorTextView.setTextColor(mModeratorColor);
((CommentViewHolder) holder).authorTypeImageView.setVisibility(View.VISIBLE); Drawable moderatorDrawable = Utils.getTintedDrawable(mActivity, R.drawable.ic_verified_user_14dp, mModeratorColor);
((CommentViewHolder) holder).authorTypeImageView. ((CommentViewHolder) holder).authorTextView.setCompoundDrawablesWithIntrinsicBounds(
setColorFilter(mModeratorColor, android.graphics.PorterDuff.Mode.SRC_IN); moderatorDrawable, null, null, null);
((CommentViewHolder) holder).authorTypeImageView.setImageResource(R.drawable.ic_verified_user_14dp);
} }
if (mShowElapsedTime) { if (mShowElapsedTime) {
@ -1582,9 +1582,8 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) { public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
if (holder instanceof CommentViewHolder) { if (holder instanceof CommentViewHolder) {
((CommentViewHolder) holder).authorTextView.setTextColor(mUsernameColor); ((CommentViewHolder) holder).authorTextView.setTextColor(mUsernameColor);
mGlide.clear(((CommentViewHolder) holder).authorTypeImageView);
((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.GONE); ((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.GONE);
((CommentViewHolder) holder).authorTypeImageView.setVisibility(View.GONE); ((CommentViewHolder) holder).authorTextView.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
((CommentViewHolder) holder).awardsTextView.setText(""); ((CommentViewHolder) holder).awardsTextView.setText("");
((CommentViewHolder) holder).awardsTextView.setVisibility(View.GONE); ((CommentViewHolder) holder).awardsTextView.setVisibility(View.GONE);
((CommentViewHolder) holder).expandButton.setVisibility(View.GONE); ((CommentViewHolder) holder).expandButton.setVisibility(View.GONE);
@ -2773,8 +2772,6 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
TextView authorTextView; TextView authorTextView;
@BindView(R.id.author_flair_text_view_item_post_comment) @BindView(R.id.author_flair_text_view_item_post_comment)
TextView authorFlairTextView; TextView authorFlairTextView;
@BindView(R.id.author_type_image_view_item_comment)
ImageView authorTypeImageView;
@BindView(R.id.comment_time_text_view_item_post_comment) @BindView(R.id.comment_time_text_view_item_post_comment)
TextView commentTimeTextView; TextView commentTimeTextView;
@BindView(R.id.top_score_text_view_item_post_comment) @BindView(R.id.top_score_text_view_item_post_comment)

View File

@ -253,8 +253,6 @@ public class CommentsListingRecyclerViewAdapter extends PagedListAdapter<Comment
((CommentViewHolder) holder).commentMarkdownView.setOnClickListener(view -> ((CommentViewHolder) holder).commentMarkdownView.setOnClickListener(view ->
((CommentViewHolder) holder).linearLayout.callOnClick()); ((CommentViewHolder) holder).linearLayout.callOnClick());
((CommentViewHolder) holder).replyButton.setVisibility(View.GONE);
((CommentViewHolder) holder).upvoteButton.setOnClickListener(view -> { ((CommentViewHolder) holder).upvoteButton.setOnClickListener(view -> {
if (mAccessToken == null) { if (mAccessToken == null) {
Toast.makeText(mContext, R.string.login_first, Toast.LENGTH_SHORT).show(); Toast.makeText(mContext, R.string.login_first, Toast.LENGTH_SHORT).show();
@ -504,6 +502,8 @@ public class CommentsListingRecyclerViewAdapter extends PagedListAdapter<Comment
super(itemView); super(itemView);
ButterKnife.bind(this, itemView); ButterKnife.bind(this, itemView);
replyButton.setVisibility(View.GONE);
if (mVoteButtonsOnTheRight) { if (mVoteButtonsOnTheRight) {
ConstraintSet constraintSet = new ConstraintSet(); ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(bottomConstraintLayout); constraintSet.clone(bottomConstraintLayout);
@ -515,7 +515,8 @@ public class CommentsListingRecyclerViewAdapter extends PagedListAdapter<Comment
constraintSet.connect(upvoteButton.getId(), ConstraintSet.END, scoreTextView.getId(), ConstraintSet.START); constraintSet.connect(upvoteButton.getId(), ConstraintSet.END, scoreTextView.getId(), ConstraintSet.START);
constraintSet.connect(scoreTextView.getId(), ConstraintSet.END, downvoteButton.getId(), ConstraintSet.START); constraintSet.connect(scoreTextView.getId(), ConstraintSet.END, downvoteButton.getId(), ConstraintSet.START);
constraintSet.connect(downvoteButton.getId(), ConstraintSet.END, ConstraintSet.PARENT_ID, ConstraintSet.END); constraintSet.connect(downvoteButton.getId(), ConstraintSet.END, ConstraintSet.PARENT_ID, ConstraintSet.END);
constraintSet.connect(moreButton.getId(), ConstraintSet.START, expandButton.getId(), ConstraintSet.END); constraintSet.connect(saveButton.getId(), ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START);
constraintSet.connect(moreButton.getId(), ConstraintSet.START, saveButton.getId(), ConstraintSet.END);
constraintSet.connect(moreButton.getId(), ConstraintSet.END, upvoteButton.getId(), ConstraintSet.END); constraintSet.connect(moreButton.getId(), ConstraintSet.END, upvoteButton.getId(), ConstraintSet.END);
constraintSet.connect(expandButton.getId(), ConstraintSet.START, replyButton.getId(), ConstraintSet.END); constraintSet.connect(expandButton.getId(), ConstraintSet.START, replyButton.getId(), ConstraintSet.END);
constraintSet.connect(replyButton.getId(), ConstraintSet.START, replyButton.getId(), ConstraintSet.END); constraintSet.connect(replyButton.getId(), ConstraintSet.START, replyButton.getId(), ConstraintSet.END);

View File

@ -28,7 +28,7 @@ public class InterfacePreferenceFragment extends PreferenceFragmentCompat {
SwitchPreference voteButtonsOnTheRightSwitch = findPreference(SharedPreferencesUtils.VOTE_BUTTONS_ON_THE_RIGHT_KEY); SwitchPreference voteButtonsOnTheRightSwitch = findPreference(SharedPreferencesUtils.VOTE_BUTTONS_ON_THE_RIGHT_KEY);
ListPreference defaultPostLayoutSwitch = findPreference(SharedPreferencesUtils.DEFAULT_POST_LAYOUT_KEY); ListPreference defaultPostLayoutSwitch = findPreference(SharedPreferencesUtils.DEFAULT_POST_LAYOUT_KEY);
SwitchPreference showDividerInCompactLayout = findPreference(SharedPreferencesUtils.SHOW_DIVIDER_IN_COMPACT_LAYOUT); SwitchPreference showDividerInCompactLayout = findPreference(SharedPreferencesUtils.SHOW_DIVIDER_IN_COMPACT_LAYOUT);
SwitchPreference showThumbnailOnTheRightInCompactLayout = findPreference(SharedPreferencesUtils.SHOW_THUMBNAIL_ON_THE_RIGHT_IN_COMPACT_LAYOUT); SwitchPreference showThumbnailOnTheRightInCompactLayout = findPreference(SharedPreferencesUtils.SHOW_THUMBNAIL_ON_THE_LEFT_IN_COMPACT_LAYOUT);
SwitchPreference showAbsoluteNumberOfVotes = findPreference(SharedPreferencesUtils.SHOW_ABSOLUTE_NUMBER_OF_VOTES); SwitchPreference showAbsoluteNumberOfVotes = findPreference(SharedPreferencesUtils.SHOW_ABSOLUTE_NUMBER_OF_VOTES);
if (bottomAppBarSwitch != null) { if (bottomAppBarSwitch != null) {

View File

@ -78,7 +78,7 @@ public class SharedPreferencesUtils {
public static final String TIME_FORMAT_DEFAULT_VALUE = "MMM d, yyyy, HH:mm"; public static final String TIME_FORMAT_DEFAULT_VALUE = "MMM d, yyyy, HH:mm";
public static final String DEFAULT_POST_LAYOUT_KEY = "default_post_layout"; public static final String DEFAULT_POST_LAYOUT_KEY = "default_post_layout";
public static final String SHOW_DIVIDER_IN_COMPACT_LAYOUT = "show_divider_in_compact_layout"; public static final String SHOW_DIVIDER_IN_COMPACT_LAYOUT = "show_divider_in_compact_layout";
public static final String SHOW_THUMBNAIL_ON_THE_RIGHT_IN_COMPACT_LAYOUT = "show_thumbnail_on_the_right_in_compact_layout"; public static final String SHOW_THUMBNAIL_ON_THE_LEFT_IN_COMPACT_LAYOUT = "show_thumbnail_on_the_left_in_compact_layout";
public static final String SWIPE_RIGHT_TO_GO_BACK_FROM_POST_DETAIL = "swipe_to_go_back_from_post_detail"; public static final String SWIPE_RIGHT_TO_GO_BACK_FROM_POST_DETAIL = "swipe_to_go_back_from_post_detail";
public static final String VOLUME_KEYS_NAVIGATE_COMMENTS = "volume_keys_navigate_comments"; public static final String VOLUME_KEYS_NAVIGATE_COMMENTS = "volume_keys_navigate_comments";
public static final String VOLUME_KEYS_NAVIGATE_POSTS = "volume_keys_navigate_posts"; public static final String VOLUME_KEYS_NAVIGATE_POSTS = "volume_keys_navigate_posts";

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linear_layout_item_comment" android:id="@+id/linear_layout_item_comment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -29,45 +30,36 @@
android:paddingStart="16dp" android:paddingStart="16dp"
android:paddingEnd="16dp"> android:paddingEnd="16dp">
<ImageView
android:id="@+id/author_type_image_view_item_comment"
android:layout_width="?attr/font_default"
android:layout_height="?attr/font_default"
android:layout_marginEnd="4dp"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/author_flair_text_view_item_post_comment"
app:layout_constraintEnd_toStartOf="@id/author_text_view_item_post_comment"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/author_text_view_item_post_comment" android:id="@+id/author_text_view_item_post_comment"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:ellipsize="end" android:drawablePadding="4dp"
android:maxLines="2"
android:textSize="?attr/font_default" android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family" android:fontFamily="?attr/font_family"
app:layout_constraintBottom_toTopOf="@id/author_flair_text_view_item_post_comment" app:layout_constraintBottom_toTopOf="@id/author_flair_text_view_item_post_comment"
app:layout_constraintEnd_toStartOf="@+id/barrier" app:layout_constraintEnd_toStartOf="@+id/barrier"
app:layout_constraintStart_toEndOf="@id/author_type_image_view_item_comment" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_default="wrap"
app:layout_constraintHorizontal_bias="0" />
<TextView <TextView
android:id="@+id/author_flair_text_view_item_post_comment" android:id="@+id/author_flair_text_view_item_post_comment"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:ellipsize="end"
android:maxLines="2"
android:textSize="?attr/font_12"
android:fontFamily="?attr/font_family" android:fontFamily="?attr/font_family"
android:textSize="?attr/font_12"
android:visibility="gone" android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/barrier" app:layout_constraintEnd_toStartOf="@+id/barrier"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/author_text_view_item_post_comment" /> app:layout_constraintTop_toBottomOf="@id/author_text_view_item_post_comment"
app:layout_constraintWidth_default="wrap"
tools:visibility="visible" />
<TextView <TextView
android:id="@+id/top_score_text_view_item_post_comment" android:id="@+id/top_score_text_view_item_post_comment"

View File

@ -0,0 +1,386 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingEnd="16dp"
android:paddingBottom="8dp">
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView
android:id="@+id/icon_gif_image_view_item_post_compact_right_thumbnail"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/name_text_view_item_post_compact_right_thumbnail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:fontFamily="?attr/font_family"
android:textColor="#E91E63"
android:textSize="?attr/font_default"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/stickied_post_image_view_item_post_compact_right_thumbnail"
app:layout_constraintStart_toEndOf="@id/icon_gif_image_view_item_post_compact_right_thumbnail"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/stickied_post_image_view_item_post_compact_right_thumbnail"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="8dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintStart_toEndOf="@id/name_text_view_item_post_compact_right_thumbnail"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/post_time_text_view_item_post_compact_right_thumbnail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:gravity="end"
android:textSize="?attr/font_default"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline2"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.6" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/title_and_image_constraint_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/image_view_wrapper_item_post_compact_right_thumbnail"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_marginStart="16dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image_view_item_post_compact_right_thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/thumbnail_compact_layout_rounded_edge"
android:scaleType="center" />
<ImageView
android:id="@+id/play_button_image_view_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="0dp"
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_right_thumbnail"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_centerInParent="true"
android:visibility="gone" />
</RelativeLayout>
<FrameLayout
android:id="@+id/frame_layout_image_view_no_preview_link_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:visibility="gone"
android:background="@drawable/thumbnail_compact_layout_rounded_edge"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/image_view_no_preview_link_item_post_compact_right_thumbnail"
android:layout_width="72dp"
android:layout_height="72dp"
android:scaleType="center"
android:src="@drawable/ic_link"
android:tint="@android:color/tab_indicator_text" />
</FrameLayout>
<TextView
android:id="@+id/title_text_view_item_post_compact_right_thumbnail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="?attr/title_font_family"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/title_font_18"
app:layout_constraintBottom_toTopOf="@id/flow_layout_item_post_compact_right_thumbnail"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/barrier2"
app:layout_constraintTop_toTopOf="parent" />
<com.nex3z.flowlayout.FlowLayout
android:id="@+id/flow_layout_item_post_compact_right_thumbnail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingEnd="16dp"
android:paddingBottom="8dp"
app:flChildSpacing="8dp"
app:flChildSpacingForLastRow="align"
app:flRowSpacing="8dp"
app:layout_constraintBottom_toTopOf="@id/link_text_view_item_post_compact_right_thumbnail"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/barrier2"
app:layout_constraintTop_toBottomOf="@id/title_text_view_item_post_compact_right_thumbnail">
<com.libRG.CustomTextView
android:id="@+id/type_text_view_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:padding="4dp"
android:textSize="?attr/font_10"
app:lib_setRadius="3dp"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<com.libRG.CustomTextView
android:id="@+id/spoiler_custom_text_view_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="?attr/font_family"
android:padding="4dp"
android:text="@string/spoiler"
android:textSize="?attr/font_10"
android:visibility="gone"
app:lib_setRadius="3dp"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<com.libRG.CustomTextView
android:id="@+id/nsfw_text_view_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:padding="4dp"
android:text="@string/nsfw"
android:textSize="?attr/font_10"
android:visibility="gone"
app:lib_setRadius="3dp"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<com.libRG.CustomTextView
android:id="@+id/flair_custom_text_view_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="?attr/font_family"
android:padding="4dp"
android:textSize="?attr/font_10"
android:visibility="gone"
app:lib_setRadius="3dp"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<com.libRG.CustomTextView
android:id="@+id/awards_text_view_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:padding="4dp"
android:textSize="?attr/font_10"
android:visibility="gone"
app:lib_setRadius="3dp"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<ImageView
android:id="@+id/archived_image_view_item_post_compact_right_thumbnail"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_archive_outline"
android:visibility="gone" />
<ImageView
android:id="@+id/locked_image_view_item_post_compact_right_thumbnail"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_outline_lock_24dp"
android:visibility="gone" />
<ImageView
android:id="@+id/crosspost_image_view_item_post_compact_right_thumbnail"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/crosspost"
android:visibility="gone" />
</com.nex3z.flowlayout.FlowLayout>
<TextView
android:id="@+id/link_text_view_item_post_compact_right_thumbnail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:textSize="?attr/font_12"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/barrier2"
app:layout_constraintTop_toBottomOf="@id/flow_layout_item_post_compact_right_thumbnail" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="end"
app:constraint_referenced_ids="image_view_wrapper_item_post_compact_right_thumbnail,frame_layout_image_view_no_preview_link_item_post_compact_right_thumbnail" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/bottom_constraint_layout_item_post_compact_right_thumbnail"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/plus_button_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:paddingEnd="12dp"
android:paddingBottom="8dp"
android:src="@drawable/ic_arrow_upward_grey_24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/score_text_view_item_post_compact_right_thumbnail"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:fontFamily="?attr/font_family"
android:gravity="center"
android:textSize="?attr/font_12"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/plus_button_item_post_compact_right_thumbnail"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/minus_button_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:paddingEnd="12dp"
android:paddingBottom="8dp"
android:src="@drawable/ic_arrow_downward_grey_24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_compact_right_thumbnail"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/comments_count_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableStart="@drawable/ic_comment_grey_24dp"
android:drawablePadding="12dp"
android:fontFamily="?attr/font_family"
android:gravity="center_vertical"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:paddingEnd="12dp"
android:paddingBottom="8dp"
android:textSize="?attr/font_12"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_compact_right_thumbnail"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/save_button_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:paddingEnd="12dp"
android:paddingBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/share_button_item_post_compact_right_thumbnail"
app:layout_constraintHorizontal_bias="1"
app:layout_constraintStart_toEndOf="@id/comments_count_item_post_compact_right_thumbnail"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/share_button_item_post_compact_right_thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:paddingEnd="12dp"
android:paddingBottom="8dp"
android:src="@drawable/ic_share_grey_24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:id="@+id/divider_item_post_compact_right_thumbnail"
android:layout_width="match_parent"
android:layout_height="1dp" />
</LinearLayout>

View File

@ -375,7 +375,7 @@
<string name="settings_time_format_title">Time Format</string> <string name="settings_time_format_title">Time Format</string>
<string name="settings_default_post_layout">Default Post Layout</string> <string name="settings_default_post_layout">Default Post Layout</string>
<string name="settings_show_divider_in_compact_layout">Show Divider in Compact Layout</string> <string name="settings_show_divider_in_compact_layout">Show Divider in Compact Layout</string>
<string name="settings_show_thumbnail_on_the_right_in_compact_layout">Show Thumbnail on the Right in Compact Layout</string> <string name="settings_show_thumbnail_on_the_left_in_compact_layout">Show Thumbnail on the Left in Compact Layout</string>
<string name="settings_swap_tap_and_long_title">Swap Tap and Long Press in Comments</string> <string name="settings_swap_tap_and_long_title">Swap Tap and Long Press in Comments</string>
<string name="settings_swipe_to_go_back_from_post_detail_title">Swipe Right to Go Back From Comments</string> <string name="settings_swipe_to_go_back_from_post_detail_title">Swipe Right to Go Back From Comments</string>
<string name="settings_lock_jump_to_next_top_level_comment_button_title">Lock Jump to Next Top-level Comment Button</string> <string name="settings_lock_jump_to_next_top_level_comment_button_title">Lock Jump to Next Top-level Comment Button</string>

View File

@ -46,8 +46,8 @@
<SwitchPreference <SwitchPreference
app:defaultValue="false" app:defaultValue="false"
app:key="show_thumbnail_on_the_right_in_compact_layout" app:key="show_thumbnail_on_the_left_in_compact_layout"
app:title="@string/settings_show_thumbnail_on_the_right_in_compact_layout" /> app:title="@string/settings_show_thumbnail_on_the_left_in_compact_layout" />
<SwitchPreference <SwitchPreference
app:defaultValue="false" app:defaultValue="false"