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:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityViewHolder.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityViewHolder.java56
1 files changed, 34 insertions, 22 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityViewHolder.java
index 1d3101d61..b9f4ca436 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityViewHolder.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityViewHolder.java
@@ -1,19 +1,25 @@
package it.niedermann.nextcloud.deck.ui.card.activities;
import android.content.Context;
+import android.content.res.ColorStateList;
import android.view.MenuInflater;
import android.view.View;
-import android.widget.ImageView;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
+import com.nextcloud.android.common.ui.theme.utils.ColorRole;
+
+import java.util.function.Function;
+
import it.niedermann.android.util.ClipboardUtil;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.ItemActivityBinding;
import it.niedermann.nextcloud.deck.model.enums.ActivityType;
import it.niedermann.nextcloud.deck.model.ocs.Activity;
-import it.niedermann.nextcloud.deck.ui.theme.DeckViewThemeUtils;
+import it.niedermann.nextcloud.deck.ui.theme.ThemeUtils;
import it.niedermann.nextcloud.deck.util.DateUtil;
public class CardActivityViewHolder extends RecyclerView.ViewHolder {
@@ -25,7 +31,7 @@ public class CardActivityViewHolder extends RecyclerView.ViewHolder {
this.binding = binding;
}
- public void bind(@NonNull Activity activity, @NonNull MenuInflater inflater) {
+ public void bind(@NonNull Activity activity, @NonNull MenuInflater inflater, @Nullable ThemeUtils utils) {
final var context = itemView.getContext();
binding.date.setText(DateUtil.getRelativeDateTimeString(context, activity.getLastModified().toEpochMilli()));
binding.subject.setText(activity.getSubject());
@@ -34,33 +40,39 @@ public class CardActivityViewHolder extends RecyclerView.ViewHolder {
inflater.inflate(R.menu.activity_menu, menu);
menu.findItem(android.R.id.copy).setOnMenuItemClickListener(item -> ClipboardUtil.copyToClipboard(context, activity.getSubject()));
});
+
final var type = ActivityType.findById(activity.getType());
- setImageResource(binding.type, type);
- setImageColor(context, binding.type, type);
+ bindImageResource(type);
+ if (utils != null) {
+ applyTheme(context, utils, type);
+ }
}
- private static void setImageResource(@NonNull ImageView imageView, @NonNull ActivityType type) {
+ private void bindImageResource(@NonNull ActivityType type) {
switch (type) {
- case CHANGE -> imageView.setImageResource(R.drawable.type_change_36dp);
- case ADD -> imageView.setImageResource(R.drawable.type_add_color_36dp);
- case DELETE -> imageView.setImageResource(R.drawable.type_delete_color_36dp);
- case ARCHIVE -> imageView.setImageResource(R.drawable.type_archive_36dp);
- case TAGGED_WITH_LABEL ->
- imageView.setImageResource(R.drawable.type_label_36dp);
- case COMMENT -> imageView.setImageResource(R.drawable.type_comment_36dp);
- case FILES -> imageView.setImageResource(R.drawable.type_file_36dp);
- case HISTORY -> imageView.setImageResource(R.drawable.type_history_36dp);
- default -> imageView.setImageResource(R.drawable.ic_app_logo);
+ case CHANGE -> binding.type.setImageResource(R.drawable.type_change_36dp);
+ case ADD -> binding.type.setImageResource(R.drawable.type_add_color_36dp);
+ case DELETE -> binding.type.setImageResource(R.drawable.type_delete_color_36dp);
+ case ARCHIVE -> binding.type.setImageResource(R.drawable.type_archive_36dp);
+ case TAGGED_WITH_LABEL -> binding.type.setImageResource(R.drawable.type_label_36dp);
+ case COMMENT -> binding.type.setImageResource(R.drawable.type_comment_36dp);
+ case FILES -> binding.type.setImageResource(R.drawable.type_file_36dp);
+ case HISTORY -> binding.type.setImageResource(R.drawable.type_history_36dp);
+ default -> binding.type.setImageResource(R.drawable.ic_app_logo);
}
}
- private static void setImageColor(@NonNull Context context, @NonNull ImageView imageView, @NonNull ActivityType type) {
+ private void applyTheme(@NonNull Context context, @NonNull ThemeUtils utils, @NonNull ActivityType type) {
+ utils.platform.colorTextView(binding.subject, ColorRole.ON_SURFACE);
+ utils.platform.colorTextView(binding.date, ColorRole.ON_SURFACE_VARIANT);
+
+ final Function<Integer, ColorStateList> getColor = color ->
+ ColorStateList.valueOf(ContextCompat.getColor(context, color));
+
switch (type) {
- case ADD ->
- DeckViewThemeUtils.setImageColor(context, imageView, R.color.activity_create);
- case DELETE ->
- DeckViewThemeUtils.setImageColor(context, imageView, R.color.activity_delete);
- default -> DeckViewThemeUtils.setImageColor(context, imageView, R.color.surfaceVariant);
+ case ADD -> binding.type.setImageTintList(getColor.apply(R.color.activity_create));
+ case DELETE -> binding.type.setImageTintList(getColor.apply(R.color.activity_delete));
+ default -> utils.platform.colorImageView(binding.type, ColorRole.ON_SURFACE_VARIANT);
}
}
} \ No newline at end of file