diff --git a/app/proguard-rules.txt b/app/proguard-rules.txt index e00d3ce50..bbf3a3f0d 100644 --- a/app/proguard-rules.txt +++ b/app/proguard-rules.txt @@ -2,3 +2,4 @@ -keep class org.apache.http.** { *; } -dontwarn org.apache.http.** -keep class fr.free.nrw.commons.upload.MwVolleyApi$Page {*;} +-keep class android.support.v7.widget.ShareActionProvider { *; } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 260338680..ffe93edc6 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -222,10 +222,14 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa // Set ShareActionProvider Intent ShareActionProvider mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(menu.findItem(R.id.menu_share_current_image)); - Intent shareIntent = new Intent(Intent.ACTION_SEND); - shareIntent.setType("text/plain"); - shareIntent.putExtra(Intent.EXTRA_TEXT, m.getDisplayTitle() + " \n" + m.getDescriptionUrl()); - mShareActionProvider.setShareIntent(shareIntent); + // On some phones null is returned for some reason: + // https://github.com/commons-app/apps-android-commons/issues/413 + if(mShareActionProvider != null) { + Intent shareIntent = new Intent(Intent.ACTION_SEND); + shareIntent.setType("text/plain"); + shareIntent.putExtra(Intent.EXTRA_TEXT, m.getDisplayTitle() + " \n" + m.getDescriptionUrl()); + mShareActionProvider.setShareIntent(shareIntent); + } if(m instanceof Contribution) { Contribution c = (Contribution)m; diff --git a/app/src/main/res/menu/fragment_image_detail.xml b/app/src/main/res/menu/fragment_image_detail.xml index ff040dae5..2d0d2a299 100644 --- a/app/src/main/res/menu/fragment_image_detail.xml +++ b/app/src/main/res/menu/fragment_image_detail.xml @@ -6,7 +6,7 @@ android:id="@+id/menu_share_current_image" app:actionProviderClass="android.support.v7.widget.ShareActionProvider" android:title="@string/menu_share" - app:showAsAction="ifRoom|withText" /> + app:showAsAction="ifRoom" />