summaryrefslogtreecommitdiff
path: root/app/src/main/java/de
diff options
context:
space:
mode:
authorTom Hennen <TomHennen@users.noreply.github.com>2015-12-13 16:33:48 -0500
committerTom Hennen <TomHennen@users.noreply.github.com>2015-12-13 16:33:48 -0500
commit07be0e2cdb2e8e15de0af64ef6e9c4d754de892b (patch)
tree50dde45987e72e3b7a66d80dc8f6c4ad6c0ddd7e /app/src/main/java/de
parent3bb8d9304a60207d05cf398f21cc5ba1cc7f8402 (diff)
parenta4dea4ba249df239ee5f2ce358c2a21e5912155c (diff)
downloadAntennaPod-07be0e2cdb2e8e15de0af64ef6e9c4d754de892b.zip
Merge pull request #1463 from mfietz/issue/1462-stop-refresh-indicator
Fix refresh indicator and (queue) dragging while downloading
Diffstat (limited to 'app/src/main/java/de')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java14
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java9
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java17
3 files changed, 21 insertions, 19 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
index 37be8f020..0a0f686ff 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
@@ -303,6 +303,7 @@ public class AllEpisodesFragment extends Fragment {
View root = inflater.inflate(fragmentResource, container, false);
recyclerView = (RecyclerView) root.findViewById(android.R.id.list);
+ recyclerView.getItemAnimator().setSupportsChangeAnimations(false);
layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
@@ -397,14 +398,15 @@ public class AllEpisodesFragment extends Fragment {
Log.d(TAG, "onEventMainThread() called with: " + "event = [" + event + "]");
DownloaderUpdate update = event.update;
downloaderList = update.downloaders;
- if(update.feedIds.length > 0) {
- if (isUpdatingFeeds != updateRefreshMenuItemChecker.isRefreshing()) {
+ if (isUpdatingFeeds != update.feedIds.length > 0) {
getActivity().supportInvalidateOptionsMenu();
- }
}
- if(update.mediaIds.length > 0) {
- if(listAdapter != null) {
- listAdapter.notifyDataSetChanged();
+ if(listAdapter != null && update.mediaIds.length > 0) {
+ for(long mediaId : update.mediaIds) {
+ int pos = FeedItemUtil.indexOfItemWithMediaId(episodes, mediaId);
+ if(pos >= 0) {
+ listAdapter.notifyItemChanged(pos);
+ }
}
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index 09d2f5676..bcfa254f7 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -9,7 +9,6 @@ import android.graphics.Color;
import android.graphics.LightingColorFilter;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.support.v4.app.ListFragment;
import android.support.v4.util.Pair;
import android.support.v4.view.MenuItemCompat;
@@ -417,13 +416,11 @@ public class ItemlistFragment extends ListFragment {
Log.d(TAG, "onEventMainThread() called with: " + "event = [" + event + "]");
DownloaderUpdate update = event.update;
downloaderList = update.downloaders;
- if(update.feedIds.length > 0) {
+ if (isUpdatingFeed != event.update.feedIds.length > 0) {
updateProgressBarVisibility();
}
- if(update.mediaIds.length > 0) {
- if (adapter != null) {
- adapter.notifyDataSetChanged();
- }
+ if(adapter != null && update.mediaIds.length > 0) {
+ adapter.notifyDataSetChanged();
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index 46bbfd13c..8a2249d98 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -179,13 +179,15 @@ public class QueueFragment extends Fragment {
Log.d(TAG, "onEventMainThread() called with: " + "event = [" + event + "]");
DownloaderUpdate update = event.update;
downloaderList = update.downloaders;
- if (update.feedIds.length > 0) {
- if (isUpdatingFeeds != updateRefreshMenuItemChecker.isRefreshing()) {
- getActivity().supportInvalidateOptionsMenu();
- }
- } else if (update.mediaIds.length > 0) {
- if (recyclerAdapter != null) {
- recyclerAdapter.notifyDataSetChanged();
+ if (isUpdatingFeeds != update.feedIds.length > 0) {
+ getActivity().supportInvalidateOptionsMenu();
+ }
+ if (recyclerAdapter != null && update.mediaIds.length > 0) {
+ for (long mediaId : update.mediaIds) {
+ int pos = FeedItemUtil.indexOfItemWithMediaId(queue, mediaId);
+ if (pos >= 0) {
+ recyclerAdapter.notifyItemChanged(pos);
+ }
}
}
}
@@ -363,6 +365,7 @@ public class QueueFragment extends Fragment {
View root = inflater.inflate(R.layout.queue_fragment, container, false);
infoBar = (TextView) root.findViewById(R.id.info_bar);
recyclerView = (RecyclerView) root.findViewById(R.id.recyclerView);
+ recyclerView.getItemAnimator().setSupportsChangeAnimations(false);
layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
recyclerView.addItemDecoration(new HorizontalDividerItemDecoration.Builder(getActivity()).build());