Niedzielski has uploaded a new change for review. https://gerrit.wikimedia.org/r/308103
Change subject: Hygiene: simplify CardLargeHeaderView ...................................................................... Hygiene: simplify CardLargeHeaderView • Fix title for RTL. • Remove unused subtitle. • Reduce View hierarchy depth. • Rename pageTitle to title. This View is generic and shouldn't assume an article title will be shown. Change-Id: Ie0bae4dd3b918e8e78aebf5c88bc24bf621e5c3b --- M app/src/main/java/org/wikipedia/feed/becauseyouread/BecauseYouReadCardView.java M app/src/main/java/org/wikipedia/feed/continuereading/ContinueReadingCardView.java M app/src/main/java/org/wikipedia/feed/view/CardLargeHeaderView.java M app/src/main/res/layout/view_card_header_large.xml 4 files changed, 43 insertions(+), 60 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/03/308103/1 diff --git a/app/src/main/java/org/wikipedia/feed/becauseyouread/BecauseYouReadCardView.java b/app/src/main/java/org/wikipedia/feed/becauseyouread/BecauseYouReadCardView.java index bbce74c..5d1ed1a 100644 --- a/app/src/main/java/org/wikipedia/feed/becauseyouread/BecauseYouReadCardView.java +++ b/app/src/main/java/org/wikipedia/feed/becauseyouread/BecauseYouReadCardView.java @@ -43,8 +43,7 @@ .setCallback(getCallback()); header(header); CardLargeHeaderView largeHeader = new CardLargeHeaderView(getContext()) - .setPageTitle(card.pageTitle()) - .setSubtitle(card.subtitle()) + .setTitle(card.pageTitle()) .setImage(card.image()) .onClickListener(new SelectPageCallbackAdapter(card)); largeHeader(largeHeader); diff --git a/app/src/main/java/org/wikipedia/feed/continuereading/ContinueReadingCardView.java b/app/src/main/java/org/wikipedia/feed/continuereading/ContinueReadingCardView.java index 2908ac1..a5c8a63 100644 --- a/app/src/main/java/org/wikipedia/feed/continuereading/ContinueReadingCardView.java +++ b/app/src/main/java/org/wikipedia/feed/continuereading/ContinueReadingCardView.java @@ -37,7 +37,7 @@ .setCallback(getCallback()); header(header); CardLargeHeaderView largeHeader = new CardLargeHeaderView(getContext()) - .setPageTitle(card.title()) + .setTitle(card.title()) .setImage(card.image()) .onClickListener(new CardClickListener()); largeHeader(largeHeader); diff --git a/app/src/main/java/org/wikipedia/feed/view/CardLargeHeaderView.java b/app/src/main/java/org/wikipedia/feed/view/CardLargeHeaderView.java index 6fb67e3..18966f4 100644 --- a/app/src/main/java/org/wikipedia/feed/view/CardLargeHeaderView.java +++ b/app/src/main/java/org/wikipedia/feed/view/CardLargeHeaderView.java @@ -10,30 +10,27 @@ import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import android.view.View; -import android.widget.FrameLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import org.wikipedia.R; import org.wikipedia.views.FaceAndColorDetectImageView; -import org.wikipedia.views.GoneIfEmptyTextView; import butterknife.BindView; import butterknife.ButterKnife; -public class CardLargeHeaderView extends FrameLayout { +public class CardLargeHeaderView extends RelativeLayout { @BindView(R.id.view_card_header_large_background) View backgroundView; - @BindView(R.id.view_card_header_large_text_container) View textContainerView; @BindView(R.id.view_card_header_large_image) FaceAndColorDetectImageView imageView; - @BindView(R.id.view_card_header_large_page_title) TextView pageTitleView; - @BindView(R.id.view_card_header_large_subtitle) GoneIfEmptyTextView subtitleView; + @BindView(R.id.view_card_header_large_title) TextView titleView; public CardLargeHeaderView(Context context) { super(context); + resetBackgroundColor(); inflate(getContext(), R.layout.view_card_header_large, this); ButterKnife.bind(this); imageView.setOnImageLoadListener(new ImageLoadListener()); - resetBackgroundColor(); } @NonNull public CardLargeHeaderView setImage(@Nullable Uri uri) { @@ -42,32 +39,27 @@ return this; } - @NonNull public CardLargeHeaderView setSubtitle(@Nullable CharSequence subtitle) { - subtitleView.setText(subtitle == null ? null : subtitle.toString()); - return this; - } - - @NonNull public CardLargeHeaderView setPageTitle(@Nullable CharSequence title) { - pageTitleView.setText(title); + @NonNull public CardLargeHeaderView setTitle(@Nullable CharSequence title) { + titleView.setText(title); return this; } @NonNull public CardLargeHeaderView onClickListener(@Nullable OnClickListener listener) { - setOnClickListener(listener); + backgroundView.setOnClickListener(listener); return this; } private void resetBackgroundColor() { - backgroundView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.gray_background)); + setBackgroundColor(ContextCompat.getColor(getContext(), R.color.gray_background)); } private class ImageLoadListener implements FaceAndColorDetectImageView.OnImageLoadListener { @Override public void onImageLoaded(final int bmpHeight, @Nullable final PointF faceLocation, @ColorInt final int mainColor) { - backgroundView.post(new Runnable() { + post(new Runnable() { @Override public void run() { - animateBackgroundColor(backgroundView, mainColor); + animateBackgroundColor(CardLargeHeaderView.this, mainColor); if (faceLocation != null) { imageView.getHierarchy().setActualImageFocusPoint(faceLocation); } @@ -88,4 +80,4 @@ animator.start(); } } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/view_card_header_large.xml b/app/src/main/res/layout/view_card_header_large.xml index d2c1330..ed8acc7 100644 --- a/app/src/main/res/layout/view_card_header_large.xml +++ b/app/src/main/res/layout/view_card_header_large.xml @@ -1,49 +1,41 @@ -<LinearLayout +<merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/view_card_header_large_background" - android:layout_width="match_parent" - android:layout_height="96dp" - android:background="@color/gray_background"> + xmlns:app="http://schemas.android.com/apk/res-auto"> - <LinearLayout - android:id="@+id/view_card_header_large_text_container" - android:layout_width="0dp" + <View + android:id="@+id/view_card_header_large_background" + android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_weight="1" - android:padding="16dp" - android:orientation="vertical" - android:background="?attr/selectableItemBackground"> - - <TextView - android:id="@+id/view_card_header_large_page_title" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textAppearance="@style/TextAppearance.AppCompat.Medium" - android:textSize="16sp" - android:maxLines="2" - android:ellipsize="end" - android:textColor="@android:color/white" - tools:text="Lorem ipsum"/> - - <org.wikipedia.views.GoneIfEmptyTextView - android:id="@+id/view_card_header_large_subtitle" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:singleLine="true" - android:ellipsize="end" - android:textColor="@android:color/white" - tools:text="Lorem ipsum" /> - - </LinearLayout> + android:minHeight="96dp" + android:background="?attr/selectableItemBackground" + android:focusable="true" /> <org.wikipedia.views.FaceAndColorDetectImageView style="@style/SimpleDraweeViewPlaceholder" android:id="@+id/view_card_header_large_image" android:layout_width="96dp" android:layout_height="match_parent" - app:actualImageScaleType="focusCrop"/> + android:minHeight="96dp" + android:layout_alignParentEnd="true" + android:layout_alignParentRight="true" + app:actualImageScaleType="focusCrop" /> -</LinearLayout> + <TextView + style="@style/RtlAwareTextView" + android:id="@+id/view_card_header_large_title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentStart="true" + android:layout_alignParentLeft="true" + android:layout_toStartOf="@id/view_card_header_large_image" + android:layout_toLeftOf="@id/view_card_header_large_image" + android:padding="16dp" + android:textAppearance="@style/TextAppearance.AppCompat.Medium" + android:textSize="16sp" + android:maxLines="2" + android:ellipsize="end" + android:textColor="@android:color/white" + tools:text="Title" /> + +</merge> \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/308103 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie0bae4dd3b918e8e78aebf5c88bc24bf621e5c3b Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Niedzielski <sniedziel...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits