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/stack')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java30
2 files changed, 36 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java
index 897969671..5888329b0 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java
@@ -66,6 +66,12 @@ public class EditStackDialogFragment extends BrandedDialogFragment {
return super.onCreateView(inflater, container, savedInstanceState);
}
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ this.binding = null;
+ }
+
public static DialogFragment newInstance() {
return new EditStackDialogFragment();
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
index 61f58a9d4..91b8df21b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
@@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
@@ -130,6 +131,12 @@ public class StackFragment extends Fragment implements DragAndDropTab<CardAdapte
DeckApplication.readCurrentBoardColor().observe(getViewLifecycleOwner(), this::applyBrand);
}
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ this.binding = null;
+ }
+
@Nullable
@Override
public CardAdapter getAdapter() {
@@ -175,4 +182,27 @@ public class StackFragment extends Fragment implements DragAndDropTab<CardAdapte
});
}
+ /**
+ * Scroll to the bottom of the fragment
+ */
+ public void scrollToBottom() {
+ activity.runOnUiThread(() -> {
+ if (adapter == null) {
+ DeckLog.warn("Adapter is null");
+ return;
+ }
+ final var layoutManager = (LinearLayoutManager) binding.recyclerView.getLayoutManager();
+ if (layoutManager == null) {
+ DeckLog.warn("LayoutManager is null");
+ return;
+ }
+ int currentItem = layoutManager.findFirstVisibleItemPosition();
+
+ if (adapter.getItemCount() - currentItem < 40) {
+ binding.recyclerView.smoothScrollToPosition(adapter.getItemCount());
+ } else {
+ binding.recyclerView.scrollToPosition(adapter.getItemCount() - 1);
+ }
+ });
+ }
} \ No newline at end of file