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-07-21 12:27:09 +0300
committerStefan Niedermann <info@niedermann.it>2020-07-21 12:27:09 +0300
commita8e72143151a1dd6480b24c055f25607edf04e14 (patch)
tree56cefb7852c96be2b6ecf0fd0b18efd0ea43c56c /app/src/main/java/it/niedermann/nextcloud/deck/ui/card
parent30886962fd6c5c32fdaccc3d39fbbf8ce3794f54 (diff)
#573 projects - Fix build
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java14
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardProjectsAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceAdapter.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java34
4 files changed, 34 insertions, 28 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java
index c8c93c838..62fe6785f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java
@@ -8,15 +8,15 @@ import java.util.ArrayList;
import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Card;
-import it.niedermann.nextcloud.deck.model.full.FullCard;
+import it.niedermann.nextcloud.deck.model.full.FullCardWithProjects;
@SuppressWarnings("WeakerAccess")
public class EditCardViewModel extends ViewModel {
private Account account;
private long boardId;
- private FullCard originalCard;
- private FullCard fullCard;
+ private FullCardWithProjects originalCard;
+ private FullCardWithProjects fullCard;
private boolean isSupportedVersion = false;
private boolean hasCommentsAbility = false;
private boolean pendingCreation = false;
@@ -29,10 +29,10 @@ public class EditCardViewModel extends ViewModel {
* @param boardId Local ID, expecting a positive long value
* @param fullCard The card that is currently edited
*/
- public void initializeExistingCard(long boardId, @NonNull FullCard fullCard, boolean isSupportedVersion) {
+ public void initializeExistingCard(long boardId, @NonNull FullCardWithProjects fullCard, boolean isSupportedVersion) {
this.boardId = boardId;
this.fullCard = fullCard;
- this.originalCard = new FullCard(this.fullCard);
+ this.originalCard = new FullCardWithProjects(this.fullCard);
this.isSupportedVersion = isSupportedVersion;
}
@@ -43,7 +43,7 @@ public class EditCardViewModel extends ViewModel {
* @param stackId Local ID, expecting a positive long value where the card should be created
*/
public void initializeNewCard(long boardId, long stackId, boolean isSupportedVersion) {
- final FullCard fullCard = new FullCard();
+ final FullCardWithProjects fullCard = new FullCardWithProjects();
fullCard.setLabels(new ArrayList<>());
fullCard.setAssignedUsers(new ArrayList<>());
fullCard.setAttachments(new ArrayList<>());
@@ -74,7 +74,7 @@ public class EditCardViewModel extends ViewModel {
return account;
}
- public FullCard getFullCard() {
+ public FullCardWithProjects getFullCard() {
return fullCard;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardProjectsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardProjectsAdapter.java
index c00718c35..73f8cb0cc 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardProjectsAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardProjectsAdapter.java
@@ -42,7 +42,7 @@ public class CardProjectsAdapter extends RecyclerView.Adapter<CardProjectsViewHo
@Override
public void onBindViewHolder(@NonNull CardProjectsViewHolder holder, int position) {
final OcsProjectWithResources project = projects.get(position);
- holder.bind(project.getProject(), (v) -> CardProjectResourcesDialog.newInstance(project.getLocalId()).show(fragmentManager, CardProjectResourcesDialog.class.getSimpleName()));
+ holder.bind(project.getProject(), (v) -> CardProjectResourcesDialog.newInstance(project.getResources()).show(fragmentManager, CardProjectResourcesDialog.class.getSimpleName()));
}
@Override
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceAdapter.java
index 575354a0f..d17050605 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourceAdapter.java
@@ -18,10 +18,12 @@ public class CardProjectResourceAdapter extends RecyclerView.Adapter<CardProject
@NonNull
private final Account account;
@NonNull
- private final List<OcsProjectResource> resources = new ArrayList<>();
+ private final List<OcsProjectResource> resources;
- public CardProjectResourceAdapter(@NonNull Account account) {
+ public CardProjectResourceAdapter(@NonNull Account account, @NonNull List<OcsProjectResource> resources) {
this.account = account;
+ this.resources = new ArrayList<>(resources.size());
+ this.resources.addAll(resources);
setHasStableIds(true);
}
@@ -41,12 +43,6 @@ public class CardProjectResourceAdapter extends RecyclerView.Adapter<CardProject
holder.bind(account, resources.get(position));
}
- public void setResources(@NonNull List<OcsProjectResource> resources) {
- this.resources.clear();
- this.resources.addAll(resources);
- notifyDataSetChanged();
- }
-
@Override
public int getItemCount() {
return this.resources.size();
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java
index 8f10da69c..a6464c247 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java
@@ -10,34 +10,43 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.ViewModelProvider;
+import java.util.ArrayList;
+import java.util.List;
+
import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.databinding.DialogProjectResourcesBinding;
+import it.niedermann.nextcloud.deck.model.ocs.projects.OcsProjectResource;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
import it.niedermann.nextcloud.deck.ui.card.EditCardViewModel;
public class CardProjectResourcesDialog extends BrandedDialogFragment {
- private static final String KEY_PROJECT_LOCAL_ID = "projectLocalId";
+ private static final String KEY_RESOURCES = "resources";
+
+ private CardProjectResourceAdapter adapter;
private SyncManager syncManager;
+ private DialogProjectResourcesBinding binding;
+ private EditCardViewModel viewModel;
+ @NonNull
+ private List<OcsProjectResource> resources = new ArrayList<>();
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
final Bundle args = requireArguments();
- final long projectLocalId = args.getLong(KEY_PROJECT_LOCAL_ID, -1L);
- if (projectLocalId < 0L) {
- throw new IllegalArgumentException("Provide at least " + KEY_PROJECT_LOCAL_ID + " which must be a value greater than 0.");
+ if (!args.containsKey(KEY_RESOURCES)) {
+ throw new IllegalArgumentException("Provide at least " + KEY_RESOURCES);
}
- syncManager = new SyncManager(context);
+ this.resources.addAll((ArrayList<OcsProjectResource>) args.getSerializable(KEY_RESOURCES));
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
- final DialogProjectResourcesBinding binding = DialogProjectResourcesBinding.inflate(inflater, container, false);
- final EditCardViewModel viewModel = new ViewModelProvider(requireActivity()).get(EditCardViewModel.class);
+ binding = DialogProjectResourcesBinding.inflate(inflater, container, false);
+ viewModel = new ViewModelProvider(requireActivity()).get(EditCardViewModel.class);
// TODO check if necessary
// This might be a zombie fragment with an empty EditCardViewModel after Android killed the activity (but not the fragment instance
@@ -47,10 +56,11 @@ public class CardProjectResourcesDialog extends BrandedDialogFragment {
return binding.getRoot();
}
- final CardProjectResourceAdapter adapter = new CardProjectResourceAdapter(viewModel.getAccount());
- binding.getRoot().setAdapter(adapter);
+ syncManager = new SyncManager(requireContext());
-// syncManager.getResourcesForProjectLocalId().observe((resources) -> adapter.setResources(resources));
+ // TODO parameter needed
+ adapter = new CardProjectResourceAdapter(viewModel.getAccount(), resources);
+ binding.getRoot().setAdapter(adapter);
return binding.getRoot();
}
@@ -59,10 +69,10 @@ public class CardProjectResourcesDialog extends BrandedDialogFragment {
}
- public static DialogFragment newInstance(@NonNull Long projectLocalId) {
+ public static DialogFragment newInstance(@NonNull List<OcsProjectResource> resources) {
final DialogFragment fragment = new CardProjectResourcesDialog();
final Bundle args = new Bundle();
- args.putSerializable(KEY_PROJECT_LOCAL_ID, projectLocalId);
+ args.putSerializable(KEY_RESOURCES, new ArrayList<>(resources));
fragment.setArguments(args);
return fragment;
}