diff options
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card')
5 files changed, 50 insertions, 26 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 c5f928e9b..aaf53e5d2 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 @@ -34,7 +34,9 @@ import com.nextcloud.android.sso.model.SingleSignOnAccount; import java.util.LinkedList; import java.util.List; +import java.util.Objects; +import butterknife.BindInt; import butterknife.BindView; import butterknife.ButterKnife; import it.niedermann.nextcloud.deck.DeckLog; @@ -53,7 +55,9 @@ import it.niedermann.nextcloud.deck.util.DimensionUtil; import it.niedermann.nextcloud.deck.util.ViewUtil; public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder> { + private static final String TAG = CardAdapter.class.getCanonicalName(); + public static final int REQUEST_CODE_START_EDIT_ACTIVITY = 100; public static final String BUNDLE_KEY_ACCOUNT_ID = "accountId"; public static final String BUNDLE_KEY_LOCAL_ID = "localId"; @@ -61,7 +65,6 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder public static final String BUNDLE_KEY_STACK_ID = "stackId"; public static final String BUNDLE_KEY_CAN_EDIT = "canEdit"; public static final Long NO_LOCAL_ID = -1L; - public static final int MAX_AVATAR_COUNT = 3; private Context context; private List<FullCard> cardList = new LinkedList<>(); @@ -73,7 +76,15 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder private Fragment fragment; private boolean pendingEditActivity = false; + @BindInt(R.integer.max_avatar_count) + int maxAvatarCount; + @BindInt(R.integer.max_labels_shown) + int maxLabelsShown; + @BindInt(R.integer.max_labels_chars) + int maxLabelsChars; + public CardAdapter(long boardId, boolean canEdit, @NonNull SyncManager syncManager, @NonNull Fragment fragment) { + ButterKnife.bind(this, Objects.requireNonNull(fragment.getActivity())); this.boardId = boardId; this.canEdit = canEdit; this.syncManager = syncManager; @@ -189,8 +200,6 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder } private void setupLabels(@NonNull ChipGroup labels, List<Label> labelList) { - int maxLabelsShown = context.getResources().getInteger(R.integer.max_labels_shown); - int maxLabelsChars = context.getResources().getInteger(R.integer.max_labels_chars); Chip chip; for (int i = 0; i < labelList.size(); i++) { if (i > maxLabelsShown - 1 && labelList.size() > maxLabelsShown) { @@ -249,7 +258,7 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder peopleList.removeAllViews(); RelativeLayout.LayoutParams avatarLayoutParams; int avatarCount; - for (avatarCount = 0; avatarCount < card.getAssignedUsers().size() && avatarCount < MAX_AVATAR_COUNT; avatarCount++) { + for (avatarCount = 0; avatarCount < card.getAssignedUsers().size() && avatarCount < maxAvatarCount; avatarCount++) { avatarLayoutParams = new RelativeLayout.LayoutParams(avatarSize, avatarSize); avatarLayoutParams.setMargins(0, 0, avatarCount * context.getResources().getDimensionPixelSize(R.dimen.avatar_overlapping_small), 0); avatarLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardDetailsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardDetailsFragment.java index f143e39ae..de6db9861 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardDetailsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardDetailsFragment.java @@ -41,6 +41,7 @@ import java.util.Date; import java.util.Locale; import java.util.Objects; +import butterknife.BindDrawable; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; @@ -84,28 +85,24 @@ public class CardDetailsFragment extends Fragment implements DatePickerDialog.On @BindView(R.id.description) RxMDEditText description; - @BindView(R.id.people) DelayedAutoCompleteTextView people; - @BindView(R.id.labels) DelayedAutoCompleteTextView labels; - @BindView(R.id.peopleList) LinearLayout peopleList; - @BindView(R.id.dueDateDate) TextView dueDate; - @BindView(R.id.dueDateTime) TextView dueDateTime; - @BindView(R.id.clearDueDate) ImageView clearDueDate; - @BindView(R.id.labelsGroup) ChipGroup labelsGroup; + @BindDrawable(R.drawable.ic_close_circle_grey600) + Drawable closeCircleDrawable; + public CardDetailsFragment() { } @@ -358,7 +355,7 @@ public class CardDetailsFragment extends Fragment implements DatePickerDialog.On Chip chip = new Chip(activity); chip.setText(label.getTitle()); if (canEdit) { - chip.setCloseIcon(activity.getResources().getDrawable(R.drawable.ic_close_circle_grey600)); + chip.setCloseIcon(closeCircleDrawable); chip.setCloseIconVisible(true); chip.setOnCloseIconClickListener(v -> { labelsGroup.removeView(chip); 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 76ed9af96..971abe6c9 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 @@ -1,25 +1,33 @@ package it.niedermann.nextcloud.deck.ui.card; -import android.content.res.Resources; +import android.app.Activity; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; +import butterknife.BindString; +import butterknife.ButterKnife; import it.niedermann.nextcloud.deck.R; public class CardTabAdapter extends FragmentStatePagerAdapter { - private Resources resources; private long accountId; private long localId; private long boardId; private boolean canEdit; - public CardTabAdapter(FragmentManager fm, Resources resources, long accountId, long localId, long boardId, boolean canEdit) { + @BindString(R.string.card_edit_details) + String details; + @BindString(R.string.card_edit_attachments) + String attachments; + @BindString(R.string.card_edit_activity) + String activity; + + public CardTabAdapter(FragmentManager fm, Activity activity, long accountId, long localId, long boardId, boolean canEdit) { super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); - this.resources = resources; + ButterKnife.bind(this, activity); this.accountId = accountId; this.localId = localId; this.boardId = boardId; @@ -46,11 +54,11 @@ public class CardTabAdapter extends FragmentStatePagerAdapter { public CharSequence getPageTitle(int position) { switch (position) { case 0: - return this.resources.getString(R.string.card_edit_details); + return details; case 1: - return this.resources.getString(R.string.card_edit_attachments); + return attachments; case 2: - return this.resources.getString(R.string.card_edit_activity); + return activity; default: throw new IllegalArgumentException("position " + position + "is not available"); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/LabelAutoCompleteAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/LabelAutoCompleteAdapter.java index 8b1fc9ce1..8bd7fc5c3 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/LabelAutoCompleteAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/LabelAutoCompleteAdapter.java @@ -20,6 +20,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import butterknife.BindColor; +import butterknife.BindInt; +import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; import it.niedermann.nextcloud.deck.R; @@ -39,18 +42,23 @@ public class LabelAutoCompleteAdapter extends BaseAdapter implements Filterable private long cardId; private LifecycleOwner owner; private Label createLabel; - private String createLabelText; private String lastFilterText; private boolean canManage = false; - private int maxLabelsSuggested; + + @BindInt(R.integer.max_labels_suggested) + int maxLabelsSuggested; + @BindString(R.string.label_add) + String createLabelText; + @BindColor(R.color.grey600) + int createLabelColor; public LabelAutoCompleteAdapter(@NonNull LifecycleOwner owner, Activity activity, long accountId, long boardId, long cardId) { + ButterKnife.bind(this, activity); this.owner = owner; this.context = activity; this.accountId = accountId; this.boardId = boardId; this.cardId = cardId; - this.maxLabelsSuggested = activity.getResources().getInteger(R.integer.max_labels_suggested); syncManager = new SyncManager(activity); syncManager.getFullBoardById(accountId, boardId).observe(owner, (fullBoard) -> { if (fullBoard.getBoard().isPermissionManage()) { @@ -58,8 +66,7 @@ public class LabelAutoCompleteAdapter extends BaseAdapter implements Filterable createLabel.setLocalId(CREATE_ID); createLabel.setBoardId(boardId); createLabel.setAccountId(accountId); - createLabelText = activity.getResources().getString(R.string.label_add); - createLabel.setColor("757575"); + createLabel.setColor(Integer.toHexString(createLabelColor)); canManage = true; } }); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/UserAutoCompleteAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/UserAutoCompleteAdapter.java index a71158522..d59316392 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/UserAutoCompleteAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/UserAutoCompleteAdapter.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import butterknife.BindInt; import butterknife.BindView; import butterknife.ButterKnife; import it.niedermann.nextcloud.deck.DeckLog; @@ -42,14 +43,16 @@ public class UserAutoCompleteAdapter extends BaseAdapter implements Filterable { private long accountId; private long cardId; private LifecycleOwner owner; - private int maxUsersSuggested; + + @BindInt(R.integer.max_users_suggested) + int maxUsersSuggested; public UserAutoCompleteAdapter(@NonNull LifecycleOwner owner, Activity activity, long accountId, long cardId) { + ButterKnife.bind(this, activity); this.owner = owner; this.activity = activity; this.accountId = accountId; this.cardId = cardId; - this.maxUsersSuggested = activity.getResources().getInteger(R.integer.max_users_suggested); syncManager = new SyncManager(activity); } |