jenkins-bot has submitted this change and it was merged.
Change subject: Featured image card: enable sharing from card footer button
......................................................................
Featured image card: enable sharing from card footer button
Bug: T130962
Change-Id: I17936897be1fee0571fec62bd6a8b00b031fe8cb
---
M app/src/main/java/org/wikipedia/MainActivity.java
M app/src/main/java/org/wikipedia/feed/FeedFragment.java
M app/src/main/java/org/wikipedia/feed/FeedViewCallback.java
M app/src/main/java/org/wikipedia/feed/image/FeaturedImageCard.java
M app/src/main/java/org/wikipedia/feed/image/FeaturedImageCardView.java
M app/src/main/java/org/wikipedia/page/gallery/GalleryItemFragment.java
M app/src/main/java/org/wikipedia/page/gallery/ImagePipelineBitmapGetter.java
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
9 files changed, 53 insertions(+), 3 deletions(-)
Approvals:
BearND: Looks good to me, but someone else must approve
Niedzielski: Looks good to me, approved
jenkins-bot: Verified
diff --git a/app/src/main/java/org/wikipedia/MainActivity.java
b/app/src/main/java/org/wikipedia/MainActivity.java
index 0a0b0b3..1507bd8 100644
--- a/app/src/main/java/org/wikipedia/MainActivity.java
+++ b/app/src/main/java/org/wikipedia/MainActivity.java
@@ -9,6 +9,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
+import android.graphics.Bitmap;
import android.location.Location;
import android.net.Uri;
import android.os.Build;
@@ -58,6 +59,7 @@
import org.wikipedia.events.ThemeChangeEvent;
import org.wikipedia.events.WikipediaZeroStateChangeEvent;
import org.wikipedia.feed.FeedFragment;
+import org.wikipedia.feed.image.FeaturedImageCard;
import org.wikipedia.feed.news.NewsItemCard;
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.interlanguage.LangLinksActivity;
@@ -69,6 +71,7 @@
import org.wikipedia.page.PageLoadStrategy;
import org.wikipedia.page.PageTitle;
import org.wikipedia.page.gallery.GalleryActivity;
+import org.wikipedia.page.gallery.ImagePipelineBitmapGetter;
import org.wikipedia.page.linkpreview.LinkPreviewDialog;
import org.wikipedia.page.snippet.CompatActionMode;
import org.wikipedia.random.RandomHandler;
@@ -84,6 +87,7 @@
import org.wikipedia.tooltip.ToolTipUtil;
import org.wikipedia.useroption.sync.UserOptionContentResolver;
import org.wikipedia.util.ApiUtil;
+import org.wikipedia.util.DateUtil;
import org.wikipedia.util.FeedbackUtil;
import org.wikipedia.util.ShareUtil;
import org.wikipedia.util.log.L;
@@ -91,6 +95,7 @@
import org.wikipedia.widgets.WidgetProviderFeaturedPage;
import org.wikipedia.zero.ZeroConfig;
+import java.io.File;
import java.util.concurrent.TimeUnit;
import static org.wikipedia.util.DeviceUtil.hideSoftKeyboard;
@@ -872,6 +877,27 @@
startActivity(NewsActivity.newIntent(app, card.item(), card.site()));
}
+ @Override
+ public void onFeedShareImage(final FeaturedImageCard card) {
+ final String thumbUrl =
card.baseImage().thumbnail().source().toString();
+ final String fullSizeUrl =
card.baseImage().image().source().toString();
+ new ImagePipelineBitmapGetter(this, thumbUrl){
+ @Override
+ public void onSuccess(@Nullable Bitmap bitmap) {
+ if (bitmap != null) {
+ ShareUtil.shareImage(MainActivity.this,
+ bitmap,
+ new File(thumbUrl).getName(),
+
getString(R.string.feed_featured_image_share_subject) + " | "
+ +
DateUtil.getFeedCardDateString(card.date().baseCalendar()),
+ fullSizeUrl);
+ } else {
+ FeedbackUtil.showMessage(MainActivity.this,
getString(R.string.gallery_share_error, card.baseImage().title()));
+ }
+ }
+ }.get();
+ }
+
private void loadMainPageIfNoTabs() {
loadMainPage(false, TabPosition.CURRENT_TAB, true);
}
diff --git a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
index 684230e..3d5b13f 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
@@ -23,6 +23,7 @@
import org.wikipedia.activity.CallbackFragment;
import org.wikipedia.activity.FragmentUtil;
import org.wikipedia.analytics.FeedFunnel;
+import org.wikipedia.feed.image.FeaturedImageCard;
import org.wikipedia.feed.model.Card;
import org.wikipedia.feed.view.FeedRecyclerAdapter;
import org.wikipedia.feed.news.NewsItemCard;
@@ -61,6 +62,7 @@
void onFeedAddPageToList(HistoryEntry entry);
void onFeedSharePage(HistoryEntry entry);
void onFeedNewsItemSelected(NewsItemCard card);
+ void onFeedShareImage(FeaturedImageCard card);
}
public static FeedFragment newInstance() {
@@ -220,6 +222,13 @@
getCallback().onFeedNewsItemSelected(card);
}
}
+
+ @Override
+ public void onShareImage(@NonNull FeaturedImageCard card) {
+ if (getCallback() != null) {
+ getCallback().onFeedShareImage(card);
+ }
+ }
}
private class FeedHeaderOffsetChangedListener implements
AppBarLayout.OnOffsetChangedListener {
diff --git a/app/src/main/java/org/wikipedia/feed/FeedViewCallback.java
b/app/src/main/java/org/wikipedia/feed/FeedViewCallback.java
index 79b2b93..eaf2674 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedViewCallback.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedViewCallback.java
@@ -3,6 +3,7 @@
import android.support.annotation.NonNull;
import org.wikipedia.PageTitleListCardItemCallback;
+import org.wikipedia.feed.image.FeaturedImageCard;
import org.wikipedia.feed.news.NewsItemCard;
import org.wikipedia.feed.model.Card;
import org.wikipedia.views.ItemTouchHelperSwipeAdapter;
@@ -14,4 +15,5 @@
void onVoiceSearchRequested();
boolean onRequestDismissCard(@NonNull Card card);
void onNewsItemSelected(@NonNull NewsItemCard card);
+ void onShareImage(@NonNull FeaturedImageCard card);
}
diff --git a/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCard.java
b/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCard.java
index d05ecd1..9320e49 100644
--- a/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCard.java
+++ b/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCard.java
@@ -22,6 +22,16 @@
this.date = date;
}
+ @NonNull
+ public FeaturedImage baseImage() {
+ return this.featuredImage;
+ }
+
+ @NonNull
+ public UtcDate date() {
+ return date;
+ }
+
@Override
@NonNull
public String title() {
diff --git
a/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCardView.java
b/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCardView.java
index 6f8b686..2bb7e7b 100644
--- a/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCardView.java
+++ b/app/src/main/java/org/wikipedia/feed/image/FeaturedImageCardView.java
@@ -108,7 +108,7 @@
@Override
public void onClick(View v) {
if (getCallback() != null) {
-
//getCallback().onSharePage(card.historyEntry(HistoryEntry.SOURCE_FEED_FEATURED));
+ getCallback().onShareImage(card);
}
}
}
diff --git
a/app/src/main/java/org/wikipedia/page/gallery/GalleryItemFragment.java
b/app/src/main/java/org/wikipedia/page/gallery/GalleryItemFragment.java
index a5bbe3b..cd8ba7c 100644
--- a/app/src/main/java/org/wikipedia/page/gallery/GalleryItemFragment.java
+++ b/app/src/main/java/org/wikipedia/page/gallery/GalleryItemFragment.java
@@ -41,6 +41,7 @@
import com.facebook.imagepipeline.image.ImageInfo;
import com.facebook.samples.zoomable.ZoomableDraweeView;
+import java.io.File;
import java.util.Map;
public class GalleryItemFragment extends Fragment {
@@ -399,7 +400,7 @@
if (bitmap != null) {
ShareUtil.shareImage(parentActivity,
bitmap,
- new java.io.File(galleryItem.getUrl()).getName(),
+ new File(galleryItem.getUrl()).getName(),
pageTitle.getDisplayText(),
imageTitle.getCanonicalUri());
} else {
diff --git
a/app/src/main/java/org/wikipedia/page/gallery/ImagePipelineBitmapGetter.java
b/app/src/main/java/org/wikipedia/page/gallery/ImagePipelineBitmapGetter.java
index 8b60b01..dab38ea 100644
---
a/app/src/main/java/org/wikipedia/page/gallery/ImagePipelineBitmapGetter.java
+++
b/app/src/main/java/org/wikipedia/page/gallery/ImagePipelineBitmapGetter.java
@@ -22,7 +22,7 @@
private Context context;
private String imageUrl;
- ImagePipelineBitmapGetter(Context context, String imageUrl) {
+ public ImagePipelineBitmapGetter(Context context, String imageUrl) {
this.context = context;
this.imageUrl = imageUrl;
}
diff --git a/app/src/main/res/values-qq/strings.xml
b/app/src/main/res/values-qq/strings.xml
index 4005d09..04eee65 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -414,6 +414,7 @@
<string name="most_read_list_card_title">Feed card title for recently
popular articles.</string>
<string name="view_static_card_icon_content_description">Feed card icon
description for use when the icon cannot be seen and acessibility.</string>
<string name="view_card_news_title">Feed card title for news
articles.</string>
+ <string name="feed_featured_image_share_subject">Text included as the
subject when a user shares an image from the Today\'s Featured Image feed
card.</string>
<plurals name="view_continue_reading_card_subtitle">
<item quantity="one">Phrase for one day ago.</item>
<item quantity="other">Phrase for more than one day ago.</item>
diff --git a/app/src/main/res/values/strings.xml
b/app/src/main/res/values/strings.xml
index dc0235e..8e0649d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -327,6 +327,7 @@
<string name="menu_feed_card_dismiss">Hide this card</string>
<string name="menu_feed_card_dismissed">Card hidden.</string>
+ <string name="feed_featured_image_share_subject">Featured image from
Wikimedia Commons</string>
<string name="feed">Explore Wikipedia</string>
<string name="view_card_footer_button">See more</string>
<string name="most_read_list_card_title">Trending</string>
--
To view, visit https://gerrit.wikimedia.org/r/298016
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I17936897be1fee0571fec62bd6a8b00b031fe8cb
Gerrit-PatchSet: 4
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: Niedzielski <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits