diff options
Diffstat (limited to 'org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java')
-rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java | 47 |
1 files changed, 33 insertions, 14 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java index 0dfce8b2..8bd7ed38 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java @@ -12,6 +12,14 @@ import android.view.View; import android.widget.PopupMenu; import android.widget.ProgressBar; +import androidx.appcompat.app.AppCompatDelegate; +import androidx.appcompat.widget.Toolbar; +import androidx.core.app.ActivityCompat; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; +import androidx.viewpager.widget.ViewPager; + import com.ToxicBakery.viewpager.transforms.DepthPageTransformer; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; @@ -26,13 +34,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; -import androidx.appcompat.app.AppCompatDelegate; -import androidx.appcompat.widget.Toolbar; -import androidx.core.app.ActivityCompat; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentStatePagerAdapter; -import androidx.viewpager.widget.ViewPager; import icepick.State; import me.relex.circleindicator.CircleIndicator; @@ -266,12 +267,15 @@ public class GalleryActivity extends CommonActivity { MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.content_gallery_entry, popup.getMenu()); + final GalleryEntry entry = m_items.get(m_pager.getCurrentItem()); + + popup.getMenu().findItem(R.id.article_img_share) + .setVisible(entry.type == GalleryEntry.GalleryEntryType.TYPE_IMAGE); + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { - String url = m_items.get(m_pager.getCurrentItem()).url; - - return onImageMenuItemSelected(item, url); + return onImageMenuItemSelected(item, entry); } }); @@ -326,15 +330,22 @@ public class GalleryActivity extends CommonActivity { @Override public boolean onContextItemSelected(MenuItem item) { int position = m_pager.getCurrentItem(); - String url = m_items.get(position).url; - if (onImageMenuItemSelected(item, url)) + GalleryEntry entry = m_items.get(position); + + //String url = m_items.get(position).url; + + + + if (onImageMenuItemSelected(item, entry)) return true; return super.onContextItemSelected(item); } - public boolean onImageMenuItemSelected(MenuItem item, String url) { + public boolean onImageMenuItemSelected(MenuItem item, GalleryEntry entry) { + String url = entry.url; + switch (item.getItemId()) { case R.id.article_img_open: if (url != null) { @@ -353,6 +364,15 @@ public class GalleryActivity extends CommonActivity { return true; case R.id.article_img_share: if (url != null) { + if (entry.type == GalleryEntry.GalleryEntryType.TYPE_IMAGE) { + Log.d(TAG, "image sharing image from URL=" + url); + + shareImageFromUri(url); + } + } + return true; + case R.id.article_img_share_url: + if (url != null) { shareText(url); } return true; @@ -366,5 +386,4 @@ public class GalleryActivity extends CommonActivity { return false; } } - } |