From 16d016df6ed802c368f53c8ba2edc42a597d7fdf Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 11 Jan 2022 13:34:31 +0100 Subject: [PATCH] Experiment: show last selected folder --- .../java/eu/faircode/email/AdapterFolder.java | 15 +++++++ .../eu/faircode/email/FragmentFolders.java | 4 ++ .../eu/faircode/email/ViewModelSelected.java | 40 +++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 app/src/main/java/eu/faircode/email/ViewModelSelected.java diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index f7ab06fe23..3c6cdfa076 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -57,10 +57,12 @@ import androidx.constraintlayout.widget.Group; import androidx.core.content.pm.ShortcutInfoCompat; import androidx.core.content.pm.ShortcutManagerCompat; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.ViewModelProvider; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.DiffUtil; @@ -95,6 +97,7 @@ public class AdapterFolder extends RecyclerView.Adapter disabledIds = new ArrayList<>(); @@ -226,6 +230,10 @@ public class AdapterFolder extends RecyclerView.Adapter. + + Copyright 2018-2022 by Marcel Bokhorst (M66B) +*/ + +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +public class ViewModelSelected extends ViewModel { + private final MutableLiveData selectedItem = new MutableLiveData<>(); + + public void select(Long selected) { + selectedItem.setValue(selected); + } + + public LiveData liveSelected() { + return selectedItem; + } + + public boolean isSelected(long id) { + return Long.valueOf(id).equals(selectedItem.getValue()); + } +}