Dbrant has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/354025 )
Change subject: Design tweaks for article-level reading list actions. ...................................................................... Design tweaks for article-level reading list actions. Bug: T159720 Change-Id: If52fb088f3ed670b91100dea358ae9da838dc7c1 --- M app/src/main/java/org/wikipedia/history/HistoryFragment.java M app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java M app/src/main/java/org/wikipedia/views/PageItemView.java M app/src/main/res/layout/item_page_list_entry.xml M app/src/main/res/layout/view_reading_list_page_actions.xml 5 files changed, 53 insertions(+), 40 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/25/354025/1 diff --git a/app/src/main/java/org/wikipedia/history/HistoryFragment.java b/app/src/main/java/org/wikipedia/history/HistoryFragment.java index 5f69e10..2c5b9a8 100644 --- a/app/src/main/java/org/wikipedia/history/HistoryFragment.java +++ b/app/src/main/java/org/wikipedia/history/HistoryFragment.java @@ -471,6 +471,9 @@ @Override public void onActionClick(@Nullable IndexedHistoryEntry entry, @NonNull PageItemView view) { } + @Override + public void onSecondaryActionClick(@Nullable IndexedHistoryEntry entry, @NonNull PageItemView view) { + } } private class HistorySearchCallback extends SearchActionModeCallback { diff --git a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java index 6839ef0..6a39276 100644 --- a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java +++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java @@ -546,7 +546,8 @@ getView().setSelected(page.isSelected()); getView().setActionIcon(R.drawable.ic_more_vert_white_24dp); getView().setActionHint(R.string.abc_action_menu_overflow_description); - getView().setStatusIcon(R.drawable.ic_download_circle_black_24px, !page.isOffline()); + getView().setSecondaryActionIcon(R.drawable.ic_download_circle_black_24px, !page.isOffline()); + getView().setSecondaryActionHint(R.string.reading_list_article_make_offline); } @Override @@ -638,6 +639,13 @@ bottomSheetPresenter.show(getChildFragmentManager(), ReadingListItemActionsDialog.newInstance(page, readingList)); } + + @Override + public void onSecondaryActionClick(@Nullable ReadingListPage page, @NonNull PageItemView view) { + if (page != null) { + toggleOffline(page); + } + } } private class SearchCallback extends SearchActionModeCallback { diff --git a/app/src/main/java/org/wikipedia/views/PageItemView.java b/app/src/main/java/org/wikipedia/views/PageItemView.java index ff0569f..7078be1 100644 --- a/app/src/main/java/org/wikipedia/views/PageItemView.java +++ b/app/src/main/java/org/wikipedia/views/PageItemView.java @@ -34,13 +34,14 @@ boolean onLongClick(@Nullable T item); void onThumbClick(@Nullable T item); void onActionClick(@Nullable T item, @NonNull PageItemView view); + void onSecondaryActionClick(@Nullable T item, @NonNull PageItemView view); } @BindView(R.id.page_list_item_title) TextView titleView; @BindView(R.id.page_list_item_description) TextView descriptionView; @BindView(R.id.page_list_item_image) SimpleDraweeView imageView; - @BindView(R.id.page_list_item_action_button) ImageView actionView; - @BindView(R.id.page_list_item_status_icon) ImageView statusIconView; + @BindView(R.id.page_list_item_action_primary) ImageView primaryActionView; + @BindView(R.id.page_list_item_action_secondary) ImageView secondaryActionView; @BindView(R.id.page_list_item_selected_image) View imageSelectedView; @BindView(R.id.page_list_header_text) GoneIfEmptyTextView headerView; @@ -74,17 +75,23 @@ } public void setActionIcon(@DrawableRes int id) { - actionView.setImageResource(id); - actionView.setVisibility(VISIBLE); + primaryActionView.setImageResource(id); + primaryActionView.setVisibility(VISIBLE); } public void setActionHint(@StringRes int id) { - actionView.setContentDescription(getContext().getString(id)); + primaryActionView.setContentDescription(getContext().getString(id)); } - public void setStatusIcon(@DrawableRes int id, boolean show) { - statusIconView.setImageResource(id); - statusIconView.setVisibility(show ? VISIBLE : GONE); + public void setSecondaryActionIcon(@DrawableRes int id, boolean show) { + if (show) { + secondaryActionView.setImageResource(id); + } + secondaryActionView.setVisibility(show ? VISIBLE : GONE); + } + + public void setSecondaryActionHint(@StringRes int id) { + secondaryActionView.setContentDescription(getContext().getString(id)); } public void setHeaderText(@Nullable CharSequence text) { @@ -117,9 +124,15 @@ } } - @OnClick(R.id.page_list_item_action_button) void onActionClick() { + @OnClick(R.id.page_list_item_action_primary) void onActionClick() { if (callback != null) { callback.onActionClick(item, this); + } + } + + @OnClick(R.id.page_list_item_action_secondary) void onSecondaryActionClick() { + if (callback != null) { + callback.onSecondaryActionClick(item, this); } } @@ -130,7 +143,8 @@ setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); - FeedbackUtil.setToolbarButtonLongPressToast(actionView); + FeedbackUtil.setToolbarButtonLongPressToast(primaryActionView); + FeedbackUtil.setToolbarButtonLongPressToast(secondaryActionView); } private void updateSelectedState() { diff --git a/app/src/main/res/layout/item_page_list_entry.xml b/app/src/main/res/layout/item_page_list_entry.xml index 37e7b87..c8076eb 100644 --- a/app/src/main/res/layout/item_page_list_entry.xml +++ b/app/src/main/res/layout/item_page_list_entry.xml @@ -97,11 +97,13 @@ </LinearLayout> <ImageView - android:id="@+id/page_list_item_status_icon" + android:id="@+id/page_list_item_action_secondary" android:layout_width="40dp" android:layout_height="40dp" android:padding="8dp" android:layout_gravity="center_vertical" + android:clickable="true" + android:background="?attr/selectableItemBackgroundBorderless" app:srcCompat="@drawable/ic_download_circle_black_24px" android:tint="@color/base50" android:contentDescription="@null" @@ -109,7 +111,7 @@ tools:visibility="visible"/> <ImageView - android:id="@+id/page_list_item_action_button" + android:id="@+id/page_list_item_action_primary" android:layout_width="40dp" android:layout_height="40dp" android:padding="8dp" diff --git a/app/src/main/res/layout/view_reading_list_page_actions.xml b/app/src/main/res/layout/view_reading_list_page_actions.xml index f5b4d58..9c011f2 100644 --- a/app/src/main/res/layout/view_reading_list_page_actions.xml +++ b/app/src/main/res/layout/view_reading_list_page_actions.xml @@ -9,34 +9,20 @@ tools:layout_height="wrap_content" tools:orientation="vertical"> - <LinearLayout + <TextView + android:id="@+id/reading_list_item_title" android:layout_width="match_parent" - android:layout_height="wrap_content"> - <TextView - android:id="@+id/reading_list_item_title" - android:layout_width="0dp" - android:layout_height="54dp" - android:layout_weight="1" - android:paddingLeft="@dimen/list_item_horizontal_padding" - android:paddingRight="@dimen/list_item_horizontal_padding" - android:gravity="center_vertical" - style="@style/RtlAwareTextView" - android:textColor="?attr/link_preview_text_color" - android:textSize="16sp" - android:fontFamily="sans-serif-medium" - android:maxLines="1" - android:ellipsize="end" - tools:text="Article title"/> - <ImageView - android:layout_width="24dp" - android:layout_height="24dp" - android:layout_marginLeft="@dimen/list_item_horizontal_padding" - android:layout_marginRight="@dimen/list_item_horizontal_padding" - android:layout_gravity="center_vertical" - app:srcCompat="@drawable/ic_info_outline_black_24dp" - android:tint="?attr/link_preview_text_color" - android:contentDescription="@null"/> - </LinearLayout> + android:layout_height="54dp" + android:paddingLeft="@dimen/list_item_horizontal_padding" + android:paddingRight="@dimen/list_item_horizontal_padding" + android:gravity="center_vertical" + style="@style/RtlAwareTextView" + android:textColor="?attr/link_preview_text_color" + android:textSize="16sp" + android:fontFamily="sans-serif-medium" + android:maxLines="1" + android:ellipsize="end" + tools:text="Article title"/> <View android:layout_width="match_parent" -- To view, visit https://gerrit.wikimedia.org/r/354025 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If52fb088f3ed670b91100dea358ae9da838dc7c1 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits