Mholloway has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/338106 )
Change subject: Update Featured Article card footer based on its presence in a
list
......................................................................
Update Featured Article card footer based on its presence in a list
Bug: T139377
Change-Id: I2875b611242d50874f89a4b635c9f9e097c0011b
---
M app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
M app/src/main/java/org/wikipedia/feed/view/ActionFooterView.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/res/values/strings_no_translate.xml
4 files changed, 47 insertions(+), 8 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/06/338106/1
diff --git
a/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
b/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
index f0242a8..b83668b 100644
--- a/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
+++ b/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
@@ -8,11 +8,16 @@
import android.widget.TextView;
import org.wikipedia.R;
+import org.wikipedia.concurrency.CallbackTask;
import org.wikipedia.feed.view.ActionFooterView;
import org.wikipedia.feed.view.CardHeaderView;
import org.wikipedia.feed.view.DefaultFeedCardView;
import org.wikipedia.feed.view.FeedAdapter;
import org.wikipedia.history.HistoryEntry;
+import org.wikipedia.page.PageTitle;
+import org.wikipedia.readinglist.ReadingList;
+import org.wikipedia.readinglist.page.ReadingListPage;
+import org.wikipedia.readinglist.page.database.ReadingListDaoProxy;
import org.wikipedia.views.FaceAndColorDetectImageView;
import org.wikipedia.views.GoneIfEmptyTextView;
import org.wikipedia.views.ItemTouchHelperSwipeAdapter;
@@ -51,7 +56,7 @@
image(imageUri);
header(card);
- footer();
+ footer(card);
}
@OnClick({R.id.view_featured_article_card_image,
R.id.view_featured_article_card_text_container})
@@ -91,12 +96,36 @@
header(header);
}
- private void footer() {
- footer(new ActionFooterView(getContext())
- .actionIcon(R.drawable.ic_bookmark_border_black_24dp)
-
.actionText(R.string.view_featured_article_footer_save_button_label)
- .onActionListener(new CardSaveListener())
- .onShareListener(new CardShareListener()));
+ private void footer(@NonNull FeaturedArticleCard card) {
+ PageTitle title = new PageTitle(card.articleTitle(), card.wikiSite());
+
ReadingList.DAO.anyListContainsTitleAsync(ReadingListDaoProxy.key(title),
+ new CallbackTask.Callback<ReadingListPage>() {
+ @Override
+ public void success(@Nullable ReadingListPage page) {
+ boolean listContainsTitle = page != null;
+
+ int actionIcon = listContainsTitle
+ ? R.drawable.ic_bookmark_white_24dp
+ : R.drawable.ic_bookmark_border_black_24dp;
+
+ int actionText = listContainsTitle
+ ?
R.string.view_featured_article_footer_saved_button_label
+ :
R.string.view_featured_article_footer_save_button_label;
+
+ ActionFooterView footer = new
ActionFooterView(getContext())
+ .actionIcon(actionIcon)
+ .actionText(actionText)
+ .onActionListener(new CardSaveListener())
+ .onShareListener(new CardShareListener());
+
+ if (listContainsTitle) {
+ footer.actionIconColor(R.color.foundation_blue);
+ footer.actionTextColor(R.color.foundation_blue);
+ }
+
+ footer(footer);
+ }
+ });
}
private void image(@Nullable Uri uri) {
diff --git a/app/src/main/java/org/wikipedia/feed/view/ActionFooterView.java
b/app/src/main/java/org/wikipedia/feed/view/ActionFooterView.java
index 95c7637..857bf49 100644
--- a/app/src/main/java/org/wikipedia/feed/view/ActionFooterView.java
+++ b/app/src/main/java/org/wikipedia/feed/view/ActionFooterView.java
@@ -1,9 +1,11 @@
package org.wikipedia.feed.view;
import android.content.Context;
+import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
+import android.support.v4.content.ContextCompat;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -31,11 +33,19 @@
return this;
}
+ public void actionIconColor(@ColorRes int color) {
+ actionIcon.setColorFilter(ContextCompat.getColor(getContext(), color));
+ }
+
public ActionFooterView actionText(@StringRes int resId) {
actionText.setText(getResources().getString(resId));
return this;
}
+ public void actionTextColor(@ColorRes int color) {
+ actionText.setTextColor(ContextCompat.getColor(getContext(), color));
+ }
+
public ActionFooterView onActionListener(@Nullable OnClickListener
listener) {
actionButton.setOnClickListener(listener);
return this;
diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java
b/app/src/main/java/org/wikipedia/page/PageFragment.java
index dfba3dc..95b34d4 100755
--- a/app/src/main/java/org/wikipedia/page/PageFragment.java
+++ b/app/src/main/java/org/wikipedia/page/PageFragment.java
@@ -648,7 +648,6 @@
webView.getSettings().setDefaultFontSize((int)
app.getFontSize(getActivity().getWindow()));
}
- // TODO: Update bookmark icon on the page action toolbar
public void updateBookmark() {
ReadingList.DAO.anyListContainsTitleAsync(ReadingListDaoProxy.key(getTitle()),
new CallbackTask.Callback<ReadingListPage>() {
diff --git a/app/src/main/res/values/strings_no_translate.xml
b/app/src/main/res/values/strings_no_translate.xml
index 83ee16f..c845987 100644
--- a/app/src/main/res/values/strings_no_translate.xml
+++ b/app/src/main/res/values/strings_no_translate.xml
@@ -47,6 +47,7 @@
<!-- Experimental English-only features -->
<string name="view_featured_article_card_title">Featured article</string>
<string name="view_featured_article_footer_save_button_label">Save</string>
+ <string
name="view_featured_article_footer_saved_button_label">Saved</string>
<!-- /The Feed -->
--
To view, visit https://gerrit.wikimedia.org/r/338106
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2875b611242d50874f89a4b635c9f9e097c0011b
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits