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

Reply via email to