Compact post layout is available. Fixed WebView cannot be inflated on Android Lollipop. Tweak the comment item UI.

This commit is contained in:
Alex Ning
2019-11-09 00:40:14 +08:00
parent b62ab6f443
commit 0839249644
16 changed files with 1454 additions and 213 deletions

View File

@@ -22,7 +22,7 @@
</com.google.android.material.appbar.AppBarLayout>
<WebView
<ml.docilealligator.infinityforreddit.CustomView.LollipopBugFixedWebView
android:id="@+id/webview_login_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:overScrollMode="never"
tools:context=".Fragment.PostLayoutBottomSheetFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/card_layout_text_view_post_layout_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="32dp"
android:paddingTop="16dp"
android:paddingEnd="32dp"
android:paddingBottom="16dp"
android:text="@string/post_layout_card"
android:textColor="@color/primaryTextColor"
android:textSize="?attr/font_default" />
<TextView
android:id="@+id/compact_layout_text_view_post_layout_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="32dp"
android:paddingTop="16dp"
android:paddingEnd="32dp"
android:paddingBottom="16dp"
android:text="@string/post_layout_compact"
android:textColor="@color/primaryTextColor"
android:textSize="?attr/font_default" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -89,8 +89,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp"
android:textColor="@color/primaryTextColor"
android:textSize="?attr/content_font_default" />

View File

@@ -0,0 +1,358 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView 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"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
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:padding="16dp">
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView
android:id="@+id/icon_gif_image_view_item_post_compact"
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"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
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"
app:layout_constraintStart_toEndOf="@id/icon_gif_image_view_item_post_compact"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/stickied_post_image_view_item_post_compact"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="8dp"
android:tint="@color/backgroundColorPrimaryDark"
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"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/post_time_text_view_best_item_post_compact"
android:layout_width="0dp"
android:layout_height="wrap_content"
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:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title_text_view_best_item_post_compact"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:textColor="@color/primaryTextColor"
android:textSize="?attr/title_font_18"
app:layout_constraintBottom_toTopOf="@id/flow_layout_item_post_compact"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/barrier2"
app:layout_constraintTop_toTopOf="parent"
tools:text="asdfas fas dfa sdfa sdfa sdfasdfasdf asdfasdfasdf" />
<com.nex3z.flowlayout.FlowLayout
android:id="@+id/flow_layout_item_post_compact"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:padding="16dp"
app:layout_constraintTop_toBottomOf="@id/title_text_view_best_item_post_compact"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/barrier2"
app:layout_constraintBottom_toTopOf="@id/link_text_view_item_post_compact"
app:flChildSpacing="16dp"
app:flChildSpacingForLastRow="align"
app:flRowSpacing="8dp">
<com.libRG.CustomTextView
android:id="@+id/type_text_view_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:textColor="@android:color/white"
android:textSize="?attr/font_12"
app:lib_setRadius="3dp"
app:lib_setRoundedBGColor="@color/backgroundColorPrimaryDark"
app:lib_setRoundedBorderColor="@color/backgroundColorPrimaryDark"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<com.libRG.CustomTextView
android:id="@+id/spoiler_custom_text_view_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="4dp"
android:text="@string/spoiler"
android:textColor="@android:color/white"
android:textSize="?attr/font_12"
android:visibility="gone"
app:lib_setRadius="3dp"
app:lib_setRoundedBGColor="@color/spoilerBackgroundColor"
app:lib_setRoundedBorderColor="@color/spoilerBackgroundColor"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<com.libRG.CustomTextView
android:id="@+id/nsfw_text_view_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:text="@string/nsfw"
android:textColor="@android:color/white"
android:textSize="?attr/font_12"
android:visibility="gone"
app:lib_setRadius="3dp"
app:lib_setRoundedBGColor="@color/colorAccent"
app:lib_setRoundedBorderColor="@color/colorAccent"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<com.libRG.CustomTextView
android:id="@+id/flair_custom_text_view_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="4dp"
android:textColor="@android:color/white"
android:textSize="?attr/font_12"
android:visibility="gone"
app:lib_setRadius="3dp"
app:lib_setRoundedBGColor="@color/flairBackgroundColor"
app:lib_setRoundedBorderColor="@color/flairBackgroundColor"
app:lib_setRoundedView="true"
app:lib_setShape="rectangle" />
<TextView
android:id="@+id/gilded_number_text_view_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableStart="@drawable/gold"
android:drawablePadding="4dp"
android:textColor="@color/gold"
android:textSize="?attr/font_default"
android:visibility="gone" />
<ImageView
android:id="@+id/archived_image_view_item_post_compact"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_archive_outline"
android:tint="@color/archivedTint"
android:visibility="gone" />
<ImageView
android:id="@+id/locked_image_view_item_post_compact"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_outline_lock"
android:tint="@color/lockedIconTint"
android:visibility="gone" />
<ImageView
android:id="@+id/crosspost_image_view_item_post_compact"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/crosspost"
android:tint="@color/colorAccent"
android:visibility="gone" />
</com.nex3z.flowlayout.FlowLayout>
<TextView
android:id="@+id/link_text_view_item_post_compact"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:textSize="?attr/font_12"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/flow_layout_item_post_compact"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/barrier2"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="www.example.com"
tools:visibility="visible" />
<RelativeLayout
android:id="@+id/image_view_wrapper_item_post_compact"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_marginEnd="16dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/barrier2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible">
<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="centerCrop" />
</RelativeLayout>
<ImageView
android:id="@+id/image_view_no_preview_link_item_post_compact"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_marginEnd="16dp"
android:scaleType="center"
android:src="@drawable/ic_link"
android:tint="@android:color/tab_indicator_text"
android:background="@color/grey"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/barrier2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="start"
app:constraint_referenced_ids="image_view_wrapper_item_post_compact,image_view_no_preview_link_item_post_compact"
tools:layout_editor_absoluteX="411dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/bottom_constraint_layout_item_post_compact"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/plus_button_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="12dp"
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"
android:layout_width="64dp"
android:layout_height="wrap_content"
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"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/minus_button_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="12dp"
android:src="@drawable/ic_arrow_downward_grey_24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_compact"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/comments_count_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableStart="@drawable/ic_comment_grey_24dp"
android:drawablePadding="12dp"
android:gravity="center_vertical"
android:padding="12dp"
android:textSize="?attr/font_12"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_compact"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/save_button_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/share_button_item_post_compact"
app:layout_constraintHorizontal_bias="1"
app:layout_constraintStart_toEndOf="@id/comments_count_item_post_compact"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/share_button_item_post_compact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?actionBarItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="12dp"
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:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/dividerColor" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -36,4 +36,10 @@
android:orderInCategory="5"
android:title="@string/action_start_lazy_mode"
app:showAsAction="never" />
<item
android:id="@+id/action_change_post_layout_main_activity"
android:orderInCategory="6"
android:title="@string/action_change_post_layout"
app:showAsAction="never" />
</menu>

View File

@@ -41,6 +41,7 @@
<string name="action_mark_spoiler">Mark Spoiler</string>
<string name="action_unmark_spoiler">Unmark Spoiler</string>
<string name="action_edit_flair">Edit Flair</string>
<string name="action_change_post_layout">Change Post Layout</string>
<string name="parse_json_response_error">Error occurred when parsing the JSON response</string>
<string name="retrieve_token_error">Error Retrieving the token</string>
@@ -349,6 +350,6 @@
<string name="favorites">Favorites</string>
<string name="all">All</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="post_layout_card">Card Layout</string>
<string name="post_layout_compact">Compact Layout</string>
</resources>