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>2021-06-17 18:30:59 +0300
committerStefan Niedermann <info@niedermann.it>2021-06-17 18:31:10 +0300
commitb108515abae3a9523179f4e576545335978fcbfd (patch)
tree37936d02d4f59d5b5174d21c63b650f30203723d /app/src/main/java/it/niedermann/nextcloud/deck/ui/card
parent5fa1024e4a63e2e85cd94f6d7e237d8d3a7b549b (diff)
parent34458e8c3bc02daae17872b2ab0671d20119a8ce (diff)
Merge branch 'master' into create-card-before-editing
Signed-off-by: Stefan Niedermann <info@niedermann.it> # Conflicts: # app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java
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/CardAdapter.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java7
2 files changed, 15 insertions, 4 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
index f1f584df6..4648e34c3 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
@@ -19,6 +19,8 @@ import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import it.niedermann.android.crosstabdnd.DragAndDropAdapter;
import it.niedermann.android.crosstabdnd.DraggedItemLocalState;
@@ -45,6 +47,7 @@ import static it.niedermann.nextcloud.deck.util.MimeTypeUtil.TEXT_PLAIN;
public class CardAdapter extends RecyclerView.Adapter<AbstractCardViewHolder> implements DragAndDropAdapter<FullCard>, CardOptionsItemSelectedListener, Branded {
+ private final ExecutorService executor;
private final boolean compactMode;
@NonNull
protected final MainViewModel mainViewModel;
@@ -66,6 +69,10 @@ public class CardAdapter extends RecyclerView.Adapter<AbstractCardViewHolder> im
protected final int maxCoverImages;
public CardAdapter(@NonNull Activity activity, @NonNull FragmentManager fragmentManager, long stackId, @NonNull MainViewModel mainViewModel, @Nullable SelectCardListener selectCardListener) {
+ this(activity, fragmentManager, stackId, mainViewModel, selectCardListener, Executors.newSingleThreadExecutor());
+ }
+
+ private CardAdapter(@NonNull Activity activity, @NonNull FragmentManager fragmentManager, long stackId, @NonNull MainViewModel mainViewModel, @Nullable SelectCardListener selectCardListener, @NonNull ExecutorService executor) {
this.activity = activity;
this.counterMaxValue = this.activity.getString(R.string.counter_max_value);
this.fragmentManager = fragmentManager;
@@ -79,6 +86,7 @@ public class CardAdapter extends RecyclerView.Adapter<AbstractCardViewHolder> im
? activity.getResources().getInteger(R.integer.max_cover_images)
: 0;
setHasStableIds(true);
+ this.executor = executor;
}
@Override
@@ -204,10 +212,10 @@ public class CardAdapter extends RecyclerView.Adapter<AbstractCardViewHolder> im
.putExtra(Intent.EXTRA_TEXT, CardUtil.getCardContentAsString(activity, fullCard));
activity.startActivity(Intent.createChooser(shareIntent, fullCard.getCard().getTitle()));
} else if (itemId == R.id.action_card_assign) {
- new Thread(() -> mainViewModel.assignUserToCard(mainViewModel.getUserByUidDirectly(fullCard.getCard().getAccountId(), account.getUserName()), fullCard.getCard())).start();
+ executor.submit(() -> mainViewModel.assignUserToCard(mainViewModel.getUserByUidDirectly(fullCard.getCard().getAccountId(), account.getUserName()), fullCard.getCard()));
return true;
} else if (itemId == R.id.action_card_unassign) {
- new Thread(() -> mainViewModel.unassignUserFromCard(mainViewModel.getUserByUidDirectly(fullCard.getCard().getAccountId(), account.getUserName()), fullCard.getCard())).start();
+ executor.submit(() -> mainViewModel.unassignUserFromCard(mainViewModel.getUserByUidDirectly(fullCard.getCard().getAccountId(), account.getUserName()), fullCard.getCard()));
return true;
} else if (itemId == R.id.action_card_move) {
DeckLog.verbose("[Move card] Launch move dialog for " + Card.class.getSimpleName() + " \"" + fullCard.getCard().getTitle() + "\" (#" + fullCard.getLocalId() + ") from " + Stack.class.getSimpleName() + " #" + +stackId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
index 4594fcf79..4cf57ba6f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
@@ -38,6 +38,8 @@ import java.io.IOException;
import java.time.Instant;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import id.zelory.compressor.constraint.FormatConstraint;
import id.zelory.compressor.constraint.QualityConstraint;
@@ -95,6 +97,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet
private PreviewDialogViewModel previewViewModel;
private BottomSheetBehavior<LinearLayout> mBottomSheetBehaviour;
private boolean compressImagesOnUpload = true;
+ private final ExecutorService executor = Executors.newCachedThreadPool();
private RecyclerView.ItemDecoration galleryItemDecoration;
@@ -404,7 +407,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet
DeckLog.verbose("--- found content URL", sourceUri.getPath());
// Separate Thread required because picked file might not yet be locally available
// https://github.com/stefan-niedermann/nextcloud-deck/issues/814
- new Thread(() -> {
+ executor.submit(() -> {
try {
final File originalFile = copyContentUriToTempFile(requireContext(), sourceUri, editViewModel.getAccount().getId(), editViewModel.getFullCard().getLocalId());
requireActivity().runOnUiThread(() -> {
@@ -430,7 +433,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet
} catch (IOException e) {
requireActivity().runOnUiThread(() -> ExceptionDialogFragment.newInstance(e, editViewModel.getAccount()).show(getChildFragmentManager(), ExceptionDialogFragment.class.getSimpleName()));
}
- }).start();
+ });
break;
}
default: {