diff options
author | stefan-niedermann <info@niedermann.it> | 2019-11-16 13:16:40 +0300 |
---|---|---|
committer | stefan-niedermann <info@niedermann.it> | 2019-11-16 13:16:40 +0300 |
commit | 25e873b66b3a83d91170a9d6cc5b9ad39de3ef58 (patch) | |
tree | 5394188801ab909f0b744121985b516555f9ba27 /app/src/main/java | |
parent | b4ca66f8f97eeacfcd5e1f6f77a44a8a3aa5ff3b (diff) |
#211 Add / Delete attachments
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java | 6 | ||||
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java | 52 |
2 files changed, 50 insertions, 8 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java index 3f5166d3a..5902f2fa9 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java @@ -2,7 +2,9 @@ package it.niedermann.nextcloud.deck.persistence.sync; import android.app.Activity; import android.content.Context; +import android.net.Uri; +import androidx.annotation.NonNull; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; @@ -867,4 +869,8 @@ public class SyncManager { startingAtOrder++; } } + + public void addAttachmentToCard(long accountId, long cardId, @NonNull Uri uri) { + // TODO @desperateCoder do something :) + } } 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 d8f81eb78..3473f0efb 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 @@ -1,12 +1,17 @@ package it.niedermann.nextcloud.deck.ui.card; +import android.app.Activity; +import android.content.Intent; +import android.net.Uri; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.RelativeLayout; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.RecyclerView; @@ -30,6 +35,14 @@ import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_LOCAL_ public class CardAttachmentsFragment extends Fragment { private Unbinder unbinder; + private static final String TAG = CardAttachmentsFragment.class.getCanonicalName(); + + private static final int REQUEST_CODE_ADD_ATTACHMENT = 1; + + private SyncManager syncManager; + + private long accountId; + private long cardId; @BindView(R.id.coordinatorLayout) CoordinatorLayout coordinatorLayout; @@ -50,11 +63,11 @@ public class CardAttachmentsFragment extends Fragment { Bundle args = getArguments(); if (args != null) { - long accountId = args.getLong(BUNDLE_KEY_ACCOUNT_ID); - long localId = args.getLong(BUNDLE_KEY_LOCAL_ID); + accountId = args.getLong(BUNDLE_KEY_ACCOUNT_ID); + cardId = args.getLong(BUNDLE_KEY_LOCAL_ID); - SyncManager syncManager = new SyncManager(Objects.requireNonNull(getActivity())); - observeOnce(syncManager.getCardByLocalId(accountId, localId), CardAttachmentsFragment.this, (fullCard) -> { + syncManager = new SyncManager(Objects.requireNonNull(getActivity())); + observeOnce(syncManager.getCardByLocalId(accountId, cardId), CardAttachmentsFragment.this, (fullCard) -> { if (fullCard.getAttachments().size() == 0) { this.noAttachments.setVisibility(View.VISIBLE); this.attachmentsList.setVisibility(View.GONE); @@ -67,16 +80,39 @@ public class CardAttachmentsFragment extends Fragment { }); } }); + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { + fab.setOnClickListener(v -> { + Snackbar.make(coordinatorLayout, "Adding attachments is not yet implemented", Snackbar.LENGTH_LONG).show(); + Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType("*/*"); +// startActivityForResult(intent, REQUEST_CODE_ADD_ATTACHMENT); + }); + fab.show(); + } } - fab.setOnClickListener(v -> { - Snackbar.make(coordinatorLayout, "Adding attachments is not yet implemented", Snackbar.LENGTH_LONG).show(); - }); return view; } - public CardAttachmentsFragment() {} + @Override + public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if(requestCode == REQUEST_CODE_ADD_ATTACHMENT && resultCode == Activity.RESULT_OK) { + Uri uri = null; + if (data != null) { + uri = data.getData(); + Log.i(TAG, "Uri: " + uri.toString()); + syncManager.addAttachmentToCard(accountId, cardId, uri); + } + + } + } + + public CardAttachmentsFragment() { + } public static CardAttachmentsFragment newInstance(long accountId, long localId, long boardId) { Bundle bundle = new Bundle(); |