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
path: root/app/src
diff options
context:
space:
mode:
authorstefan-niedermann <info@niedermann.it>2019-12-14 13:06:14 +0300
committerstefan-niedermann <info@niedermann.it>2019-12-14 13:06:14 +0300
commit70cdd71f1da1a4ef88e70b6a84bba11d8b13e2e3 (patch)
treeca16416595f5e3d722481ce7d57a575208cfef04 /app/src
parent75582ee8db42c5c0403e095a39d36019fef36d6e (diff)
#175 Menu to move cards between columns
Do fetch available stacks for each card (Sadly, FullStack is not serializable)
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java7
3 files changed, 9 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
index 57b11bec8..46c42a128 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
@@ -25,7 +25,6 @@ import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import com.h6ah4i.android.tablayouthelper.TabLayoutHelper;
-import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -415,7 +414,7 @@ public class MainActivity extends DrawerActivity implements
StackAdapter newStackAdapter = new StackAdapter(getSupportFragmentManager());
for (int i = 0; i < fullStacks.size(); i++) {
FullStack stack = fullStacks.get(i);
- newStackAdapter.addFragment(StackFragment.newInstance(board.getLocalId(), stack.getStack().getLocalId(), account, new ArrayList<>(fullStacks), currentBoardHasEditPermission), stack.getStack().getTitle());
+ newStackAdapter.addFragment(StackFragment.newInstance(board.getLocalId(), stack.getStack().getLocalId(), account, currentBoardHasEditPermission), stack.getStack().getTitle());
if (stack.getLocalId() == savedStackId) {
stackPositionInAdapter = i;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
index b61dd3ea5..9b89f071c 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
@@ -88,12 +88,11 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder
@BindInt(R.integer.max_labels_chars)
int maxLabelsChars;
- public CardAdapter(long boardId, boolean canEdit, @NonNull SyncManager syncManager, List<FullStack> stacks, @NonNull Fragment fragment) {
+ public CardAdapter(long boardId, boolean canEdit, @NonNull SyncManager syncManager, @NonNull Fragment fragment) {
ButterKnife.bind(this, Objects.requireNonNull(fragment.getActivity()));
this.lifecycleOwner = fragment;
this.boardId = boardId;
this.canEdit = canEdit;
- this.availableStacks = stacks;
this.syncManager = syncManager;
}
@@ -142,6 +141,7 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder
DeckLog.log("onLongClickListener");
return true;
});
+ setupMoveMenu(card.getAccountId(), boardId);
}
viewHolder.cardTitle.setText(card.getCard().getTitle());
String description = card.getCard().getDescription();
@@ -203,6 +203,10 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder
viewHolder.cardMenu.setOnClickListener(v -> onOverflowIconClicked(v, card));
}
+ private void setupMoveMenu(long accountId, long boardId) {
+ syncManager.getStacksForBoard(accountId, boardId).observe(lifecycleOwner, (stacks) -> availableStacks = stacks);
+ }
+
private void setupLabels(@NonNull ChipGroup labels, List<Label> labelList) {
Chip chip;
for (int i = 0; i < labelList.size(); i++) {
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 8f2b9e798..1678398b2 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
@@ -12,7 +12,6 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
-import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -30,7 +29,6 @@ public class StackFragment extends Fragment {
private static final String KEY_BOARD_ID = "boardId";
private static final String KEY_STACK_ID = "stackId";
private static final String KEY_ACCOUNT = "account";
- private static final String KEY_STACKS = "stacks";
private static final String KEY_HAS_EDIT_PERMISSION = "hasEditPermission";
private CardAdapter adapter = null;
private SyncManager syncManager;
@@ -51,13 +49,12 @@ public class StackFragment extends Fragment {
* @return new fragment instance
* @see <a href="https://gunhansancar.com/best-practice-to-instantiate-fragments-with-arguments-in-android/">Best Practice to Instantiate Fragments with Arguments in Android</a>
*/
- public static StackFragment newInstance(long boardId, long stackId, Account account, ArrayList<FullStack> fullStacks, boolean hasEditPermission) {
+ public static StackFragment newInstance(long boardId, long stackId, Account account, boolean hasEditPermission) {
Bundle bundle = new Bundle();
bundle.putLong(KEY_BOARD_ID, boardId);
bundle.putLong(KEY_STACK_ID, stackId);
bundle.putBoolean(KEY_HAS_EDIT_PERMISSION, hasEditPermission);
bundle.putSerializable(KEY_ACCOUNT, account);
- bundle.putSerializable(KEY_STACKS, fullStacks);
StackFragment fragment = new StackFragment();
fragment.setArguments(bundle);
@@ -90,7 +87,7 @@ public class StackFragment extends Fragment {
syncManager = new SyncManager(activity);
- adapter = new CardAdapter(boardId, getArguments().getBoolean(KEY_HAS_EDIT_PERMISSION), syncManager, (List<FullStack>) getArguments().getSerializable(KEY_STACKS), this);
+ adapter = new CardAdapter(boardId, getArguments().getBoolean(KEY_HAS_EDIT_PERMISSION), syncManager, this);
recyclerView.setAdapter(adapter);
if (onScrollListener != null) {
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {