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:
authorStefan Niedermann <info@niedermann.it>2020-05-05 11:28:52 +0300
committerStefan Niedermann <info@niedermann.it>2020-05-05 11:28:52 +0300
commit0a8a813ca6d9766ff50c1151845363e1235e2064 (patch)
treeb40abe816ffcfb2a2c59791cab4b2ab719fc9723 /app/src/main/java/it/niedermann/nextcloud/deck/ui/filter
parent83fe12cbb24bdeada4ef1b88a8b4cd5eae8664ac (diff)
Remember last filter tab
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/filter')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java16
2 files changed, 26 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java
index 0ea8f26cc..fa2a602a3 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java
@@ -12,6 +12,7 @@ import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModelProvider;
import androidx.viewpager2.adapter.FragmentStateAdapter;
+import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.tabs.TabLayoutMediator;
@@ -83,6 +84,16 @@ public class FilterDialogFragment extends BrandedDialogFragment {
tab.setText(tabTitles[position]);
}).attach();
+ binding.viewPager.post(() -> {
+ binding.viewPager.setCurrentItem(filterViewModel.getCurrentFilterTab(), false);
+ binding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
+ @Override
+ public void onPageSelected(int position) {
+ super.onPageSelected(position);
+ filterViewModel.setCurrentFilterTab(position);
+ }
+ });
+ });
filterViewModel.createFilterInformationDraft();
return dialogBuilder
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java
index e5734bdda..cf8dc1754 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java
@@ -1,5 +1,6 @@
package it.niedermann.nextcloud.deck.ui.filter;
+import androidx.annotation.IntRange;
import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
@@ -15,6 +16,9 @@ import static it.niedermann.nextcloud.deck.model.internal.FilterInformation.hasA
@SuppressWarnings("WeakerAccess")
public class FilterViewModel extends ViewModel {
+ @IntRange(from = 0, to = 2)
+ private int currentFilterTab = 0;
+
@NonNull
private MutableLiveData<FilterInformation> filterInformationDraft = new MutableLiveData<>(new FilterInformation());
@NonNull
@@ -25,8 +29,9 @@ public class FilterViewModel extends ViewModel {
}
public void clearFilterInformation() {
- this.filterInformationDraft.postValue(new FilterInformation());
+ this.filterInformationDraft.setValue(new FilterInformation());
this.publishFilterInformationDraft();
+ this.currentFilterTab = 0;
}
@NonNull
@@ -72,4 +77,13 @@ public class FilterViewModel extends ViewModel {
newDraft.removeUser(user);
this.filterInformationDraft.postValue(newDraft);
}
+
+ public void setCurrentFilterTab(@IntRange(from = 0, to = 2) int newFilterTab) {
+ this.currentFilterTab = newFilterTab;
+ }
+
+ @IntRange(from = 0, to = 2)
+ public int getCurrentFilterTab() {
+ return this.currentFilterTab;
+ }
}