From a1f81d4144bacc01ed7f65efc3daaa063c8f32d6 Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Thu, 29 Nov 2018 21:23:36 +0100 Subject: Add delete option to episode's context menu This PR makes following changes: - Adds delete option to episode's context menus in queue and feed list - Adds a storage preference that allows episodes to be automatically removed from queue when they are deleted (by clicking delete in context menu, or pressing trash can icon on `Completed` tab of `Downloads` page) - Adds a test for the aforementioned preference --- .../de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java | 4 ++++ .../de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java index 7c28ba21f..eb3283400 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java @@ -17,6 +17,7 @@ import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.adapter.DownloadedEpisodesListAdapter; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.FeedItem; +import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.util.FeedItemUtil; @@ -169,6 +170,9 @@ public class CompletedDownloadsFragment extends ListFragment { @Override public void onFeedItemSecondaryAction(FeedItem item) { DBWriter.deleteFeedMediaOfItem(getActivity(), item.getMedia().getId()); + if (UserPreferences.shouldDeleteRemoveFromQueue()) { + DBWriter.removeQueueItem(getActivity(), item, false); + } } }; diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java index ffdfa9516..c8705185b 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java @@ -101,7 +101,8 @@ public class FeedItemMenuHandler { mi.setItemVisibility(R.id.share_download_url_with_position_item, false); } - mi.setItemVisibility(R.id.share_file, hasMedia && selectedItem.getMedia().fileExists()); + boolean fileDownloaded = hasMedia && selectedItem.getMedia().fileExists(); + mi.setItemVisibility(R.id.share_file, fileDownloaded); if (selectedItem.isPlayed()) { mi.setItemVisibility(R.id.mark_read_item, false); @@ -130,6 +131,8 @@ public class FeedItemMenuHandler { mi.setItemVisibility(R.id.add_to_favorites_item, !isFavorite); mi.setItemVisibility(R.id.remove_from_favorites_item, isFavorite); + mi.setItemVisibility(R.id.remove_item, fileDownloaded); + return true; } @@ -162,6 +165,9 @@ public class FeedItemMenuHandler { break; case R.id.remove_item: DBWriter.deleteFeedMediaOfItem(context, selectedItem.getMedia().getId()); + if (UserPreferences.shouldDeleteRemoveFromQueue()) { + DBWriter.removeQueueItem(context, selectedItem, false); + } break; case R.id.mark_read_item: selectedItem.setPlayed(true); -- cgit v1.2.3 From 9c43438cbe5f1635453b748197aa7ce58e50d3fb Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Sun, 2 Dec 2018 00:13:30 +0100 Subject: Make "Delete Removes From Queue" work consistently for all cases --- .../java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java | 4 ++++ app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java | 3 +++ 2 files changed, 7 insertions(+) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java index 07a64cde8..64b6f8bf1 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java @@ -26,6 +26,7 @@ import java.util.Map; import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator; import de.danoeh.antennapod.core.feed.FeedItem; +import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.storage.DownloadRequestException; @@ -449,6 +450,9 @@ public class EpisodesApplyActionFragment extends Fragment { FeedItem episode = idMap.get(id); if(episode.hasMedia()) { DBWriter.deleteFeedMediaOfItem(getActivity(), episode.getMedia().getId()); + if (UserPreferences.shouldDeleteRemoveFromQueue()) { + DBWriter.removeQueueItem(getActivity(), episode, false); + } } } close(); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java index c1d9bb9ab..4cd9b5f4b 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java @@ -248,6 +248,9 @@ public class ItemFragment extends Fragment implements OnSwipeGesture { ((MainActivity) getActivity()).dismissChildFragment(); } else { DBWriter.deleteFeedMediaOfItem(getActivity(), media.getId()); + if (UserPreferences.shouldDeleteRemoveFromQueue()) { + DBWriter.removeQueueItem(getActivity(), item, false); + } } } else if (item.getLink() != null) { Uri uri = Uri.parse(item.getLink()); -- cgit v1.2.3 From b53a3c2ecf32a2bbfaa33b886e31c04f3e0cb8ba Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Sun, 2 Dec 2018 23:17:56 +0100 Subject: Move "Delete Removes from Queue" logic to DBWriter --- .../java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java | 4 ---- .../de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java | 4 ---- app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java | 3 --- .../java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java | 3 --- 4 files changed, 14 deletions(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java index 64b6f8bf1..07a64cde8 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java @@ -26,7 +26,6 @@ import java.util.Map; import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator; import de.danoeh.antennapod.core.feed.FeedItem; -import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.storage.DownloadRequestException; @@ -450,9 +449,6 @@ public class EpisodesApplyActionFragment extends Fragment { FeedItem episode = idMap.get(id); if(episode.hasMedia()) { DBWriter.deleteFeedMediaOfItem(getActivity(), episode.getMedia().getId()); - if (UserPreferences.shouldDeleteRemoveFromQueue()) { - DBWriter.removeQueueItem(getActivity(), episode, false); - } } } close(); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java index eb3283400..7c28ba21f 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java @@ -17,7 +17,6 @@ import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.adapter.DownloadedEpisodesListAdapter; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.FeedItem; -import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.util.FeedItemUtil; @@ -170,9 +169,6 @@ public class CompletedDownloadsFragment extends ListFragment { @Override public void onFeedItemSecondaryAction(FeedItem item) { DBWriter.deleteFeedMediaOfItem(getActivity(), item.getMedia().getId()); - if (UserPreferences.shouldDeleteRemoveFromQueue()) { - DBWriter.removeQueueItem(getActivity(), item, false); - } } }; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java index 4cd9b5f4b..c1d9bb9ab 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java @@ -248,9 +248,6 @@ public class ItemFragment extends Fragment implements OnSwipeGesture { ((MainActivity) getActivity()).dismissChildFragment(); } else { DBWriter.deleteFeedMediaOfItem(getActivity(), media.getId()); - if (UserPreferences.shouldDeleteRemoveFromQueue()) { - DBWriter.removeQueueItem(getActivity(), item, false); - } } } else if (item.getLink() != null) { Uri uri = Uri.parse(item.getLink()); diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java index c8705185b..321b9c7bb 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java @@ -165,9 +165,6 @@ public class FeedItemMenuHandler { break; case R.id.remove_item: DBWriter.deleteFeedMediaOfItem(context, selectedItem.getMedia().getId()); - if (UserPreferences.shouldDeleteRemoveFromQueue()) { - DBWriter.removeQueueItem(context, selectedItem, false); - } break; case R.id.mark_read_item: selectedItem.setPlayed(true); -- cgit v1.2.3 From 73c86353548ae201739fbab8cb4532037a67a7e7 Mon Sep 17 00:00:00 2001 From: falko Date: Sat, 5 Jan 2019 21:27:40 +0100 Subject: Add skip silence checkbox to audio control Add new Checkbox to dialog. Enable only if ExoPlayer is selected. Selection directly changes player behavior --- .../de/danoeh/antennapod/activity/MediaplayerActivity.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java index 1cddaa655..51e498036 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -534,6 +534,17 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements stereoToMono.setText(stereoToMono.getText() + " [" + sonicOnly + "]"); } + final CheckBox skipSilence = (CheckBox) dialog.findViewById(R.id.skipSilence); + skipSilence.setChecked(UserPreferences.isSkipSilence()); + if (!UserPreferences.useExoplayer()) { + skipSilence.setEnabled(false); + skipSilence.setText(skipSilence.getText() + "[ ExoPlayer only ]"); + } + skipSilence.setOnCheckedChangeListener((buttonView, isChecked) -> { + UserPreferences.setSkipSilence(isChecked); + controller.setSkipSilence(isChecked); + }); + barLeftVolume.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { -- cgit v1.2.3 From b1979145300ef0eda12d0face11f4fa632465e17 Mon Sep 17 00:00:00 2001 From: orionlee Date: Fri, 11 Jan 2019 13:54:20 -0800 Subject: #2950 - fix app crash in OPML Export > Send flow (for non-production builds) --- .../java/de/danoeh/antennapod/preferences/PreferenceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java index 31b2cbcb2..ca1f9d722 100644 --- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java +++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java @@ -659,7 +659,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc alert.setMessage(message); alert.setPositiveButton(R.string.send_label, (dialog, which) -> { Uri fileUri = FileProvider.getUriForFile(context.getApplicationContext(), - "de.danoeh.antennapod.provider", output); + context.getString(R.string.provider_authority), output); Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_SUBJECT, context.getResources().getText(R.string.opml_export_label)); -- cgit v1.2.3 From 71fdc65c5be89e2450c55fc0f227eaf3d3aec4dc Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Tue, 15 Jan 2019 11:18:02 +0100 Subject: Hiding settings that ExoPlayer does not yet support --- .../java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java index 51e498036..98dfeebef 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -534,11 +534,16 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements stereoToMono.setText(stereoToMono.getText() + " [" + sonicOnly + "]"); } + if (UserPreferences.useExoplayer()) { + barRightVolume.setEnabled(false); + } + final CheckBox skipSilence = (CheckBox) dialog.findViewById(R.id.skipSilence); skipSilence.setChecked(UserPreferences.isSkipSilence()); if (!UserPreferences.useExoplayer()) { skipSilence.setEnabled(false); - skipSilence.setText(skipSilence.getText() + "[ ExoPlayer only ]"); + String exoplayerOnly = getString(R.string.exoplayer_only); + skipSilence.setText(skipSilence.getText() + " [" + exoplayerOnly + "]"); } skipSilence.setOnCheckedChangeListener((buttonView, isChecked) -> { UserPreferences.setSkipSilence(isChecked); -- cgit v1.2.3 From 7da762b8ea824004f708cbcacc14f6b15aa9d17b Mon Sep 17 00:00:00 2001 From: pachecosf Date: Thu, 17 Jan 2019 16:18:50 -0800 Subject: Changed implementation using themeUtils instead --- app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java index fbf6b804a..85dcf7a35 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java @@ -34,6 +34,7 @@ import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.glide.ApGlideSettings; import de.danoeh.antennapod.core.preferences.UserPreferences; +import de.danoeh.antennapod.core.util.ThemeUtils; import de.danoeh.antennapod.fragment.AddFeedFragment; import de.danoeh.antennapod.fragment.AllEpisodesFragment; import de.danoeh.antennapod.fragment.DownloadsFragment; @@ -216,8 +217,10 @@ public class NavListAdapter extends BaseAdapter TextView txtvTitle = v.findViewById(R.id.txtvTitle); if (position == itemAccess.getSelectedItemIndex()) { txtvTitle.setTypeface(null, Typeface.BOLD); + v.setBackgroundResource(ThemeUtils.getSelectionDrawerActivatedColor()); } else { txtvTitle.setTypeface(null, Typeface.NORMAL); + v.setBackgroundResource(ThemeUtils.getSelectionDrawerNotActivatedColor()); } } return v; -- cgit v1.2.3 From a80435a03becc7ae874541dec77594caca4e11d0 Mon Sep 17 00:00:00 2001 From: pachecosf Date: Fri, 18 Jan 2019 12:09:24 -0800 Subject: switched implementation to ussing attr --- .../de/danoeh/antennapod/adapter/NavListAdapter.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java index 85dcf7a35..7dc2d90a5 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java @@ -8,6 +8,7 @@ import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.preference.PreferenceManager; import android.support.v7.app.AlertDialog; +import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -34,7 +35,6 @@ import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.glide.ApGlideSettings; import de.danoeh.antennapod.core.preferences.UserPreferences; -import de.danoeh.antennapod.core.util.ThemeUtils; import de.danoeh.antennapod.fragment.AddFeedFragment; import de.danoeh.antennapod.fragment.AllEpisodesFragment; import de.danoeh.antennapod.fragment.DownloadsFragment; @@ -215,12 +215,25 @@ public class NavListAdapter extends BaseAdapter } if (v != null && viewType != VIEW_TYPE_SECTION_DIVIDER) { TextView txtvTitle = v.findViewById(R.id.txtvTitle); + TypedValue typedValue = new TypedValue(); + if (position == itemAccess.getSelectedItemIndex()) { txtvTitle.setTypeface(null, Typeface.BOLD); - v.setBackgroundResource(ThemeUtils.getSelectionDrawerActivatedColor()); + v.getContext().getTheme().resolveAttribute(de.danoeh.antennapod.core.R.attr.drawer_activated_color, typedValue, true); + int[] attribute = new int[] { de.danoeh.antennapod.core.R.attr.drawer_activated_color }; + TypedArray array = v.getContext().obtainStyledAttributes(typedValue.resourceId, attribute); + int backgroundResource = array.getColor(0, 0); + array.recycle(); + v.setBackgroundColor(backgroundResource); + } else { txtvTitle.setTypeface(null, Typeface.NORMAL); - v.setBackgroundResource(ThemeUtils.getSelectionDrawerNotActivatedColor()); + v.getContext().getTheme().resolveAttribute(de.danoeh.antennapod.core.R.attr.nav_drawer_background, typedValue, true); + int[] attribute = new int[] { de.danoeh.antennapod.core.R.attr.nav_drawer_background}; + TypedArray array = v.getContext().obtainStyledAttributes(typedValue.resourceId, attribute); + int backgroundResource = array.getColor(0, 0); + array.recycle(); + v.setBackgroundColor(backgroundResource); } } return v; -- cgit v1.2.3 From a421c490e40fb56f611e268e1442e9d34a59059f Mon Sep 17 00:00:00 2001 From: pachecosf Date: Fri, 18 Jan 2019 12:28:49 -0800 Subject: cleaned up a couple of lines --- .../java/de/danoeh/antennapod/adapter/NavListAdapter.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java index 7dc2d90a5..be8e52cfc 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java @@ -220,20 +220,12 @@ public class NavListAdapter extends BaseAdapter if (position == itemAccess.getSelectedItemIndex()) { txtvTitle.setTypeface(null, Typeface.BOLD); v.getContext().getTheme().resolveAttribute(de.danoeh.antennapod.core.R.attr.drawer_activated_color, typedValue, true); - int[] attribute = new int[] { de.danoeh.antennapod.core.R.attr.drawer_activated_color }; - TypedArray array = v.getContext().obtainStyledAttributes(typedValue.resourceId, attribute); - int backgroundResource = array.getColor(0, 0); - array.recycle(); - v.setBackgroundColor(backgroundResource); + v.setBackgroundResource(typedValue.resourceId); } else { txtvTitle.setTypeface(null, Typeface.NORMAL); v.getContext().getTheme().resolveAttribute(de.danoeh.antennapod.core.R.attr.nav_drawer_background, typedValue, true); - int[] attribute = new int[] { de.danoeh.antennapod.core.R.attr.nav_drawer_background}; - TypedArray array = v.getContext().obtainStyledAttributes(typedValue.resourceId, attribute); - int backgroundResource = array.getColor(0, 0); - array.recycle(); - v.setBackgroundColor(backgroundResource); + v.setBackgroundResource(typedValue.resourceId); } } return v; -- cgit v1.2.3 From 6c2e9afad4db461ff0b52ca46a0e80ad988f0731 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sat, 19 Jan 2019 10:56:07 +0100 Subject: Fixed displaying feed url Closes #2989 --- .../danoeh/antennapod/fragment/DownloadLogFragment.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java index 5ab6bac63..9f8f59f7f 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java @@ -19,6 +19,7 @@ import java.util.List; import de.danoeh.antennapod.R; import de.danoeh.antennapod.adapter.DownloadLogAdapter; import de.danoeh.antennapod.core.feed.EventDistributor; +import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.feed.FeedMedia; import de.danoeh.antennapod.core.service.download.DownloadStatus; import de.danoeh.antennapod.core.storage.DBReader; @@ -93,10 +94,18 @@ public class DownloadLogFragment extends ListFragment { DownloadStatus status = adapter.getItem(position); String url = "unknown"; String message = getString(R.string.download_successful); - FeedMedia media = DBReader.getFeedMedia(status.getFeedfileId()); - if (media != null) { - url = media.getDownload_url(); + if (status.getFeedfileType() == FeedMedia.FEEDFILETYPE_FEEDMEDIA) { + FeedMedia media = DBReader.getFeedMedia(status.getFeedfileId()); + if (media != null) { + url = media.getDownload_url(); + } + } else if (status.getFeedfileType() == Feed.FEEDFILETYPE_FEED) { + Feed feed = DBReader.getFeed(status.getFeedfileId()); + if (feed != null) { + url = feed.getDownload_url(); + } } + if (!status.isSuccessful()) { message = status.getReasonDetailed(); } -- cgit v1.2.3 From 494b34d4219110305c56a2c5bba75bcebb001cb4 Mon Sep 17 00:00:00 2001 From: pachecosf Date: Tue, 22 Jan 2019 23:57:37 -0800 Subject: fixed losing media images and descriptions on rotate --- .../main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java | 1 + app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java | 1 + 2 files changed, 2 insertions(+) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java index a2389dabd..3db00edc9 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java @@ -278,6 +278,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem butCastDisconnect = findViewById(R.id.butCastDisconnect); pager = findViewById(R.id.pager); + pager.setOffscreenPageLimit(3); pagerAdapter = new MediaplayerInfoPagerAdapter(getSupportFragmentManager(), media); pagerAdapter.setController(controller); pager.setAdapter(pagerAdapter); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java index 5a061c7e6..ef65a5755 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java @@ -48,6 +48,7 @@ public class CoverFragment extends Fragment implements MediaplayerInfoContentFra @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + setRetainInstance(true); root = inflater.inflate(R.layout.cover_fragment, container, false); txtvPodcastTitle = root.findViewById(R.id.txtvPodcastTitle); txtvEpisodeTitle = root.findViewById(R.id.txtvEpisodeTitle); -- cgit v1.2.3 From 6753df01b53d448438dd7f2c35dc1c3e8b36351a Mon Sep 17 00:00:00 2001 From: pachecosf Date: Wed, 23 Jan 2019 00:01:18 -0800 Subject: changed location of setupGUI to prevent nullpointerexeptions when saved fragment had no initiliazed id --- .../main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java index 98dfeebef..ab4f40da4 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -235,6 +235,8 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements StorageUtils.checkStorageAvailability(this); getWindow().setFormat(PixelFormat.TRANSPARENT); + setupGUI(); + loadMediaInfo(); } @Override @@ -278,8 +280,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements controller.release(); } controller = newPlaybackController(); - setupGUI(); - loadMediaInfo(); onPositionObserverUpdate(); } -- cgit v1.2.3 From 7f100b3fa60d30fc1cc7efe3a56956b468bda31c Mon Sep 17 00:00:00 2001 From: Burt Wiley Snyder Date: Fri, 1 Feb 2019 09:57:19 -0500 Subject: Null handling in OnlineFeedViewActivity (#3004) --- .../activity/OnlineFeedViewActivity.java | 24 ++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java index 73da9a834..4b9415084 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java @@ -29,6 +29,7 @@ import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; + import org.apache.commons.lang3.StringUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -140,7 +141,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { StorageUtils.checkStorageAvailability(this); - final String feedUrl; + String feedUrl = null; if (getIntent().hasExtra(ARG_FEEDURL)) { feedUrl = getIntent().getStringExtra(ARG_FEEDURL); } else if (TextUtils.equals(getIntent().getAction(), Intent.ACTION_SEND) @@ -150,16 +151,23 @@ public class OnlineFeedViewActivity extends AppCompatActivity { if (actionBar != null) { actionBar.setTitle(R.string.add_feed_label); } - } else { - throw new IllegalArgumentException("Activity must be started with feedurl argument!"); } - Log.d(TAG, "Activity was started with url " + feedUrl); - setLoadingLayout(); - if (savedInstanceState == null) { - startFeedDownload(feedUrl, null, null); + if (feedUrl == null) { + Log.e(TAG, "feedUrl is null."); + new AlertDialog.Builder(OnlineFeedViewActivity.this). + setNeutralButton(android.R.string.ok, + (dialog, which) -> dialog.dismiss()). + setTitle(R.string.error_label). + setMessage(R.string.null_value_podcast_error).create().show(); } else { - startFeedDownload(feedUrl, savedInstanceState.getString("username"), savedInstanceState.getString("password")); + Log.d(TAG, "Activity was started with url " + feedUrl); + setLoadingLayout(); + if (savedInstanceState == null) { + startFeedDownload(feedUrl, null, null); + } else { + startFeedDownload(feedUrl, savedInstanceState.getString("username"), savedInstanceState.getString("password")); + } } } -- cgit v1.2.3 From 39c6ff5f313432eeeab167af0e58569afda73ead Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Fri, 1 Feb 2019 15:59:25 +0100 Subject: Finish when closing error dialog --- .../main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/src/main/java/de/danoeh') diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java index 4b9415084..d0644f194 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java @@ -157,7 +157,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { Log.e(TAG, "feedUrl is null."); new AlertDialog.Builder(OnlineFeedViewActivity.this). setNeutralButton(android.R.string.ok, - (dialog, which) -> dialog.dismiss()). + (dialog, which) -> finish()). setTitle(R.string.error_label). setMessage(R.string.null_value_podcast_error).create().show(); } else { -- cgit v1.2.3