diff options
author | Tom Hennen <TomHennen@users.noreply.github.com> | 2016-01-26 17:46:37 -0500 |
---|---|---|
committer | Tom Hennen <TomHennen@users.noreply.github.com> | 2016-01-26 17:46:37 -0500 |
commit | b53fe7874b4b90806bd6f358fcfdcafa203c7ecc (patch) | |
tree | 481f8a0f40214fa5224f0392e85be7f94eea5af6 /app/src/main/java/de/danoeh/antennapod/fragment | |
parent | f71f1a5452c5d9e286687444fc3865d03eb3ad00 (diff) | |
parent | 495df46ba40e8e031daf7ba1002a7245388f085d (diff) | |
download | AntennaPod-b53fe7874b4b90806bd6f358fcfdcafa203c7ecc.zip |
Merge pull request #1615 from mfietz/issue/1606-player-skip-update
Fix player skip issues
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment')
3 files changed, 35 insertions, 16 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java index abc9f3d22..ce1d753e8 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java @@ -55,8 +55,17 @@ public class ChaptersFragment extends ListFragment implements AudioplayerContent } } + public void onDestroy() { + super.onDestroy(); + adapter = null; + } + @Override - public void onDataSetChanged(Playable media) { + public void onMediaChanged(Playable media) { + if(this.media == media || adapter == null) { + return; + } + this.media = media; adapter.setMedia(media); adapter.notifyDataSetChanged(); if(media.getChapters() == null) { 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 a3e9723ea..931d14924 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java @@ -19,8 +19,8 @@ import de.danoeh.antennapod.core.util.playback.Playable; /** * Displays the cover and the title of a FeedItem. */ -public class CoverFragment extends Fragment implements - AudioplayerContentFragment { +public class CoverFragment extends Fragment implements AudioplayerContentFragment { + private static final String TAG = "CoverFragment"; private static final String ARG_PLAYABLE = "arg.playable"; @@ -71,14 +71,12 @@ public class CoverFragment extends Fragment implements Log.d(TAG, "episode title: " + media.getEpisodeTitle()); txtvPodcastTitle.setText(media.getFeedTitle()); txtvEpisodeTitle.setText(media.getEpisodeTitle()); - imgvCover.post(() -> { - Glide.with(this) - .load(media.getImageUri()) - .diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY) - .dontAnimate() - .fitCenter() - .into(imgvCover); - }); + Glide.with(this) + .load(media.getImageUri()) + .diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY) + .dontAnimate() + .fitCenter() + .into(imgvCover); } else { Log.w(TAG, "loadMediaInfo was called while media was null"); } @@ -97,7 +95,17 @@ public class CoverFragment extends Fragment implements } @Override - public void onDataSetChanged(Playable media) { + public void onDestroy() { + super.onDestroy(); + // prevent memory leaks + root = null; + } + + @Override + public void onMediaChanged(Playable media) { + if(this.media == media) { + return; + } this.media = media; loadMediaInfo(); } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java index 9790e66b3..4c723e5ff 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java @@ -21,7 +21,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; -import android.webkit.WebSettings.LayoutAlgorithm; +import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; @@ -67,7 +67,6 @@ public class ItemDescriptionFragment extends Fragment implements AudioplayerCont private ShownotesProvider shownotesProvider; private Playable media; - private Subscription webViewLoader; /** @@ -124,7 +123,7 @@ public class ItemDescriptionFragment extends Fragment implements AudioplayerCont ta.recycle(); webvDescription.setBackgroundColor(backgroundColor); webvDescription.getSettings().setUseWideViewPort(false); - webvDescription.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); + webvDescription.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); webvDescription.getSettings().setLoadWithOverviewMode(true); webvDescription.setOnLongClickListener(webViewLongClickListener); webvDescription.setWebViewClient(new WebViewClient() { @@ -384,7 +383,10 @@ public class ItemDescriptionFragment extends Fragment implements AudioplayerCont } @Override - public void onDataSetChanged(Playable media) { + public void onMediaChanged(Playable media) { + if(this.media == media) { + return; + } this.media = media; this.shownotesProvider = media; load(); |