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:
authorNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2023-02-12 00:34:16 +0300
committerGitHub <noreply@github.com>2023-02-12 00:34:16 +0300
commit23a8635d0a76edeeb2aa02eff296590b7695e80c (patch)
treeb3ad6fd319782ebb5e590f2f5a53e2e24e9d7b3f /app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments
parenta70b7edcba351e45f97e26f840a1744fb64fb2d8 (diff)
feat(theming): Integrate android-common Nextcloud library for unified M3 theming (#1431)
* refactor(branding): Use android-common to apply branding * refactor(branding): Rename BrandingUtil to ViewThemeUtils * refactor(branding): Move DeckViewThemeUtils to own class * refactor(branding): Apply theming to NavigationView * refactor(branding): Roll out android-common based theming * refactor(branding): Change terminology from "branding" to "theming" * refactor(branding): Get rid of DeckColorUtil Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsAdapter.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java13
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java13
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/ItemCommentViewHolder.java8
4 files changed, 24 insertions, 21 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsAdapter.java
index 18bf21ceb..b392d5725 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsAdapter.java
@@ -1,7 +1,6 @@
package it.niedermann.nextcloud.deck.ui.card.comments;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.readBrandMainColor;
+import static it.niedermann.nextcloud.deck.ui.theme.ThemeUtils.readBrandMainColor;
import android.content.Context;
import android.view.LayoutInflater;
@@ -20,10 +19,12 @@ import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.databinding.ItemCommentBinding;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.ocs.comment.full.FullDeckComment;
+import it.niedermann.nextcloud.deck.ui.theme.ThemeUtils;
+import scheme.Scheme;
public class CardCommentsAdapter extends RecyclerView.Adapter<ItemCommentViewHolder> {
- private final int mainColor;
+ private final Scheme scheme;
@NonNull
private final List<FullDeckComment> comments = new ArrayList<>();
@NonNull
@@ -46,7 +47,7 @@ public class CardCommentsAdapter extends RecyclerView.Adapter<ItemCommentViewHol
this.selectAsReplyListener = selectAsReplyListener;
this.fragmentManager = fragmentManager;
this.editListener = editListener;
- this.mainColor = getSecondaryForegroundColorDependingOnTheme(context, readBrandMainColor(context));
+ this.scheme = ThemeUtils.createScheme(readBrandMainColor(context), context);
setHasStableIds(true);
}
@@ -64,7 +65,7 @@ public class CardCommentsAdapter extends RecyclerView.Adapter<ItemCommentViewHol
@Override
public void onBindViewHolder(@NonNull ItemCommentViewHolder holder, int position) {
final var comment = comments.get(position);
- holder.bind(comment, account, mainColor, menuInflater, deletedListener, selectAsReplyListener, fragmentManager, (changedText) -> {
+ holder.bind(comment, account, scheme, menuInflater, deletedListener, selectAsReplyListener, fragmentManager, (changedText) -> {
if (!Objects.equals(changedText, comment.getComment().getMessage())) {
DeckLog.info("Toggled checkbox in comment with localId", comment.getLocalId());
this.editListener.onCommentEdited(comment.getLocalId(), changedText.toString());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java
index b26ee84c5..abb3b1033 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java
@@ -1,7 +1,5 @@
package it.niedermann.nextcloud.deck.ui.card.comments;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
-
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
@@ -20,9 +18,10 @@ import java.util.Objects;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.DialogAddCommentBinding;
-import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
+import it.niedermann.nextcloud.deck.ui.theme.ThemeUtils;
+import it.niedermann.nextcloud.deck.ui.theme.ThemedDialogFragment;
-public class CardCommentsEditDialogFragment extends BrandedDialogFragment {
+public class CardCommentsEditDialogFragment extends ThemedDialogFragment {
private static final String BUNDLE_KEY_COMMENT_ID = "commentId";
private static final String BUNDLE_KEY_COMMENT_MESSAGE = "commentMessage";
private CommentEditedListener addCommentListener;
@@ -86,8 +85,10 @@ public class CardCommentsEditDialogFragment extends BrandedDialogFragment {
}
@Override
- public void applyBrand(int mainColor) {
- applyBrandToEditTextInputLayout(mainColor, binding.inputWrapper);
+ public void applyTheme(int color) {
+ final var utils = ThemeUtils.of(color, requireContext());
+
+ utils.material.colorTextInputLayout(binding.inputWrapper);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java
index 7e90e513a..277eb82c2 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java
@@ -2,8 +2,6 @@ package it.niedermann.nextcloud.deck.ui.card.comments;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
import android.os.Bundle;
import android.text.TextUtils;
@@ -33,6 +31,7 @@ import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.ui.card.EditActivity;
import it.niedermann.nextcloud.deck.ui.card.EditCardViewModel;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
+import it.niedermann.nextcloud.deck.ui.theme.ThemeUtils;
import it.niedermann.nextcloud.deck.util.ViewUtil;
public class CardCommentsFragment extends Fragment implements CommentEditedListener, CommentDeletedListener, CommentSelectAsReplyListener {
@@ -131,7 +130,7 @@ public class CardCommentsFragment extends Fragment implements CommentEditedListe
binding.message.requestFocus();
requireActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
- mainViewModel.getBrandingColor().observe(getViewLifecycleOwner(), this::applyBrand);
+ mainViewModel.getBoardColor().observe(getViewLifecycleOwner(), this::applyTheme);
}
@Override
@@ -163,9 +162,11 @@ public class CardCommentsFragment extends Fragment implements CommentEditedListe
});
}
- private void applyBrand(int mainColor) {
- applyBrandToFAB(mainColor, binding.fab);
- applyBrandToEditTextInputLayout(mainColor, binding.messageWrapper);
+ private void applyTheme(int color) {
+ final var utils = ThemeUtils.of(color, requireContext());
+
+ utils.material.themeFAB(binding.fab);
+ utils.material.colorTextInputLayout(binding.messageWrapper);
}
@Override
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/ItemCommentViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/ItemCommentViewHolder.java
index 88cc1a904..f38e41f93 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/ItemCommentViewHolder.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/ItemCommentViewHolder.java
@@ -4,7 +4,6 @@ import android.text.method.LinkMovementMethod;
import android.view.MenuInflater;
import android.view.View;
-import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.TooltipCompat;
import androidx.core.graphics.drawable.DrawableCompat;
@@ -26,6 +25,7 @@ import it.niedermann.nextcloud.deck.model.enums.DBStatus;
import it.niedermann.nextcloud.deck.model.ocs.comment.full.FullDeckComment;
import it.niedermann.nextcloud.deck.util.DateUtil;
import it.niedermann.nextcloud.deck.util.ViewUtil;
+import scheme.Scheme;
public class ItemCommentViewHolder extends RecyclerView.ViewHolder {
private final ItemCommentBinding binding;
@@ -38,7 +38,7 @@ public class ItemCommentViewHolder extends RecyclerView.ViewHolder {
this.binding.message.setMovementMethod(LinkMovementMethod.getInstance());
}
- public void bind(@NonNull FullDeckComment comment, @NonNull Account account, @ColorInt int mainColor, @NonNull MenuInflater inflater, @NonNull CommentDeletedListener deletedListener, @NonNull CommentSelectAsReplyListener selectAsReplyListener, @NonNull FragmentManager fragmentManager, @NonNull Consumer<CharSequence> editListener) {
+ public void bind(@NonNull FullDeckComment comment, @NonNull Account account, @NonNull Scheme scheme, @NonNull MenuInflater inflater, @NonNull CommentDeletedListener deletedListener, @NonNull CommentSelectAsReplyListener selectAsReplyListener, @NonNull FragmentManager fragmentManager, @NonNull Consumer<CharSequence> editListener) {
ViewUtil.addAvatar(binding.avatar, account.getUrl(), comment.getComment().getActorId(), DimensionUtil.INSTANCE.dpToPx(binding.avatar.getContext(), R.dimen.icon_size_details), R.drawable.ic_person_grey600_24dp);
final var mentions = new HashMap<String, String>(comment.getComment().getMentions().size());
for (final var mention : comment.getComment().getMentions()) {
@@ -80,7 +80,7 @@ public class ItemCommentViewHolder extends RecyclerView.ViewHolder {
});
TooltipCompat.setTooltipText(binding.creationDateTime, comment.getComment().getCreationDateTime().atZone(ZoneId.systemDefault()).format(dateFormatter));
- DrawableCompat.setTint(binding.notSyncedYet.getDrawable(), mainColor);
+ DrawableCompat.setTint(binding.notSyncedYet.getDrawable(), scheme.getOnPrimaryContainer());
binding.notSyncedYet.setVisibility(DBStatus.LOCAL_EDITED.equals(comment.getStatusEnum()) ? View.VISIBLE : View.GONE);
if (comment.getParent() == null) {
@@ -88,7 +88,7 @@ public class ItemCommentViewHolder extends RecyclerView.ViewHolder {
} else {
final int commentParentMaxLines = itemView.getContext().getResources().getInteger(R.integer.comment_parent_max_lines);
binding.parentContainer.setVisibility(View.VISIBLE);
- binding.parentBorder.setBackgroundColor(mainColor);
+ binding.parentBorder.setBackgroundColor(scheme.getOnPrimaryContainer());
binding.parent.setText(comment.getParent().getMessage());
binding.parent.setOnClickListener((v) -> {
final boolean previouslyCollapsed = binding.parent.getMaxLines() == commentParentMaxLines;