Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java27
1 files changed, 16 insertions, 11 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java
index d301968c4..41d4d0963 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java
@@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
+import it.niedermann.android.reactivelivedata.ReactiveLiveData;
import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.databinding.FragmentCardEditTabActivitiesBinding;
import it.niedermann.nextcloud.deck.ui.card.EditCardViewModel;
@@ -38,18 +39,22 @@ public class CardActivityFragment extends Fragment implements Themed {
return binding.getRoot();
}
- viewModel.getBoardColor().observe(getViewLifecycleOwner(), this::applyTheme);
+ final var adapter = new CardActivityAdapter(requireActivity().getMenuInflater());
+ binding.activitiesList.setAdapter(adapter);
- viewModel.syncActivitiesForCard(viewModel.getFullCard().getCard()).observe(getViewLifecycleOwner(), (activities -> {
- if (activities == null || activities.size() == 0) {
- binding.emptyContentView.setVisibility(View.VISIBLE);
- binding.activitiesList.setVisibility(View.GONE);
- } else {
- binding.emptyContentView.setVisibility(View.GONE);
- binding.activitiesList.setVisibility(View.VISIBLE);
- binding.activitiesList.setAdapter(new CardActivityAdapter(activities, requireActivity().getMenuInflater()));
- }
- }));
+ new ReactiveLiveData<>(viewModel.syncActivitiesForCard(viewModel.getFullCard().getCard()))
+ .combineWith(viewModel::getBoardColor)
+ .observe(getViewLifecycleOwner(), data -> {
+ applyTheme(data.second);
+ if (data.first == null || data.first.size() == 0) {
+ binding.emptyContentView.setVisibility(View.VISIBLE);
+ binding.activitiesList.setVisibility(View.GONE);
+ } else {
+ binding.emptyContentView.setVisibility(View.GONE);
+ binding.activitiesList.setVisibility(View.VISIBLE);
+ }
+ adapter.setData(data.first, ThemeUtils.of(data.second, requireContext()));
+ });
return binding.getRoot();
}