diff options
author | stefan-niedermann <info@niedermann.it> | 2019-11-16 13:44:02 +0300 |
---|---|---|
committer | stefan-niedermann <info@niedermann.it> | 2019-11-16 13:44:02 +0300 |
commit | f388a679aadb642c0d365e5aa695eea16d6a9164 (patch) | |
tree | 7bc795387971a65d2ada3298a89132dbf0fb646b /app/src/main/java | |
parent | 534da5ce6443909941c1acafbcaf6c25c8a387d6 (diff) |
#211 Add / Delete attachments and #207 Comments support
Display fabs only when user has edit permission
Diffstat (limited to 'app/src/main/java')
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"); } |