diff options
author | ByteHamster <info@bytehamster.com> | 2020-10-25 17:31:47 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-10-25 17:31:47 +0100 |
commit | c8a2f20000032228226149500767ba903752e0a5 (patch) | |
tree | 0c56db9a3d01f6ce916d26d84a7ae9ca0ec5b60d /app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java | |
parent | 28ebbedbdf34b72b31c536a118bcf5108b3ea7e5 (diff) | |
parent | 3e4e6381bd39a40b210e5b6ab054e3adee371330 (diff) | |
download | AntennaPod-c8a2f20000032228226149500767ba903752e0a5.zip |
Merge branch 'develop' into add-local-feeds
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java index 8746793be..4f99e8130 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java @@ -14,6 +14,8 @@ import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ListView; +import android.widget.ProgressBar; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -37,7 +39,7 @@ import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.util.FeedItemUtil; import de.danoeh.antennapod.core.util.IntentUtils; -import de.danoeh.antennapod.dialog.FeedFilterDialog; +import de.danoeh.antennapod.dialog.SubscriptionsFilterDialog; import de.danoeh.antennapod.dialog.RenameFeedDialog; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -46,6 +48,7 @@ import io.reactivex.schedulers.Schedulers; import org.apache.commons.lang3.StringUtils; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; import java.util.List; @@ -72,6 +75,7 @@ public class NavDrawerFragment extends Fragment implements AdapterView.OnItemCli private int position = -1; private NavListAdapter navAdapter; private Disposable disposable; + private ProgressBar progressBar; @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @@ -79,6 +83,7 @@ public class NavDrawerFragment extends Fragment implements AdapterView.OnItemCli super.onCreateView(inflater, container, savedInstanceState); View root = inflater.inflate(R.layout.nav_list, container, false); + progressBar = root.findViewById(R.id.progressBar); ListView navList = root.findViewById(R.id.nav_list); navAdapter = new NavListAdapter(itemAccess, getActivity()); navList.setAdapter(navAdapter); @@ -234,18 +239,18 @@ public class NavDrawerFragment extends Fragment implements AdapterView.OnItemCli startActivity(intent); } - @Subscribe + @Subscribe(threadMode = ThreadMode.MAIN) public void onUnreadItemsChanged(UnreadItemsUpdateEvent event) { loadData(); } - @Subscribe + @Subscribe(threadMode = ThreadMode.MAIN) public void onFeedListChanged(FeedListUpdateEvent event) { loadData(); } - @Subscribe + @Subscribe(threadMode = ThreadMode.MAIN) public void onQueueChanged(QueueEvent event) { Log.d(TAG, "onQueueChanged(" + event + ")"); // we are only interested in the number of queue items, not download status or position @@ -356,14 +361,20 @@ public class NavDrawerFragment extends Fragment implements AdapterView.OnItemCli }; private void loadData() { + progressBar.setVisibility(View.VISIBLE); disposable = Observable.fromCallable(DBReader::getNavDrawerData) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(result -> { - navDrawerData = result; - updateSelection(); // Selected item might be a feed - navAdapter.notifyDataSetChanged(); - }, error -> Log.e(TAG, Log.getStackTraceString(error))); + .subscribe( + result -> { + navDrawerData = result; + updateSelection(); // Selected item might be a feed + navAdapter.notifyDataSetChanged(); + progressBar.setVisibility(View.GONE); + }, error -> { + Log.e(TAG, Log.getStackTraceString(error)); + progressBar.setVisibility(View.GONE); + }); } @Override @@ -390,9 +401,9 @@ public class NavDrawerFragment extends Fragment implements AdapterView.OnItemCli startActivity(intent); } } - } else if (UserPreferences.getFeedFilter() != UserPreferences.FEED_FILTER_NONE + } else if (UserPreferences.getSubscriptionsFilter().isEnabled() && navAdapter.showSubscriptionList) { - FeedFilterDialog.showDialog(requireContext()); + SubscriptionsFilterDialog.showDialog(requireContext()); } } |