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>2019-11-16 13:44:02 +0300
committerstefan-niedermann <info@niedermann.it>2019-11-16 13:44:02 +0300
commitf388a679aadb642c0d365e5aa695eea16d6a9164 (patch)
tree7bc795387971a65d2ada3298a89132dbf0fb646b /app/src/main/java
parent534da5ce6443909941c1acafbcaf6c25c8a387d6 (diff)
#211 Add / Delete attachments and #207 Comments support
Display fabs only when user has edit permission
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java33
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java9
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardTabAdapter.java4
3 files changed, 29 insertions, 17 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java
index 8c4b95051..7c2676ffc 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java
@@ -24,6 +24,7 @@ import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT_ID;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_BOARD_ID;
+import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_CAN_EDIT;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_LOCAL_ID;
public class CardActivityFragment extends Fragment {
@@ -41,11 +42,12 @@ public class CardActivityFragment extends Fragment {
public CardActivityFragment() {
}
- public static CardActivityFragment newInstance(long accountId, long localId, long boardId) {
+ public static CardActivityFragment newInstance(long accountId, long localId, long boardId, boolean canEdit) {
Bundle bundle = new Bundle();
bundle.putLong(BUNDLE_KEY_ACCOUNT_ID, accountId);
bundle.putLong(BUNDLE_KEY_BOARD_ID, boardId);
bundle.putLong(BUNDLE_KEY_LOCAL_ID, localId);
+ bundle.putBoolean(BUNDLE_KEY_CAN_EDIT, canEdit);
CardActivityFragment fragment = new CardActivityFragment();
fragment.setArguments(bundle);
@@ -65,6 +67,7 @@ public class CardActivityFragment extends Fragment {
if (args != null) {
long accountId = args.getLong(BUNDLE_KEY_ACCOUNT_ID);
long localId = args.getLong(BUNDLE_KEY_LOCAL_ID);
+ boolean canEdit = args.getBoolean(BUNDLE_KEY_CAN_EDIT);
SyncManager syncManager = new SyncManager(Objects.requireNonNull(getActivity()));
if (syncManager.hasInternetConnection()) {
@@ -81,18 +84,22 @@ public class CardActivityFragment extends Fragment {
}
})));
}
- fab.setOnClickListener(v -> {
- Snackbar.make(coordinatorLayout, "Adding comments is not yet implemented", Snackbar.LENGTH_LONG).show();
- });
- activitiesList.addOnScrollListener(new RecyclerView.OnScrollListener() {
- @Override
- public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
- if (dy > 0)
- fab.hide();
- else if (dy < 0)
- fab.show();
- }
- });
+ if(canEdit) {
+ fab.setOnClickListener(v -> {
+ Snackbar.make(coordinatorLayout, "Adding comments is not yet implemented", Snackbar.LENGTH_LONG).show();
+ });
+ activitiesList.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ @Override
+ public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
+ if (dy > 0)
+ fab.hide();
+ else if (dy < 0)
+ fab.show();
+ }
+ });
+ } else {
+ fab.hide();
+ }
}
return view;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java
index 058bb4501..70de758ab 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java
@@ -31,6 +31,7 @@ import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT_ID;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_BOARD_ID;
+import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_CAN_EDIT;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_LOCAL_ID;
public class CardAttachmentsFragment extends Fragment {
@@ -65,6 +66,7 @@ public class CardAttachmentsFragment extends Fragment {
if (args != null) {
accountId = args.getLong(BUNDLE_KEY_ACCOUNT_ID);
cardId = args.getLong(BUNDLE_KEY_LOCAL_ID);
+ boolean canEdit = args.getBoolean(BUNDLE_KEY_CAN_EDIT);
syncManager = new SyncManager(Objects.requireNonNull(getActivity()));
observeOnce(syncManager.getCardByLocalId(accountId, cardId), CardAttachmentsFragment.this, (fullCard) -> {
@@ -81,7 +83,7 @@ public class CardAttachmentsFragment extends Fragment {
}
});
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT && canEdit) {
fab.setOnClickListener(v -> {
Snackbar.make(coordinatorLayout, "Adding attachments is not yet implemented", Snackbar.LENGTH_LONG).show();
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
@@ -99,6 +101,8 @@ public class CardAttachmentsFragment extends Fragment {
fab.show();
}
});
+ } else {
+ fab.hide();
}
}
@@ -123,11 +127,12 @@ public class CardAttachmentsFragment extends Fragment {
public CardAttachmentsFragment() {
}
- public static CardAttachmentsFragment newInstance(long accountId, long localId, long boardId) {
+ public static CardAttachmentsFragment newInstance(long accountId, long localId, long boardId, boolean canEdit) {
Bundle bundle = new Bundle();
bundle.putLong(BUNDLE_KEY_ACCOUNT_ID, accountId);
bundle.putLong(BUNDLE_KEY_BOARD_ID, boardId);
bundle.putLong(BUNDLE_KEY_LOCAL_ID, localId);
+ bundle.putBoolean(BUNDLE_KEY_CAN_EDIT, canEdit);
CardAttachmentsFragment fragment = new CardAttachmentsFragment();
fragment.setArguments(bundle);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardTabAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardTabAdapter.java
index 971abe6c9..db57f5652 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardTabAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardTabAdapter.java
@@ -41,9 +41,9 @@ public class CardTabAdapter extends FragmentStatePagerAdapter {
case 0:
return CardDetailsFragment.newInstance(accountId, localId, boardId, canEdit);
case 1:
- return CardAttachmentsFragment.newInstance(accountId, localId, boardId);
+ return CardAttachmentsFragment.newInstance(accountId, localId, boardId, canEdit);
case 2:
- return CardActivityFragment.newInstance(accountId, localId, boardId);
+ return CardActivityFragment.newInstance(accountId, localId, boardId, canEdit);
default:
throw new IllegalArgumentException("position " + position + "is not available");
}