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:16:40 +0300
committerstefan-niedermann <info@niedermann.it>2019-11-16 13:16:40 +0300
commit25e873b66b3a83d91170a9d6cc5b9ad39de3ef58 (patch)
tree5394188801ab909f0b744121985b516555f9ba27 /app/src/main
parentb4ca66f8f97eeacfcd5e1f6f77a44a8a3aa5ff3b (diff)
#211 Add / Delete attachments
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java52
-rw-r--r--app/src/main/res/layout/fragment_card_edit_tab_attachments.xml4
3 files changed, 53 insertions, 9 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();
diff --git a/app/src/main/res/layout/fragment_card_edit_tab_attachments.xml b/app/src/main/res/layout/fragment_card_edit_tab_attachments.xml
index e3990f93d..f06641603 100644
--- a/app/src/main/res/layout/fragment_card_edit_tab_attachments.xml
+++ b/app/src/main/res/layout/fragment_card_edit_tab_attachments.xml
@@ -61,6 +61,8 @@
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
+ android:visibility="gone"
app:backgroundTint="@color/primary"
- app:srcCompat="@drawable/ic_add_white_24dp" />
+ app:srcCompat="@drawable/ic_add_white_24dp"
+ tools:visibility="visible" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> \ No newline at end of file