From a409f439ac66217cda9d2d0704fd726b196e8a64 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Mon, 22 Jul 2019 12:30:01 +0200 Subject: Updated appearance of empty view --- .../antennapod/fragment/AllEpisodesFragment.java | 1 + .../fragment/CompletedDownloadsFragment.java | 1 + .../antennapod/fragment/DownloadLogFragment.java | 1 + .../fragment/FavoriteEpisodesFragment.java | 1 + .../antennapod/fragment/PlaybackHistoryFragment.java | 1 + .../de/danoeh/antennapod/fragment/QueueFragment.java | 1 + .../fragment/RunningDownloadsFragment.java | 1 + .../de/danoeh/antennapod/view/EmptyViewHandler.java | 20 ++++++++++++++++++++ 8 files changed, 27 insertions(+) (limited to 'app/src/main/java/de') 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 9c8cecd43..62d798cf6 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java @@ -310,6 +310,7 @@ public class AllEpisodesFragment extends Fragment { emptyView = new EmptyViewHandler(getContext()); emptyView.attachToRecyclerView(recyclerView); + emptyView.setIcon(R.attr.feed); emptyView.setTitle(R.string.no_all_episodes_head_label); emptyView.setMessage(R.string.no_all_episodes_label); 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 36a39f578..705151062 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java @@ -101,6 +101,7 @@ public class CompletedDownloadsFragment extends ListFragment { private void addEmptyView() { EmptyViewHandler emptyView = new EmptyViewHandler(getActivity()); + emptyView.setIcon(R.attr.av_download); emptyView.setTitle(R.string.no_comp_downloads_head_label); emptyView.setMessage(R.string.no_comp_downloads_label); emptyView.attachToListView(getListView()); 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 4f7ec4050..26b115b4b 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java @@ -70,6 +70,7 @@ public class DownloadLogFragment extends ListFragment { lv.setPadding(0, vertPadding, 0, vertPadding); EmptyViewHandler emptyView = new EmptyViewHandler(getActivity()); + emptyView.setIcon(R.attr.av_download); emptyView.setTitle(R.string.no_log_downloads_head_label); emptyView.setMessage(R.string.no_log_downloads_label); emptyView.attachToListView(getListView()); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java index c273a7033..bb029b731 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java @@ -50,6 +50,7 @@ public class FavoriteEpisodesFragment extends AllEpisodesFragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = super.onCreateView(inflater, container, savedInstanceState); + emptyView.setIcon(R.attr.ic_unfav); emptyView.setTitle(R.string.no_fav_episodes_head_label); emptyView.setMessage(R.string.no_fav_episodes_label); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java index b63936643..e2060481f 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java @@ -68,6 +68,7 @@ public class PlaybackHistoryFragment extends ListFragment { lv.setPadding(0, vertPadding, 0, vertPadding); EmptyViewHandler emptyView = new EmptyViewHandler(getActivity()); + emptyView.setIcon(R.attr.ic_history); emptyView.setTitle(R.string.no_history_head_label); emptyView.setMessage(R.string.no_history_label); emptyView.attachToListView(getListView()); 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 71b3c27a2..b61484715 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -511,6 +511,7 @@ public class QueueFragment extends Fragment { emptyView = new EmptyViewHandler(getContext()); emptyView.attachToRecyclerView(recyclerView); + emptyView.setIcon(R.attr.stat_playlist); emptyView.setTitle(R.string.no_items_header_label); emptyView.setMessage(R.string.no_items_label); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java index 31b9d7b8d..2a7f7d12b 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java @@ -50,6 +50,7 @@ public class RunningDownloadsFragment extends ListFragment { setListAdapter(adapter); EmptyViewHandler emptyView = new EmptyViewHandler(getActivity()); + emptyView.setIcon(R.attr.av_download); emptyView.setTitle(R.string.no_run_downloads_head_label); emptyView.setMessage(R.string.no_run_downloads_label); emptyView.attachToListView(getListView()); diff --git a/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java b/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java index 42c11bc8e..8fe509742 100644 --- a/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java @@ -1,9 +1,17 @@ package de.danoeh.antennapod.view; import android.content.Context; +import android.graphics.drawable.Drawable; +import android.support.annotation.AttrRes; +import android.support.annotation.DrawableRes; +import android.support.v4.content.ContextCompat; +import android.support.v4.content.res.ResourcesCompat; +import android.support.v4.view.ViewCompat; import android.support.v7.widget.RecyclerView; +import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; @@ -15,14 +23,18 @@ public class EmptyViewHandler { private RecyclerView recyclerView; private RecyclerView.Adapter adapter; + private final Context context; private final View emptyView; private final TextView tvTitle; private final TextView tvMessage; + private final ImageView ivIcon; public EmptyViewHandler(Context context) { emptyView = View.inflate(context, R.layout.empty_view_layout, null); + this.context = context; tvTitle = emptyView.findViewById(R.id.emptyViewTitle); tvMessage = emptyView.findViewById(R.id.emptyViewMessage); + ivIcon = emptyView.findViewById(R.id.emptyViewIcon); } public void setTitle(int title) { @@ -33,6 +45,14 @@ public class EmptyViewHandler { tvMessage.setText(message); } + public void setIcon(@AttrRes int iconAttr) { + TypedValue typedValue = new TypedValue(); + context.getTheme().resolveAttribute(iconAttr, typedValue, true); + Drawable d = ContextCompat.getDrawable(context, typedValue.resourceId); + ivIcon.setImageDrawable(d); + ivIcon.setVisibility(View.VISIBLE); + } + public void hide() { emptyView.setVisibility(View.GONE); } -- cgit v1.2.3 From 94ba9dfd462820616c1b4affab1709576e320687 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Mon, 22 Jul 2019 12:47:21 +0200 Subject: Using EmptyViewHandler for chapters fragment --- .../de/danoeh/antennapod/fragment/ChaptersFragment.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'app/src/main/java/de') 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 0ffd1a8da..4bebfe4c9 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java @@ -15,6 +15,7 @@ import de.danoeh.antennapod.core.feed.Chapter; import de.danoeh.antennapod.core.util.playback.Playable; import de.danoeh.antennapod.core.util.playback.PlaybackController; +import de.danoeh.antennapod.view.EmptyViewHandler; import io.reactivex.Maybe; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -25,6 +26,7 @@ public class ChaptersFragment extends ListFragment { private ChaptersListAdapter adapter; private PlaybackController controller; private Disposable disposable; + private EmptyViewHandler emptyView; @Override @@ -36,6 +38,12 @@ public class ChaptersFragment extends ListFragment { final int vertPadding = getResources().getDimensionPixelSize(R.dimen.list_vertical_padding); lv.setPadding(0, vertPadding, 0, vertPadding); + emptyView = new EmptyViewHandler(getContext()); + emptyView.attachToListView(lv); + emptyView.setIcon(R.attr.ic_bookmark); + emptyView.setTitle(R.string.no_chapters_head_label); + emptyView.setMessage(R.string.no_chapters_label); + adapter = new ChaptersListAdapter(getActivity(), 0, pos -> { Chapter chapter = (Chapter) getListAdapter().getItem(pos); controller.seekToChapter(chapter); @@ -118,10 +126,7 @@ public class ChaptersFragment extends ListFragment { if (adapter != null) { adapter.setMedia(media); adapter.notifyDataSetChanged(); - if (media == null || media.getChapters() == null || media.getChapters().size() == 0) { - setEmptyText(getString(R.string.no_chapters_label)); - } else { - setEmptyText(null); + if (media != null && media.getChapters() != null && media.getChapters().size() != 0) { scrollTo(getCurrentChapter(media)); } } -- cgit v1.2.3 From 613703ba95b104eef207ab9bea20f413e83ed85a Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Mon, 22 Jul 2019 19:02:36 +0200 Subject: Removed unused imports --- app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java | 3 --- 1 file changed, 3 deletions(-) (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java b/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java index 8fe509742..8b886e699 100644 --- a/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java @@ -3,10 +3,7 @@ package de.danoeh.antennapod.view; import android.content.Context; import android.graphics.drawable.Drawable; import android.support.annotation.AttrRes; -import android.support.annotation.DrawableRes; import android.support.v4.content.ContextCompat; -import android.support.v4.content.res.ResourcesCompat; -import android.support.v4.view.ViewCompat; import android.support.v7.widget.RecyclerView; import android.util.TypedValue; import android.view.View; -- cgit v1.2.3