Mholloway has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/298016

Change subject: Featured image card: enable sharing from card footer button
......................................................................

Featured image card: enable sharing from card footer button

Bug: T130692
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/ImagePipelineBitmapGetter.java
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
8 files changed, 48 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/16/298016/1

diff --git a/app/src/main/java/org/wikipedia/MainActivity.java 
b/app/src/main/java/org/wikipedia/MainActivity.java
index c1c298f..8d5f279 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;
@@ -872,6 +876,25 @@
         startActivity(NewsActivity.newIntent(app, card.item(), card.site()));
     }
 
+    @Override
+    public void onFeedShareImage(final FeaturedImageCard card) {
+        new ImagePipelineBitmapGetter(this, 
card.baseImage().thumbnail().source().toString()){
+            @Override
+            public void onSuccess(@Nullable Bitmap bitmap) {
+                if (bitmap != null) {
+                    ShareUtil.shareImage(MainActivity.this,
+                            bitmap,
+                            new 
java.io.File(card.baseImage().thumbnail().source().toString()).getName(),
+                            
getString(R.string.feed_featured_image_share_subject) + " | "
+                                    + 
DateUtil.getFeedCardDateString(card.date().baseCalendar()),
+                            card.baseImage().image().source().toString());
+                } 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/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 ca9f1ac..314100a 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -416,6 +416,7 @@
   <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="view_card_news_footer_text">Feed card button label for 
requesting more 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 50d7038..b3cb219 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: newchange
Gerrit-Change-Id: I17936897be1fee0571fec62bd6a8b00b031fe8cb
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

Reply via email to