Fixed incorrect behavior of FeedItemMenuHandler if an item had no media
This commit is contained in:
parent
65fdae0ea7
commit
db1a83061e
@ -24,8 +24,8 @@ public class FeedItemMenuHandler {
|
|||||||
public static boolean onPrepareMenu(Menu menu, FeedItem selectedItem) {
|
public static boolean onPrepareMenu(Menu menu, FeedItem selectedItem) {
|
||||||
FeedManager manager = FeedManager.getInstance();
|
FeedManager manager = FeedManager.getInstance();
|
||||||
DownloadRequester requester = DownloadRequester.getInstance();
|
DownloadRequester requester = DownloadRequester.getInstance();
|
||||||
|
boolean hasMedia = selectedItem.getMedia() != null;
|
||||||
if (selectedItem.getMedia() != null) {
|
if (hasMedia) {
|
||||||
if (selectedItem.getMedia().isDownloaded()) {
|
if (selectedItem.getMedia().isDownloaded()) {
|
||||||
menu.findItem(R.id.play_item).setVisible(true);
|
menu.findItem(R.id.play_item).setVisible(true);
|
||||||
menu.findItem(R.id.remove_item).setVisible(true);
|
menu.findItem(R.id.remove_item).setVisible(true);
|
||||||
@ -33,8 +33,10 @@ public class FeedItemMenuHandler {
|
|||||||
menu.findItem(R.id.download_item).setVisible(true);
|
menu.findItem(R.id.download_item).setVisible(true);
|
||||||
menu.findItem(R.id.stream_item).setVisible(true);
|
menu.findItem(R.id.stream_item).setVisible(true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
boolean isDownloading = requester.isDownloadingFile(selectedItem.getMedia());
|
boolean isDownloading = hasMedia
|
||||||
|
&& requester.isDownloadingFile(selectedItem.getMedia());
|
||||||
menu.findItem(R.id.cancel_download_item).setVisible(isDownloading);
|
menu.findItem(R.id.cancel_download_item).setVisible(isDownloading);
|
||||||
|
|
||||||
if (manager.isInQueue(selectedItem)) {
|
if (manager.isInQueue(selectedItem)) {
|
||||||
@ -45,7 +47,6 @@ public class FeedItemMenuHandler {
|
|||||||
|
|
||||||
menu.findItem(R.id.share_link_item).setVisible(
|
menu.findItem(R.id.share_link_item).setVisible(
|
||||||
selectedItem.getLink() != null);
|
selectedItem.getLink() != null);
|
||||||
}
|
|
||||||
|
|
||||||
if (selectedItem.isRead()) {
|
if (selectedItem.isRead()) {
|
||||||
menu.findItem(R.id.mark_unread_item).setVisible(true);
|
menu.findItem(R.id.mark_unread_item).setVisible(true);
|
||||||
@ -104,7 +105,8 @@ public class FeedItemMenuHandler {
|
|||||||
context.startActivity(new Intent(Intent.ACTION_VIEW, uri));
|
context.startActivity(new Intent(Intent.ACTION_VIEW, uri));
|
||||||
break;
|
break;
|
||||||
case R.id.support_item:
|
case R.id.support_item:
|
||||||
new FlattrClickWorker(context, selectedItem.getPaymentLink()).executeAsync();
|
new FlattrClickWorker(context, selectedItem.getPaymentLink())
|
||||||
|
.executeAsync();
|
||||||
break;
|
break;
|
||||||
case R.id.share_link_item:
|
case R.id.share_link_item:
|
||||||
ShareUtils.shareFeedItemLink(context, selectedItem);
|
ShareUtils.shareFeedItemLink(context, selectedItem);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user