Fix various redesign issues with Android 4.x.

In particular, there were many issues with drawing corners.
Unfortunately, there's no pretty way to get masking working on every
Android version, so we have to switch back to using custom backgrounds
and then using multiple masking methods depending on Android version.

Also, I had to remove attr references in drawables. They crash on 4.x.
This commit is contained in:
Greyson Parrelli
2018-07-18 13:53:50 -07:00
parent d3e194aefe
commit 8f551c8b32
25 changed files with 614 additions and 340 deletions

View File

@@ -11,154 +11,147 @@
android:layout_margin="3dp"
tools:visibility="visible">
<org.thoughtcrime.securesms.components.CornerMaskingView
<LinearLayout
android:id="@+id/quote_root"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/quote_bar"
android:layout_width="@dimen/quote_corner_radius_bottom"
android:layout_height="match_parent"
android:src="@color/white"
tools:tint="@color/purple_400" />
<LinearLayout
android:id="@+id/quote_background"
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:orientation="vertical"
android:layout_weight="1">
<ImageView
android:id="@+id/quote_bar"
android:layout_width="@dimen/quote_corner_radius_bottom"
android:layout_height="match_parent"
android:src="@color/white"
tools:tint="@color/purple_400" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/quote_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Signal.Text.Caption"
android:textColor="@color/core_black"
android:textStyle="bold"
android:maxLines="1"
android:ellipsize="end"
tools:text="Peter Parker" />
<LinearLayout
android:layout_width="0dp"
android:id="@+id/quote_attachment_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:orientation="vertical"
android:layout_weight="1">
android:layout_marginBottom="2dp"
android:orientation="horizontal"
android:gravity="center_vertical"
android:visibility="gone"
tools:visibility="visible">
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/quote_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Signal.Text.Caption"
android:textColor="@color/core_black"
android:textStyle="bold"
android:maxLines="1"
android:ellipsize="end"
tools:text="Peter Parker" />
<LinearLayout
android:id="@+id/quote_attachment_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:orientation="horizontal"
android:gravity="center_vertical"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:layout_width="27dp"
android:layout_height="35dp"
android:layout_marginRight="4dp"
android:layout_marginEnd="4dp"
android:paddingLeft="-4dp"
android:paddingStart="-4dp"
android:src="?attr/attachment_document_icon_small" />
<TextView
android:id="@+id/quote_attachment_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Signal.Text.Body"
android:textColor="@color/core_light_90"
android:maxLines="1"
android:ellipsize="end"
tools:text="The-Amazing-Spider-Man.cba" />
</LinearLayout>
<ImageView
android:layout_width="27dp"
android:layout_height="35dp"
android:layout_marginRight="4dp"
android:layout_marginEnd="4dp"
android:paddingLeft="-4dp"
android:paddingStart="-4dp"
android:src="?attr/attachment_document_icon_small" />
<TextView
android:id="@+id/media_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
style="@style/Signal.Text.Caption"
android:textColor="@color/core_light_90"
android:paddingTop="4dp"
android:textStyle="italic"
android:visibility="gone"
tools:text="Photo"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/quote_text"
android:layout_width="wrap_content"
android:id="@+id/quote_attachment_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Signal.Text.Body"
android:textColor="@color/core_light_90"
android:maxLines="1"
android:ellipsize="end"
android:maxLines="2"
tools:text="With great power comes great responsibility."
tools:visibility="visible" />
tools:text="The-Amazing-Spider-Man.cba" />
</LinearLayout>
<FrameLayout
<TextView
android:id="@+id/media_type"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/quote_thumbnail"
android:layout_width="60dp"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:visibility="gone"
tools:visibility="gone" />
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
style="@style/Signal.Text.Caption"
android:textColor="@color/core_light_90"
android:paddingTop="4dp"
android:textStyle="italic"
android:visibility="gone"
tools:text="Photo"
tools:visibility="visible" />
<FrameLayout
android:id="@+id/quote_video_overlay"
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/circle_white"
android:layout_gravity="center"
android:longClickable="false"
android:visibility="gone"
tools:visibility="visible">
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/quote_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Signal.Text.Body"
android:ellipsize="end"
android:maxLines="2"
tools:text="With great power comes great responsibility."
tools:visibility="visible" />
<ImageView
android:layout_width="13dp"
android:layout_height="16dp"
android:layout_marginLeft="11dp"
android:layout_marginStart="11dp"
android:layout_marginTop="8dp"
android:tint="@color/core_blue"
android:scaleType="fitXY"
app:srcCompat="@drawable/triangle_right" />
</FrameLayout>
</FrameLayout>
</LinearLayout>
<ImageView
android:id="@+id/quote_dismiss"
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:layout_gravity="top|end"
android:background="@drawable/dismiss_background"
android:src="@drawable/ic_close_white_18dp"
android:tint="@color/gray70" />
android:layout_height="match_parent">
</org.thoughtcrime.securesms.components.CornerMaskingView>
<ImageView
android:id="@+id/quote_thumbnail"
android:layout_width="60dp"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:visibility="gone"
tools:visibility="gone" />
<FrameLayout
android:id="@+id/quote_video_overlay"
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/circle_white"
android:layout_gravity="center"
android:longClickable="false"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:layout_width="13dp"
android:layout_height="16dp"
android:layout_marginLeft="11dp"
android:layout_marginStart="11dp"
android:layout_marginTop="8dp"
android:tint="@color/core_blue"
android:scaleType="fitXY"
app:srcCompat="@drawable/triangle_right" />
</FrameLayout>
</FrameLayout>
</LinearLayout>
<ImageView
android:id="@+id/quote_dismiss"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:layout_gravity="top|end"
android:background="@drawable/dismiss_background"
android:src="@drawable/ic_close_white_18dp"
android:tint="@color/gray70" />
</merge>