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>2020-07-05 15:35:41 +0300
committerStefan Niedermann <info@niedermann.it>2020-07-05 15:35:41 +0300
commitf1f1f0e621e00e1a9bdebaddcf39675f8fbf5734 (patch)
treed7ba9ad2bd05326b8557528204ce28759e065a90
parent74f1e7974aab8f00ce3366cd883695f329090294 (diff)
Display warning when moving cards to another board
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java23
-rw-r--r--app/src/main/res/layout/dialog_move_card.xml50
-rw-r--r--app/src/main/res/values/strings.xml1
4 files changed, 64 insertions, 12 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 98a992b93..219f8a0d1 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
@@ -292,7 +292,7 @@ public class CardAdapter extends RecyclerView.Adapter<ItemCardViewHolder> implem
}
case R.id.action_card_move: {
DeckLog.verbose("MOVE - Attempt to move " + Card.class.getSimpleName() + " " + fullCard.getCard() + " (#" + fullCard.getLocalId() + ") from " + Stack.class.getSimpleName() + " #" + +stackId);
- MoveCardDialogFragment.newInstance(fullCard.getAccountId(), fullCard.getLocalId()).show(fragmentManager, MoveCardDialogFragment.class.getSimpleName());
+ MoveCardDialogFragment.newInstance(fullCard.getAccountId(), boardId, fullCard.getLocalId()).show(fragmentManager, MoveCardDialogFragment.class.getSimpleName());
return true;
}
case R.id.action_card_archive: {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java
index 6a6c12888..e3704888a 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java
@@ -23,12 +23,17 @@ import it.niedermann.nextcloud.deck.ui.branding.BrandingUtil;
import it.niedermann.nextcloud.deck.ui.pickstack.PickStackFragment;
import it.niedermann.nextcloud.deck.ui.pickstack.PickStackListener;
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
public class MoveCardDialogFragment extends BrandedDialogFragment implements PickStackListener {
- private static final String KEY_ORIGIN_CARD_LOCAL_ID = "card_local_id";
private static final String KEY_ORIGIN_ACCOUNT_ID = "account_id";
- private Long originCardLocalId;
+ private static final String KEY_ORIGIN_BOARD_LOCAL_ID = "board_local_id";
+ private static final String KEY_ORIGIN_CARD_LOCAL_ID = "card_local_id";
private Long originAccountId;
+ private Long originBoardLocalId;
+ private Long originCardLocalId;
private DialogMoveCardBinding binding;
private PickStackFragment fragment;
@@ -58,6 +63,10 @@ public class MoveCardDialogFragment extends BrandedDialogFragment implements Pic
if (originCardLocalId < 0) {
throw new IllegalArgumentException("Missing " + KEY_ORIGIN_CARD_LOCAL_ID);
}
+ originBoardLocalId = args.getLong(KEY_ORIGIN_BOARD_LOCAL_ID, -1L);
+ if (originBoardLocalId < 0) {
+ throw new IllegalArgumentException("Missing " + KEY_ORIGIN_BOARD_LOCAL_ID);
+ }
}
@Nullable
@@ -69,6 +78,7 @@ public class MoveCardDialogFragment extends BrandedDialogFragment implements Pic
this.moveCardListener.move(originAccountId, originCardLocalId, selectedAccount.getId(), selectedBoard.getLocalId(), selectedStack.getLocalId());
dismiss();
});
+ binding.cancel.setOnClickListener((v) -> dismiss());
return binding.getRoot();
}
@@ -89,20 +99,25 @@ public class MoveCardDialogFragment extends BrandedDialogFragment implements Pic
// DeckLog.log("MOVE - Stack changed to " + fullStack.getStack().getTitle());
if (board == null || fullStack == null) {
binding.submit.setEnabled(false);
+ binding.moveWarning.setVisibility(GONE);
} else {
binding.submit.setEnabled(true);
+ binding.moveWarning.setVisibility(board.getLocalId().equals(originBoardLocalId) ? GONE : VISIBLE);
}
}
@Override
public void applyBrand(int mainColor) {
- binding.submit.setTextColor(ColorStateList.valueOf(BrandingUtil.getSecondaryForegroundColorDependingOnTheme(requireContext(), mainColor)));
+ final ColorStateList mainColorStateList = ColorStateList.valueOf(BrandingUtil.getSecondaryForegroundColorDependingOnTheme(requireContext(), mainColor));
+ binding.cancel.setTextColor(mainColorStateList);
+ binding.submit.setTextColor(mainColorStateList);
}
- public static DialogFragment newInstance(long originAccountId, Long originCardLocalId) {
+ public static DialogFragment newInstance(long originAccountId, long originBoardLocalId, Long originCardLocalId) {
final DialogFragment dialogFragment = new MoveCardDialogFragment();
final Bundle args = new Bundle();
args.putLong(KEY_ORIGIN_ACCOUNT_ID, originAccountId);
+ args.putLong(KEY_ORIGIN_BOARD_LOCAL_ID, originBoardLocalId);
args.putLong(KEY_ORIGIN_CARD_LOCAL_ID, originCardLocalId);
dialogFragment.setArguments(args);
return dialogFragment;
diff --git a/app/src/main/res/layout/dialog_move_card.xml b/app/src/main/res/layout/dialog_move_card.xml
index b4c2beea0..21b1327a6 100644
--- a/app/src/main/res/layout/dialog_move_card.xml
+++ b/app/src/main/res/layout/dialog_move_card.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:orientation="vertical"
+ android:padding="@dimen/spacer_1x">
<ScrollView
android:layout_width="wrap_content"
@@ -14,12 +17,45 @@
android:layout_height="wrap_content" />
</ScrollView>
- <Button
- android:id="@+id/submit"
- style="@style/Widget.MaterialComponents.Button.TextButton"
+ <TextView
+ android:id="@+id/move_warning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:text="@string/action_card_move"
- android:textColor="@color/defaultBrand" />
+ android:layout_marginTop="@dimen/spacer_2x"
+ android:drawableStart="@drawable/ic_warning_white_24dp"
+ android:drawablePadding="@dimen/spacer_3x"
+ android:paddingStart="@dimen/spacer_3x"
+ android:paddingEnd="@dimen/spacer_1x"
+ android:text="@string/move_warning"
+ android:textColor="@color/danger"
+ android:visibility="gone"
+ app:drawableTint="@color/danger"
+ tools:visibility="visible" />
+
+ <com.google.android.flexbox.FlexboxLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/spacer_1x"
+ android:orientation="horizontal"
+ app:justifyContent="space_between">
+
+ <Button
+ android:id="@+id/cancel"
+ style="@style/Widget.MaterialComponents.Button.TextButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="start"
+ android:layout_marginEnd="@dimen/spacer_1x"
+ android:text="@android:string/cancel"
+ android:textColor="@color/defaultBrand" />
+
+ <Button
+ android:id="@+id/submit"
+ style="@style/Widget.MaterialComponents.Button.TextButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end"
+ android:text="@string/action_card_move"
+ android:textColor="@color/defaultBrand" />
+ </com.google.android.flexbox.FlexboxLayout>
</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 256f9bc91..aaaf1edec 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -281,4 +281,5 @@
</plurals>
<string name="simple_report">Report</string>
<string name="error_action_open_battery_settings">Battery settings</string>
+ <string name="move_warning">Neither comments nor attachments can be transferred when moving the card to another board.</string>
</resources>