summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-03-21 19:25:54 +0100
committerByteHamster <info@bytehamster.com>2020-03-21 19:25:54 +0100
commitb6bbcf5afb14701524570a5aad97ea6418ed1c71 (patch)
tree2330dc1dffa1369b8b311bb49eca1ecd0efc5d3b /app
parent1cdc8fc33e4d551823141c8374ab12bd522db179 (diff)
downloadAntennaPod-b6bbcf5afb14701524570a5aad97ea6418ed1c71.zip
Made sure that all fragments have a progress bar
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java9
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java11
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java17
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java17
-rw-r--r--app/src/main/res/layout/feed_item_list_fragment.xml1
-rw-r--r--app/src/main/res/layout/feedinfo.xml1
-rw-r--r--app/src/main/res/layout/feeditemlist_header.xml4
-rw-r--r--app/src/main/res/layout/fragment_subscriptions.xml8
-rw-r--r--app/src/main/res/xml/feed_settings.xml3
10 files changed, 56 insertions, 19 deletions
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 20999abe9..d5f8775f1 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
@@ -8,6 +8,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ProgressBar;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
@@ -55,7 +56,9 @@ public class CompletedDownloadsFragment extends Fragment {
private List<FeedItem> items = new ArrayList<>();
private CompletedDownloadsListAdapter adapter;
private RecyclerView recyclerView;
+ private ProgressBar progressBar;
private Disposable disposable;
+ private EmptyViewHandler emptyView;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@@ -72,6 +75,7 @@ public class CompletedDownloadsFragment extends Fragment {
recyclerView.setVisibility(View.GONE);
adapter = new CompletedDownloadsListAdapter((MainActivity) getActivity());
recyclerView.setAdapter(adapter);
+ progressBar = root.findViewById(R.id.progLoading);
addEmptyView();
EventBus.getDefault().register(this);
@@ -127,7 +131,7 @@ public class CompletedDownloadsFragment extends Fragment {
}
private void addEmptyView() {
- EmptyViewHandler emptyView = new EmptyViewHandler(getActivity());
+ 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);
@@ -191,6 +195,8 @@ public class CompletedDownloadsFragment extends Fragment {
if (disposable != null) {
disposable.dispose();
}
+ progressBar.setVisibility(View.VISIBLE);
+ emptyView.hide();
disposable = Observable.fromCallable(DBReader::getDownloadedItems)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
@@ -198,6 +204,7 @@ public class CompletedDownloadsFragment extends Fragment {
items = result;
adapter.updateItems(result);
requireActivity().invalidateOptionsMenu();
+ progressBar.setVisibility(View.GONE);
}, error -> Log.e(TAG, Log.getStackTraceString(error)));
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
index b4e28567c..c9502ae4c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
@@ -364,7 +364,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
Log.d(TAG, "onEventMainThread() called with: " + "event = [" + event + "]");
DownloaderUpdate update = event.update;
if (event.hasChangedFeedUpdateStatus(isUpdatingFeed)) {
- updateProgressBarVisibility();
+ updateSyncProgressBarVisibility();
}
if (adapter != null && update.mediaIds.length > 0) {
for (long mediaId : update.mediaIds) {
@@ -391,7 +391,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
private void updateUi() {
loadItems();
- updateProgressBarVisibility();
+ updateSyncProgressBarVisibility();
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -411,7 +411,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
}
}
- private void updateProgressBarVisibility() {
+ private void updateSyncProgressBarVisibility() {
if (isUpdatingFeed != updateRefreshMenuItemChecker.isRefreshing()) {
getActivity().supportInvalidateOptionsMenu();
}
@@ -436,7 +436,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
adapter.updateItems(feed.getItems());
getActivity().supportInvalidateOptionsMenu();
- updateProgressBarVisibility();
+ updateSyncProgressBarVisibility();
}
private void refreshHeaderView() {
@@ -478,8 +478,10 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
// https://github.com/bumptech/glide/issues/529
imgvBackground.setColorFilter(new LightingColorFilter(0xff666666, 0x000000));
+ butShowInfo.setVisibility(View.VISIBLE);
butShowInfo.setOnClickListener(v -> showFeedInfo());
imgvCover.setOnClickListener(v -> showFeedInfo());
+ butShowSettings.setVisibility(View.VISIBLE);
butShowSettings.setOnClickListener(v -> {
if (feed != null) {
FeedSettingsFragment fragment = FeedSettingsFragment.newInstance(feed);
@@ -522,6 +524,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
if (disposable != null) {
disposable.dispose();
}
+ progressBar.setVisibility(View.VISIBLE);
disposable = Observable.fromCallable(this::loadData)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
index cf09c5b26..2cddc10cb 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
@@ -97,6 +97,7 @@ public class FeedSettingsFragment extends Fragment {
public static class FeedSettingsPreferenceFragment extends PreferenceFragmentCompat {
private static final CharSequence PREF_EPISODE_FILTER = "episodeFilter";
+ private static final CharSequence PREF_SCREEN = "feedSettingsScreen";
private static final String PREF_FEED_PLAYBACK_SPEED = "feedPlaybackSpeed";
private static final DecimalFormat SPEED_FORMAT =
new DecimalFormat("0.00", DecimalFormatSymbols.getInstance(Locale.US));
@@ -116,7 +117,7 @@ public class FeedSettingsFragment extends Fragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.feed_settings);
-
+ findPreference(PREF_SCREEN).setEnabled(false);
setupAutoDownloadGlobalPreference(); // To prevent transition animation because of summary update
long feedId = getArguments().getLong(EXTRA_FEED_ID);
@@ -146,6 +147,7 @@ public class FeedSettingsFragment extends Fragment {
updateVolumeReductionValue();
updateAutoDownloadEnabled();
updatePlaybackSpeedPreference();
+ findPreference(PREF_SCREEN).setEnabled(true);
}, error -> Log.d(TAG, Log.getStackTraceString(error)), () -> { });
}
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 10a5a81d4..4a7b9603d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
@@ -9,6 +9,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ProgressBar;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
@@ -51,6 +52,8 @@ public class PlaybackHistoryFragment extends Fragment {
private PlaybackHistoryListAdapter adapter;
private Disposable disposable;
private RecyclerView recyclerView;
+ private EmptyViewHandler emptyView;
+ private ProgressBar progressBar;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -75,8 +78,9 @@ public class PlaybackHistoryFragment extends Fragment {
recyclerView.setVisibility(View.GONE);
adapter = new PlaybackHistoryListAdapter((MainActivity) getActivity());
recyclerView.setAdapter(adapter);
+ progressBar = root.findViewById(R.id.progLoading);
- EmptyViewHandler emptyView = new EmptyViewHandler(getActivity());
+ 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);
@@ -215,15 +219,16 @@ public class PlaybackHistoryFragment extends Fragment {
if (disposable != null) {
disposable.dispose();
}
+ progressBar.setVisibility(View.VISIBLE);
+ emptyView.hide();
disposable = Observable.fromCallable(this::loadData)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
- if (result != null) {
- playbackHistory = result;
- adapter.updateItems(playbackHistory);
- onFragmentLoaded();
- }
+ progressBar.setVisibility(View.GONE);
+ playbackHistory = result;
+ adapter.updateItems(playbackHistory);
+ onFragmentLoaded();
}, error -> Log.e(TAG, Log.getStackTraceString(error)));
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
index 83c2ea440..ba5d44b4d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
@@ -5,6 +5,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.widget.ProgressBar;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
@@ -65,6 +66,7 @@ public class SubscriptionFragment extends Fragment {
private DBReader.NavDrawerData navDrawerData;
private SubscriptionsAdapter subscriptionAdapter;
private FloatingActionButton subscriptionAddButton;
+ private ProgressBar progressBar;
private EmptyViewHandler emptyView;
private int mPosition = -1;
@@ -91,6 +93,7 @@ public class SubscriptionFragment extends Fragment {
subscriptionGridLayout.setNumColumns(prefs.getInt(PREF_NUM_COLUMNS, 3));
registerForContextMenu(subscriptionGridLayout);
subscriptionAddButton = root.findViewById(R.id.subscriptions_add);
+ progressBar = root.findViewById(R.id.progLoading);
return root;
}
@@ -175,16 +178,17 @@ public class SubscriptionFragment extends Fragment {
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
- if(disposable != null) {
+ if (disposable != null) {
disposable.dispose();
}
}
private void loadSubscriptions() {
- if(disposable != null) {
+ if (disposable != null) {
disposable.dispose();
}
emptyView.hide();
+ progressBar.setVisibility(View.VISIBLE);
disposable = Observable.fromCallable(DBReader::getNavDrawerData)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
@@ -192,6 +196,7 @@ public class SubscriptionFragment extends Fragment {
navDrawerData = result;
subscriptionAdapter.notifyDataSetChanged();
emptyView.updateVisibility();
+ progressBar.setVisibility(View.GONE);
}, error -> Log.e(TAG, Log.getStackTraceString(error)));
}
@@ -207,7 +212,7 @@ public class SubscriptionFragment extends Fragment {
return;
}
- Feed feed = (Feed)selectedObject;
+ Feed feed = (Feed) selectedObject;
MenuInflater inflater = requireActivity().getMenuInflater();
inflater.inflate(R.menu.nav_feed_context, menu);
@@ -221,7 +226,7 @@ public class SubscriptionFragment extends Fragment {
public boolean onContextItemSelected(MenuItem item) {
final int position = mPosition;
mPosition = -1; // reset
- if(position < 0) {
+ if (position < 0) {
return false;
}
@@ -231,8 +236,8 @@ public class SubscriptionFragment extends Fragment {
return false;
}
- Feed feed = (Feed)selectedObject;
- switch(item.getItemId()) {
+ Feed feed = (Feed) selectedObject;
+ switch (item.getItemId()) {
case R.id.remove_all_new_flags_item:
displayConfirmationDialog(
R.string.remove_all_new_flags_label,
diff --git a/app/src/main/res/layout/feed_item_list_fragment.xml b/app/src/main/res/layout/feed_item_list_fragment.xml
index 2c5c30ed3..a26bb3531 100644
--- a/app/src/main/res/layout/feed_item_list_fragment.xml
+++ b/app/src/main/res/layout/feed_item_list_fragment.xml
@@ -20,6 +20,7 @@
<ImageView
android:id="@+id/imgvBackground"
style="@style/BigBlurryBackground"
+ android:background="@color/image_readability_tint"
android:layout_width="match_parent"
android:layout_height="256dp"
app:layout_collapseMode="parallax"
diff --git a/app/src/main/res/layout/feedinfo.xml b/app/src/main/res/layout/feedinfo.xml
index 05457d61b..e3efa72ce 100644
--- a/app/src/main/res/layout/feedinfo.xml
+++ b/app/src/main/res/layout/feedinfo.xml
@@ -20,6 +20,7 @@
<ImageView
android:id="@+id/imgvBackground"
style="@style/BigBlurryBackground"
+ android:background="@color/image_readability_tint"
android:layout_width="match_parent"
android:layout_height="256dp"
app:layout_collapseMode="parallax"
diff --git a/app/src/main/res/layout/feeditemlist_header.xml b/app/src/main/res/layout/feeditemlist_header.xml
index f00fb349b..14ba6c3d0 100644
--- a/app/src/main/res/layout/feeditemlist_header.xml
+++ b/app/src/main/res/layout/feeditemlist_header.xml
@@ -71,6 +71,8 @@
android:layout_marginLeft="-8dp"
android:layout_marginStart="-8dp"
android:scaleType="fitXY"
+ android:visibility="invisible"
+ tools:visibility="visible"
android:padding="8dp"/>
<ImageButton
@@ -82,6 +84,8 @@
app:srcCompat="@drawable/ic_settings_white"
tools:background="@android:color/holo_green_dark"
android:scaleType="fitXY"
+ android:visibility="invisible"
+ tools:visibility="visible"
android:padding="8dp"/>
</LinearLayout>
diff --git a/app/src/main/res/layout/fragment_subscriptions.xml b/app/src/main/res/layout/fragment_subscriptions.xml
index 4cfd369a7..f37a6febd 100644
--- a/app/src/main/res/layout/fragment_subscriptions.xml
+++ b/app/src/main/res/layout/fragment_subscriptions.xml
@@ -26,6 +26,14 @@
android:paddingBottom="88dp"
android:clipToPadding="false"/>
+ <ProgressBar
+ android:id="@+id/progLoading"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:indeterminateOnly="true"
+ android:visibility="visible"/>
+
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/subscriptions_add"
android:layout_width="56dp"
diff --git a/app/src/main/res/xml/feed_settings.xml b/app/src/main/res/xml/feed_settings.xml
index d65280061..a9effdeeb 100644
--- a/app/src/main/res/xml/feed_settings.xml
+++ b/app/src/main/res/xml/feed_settings.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android">
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:key="feedSettingsScreen">
<SwitchPreference
android:key="keepUpdated"