diff options
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck')
44 files changed, 231 insertions, 166 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java index 7e2535755..ac77d9ff0 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java @@ -99,7 +99,7 @@ public abstract class PickStackActivity extends AppCompatActivity implements The public void onStackPicked(@NonNull Account account, @Nullable Board board, @Nullable Stack stack) { viewModel.setSelected(account, board, stack); applyTheme(board == null - ? ContextCompat.getColor(this, R.color.accent) + ? ContextCompat.getColor(this, R.color.onSurface) : board.getColor() ); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java index 2f9671ce5..cedcef707 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java @@ -19,6 +19,7 @@ import androidx.lifecycle.ViewModelProvider; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import com.nextcloud.android.common.ui.theme.utils.ColorRole; import java.util.Objects; import java.util.stream.Collectors; @@ -77,8 +78,8 @@ public class AccountSwitcherDialog extends DialogFragment { Glide.with(requireContext()) .load(currentAccount.getAvatarUrl(binding.currentAccountItemAvatar.getResources().getDimensionPixelSize(R.dimen.avatar_size))) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_baseline_account_circle_24) - .error(R.drawable.ic_baseline_account_circle_24) + .placeholder(R.drawable.ic_account_circle_24) + .error(R.drawable.ic_account_circle_24) .into(binding.currentAccountItemAvatar); applyTheme(currentAccount.getColor()); @@ -115,5 +116,9 @@ public class AccountSwitcherDialog extends DialogFragment { private void applyTheme(int color) { final var utils = ThemeUtils.of(color, requireContext()); utils.deck.themeSelectedCheck(binding.check.getContext(), binding.check.getDrawable()); + utils.platform.colorImageView(binding.addAccountIcon, ColorRole.ON_SURFACE); + utils.platform.colorImageView(binding.manageAccountsIcon, ColorRole.ON_SURFACE); + utils.platform.colorTextView(binding.addAccountLabel, ColorRole.ON_SURFACE); + utils.platform.colorTextView(binding.manageAccountsLabel, ColorRole.ON_SURFACE); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherViewHolder.java index f3c61c3ce..8e0e010c9 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherViewHolder.java @@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; +import com.nextcloud.android.common.ui.theme.utils.ColorRole; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.databinding.ItemAccountChooseBinding; @@ -35,13 +36,15 @@ public class AccountSwitcherViewHolder extends RecyclerView.ViewHolder { Glide.with(itemView.getContext()) .load(account.getAvatarUrl(binding.accountItemAvatar.getResources().getDimensionPixelSize(R.dimen.avatar_size))) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_baseline_account_circle_24) - .error(R.drawable.ic_baseline_account_circle_24) + .placeholder(R.drawable.ic_account_circle_24) + .error(R.drawable.ic_account_circle_24) .into(binding.accountItemAvatar); itemView.setOnClickListener((v) -> onAccountClick.accept(account)); binding.delete.setVisibility(View.GONE); final var utils = ThemeUtils.of(account.getColor(), itemView.getContext()); utils.deck.themeSelectedCheck(binding.currentAccountIndicator.getContext(), binding.currentAccountIndicator.getDrawable()); + utils.platform.colorTextView(binding.accountName, ColorRole.ON_SURFACE); + utils.platform.colorTextView(binding.accountHost, ColorRole.ON_SURFACE_VARIANT); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardViewHolder.java index ba60d9666..7d774fed8 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardViewHolder.java @@ -42,7 +42,7 @@ public class ArchivedBoardViewHolder extends RecyclerView.ViewHolder { if (account.getServerDeckVersionAsObject().isSupported()) { if (board.isPermissionManage()) { binding.boardMenu.setVisibility(View.VISIBLE); - binding.boardMenu.setImageDrawable(util.platform.tintDrawable(context, R.drawable.ic_menu, ColorRole.ON_SURFACE)); + binding.boardMenu.setImageDrawable(util.platform.tintDrawable(context, R.drawable.ic_menu, ColorRole.ON_SURFACE_VARIANT)); binding.boardMenu.setOnClickListener((v) -> { PopupMenu popup = new PopupMenu(context, binding.boardMenu); popup.getMenuInflater().inflate(R.menu.archived_board_menu, popup.getMenu()); @@ -72,7 +72,7 @@ public class ArchivedBoardViewHolder extends RecyclerView.ViewHolder { }); } else if (board.isPermissionShare()) { binding.boardMenu.setVisibility(View.VISIBLE); - binding.boardMenu.setImageDrawable(util.platform.tintDrawable(context, R.drawable.ic_share_grey600_18dp, ColorRole.ON_SURFACE)); + binding.boardMenu.setImageDrawable(util.platform.tintDrawable(context, R.drawable.ic_share_18dp, ColorRole.ON_SURFACE_VARIANT)); binding.boardMenu.setOnClickListener((v) -> AccessControlDialogFragment.newInstance(account, board.getLocalId()).show(fragmentManager, AccessControlDialogFragment.class.getSimpleName())); } binding.boardMenu.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java index bfc21b787..88cc5113f 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java @@ -37,7 +37,7 @@ public class AttachmentViewHolder extends RecyclerView.ViewHolder { public void bind(@NonNull Account account, @NonNull Attachment attachment, long cardRemoteId) { if (MimeTypeUtil.isImage(attachment.getMimetype())) { binding.preview.setTransitionName(parentContext.getString(R.string.transition_attachment_preview, String.valueOf(attachment.getLocalId()))); - binding.preview.setImageResource(R.drawable.ic_image_grey600_24dp); + binding.preview.setImageResource(R.drawable.ic_image_24dp); binding.preview.post(() -> { final String uri = AttachmentUtil.getThumbnailUrl(account, cardRemoteId, attachment, binding.preview.getWidth(), binding.preview.getHeight()); Glide.with(parentContext) @@ -61,7 +61,7 @@ public class AttachmentViewHolder extends RecyclerView.ViewHolder { return false; } }) - .error(R.drawable.ic_image_grey600_24dp) + .error(R.drawable.ic_image_24dp) .into(binding.preview); }); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentsActivity.java index 855ddf087..5ceae17bc 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentsActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentsActivity.java @@ -51,7 +51,7 @@ public class AttachmentsActivity extends AppCompatActivity implements Attachment supportPostponeEnterTransition(); setSupportActionBar(binding.toolbar); - final Drawable navigationIcon = ContextCompat.getDrawable(this, R.drawable.ic_arrow_back_white_24dp); + final Drawable navigationIcon = ContextCompat.getDrawable(this, R.drawable.ic_arrow_back_24dp); DrawableCompat.setTint(navigationIcon, ContextCompat.getColor(this, android.R.color.white)); binding.toolbar.setNavigationIcon(navigationIcon); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java index 0c813d04e..01c5b06e9 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java @@ -83,8 +83,8 @@ public class AccessControlAdapter extends RecyclerView.Adapter<RecyclerView.View Glide.with(ownerHolder.binding.avatar.getContext()) .load(account.getAvatarUrl(ownerHolder.binding.avatar.getResources().getDimensionPixelSize(R.dimen.avatar_size), ac.getUser().getUid())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(ownerHolder.binding.avatar); break; } @@ -94,13 +94,13 @@ public class AccessControlAdapter extends RecyclerView.Adapter<RecyclerView.View Glide.with(acHolder.binding.avatar.getContext()) .load(account.getAvatarUrl(acHolder.binding.avatar.getResources().getDimensionPixelSize(R.dimen.avatar_size), ac.getUser().getUid())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(acHolder.binding.avatar); acHolder.binding.username.setText(ac.getUser().getDisplayname()); acHolder.binding.username.setCompoundDrawables(null, null, ac.getStatus() == DBStatus.LOCAL_EDITED.getId() - ? ContextCompat.getDrawable(context, R.drawable.ic_sync_blue_24dp) : null, null); + ? ContextCompat.getDrawable(context, R.drawable.ic_sync_18dp) : null, null); acHolder.binding.delete.setOnClickListener((v) -> accessControlChangedListener.deleteAccessControl(ac)); if (hasManagePermission) { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java index ebaeaf637..b2146796c 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java @@ -88,7 +88,7 @@ public abstract class AbstractCardViewHolder extends RecyclerView.ViewHolder { protected void applyTheme(@Nullable ThemeUtils utils) { if (utils != null) { utils.platform.colorImageView(getNotSyncedYet(), ColorRole.PRIMARY); - utils.platform.colorImageView(getCardMenu(), ColorRole.ON_SURFACE); + utils.platform.colorImageView(getCardMenu(), ColorRole.ON_SURFACE_VARIANT); utils.platform.colorTextView(getCardTitle(), ColorRole.ON_SURFACE); // TODO should be discussed with UX @@ -149,8 +149,8 @@ public abstract class AbstractCardViewHolder extends RecyclerView.ViewHolder { coverImagesHolder.addView(coverImageView); Glide.with(coverImageView) .load(new SingleSignOnUrl(account.getName(), AttachmentUtil.getThumbnailUrl(account, fullCard.getId(), coverImage, coverWidth, coverHeight))) - .placeholder(R.drawable.ic_image_grey600_24dp) - .error(R.drawable.ic_image_grey600_24dp) + .placeholder(R.drawable.ic_image_24dp) + .error(R.drawable.ic_image_24dp) .into(coverImageView); } }); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/DefaultCardViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/DefaultCardViewHolder.java index 97144ad44..566b55512 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/DefaultCardViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/DefaultCardViewHolder.java @@ -87,7 +87,7 @@ public class DefaultCardViewHolder extends AbstractCardViewHolder { } else { final String description = fullCard.getCard().getDescription(); if (!TextUtils.isEmpty(description)) { - binding.cardCountTasks.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(context, R.drawable.ic_baseline_subject_24), null, null, null); + binding.cardCountTasks.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(context, R.drawable.ic_subject_24), null, null, null); binding.cardCountTasks.setText(null); binding.cardCountTasks.setVisibility(View.VISIBLE); } else { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java index 7edd10bbf..bbea33a7f 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java @@ -63,16 +63,16 @@ public class EditActivity extends AppCompatActivity { */ @Deprecated private static final int[] tabIcons = new int[]{ - R.drawable.ic_home_grey600_24dp, - R.drawable.ic_attach_file_grey600_24dp, - R.drawable.ic_activity_light_grey + R.drawable.ic_home_24dp, + R.drawable.ic_attach_file_24dp, + R.drawable.ic_activity_72dp }; private static final int[] tabIconsWithComments = new int[]{ - R.drawable.ic_home_grey600_24dp, - R.drawable.ic_attach_file_grey600_24dp, - R.drawable.type_comment_grey600_36dp, - R.drawable.ic_activity_light_grey + R.drawable.ic_home_24dp, + R.drawable.ic_attach_file_24dp, + R.drawable.type_comment_36dp, + R.drawable.ic_activity_72dp }; @Override @@ -162,7 +162,7 @@ public class EditActivity extends AppCompatActivity { public boolean onCreateOptionsMenu(@NonNull Menu menu) { if (viewModel.canEdit()) { getMenuInflater().inflate(R.menu.card_edit_menu, menu); - @ColorInt final int color = ContextCompat.getColor(this, R.color.accent); + @ColorInt final int color = ContextCompat.getColor(this, R.color.onSurface); final var utils = ThemeUtils.of(color, this); for (int i = 0; i < menu.size(); i++) { @@ -282,7 +282,7 @@ public class EditActivity extends AppCompatActivity { if (navigationIcon == null) { DeckLog.error("Expected navigationIcon to be present."); } else { - DrawableCompat.setTint(binding.toolbar.getNavigationIcon(), ContextCompat.getColor(this, R.color.accent)); + DrawableCompat.setTint(binding.toolbar.getNavigationIcon(), ContextCompat.getColor(this, R.color.onSurface)); } final var utils = ThemeUtils.of(color, this); 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 9140e305e..329c6b85f 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 @@ -83,8 +83,8 @@ public class UserAutoCompleteAdapter extends AutoCompleteAdapter<User> { Glide.with(binding.icon.getContext()) .load(account.getAvatarUrl(binding.icon.getResources().getDimensionPixelSize(R.dimen.avatar_size), getItem(position).getUid())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(binding.icon); binding.label.setText(getItem(position).getDisplayname()); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityAdapter.java index a64cf3a44..adcc21dc0 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityAdapter.java @@ -5,24 +5,28 @@ import android.view.MenuInflater; import android.view.ViewGroup; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; +import java.util.ArrayList; import java.util.List; import it.niedermann.nextcloud.deck.databinding.ItemActivityBinding; import it.niedermann.nextcloud.deck.model.ocs.Activity; +import it.niedermann.nextcloud.deck.ui.theme.ThemeUtils; public class CardActivityAdapter extends RecyclerView.Adapter<CardActivityViewHolder> { @NonNull - private final List<Activity> activities; + private final List<Activity> activities = new ArrayList<>(); + @Nullable + private ThemeUtils utils; @NonNull private final MenuInflater menuInflater; @SuppressWarnings("WeakerAccess") - public CardActivityAdapter(@NonNull List<Activity> activities, @NonNull MenuInflater menuInflater) { + public CardActivityAdapter(@NonNull MenuInflater menuInflater) { super(); - this.activities = activities; this.menuInflater = menuInflater; } @@ -34,9 +38,16 @@ public class CardActivityAdapter extends RecyclerView.Adapter<CardActivityViewHo return new CardActivityViewHolder(binding); } + public void setData(@NonNull List<Activity> activities, @NonNull ThemeUtils utils) { + this.activities.clear(); + this.activities.addAll(activities); + this.utils = utils; + this.notifyDataSetChanged(); + } + @Override public void onBindViewHolder(@NonNull CardActivityViewHolder holder, int position) { - holder.bind(activities.get(position), menuInflater); + holder.bind(activities.get(position), menuInflater, utils); } @Override diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java index d301968c4..41d4d0963 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/activities/CardActivityFragment.java @@ -9,6 +9,7 @@ import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; +import it.niedermann.android.reactivelivedata.ReactiveLiveData; import it.niedermann.nextcloud.deck.DeckLog; import it.niedermann.nextcloud.deck.databinding.FragmentCardEditTabActivitiesBinding; import it.niedermann.nextcloud.deck.ui.card.EditCardViewModel; @@ -38,18 +39,22 @@ public class CardActivityFragment extends Fragment implements Themed { return binding.getRoot(); } - viewModel.getBoardColor().observe(getViewLifecycleOwner(), this::applyTheme); + final var adapter = new CardActivityAdapter(requireActivity().getMenuInflater()); + binding.activitiesList.setAdapter(adapter); - viewModel.syncActivitiesForCard(viewModel.getFullCard().getCard()).observe(getViewLifecycleOwner(), (activities -> { - if (activities == null || activities.size() == 0) { - binding.emptyContentView.setVisibility(View.VISIBLE); - binding.activitiesList.setVisibility(View.GONE); - } else { - binding.emptyContentView.setVisibility(View.GONE); - binding.activitiesList.setVisibility(View.VISIBLE); - binding.activitiesList.setAdapter(new CardActivityAdapter(activities, requireActivity().getMenuInflater())); - } - })); + new ReactiveLiveData<>(viewModel.syncActivitiesForCard(viewModel.getFullCard().getCard())) + .combineWith(viewModel::getBoardColor) + .observe(getViewLifecycleOwner(), data -> { + applyTheme(data.second); + if (data.first == null || data.first.size() == 0) { + binding.emptyContentView.setVisibility(View.VISIBLE); + binding.activitiesList.setVisibility(View.GONE); + } else { + binding.emptyContentView.setVisibility(View.GONE); + binding.activitiesList.setVisibility(View.VISIBLE); + } + adapter.setData(data.first, ThemeUtils.of(data.second, requireContext())); + }); return binding.getRoot(); } 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 677c68e9b..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_grey600_36dp); - case TAGGED_WITH_LABEL -> - imageView.setImageResource(R.drawable.type_label_grey600_36dp); - case COMMENT -> imageView.setImageResource(R.drawable.type_comment_grey600_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.grey600); + 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 diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java index 2709e056e..c46ee562d 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java @@ -91,7 +91,7 @@ public class CardAssigneeDialog extends DialogFragment { binding.avatar.post(() -> Glide.with(binding.avatar.getContext()) .load(viewModel.getAccount().getAvatarUrl(binding.avatar.getWidth(), user.getUid())) .placeholder(circularProgressDrawable) - .error(R.drawable.ic_person_grey600_24dp) + .error(R.drawable.ic_person_24dp) .into(binding.avatar)); binding.title.setText(user.getDisplayname()); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsBottomsheetBehaviorCallback.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsBottomsheetBehaviorCallback.java index 473937753..13fc2a676 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsBottomsheetBehaviorCallback.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsBottomsheetBehaviorCallback.java @@ -5,11 +5,11 @@ import static android.view.View.VISIBLE; import static com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_HIDDEN; import android.content.Context; +import android.graphics.Color; import android.view.View; import androidx.activity.OnBackPressedCallback; import androidx.annotation.ColorInt; -import androidx.annotation.ColorRes; import androidx.annotation.DimenRes; import androidx.annotation.NonNull; import androidx.annotation.Px; @@ -43,16 +43,15 @@ public class CardAttachmentsBottomsheetBehaviorCallback extends BottomSheetBehav @NonNull FloatingActionButton fab, @NonNull View pickerBackdrop, @NonNull BottomNavigationView bottomNavigation, - @ColorRes int backdropColorExpanded, - @ColorRes int backdropColorCollapsed, @DimenRes int bottomNavigationHeight ) { this.backPressedCallback = backPressedCallback; this.fab = fab; this.pickerBackdrop = pickerBackdrop; this.bottomNavigation = bottomNavigation; - this.backdropColorExpanded = ContextCompat.getColor(context, backdropColorExpanded); - this.backdropColorCollapsed = ContextCompat.getColor(context, backdropColorCollapsed); + final var color = ContextCompat.getColor(context, android.R.color.black); + this.backdropColorExpanded = Color.argb(127, Color.red(color), Color.green(color), Color.blue(color)); + this.backdropColorCollapsed = ContextCompat.getColor(context, android.R.color.transparent); this.bottomNavigationHeight = context.getResources().getDimensionPixelSize(bottomNavigationHeight); } @@ -75,13 +74,9 @@ public class CardAttachmentsBottomsheetBehaviorCallback extends BottomSheetBehav pickerBackdrop.setBackgroundColor(ArgbEvaluatorCompat.getInstance().evaluate(bottomSheetPercentageShown, backdropColorExpanded, backdropColorCollapsed)); bottomNavigation.setTranslationY(bottomSheetPercentageShown * bottomNavigationHeight); if (slideOffset <= lastOffset && slideOffset != 0) { - if (fab.getVisibility() == GONE) { - fab.show(); - } + fab.show(); } else { - if (fab.getVisibility() == VISIBLE) { - fab.hide(); - } + fab.hide(); } } lastOffset = slideOffset; 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 42906d499..5e20eb6a2 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 @@ -165,8 +165,6 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet binding.fab, binding.pickerBackdrop, binding.bottomNavigation, - R.color.bottom_sheet_backdrop, - android.R.color.transparent, R.dimen.attachments_bottom_navigation_height)); binding.pickerBackdrop.setOnClickListener(v -> mBottomSheetBehaviour.setState(STATE_HIDDEN)); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/ImageAttachmentViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/ImageAttachmentViewHolder.java index 72d942618..fa61859d3 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/ImageAttachmentViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/ImageAttachmentViewHolder.java @@ -43,8 +43,8 @@ public class ImageAttachmentViewHolder extends AttachmentViewHolder { @Nullable final String uri = AttachmentUtil.getThumbnailUrl(account, cardRemoteId, attachment, getPreview().getWidth()); Glide.with(getPreview().getContext()) .load(uri) - .placeholder(R.drawable.ic_image_grey600_24dp) - .error(R.drawable.ic_image_grey600_24dp) + .placeholder(R.drawable.ic_image_24dp) + .error(R.drawable.ic_image_24dp) .into(getPreview()); }); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java index 7630d2d9e..5bdcb1814 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java @@ -52,8 +52,8 @@ public class ContactItemViewHolder extends RecyclerView.ViewHolder { Glide.with(itemView.getContext()) .load(image) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(binding.avatar); } } @@ -61,7 +61,7 @@ public class ContactItemViewHolder extends RecyclerView.ViewHolder { public void bindError() { itemView.setOnClickListener(null); Glide.with(itemView.getContext()) - .load(R.drawable.ic_person_grey600_24dp) + .load(R.drawable.ic_person_24dp) .into(binding.avatar); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileItemViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileItemViewHolder.java index f7d64aca8..2d7bd7016 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileItemViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/FileItemViewHolder.java @@ -1,5 +1,9 @@ package it.niedermann.nextcloud.deck.ui.card.attachments.picker; +import static android.text.format.Formatter.formatFileSize; +import static it.niedermann.nextcloud.deck.util.AttachmentUtil.getIconForMimeType; +import static it.niedermann.nextcloud.deck.util.DateUtil.getRelativeDateTimeString; + import android.net.Uri; import android.util.Pair; @@ -14,10 +18,6 @@ import java.util.function.BiConsumer; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.databinding.ItemAttachmentDefaultBinding; -import static android.text.format.Formatter.formatFileSize; -import static it.niedermann.nextcloud.deck.util.AttachmentUtil.getIconForMimeType; -import static it.niedermann.nextcloud.deck.util.DateUtil.getRelativeDateTimeString; - public class FileItemViewHolder extends RecyclerView.ViewHolder { private final ItemAttachmentDefaultBinding binding; @@ -40,6 +40,6 @@ public class FileItemViewHolder extends RecyclerView.ViewHolder { binding.filesize.setText(null); binding.modified.setText(null); itemView.setOnClickListener(null); - binding.preview.setImageResource(R.drawable.ic_attach_file_grey600_24dp); + binding.preview.setImageResource(R.drawable.ic_attach_file_24dp); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryItemViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryItemViewHolder.java index 402329767..b416c7b6d 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryItemViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryItemViewHolder.java @@ -29,15 +29,15 @@ public class GalleryItemViewHolder extends RecyclerView.ViewHolder { itemView.setOnClickListener((v) -> onSelect.accept(uri, new Pair<>(null, Glide.with(itemView.getContext()).load(image)))); Glide.with(itemView.getContext()) .load(image) - .placeholder(R.drawable.ic_image_grey600_24dp) - .error(R.drawable.ic_image_grey600_24dp) + .placeholder(R.drawable.ic_image_24dp) + .error(R.drawable.ic_image_24dp) .into(binding.preview); } public void bindError() { itemView.setOnClickListener(null); Glide.with(itemView.getContext()) - .load(R.drawable.ic_image_grey600_24dp) + .load(R.drawable.ic_image_24dp) .into(binding.preview); } } 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 caa13cb07..70eec95d7 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 @@ -21,9 +21,11 @@ import androidx.lifecycle.ViewModelProvider; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; +import com.nextcloud.android.common.ui.theme.utils.ColorRole; import com.nextcloud.android.sso.api.EmptyResponse; import java.time.Instant; +import java.util.stream.Stream; import it.niedermann.nextcloud.deck.DeckLog; import it.niedermann.nextcloud.deck.R; @@ -96,8 +98,8 @@ public class CardCommentsFragment extends Fragment implements Themed, CommentEdi Glide.with(binding.avatar.getContext()) .load(editCardViewModel.getAccount().getAvatarUrl(binding.avatar.getResources().getDimensionPixelSize(R.dimen.icon_size_details))) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(binding.avatar); commentsViewModel.getReplyToComment().observe(getViewLifecycleOwner(), (comment) -> { @@ -195,6 +197,14 @@ public class CardCommentsFragment extends Fragment implements Themed, CommentEdi utils.platform.colorViewBackground(binding.addCommentLayout); utils.material.themeFAB(binding.fab); utils.material.colorTextInputLayout(binding.messageWrapper); + + Stream.of( + binding.replyCommentIcon, + binding.replyCommentCancelButton, + binding.mentionProposerIcon + ).forEach(v -> utils.platform.colorImageView(v, ColorRole.SECONDARY)); + + adapter.applyTheme(color); } @Override diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java index fe10f6cfa..b8d8286f5 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java @@ -92,8 +92,8 @@ public class CardCommentsMentionProposer implements TextWatcher { Glide.with(avatar.getContext()) .load(account.getAvatarUrl(avatarSize, user.getUid())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(avatar); } } else { 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 37e9497e4..839b904c0 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 @@ -44,8 +44,8 @@ public class ItemCommentViewHolder extends RecyclerView.ViewHolder { Glide.with(binding.avatar.getContext()) .load(account.getAvatarUrl(binding.avatar.getResources().getDimensionPixelSize(R.dimen.avatar_size), comment.getComment().getActorId())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(binding.avatar); final var mentions = new HashMap<String, String>(comment.getComment().getMentions().size()); @@ -88,9 +88,6 @@ public class ItemCommentViewHolder extends RecyclerView.ViewHolder { }); TooltipCompat.setTooltipText(binding.creationDateTime, comment.getComment().getCreationDateTime().atZone(ZoneId.systemDefault()).format(dateFormatter)); - if (utils != null) { - utils.platform.colorImageView(binding.notSyncedYet, ColorRole.PRIMARY); - } binding.notSyncedYet.setVisibility(DBStatus.LOCAL_EDITED.equals(comment.getStatusEnum()) ? View.VISIBLE : View.GONE); if (comment.getParent() == null) { @@ -98,9 +95,6 @@ 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); - if (utils != null) { - utils.platform.colorViewBackground(binding.parentBorder); - } binding.parent.setText(comment.getParent().getMessage()); binding.parent.setOnClickListener((v) -> { final boolean previouslyCollapsed = binding.parent.getMaxLines() == commentParentMaxLines; @@ -111,6 +105,16 @@ public class ItemCommentViewHolder extends RecyclerView.ViewHolder { binding.parent.setMaxLines(previouslyCollapsed ? Integer.MAX_VALUE : commentParentMaxLines); }); } + + if (utils != null) { + utils.platform.colorViewBackground(binding.parentBorder, ColorRole.SECONDARY); + utils.platform.colorTextView(binding.parent, ColorRole.ON_SURFACE_VARIANT); + + utils.platform.colorImageView(binding.notSyncedYet, ColorRole.PRIMARY); + utils.platform.colorTextView(binding.actorDisplayName, ColorRole.ON_SURFACE); + utils.platform.colorTextView(binding.creationDateTime, ColorRole.ON_SURFACE_VARIANT); + utils.platform.colorTextView(binding.message, ColorRole.ON_SURFACE); + } } public void unbind() { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/AssigneeViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/AssigneeViewHolder.java index 8148ff783..a7420ec69 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/AssigneeViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/AssigneeViewHolder.java @@ -26,8 +26,8 @@ public class AssigneeViewHolder extends RecyclerView.ViewHolder { Glide.with(binding.avatar.getContext()) .load(account.getAvatarUrl(binding.avatar.getResources().getDimensionPixelSize(R.dimen.avatar_size), user.getUid())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(binding.avatar); if (onClickListener != null) { itemView.setOnClickListener((v) -> onClickListener.accept(user)); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java index 1c1f737a9..e2f43d696 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java @@ -149,10 +149,10 @@ public class CardDetailsFragment extends Fragment implements CardDueDateView.Due viewModel.getDescriptionMode().observe(getViewLifecycleOwner(), (isPreviewMode) -> { if (isPreviewMode) { toggleEditorView(binding.descriptionViewer, binding.descriptionEditorWrapper, binding.descriptionViewer); - binding.descriptionToggle.setImageResource(R.drawable.ic_edit_grey600_24dp); + binding.descriptionToggle.setImageResource(R.drawable.ic_edit_24dp); } else { toggleEditorView(binding.descriptionEditorWrapper, binding.descriptionViewer, binding.descriptionEditor); - binding.descriptionToggle.setImageResource(R.drawable.ic_baseline_eye_24); + binding.descriptionToggle.setImageResource(R.drawable.ic_eye_24); } }); binding.descriptionToggle.setOnClickListener((v) -> viewModel.toggleDescriptionPreviewMode()); @@ -267,7 +267,7 @@ public class CardDetailsFragment extends Fragment implements CardDueDateView.Due final var chip = new Chip(requireContext()); chip.setText(label.getTitle()); if (viewModel.canEdit()) { - chip.setCloseIcon(ContextCompat.getDrawable(requireContext(), R.drawable.ic_close_circle_grey600)); + chip.setCloseIcon(ContextCompat.getDrawable(requireContext(), R.drawable.ic_close_circle)); chip.setCloseIconVisible(true); chip.setOnCloseIconClickListener(v -> { binding.labelsGroup.removeView(chip); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java index d3b39caff..bb4e27473 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java @@ -44,7 +44,7 @@ public class FilterDialogFragment extends ThemedDialogFragment { final var context = requireContext(); - indicator = ContextCompat.getDrawable(context, R.drawable.circle_grey600_8dp); + indicator = ContextCompat.getDrawable(context, R.drawable.circle_8dp); filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java index ef8ce7c4d..bb17d6e83 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java @@ -95,9 +95,9 @@ public class FilterLabelsAdapter extends RecyclerView.Adapter<FilterLabelsAdapte public void bindNotAssigned() { binding.label.setText(itemView.getContext().getString(R.string.no_assigned_label)); - binding.label.setTextColor(ColorStateList.valueOf(ContextCompat.getColor(itemView.getContext(), R.color.accent))); - binding.label.setChipIcon(ContextCompat.getDrawable(itemView.getContext(), R.drawable.ic_baseline_block_24)); - binding.label.setChipBackgroundColor(ColorStateList.valueOf(ContextCompat.getColor(itemView.getContext(), R.color.primary))); + binding.label.setTextColor(ColorStateList.valueOf(ContextCompat.getColor(itemView.getContext(), R.color.onSurface))); + binding.label.setChipIcon(ContextCompat.getDrawable(itemView.getContext(), R.drawable.ic_block_24)); + binding.label.setChipBackgroundColor(ColorStateList.valueOf(ContextCompat.getColor(itemView.getContext(), R.color.surface))); binding.label.setRippleColor(null); itemView.setSelected(selectedLabels.contains(NOT_ASSIGNED)); applyTheme(color); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserAdapter.java index 1657efdff..cdd22b961 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserAdapter.java @@ -90,8 +90,8 @@ public class FilterUserAdapter extends RecyclerView.Adapter<FilterUserAdapter.Us Glide.with(binding.avatar.getContext()) .load(account.getAvatarUrl(binding.avatar.getResources().getDimensionPixelSize(R.dimen.avatar_size), user.getUid())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .into(binding.avatar); itemView.setSelected(selectedUsers.contains(user)); applyTheme(color); @@ -101,7 +101,7 @@ public class FilterUserAdapter extends RecyclerView.Adapter<FilterUserAdapter.Us public void bindNotAssigned() { binding.title.setText(itemView.getContext().getString(R.string.simple_unassigned)); Glide.with(itemView.getContext()) - .load(R.drawable.ic_baseline_block_24) + .load(R.drawable.ic_block_24) .into(binding.avatar); itemView.setSelected(selectedUsers.contains(NOT_ASSIGNED)); applyTheme(color); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/DrawerMenuInflater.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/DrawerMenuInflater.java index f85a5e490..70a3d1531 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/DrawerMenuInflater.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/DrawerMenuInflater.java @@ -49,7 +49,7 @@ public class DrawerMenuInflater<T extends FragmentActivity & ArchiveBoardListene final var navigationMap = new HashMap<Integer, Long>(); menu.clear(); - menu.add(Menu.NONE, MENU_ID_UPCOMING_CARDS, Menu.NONE, R.string.widget_upcoming_title).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.calendar_blank_grey600_24dp)); + menu.add(Menu.NONE, MENU_ID_UPCOMING_CARDS, Menu.NONE, R.string.widget_upcoming_title).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.calendar_blank_24dp)); int index = 0; for (final var fullBoard : fullBoards) { @@ -99,7 +99,7 @@ public class DrawerMenuInflater<T extends FragmentActivity & ArchiveBoardListene } else if (fullBoard.getBoard().isPermissionShare()) { final var contextMenu = new AppCompatImageButton(activity); contextMenu.setBackgroundDrawable(null); - contextMenu.setImageDrawable(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_share_grey600_18dp)); + contextMenu.setImageDrawable(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_share_18dp)); contextMenu.setOnClickListener((v) -> AccessControlDialogFragment.newInstance(account, fullBoard.getLocalId()).show(activity.getSupportFragmentManager(), AccessControlDialogFragment.class.getSimpleName())); menuItem.setActionView(contextMenu); } @@ -107,15 +107,15 @@ public class DrawerMenuInflater<T extends FragmentActivity & ArchiveBoardListene } if (hasArchivedBoards) { - menu.add(Menu.NONE, MENU_ID_ARCHIVED_BOARDS, Menu.NONE, R.string.archived_boards).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_archive_white_24dp)); + menu.add(Menu.NONE, MENU_ID_ARCHIVED_BOARDS, Menu.NONE, R.string.archived_boards).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_archive_24dp)); } if (currentServerVersionIsSupported) { - menu.add(Menu.NONE, MENU_ID_ADD_BOARD, Menu.NONE, R.string.add_board).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_add_grey_24dp)); + menu.add(Menu.NONE, MENU_ID_ADD_BOARD, Menu.NONE, R.string.add_board).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_add_24dp)); } - menu.add(Menu.NONE, MENU_ID_SETTINGS, Menu.NONE, R.string.simple_settings).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_settings_grey600_24dp)); - menu.add(Menu.NONE, MENU_ID_ABOUT, Menu.NONE, R.string.about).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_info_outline_grey600_24dp)); + menu.add(Menu.NONE, MENU_ID_SETTINGS, Menu.NONE, R.string.simple_settings).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_settings_24dp)); + menu.add(Menu.NONE, MENU_ID_ABOUT, Menu.NONE, R.string.about).setIcon(utils.deck.themeNavigationViewIcon(activity, R.drawable.ic_info_outline_24dp)); return navigationMap; } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java index 4388d0ae3..a9cae64de 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java @@ -16,7 +16,6 @@ import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.widget.PopupMenu; import androidx.activity.OnBackPressedCallback; import androidx.activity.result.ActivityResultLauncher; @@ -28,6 +27,7 @@ import androidx.annotation.Nullable; import androidx.annotation.UiThread; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.PopupMenu; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.core.graphics.drawable.DrawableCompat; @@ -326,8 +326,8 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen .with(binding.toolbar.getContext()) .load(account.getAvatarUrl(binding.toolbar.getMenu().findItem(R.id.avatar).getIcon().getIntrinsicWidth())) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_baseline_account_circle_24) - .error(R.drawable.ic_baseline_account_circle_24) + .placeholder(R.drawable.ic_account_circle_24) + .error(R.drawable.ic_account_circle_24) .into(new CustomTarget<Drawable>() { @Override public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/search/SearchCardViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/search/SearchCardViewHolder.java index 29a7373d1..8ca2a9841 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/search/SearchCardViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/search/SearchCardViewHolder.java @@ -65,8 +65,8 @@ public class SearchCardViewHolder extends SearchViewHolder { new CenterCrop(), new RoundedCorners(context.getResources().getDimensionPixelSize(R.dimen.spacer_1x)) )) - .placeholder(R.drawable.ic_image_grey600_24dp) - .error(R.drawable.ic_image_grey600_24dp) + .placeholder(R.drawable.ic_image_24dp) + .error(R.drawable.ic_image_24dp) .into(binding.coverImages)); } else { binding.coverImages.setVisibility(View.GONE); @@ -107,5 +107,6 @@ public class SearchCardViewHolder extends SearchViewHolder { utils.platform.colorTextView(binding.title, ColorRole.ON_SURFACE); utils.platform.highlightText(binding.title, binding.title.getText().toString(), term); utils.platform.highlightText(binding.description, binding.description.getText().toString(), term); + utils.platform.colorImageView(binding.cardMenu, ColorRole.ON_SURFACE_VARIANT); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountViewHolder.java index 10249fc5b..2ee0b1451 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountViewHolder.java @@ -14,6 +14,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; +import com.nextcloud.android.common.ui.theme.utils.ColorRole; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.databinding.ItemAccountChooseBinding; @@ -39,8 +40,8 @@ public class ManageAccountViewHolder extends RecyclerView.ViewHolder { Glide.with(itemView.getContext()) .load(account.getAvatarUrl(binding.accountItemAvatar.getResources().getDimensionPixelSize(R.dimen.avatar_size))) .apply(RequestOptions.circleCropTransform()) - .placeholder(R.drawable.ic_baseline_account_circle_24) - .error(R.drawable.ic_baseline_account_circle_24) + .placeholder(R.drawable.ic_account_circle_24) + .error(R.drawable.ic_account_circle_24) .into(binding.accountItemAvatar); binding.currentAccountIndicator.setSelected(isCurrentAccount); itemView.setOnClickListener((v) -> onAccountClick.accept(account)); @@ -58,5 +59,8 @@ public class ManageAccountViewHolder extends RecyclerView.ViewHolder { final var utils = ThemeUtils.of(account.getColor(), itemView.getContext()); utils.deck.themeSelectedCheck(binding.currentAccountIndicator.getContext(), binding.currentAccountIndicator.getDrawable()); + utils.platform.colorImageView(binding.delete, ColorRole.ON_SURFACE); + utils.platform.colorTextView(binding.accountName, ColorRole.ON_SURFACE); + utils.platform.colorTextView(binding.accountHost, ColorRole.ON_SURFACE_VARIANT); } } 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 b4c282c97..42c3cce17 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 @@ -127,7 +127,7 @@ public class MoveCardDialogFragment extends DialogFragment implements Themed, Pi this.selectedStack = stack; applyTheme(board == null - ? ContextCompat.getColor(requireContext(), R.color.accent) + ? ContextCompat.getColor(requireContext(), R.color.onSurface) : board.getColor() ); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java index 279540b72..dea4c07c0 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java @@ -49,8 +49,8 @@ public class AccountAdapter extends AbstractAdapter<Account> { Glide.with(getContext()) .load(account.getAvatarUrl(binding.avatar.getResources().getDimensionPixelSize(R.dimen.avatar_size))) - .placeholder(R.drawable.ic_baseline_account_circle_24) - .error(R.drawable.ic_baseline_account_circle_24) + .placeholder(R.drawable.ic_account_circle_24) + .error(R.drawable.ic_account_circle_24) .apply(RequestOptions.circleCropTransform()) .into(binding.avatar); } else { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java index 1456b159d..61bc0c48a 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java @@ -21,15 +21,14 @@ import androidx.camera.lifecycle.ProcessCameraProvider; import androidx.core.content.ContextCompat; import androidx.lifecycle.ViewModelProvider; -import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.common.util.concurrent.ListenableFuture; import java.io.File; import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.util.Arrays; import java.util.concurrent.ExecutionException; +import java.util.stream.Stream; import it.niedermann.android.reactivelivedata.ReactiveLiveData; import it.niedermann.nextcloud.deck.DeckLog; @@ -44,8 +43,6 @@ public class TakePhotoActivity extends AppCompatActivity { private ActivityTakePhotoBinding binding; private TakePhotoViewModel viewModel; - private FloatingActionButton[] brandedFABs; - private ListenableFuture<ProcessCameraProvider> cameraProviderFuture; private OrientationEventListener orientationEventListener; @@ -92,8 +89,6 @@ public class TakePhotoActivity extends AppCompatActivity { finish(); } }, ContextCompat.getMainExecutor(this)); - - brandedFABs = new FloatingActionButton[]{binding.takePhoto, binding.switchCamera, binding.toggleTorch}; } private ImageCapture getCaptureUseCase() { @@ -186,6 +181,7 @@ public class TakePhotoActivity extends AppCompatActivity { private void applyBoardColorBrand(int color) { final var utils = ThemeUtils.of(color, this); - Arrays.stream(brandedFABs).forEach(utils.material::themeFAB); + Stream.of(binding.takePhoto).forEach(utils.material::themeFAB); + Stream.of(binding.switchCamera, binding.toggleTorch).forEach(utils.deck::themeSecondaryFAB); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java index ff12de766..a6375c9f8 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java @@ -19,7 +19,7 @@ public class TakePhotoViewModel extends BaseViewModel { @NonNull private CameraSelector cameraSelector = DEFAULT_BACK_CAMERA; @NonNull - private final MutableLiveData<Integer> cameraSelectorToggleButtonImageResource = new MutableLiveData<>(R.drawable.ic_baseline_camera_front_24); + private final MutableLiveData<Integer> cameraSelectorToggleButtonImageResource = new MutableLiveData<>(R.drawable.ic_camera_front_24); @NonNull private final MutableLiveData<Boolean> torchEnabled = new MutableLiveData<>(false); @@ -51,10 +51,10 @@ public class TakePhotoViewModel extends BaseViewModel { public void toggleCameraSelector() { if (this.cameraSelector == DEFAULT_BACK_CAMERA) { this.cameraSelector = DEFAULT_FRONT_CAMERA; - this.cameraSelectorToggleButtonImageResource.postValue(R.drawable.ic_baseline_camera_rear_24); + this.cameraSelectorToggleButtonImageResource.postValue(R.drawable.ic_camera_rear_24); } else { this.cameraSelector = DEFAULT_BACK_CAMERA; - this.cameraSelectorToggleButtonImageResource.postValue(R.drawable.ic_baseline_camera_front_24); + this.cameraSelectorToggleButtonImageResource.postValue(R.drawable.ic_camera_front_24); } } @@ -70,7 +70,7 @@ public class TakePhotoViewModel extends BaseViewModel { public LiveData<Integer> getTorchToggleButtonImageResource() { return new ReactiveLiveData<>(isTorchEnabled()) .map(enabled -> enabled - ? R.drawable.ic_baseline_flash_off_24 - : R.drawable.ic_baseline_flash_on_24); + ? R.drawable.ic_flash_off_24 + : R.drawable.ic_flash_on_24); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java index d2dff1ae4..9fb7ea74d 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java @@ -5,6 +5,7 @@ import static com.nextcloud.android.common.ui.util.PlatformThemeUtil.isDarkMode; import android.content.Context; import android.content.res.ColorStateList; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.graphics.drawable.StateListDrawable; @@ -24,6 +25,7 @@ import androidx.core.content.res.ResourcesCompat; import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.widget.TextViewCompat; +import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.search.SearchBar; import com.google.android.material.search.SearchView; import com.google.android.material.tabs.TabLayout; @@ -90,7 +92,7 @@ public class DeckViewThemeUtils extends ViewThemeUtilsBase { public void themeEmptyContentView(@NonNull EmptyContentView emptyContentView) { withScheme(emptyContentView.getContext(), scheme -> { - platform.colorImageView(emptyContentView.getImage(), ColorRole.SURFACE_VARIANT); + platform.colorImageView(emptyContentView.getImage(), ColorRole.ON_SURFACE_VARIANT); platform.colorTextView(emptyContentView.getTitle(), ColorRole.ON_BACKGROUND); platform.colorTextView(emptyContentView.getDescription(), ColorRole.ON_BACKGROUND); return emptyContentView; @@ -134,7 +136,7 @@ public class DeckViewThemeUtils extends ViewThemeUtilsBase { */ @Nullable public Drawable getColoredBoardDrawable(@NonNull Context context, @ColorInt int boardColor) { - final var drawable = ResourcesCompat.getDrawable(context.getResources(), R.drawable.circle_grey600_36dp, null); + final var drawable = ResourcesCompat.getDrawable(context.getResources(), R.drawable.circle_36dp, null); return drawable == null ? null : platform.colorDrawable(drawable, boardColor); } @@ -213,4 +215,23 @@ public class DeckViewThemeUtils extends ViewThemeUtilsBase { public static void setImageColor(@NonNull Context context, @NonNull ImageView imageView, @ColorRes int colorRes) { imageView.setImageTintList(ColorStateList.valueOf(ContextCompat.getColor(context, colorRes))); } + + /** + * @see <a href="https://github.com/nextcloud/android-common/pull/250">Upstream Pull Request</a> + */ + @Deprecated(forRemoval = true) + public void themeSecondaryFAB(@NonNull FloatingActionButton fab) { + withScheme(fab.getContext(), scheme -> { + fab.setBackgroundTintList(buildColorStateList( + new Pair<>(android.R.attr.state_enabled, scheme.getSecondaryContainer()), + new Pair<>(-android.R.attr.state_enabled, Color.GRAY) + )); + + fab.setImageTintList(buildColorStateList( + new Pair<>(android.R.attr.state_enabled, scheme.getOnSecondaryContainer()), + new Pair<>(-android.R.attr.state_enabled, Color.GRAY) + )); + return fab; + }); + } }
\ No newline at end of file diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeleteAlertDialogBuilder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeleteAlertDialogBuilder.java index 2b5543e59..06b82c6b7 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeleteAlertDialogBuilder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeleteAlertDialogBuilder.java @@ -31,7 +31,7 @@ public class DeleteAlertDialogBuilder extends MaterialAlertDialogBuilder { public void applyTheme() { final var positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE); if (positiveButton != null) { - positiveButton.setTextColor(ContextCompat.getColor(getContext(), R.color.danger)); + positiveButton.setTextColor(ContextCompat.getColor(getContext(), R.color.error)); } } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java index a653feac8..131fca77d 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java @@ -59,7 +59,7 @@ public class ColorChooser extends LinearLayout { image.setLayoutParams(params); image.setOnClickListener((imageView) -> { if (previouslySelectedImageView != null) { // null when first selection - previouslySelectedImageView.setImageDrawable(DeckViewThemeUtils.getTintedImageView(this.context, R.drawable.circle_grey600_36dp, previouslySelectedColor)); + previouslySelectedImageView.setImageDrawable(DeckViewThemeUtils.getTintedImageView(this.context, R.drawable.circle_36dp, previouslySelectedColor)); } image.setImageDrawable(DeckViewThemeUtils.getTintedImageView(this.context, R.drawable.circle_alpha_check_36dp, color)); selectedColor = color; @@ -69,7 +69,7 @@ public class ColorChooser extends LinearLayout { binding.customColorPicker.setVisibility(View.GONE); binding.brightnessSlide.setVisibility(View.GONE); }); - image.setImageDrawable(DeckViewThemeUtils.getTintedImageView(this.context, R.drawable.circle_grey600_36dp, color)); + image.setImageDrawable(DeckViewThemeUtils.getTintedImageView(this.context, R.drawable.circle_36dp, color)); binding.colorPicker.addView(image, binding.colorPicker.getChildCount() - 1); } @@ -78,14 +78,14 @@ public class ColorChooser extends LinearLayout { binding.customColorPicker.setVisibility(View.VISIBLE); binding.brightnessSlide.setVisibility(View.VISIBLE); if (previouslySelectedImageView != null) { - previouslySelectedImageView.setImageDrawable(DeckViewThemeUtils.getTintedImageView(context, R.drawable.circle_grey600_36dp, selectedColor)); + previouslySelectedImageView.setImageDrawable(DeckViewThemeUtils.getTintedImageView(context, R.drawable.circle_36dp, selectedColor)); previouslySelectedImageView = null; } }); binding.customColorPicker.setColorListener((ColorEnvelopeListener) (envelope, fromUser) -> { if (previouslySelectedImageView != null) { - previouslySelectedImageView.setImageDrawable(DeckViewThemeUtils.getTintedImageView(this.context, R.drawable.circle_grey600_36dp, previouslySelectedColor)); + previouslySelectedImageView.setImageDrawable(DeckViewThemeUtils.getTintedImageView(this.context, R.drawable.circle_36dp, previouslySelectedColor)); previouslySelectedImageView = null; } @ColorInt diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java index 4c52ffc1a..dd874045f 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java @@ -48,7 +48,7 @@ public class OverlappingAvatars extends RelativeLayout { overlapPx = resources.getDimensionPixelSize(R.dimen.avatar_size_small_overlapping); borderDrawable = ContextCompat.getDrawable(context, R.drawable.avatar_border); assert borderDrawable != null; - DrawableCompat.setTint(borderDrawable, ContextCompat.getColor(context, R.color.bg_card)); + DrawableCompat.setTint(borderDrawable, ContextCompat.getColor(context, R.color.colorSurfaceContainer)); } public void setAvatars(@NonNull Account account, @NonNull List<User> assignedUsers) { @@ -70,8 +70,8 @@ public class OverlappingAvatars extends RelativeLayout { avatar.requestLayout(); Glide.with(context) .load(account.getAvatarUrl(avatarSize, assignedUsers.get(avatarCount).getUid())) - .placeholder(R.drawable.ic_person_grey600_24dp) - .error(R.drawable.ic_person_grey600_24dp) + .placeholder(R.drawable.ic_person_24dp) + .error(R.drawable.ic_person_24dp) .apply(RequestOptions.circleCropTransform()) .into(avatar); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/singlecard/SingleCardWidget.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/singlecard/SingleCardWidget.java index f674047cc..86324c6d1 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/singlecard/SingleCardWidget.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/singlecard/SingleCardWidget.java @@ -95,7 +95,7 @@ public class SingleCardWidget extends AppWidgetProvider { } else { views.setViewVisibility(R.id.card_count_attachments, View.VISIBLE); views.setViewVisibility(R.id.card_count_attachments_image, View.VISIBLE); - views.setImageViewResource(R.id.card_count_attachments_image, R.drawable.ic_attach_file_grey600_24dp); + views.setImageViewResource(R.id.card_count_attachments_image, R.drawable.ic_attach_file_24dp); setupCounter(views, R.id.card_count_attachments, attachmentsCount, counterMaxValue); } @@ -106,7 +106,7 @@ public class SingleCardWidget extends AppWidgetProvider { } else { views.setViewVisibility(R.id.card_count_comments, View.VISIBLE); views.setViewVisibility(R.id.card_count_comments_image, View.VISIBLE); - views.setImageViewResource(R.id.card_count_comments_image, R.drawable.ic_comment_white_24dp); + views.setImageViewResource(R.id.card_count_comments_image, R.drawable.ic_comment_24dp); setupCounter(views, R.id.card_count_comments, commentsCount, counterMaxValue); } @@ -115,7 +115,7 @@ public class SingleCardWidget extends AppWidgetProvider { views.setViewVisibility(R.id.card_count_tasks, View.VISIBLE); views.setViewVisibility(R.id.card_count_tasks_image, View.VISIBLE); views.setTextViewText(R.id.card_count_tasks, context.getResources().getString(R.string.task_count, String.valueOf(taskStatus.doneCount), String.valueOf(taskStatus.taskCount))); - views.setImageViewResource(R.id.card_count_tasks_image, R.drawable.ic_check_grey600_24dp); + views.setImageViewResource(R.id.card_count_tasks_image, R.drawable.ic_check_24dp); } else { views.setViewVisibility(R.id.card_count_tasks, View.GONE); views.setViewVisibility(R.id.card_count_tasks_image, View.GONE); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java index db83a17f0..e510a237e 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java @@ -132,17 +132,17 @@ public class AttachmentUtil { @DrawableRes public static int getIconForMimeType(@NonNull String mimeType) { if (TextUtils.isEmpty(mimeType)) { - return R.drawable.ic_attach_file_grey600_24dp; + return R.drawable.ic_attach_file_24dp; } else if (MimeTypeUtil.isAudio(mimeType)) { - return R.drawable.ic_music_note_grey600_24dp; + return R.drawable.ic_music_note_24dp; } else if (MimeTypeUtil.isVideo(mimeType)) { - return R.drawable.ic_local_movies_grey600_24dp; + return R.drawable.ic_local_movies_24dp; } else if (MimeTypeUtil.isPdf(mimeType)) { - return R.drawable.ic_baseline_picture_as_pdf_24; + return R.drawable.ic_picture_as_pdf_24; } else if (MimeTypeUtil.isContact(mimeType)) { - return R.drawable.ic_baseline_contact_mail_24; + return R.drawable.ic_contact_mail_24; } else { - return R.drawable.ic_attach_file_grey600_24dp; + return R.drawable.ic_attach_file_24dp; } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java index 664407d72..80a0dfe83 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java @@ -33,7 +33,7 @@ public class SpannableUtil { public static SpannableString disabled(@NonNull CharSequence text, @NonNull Context context) { final var spannable = new SpannableString(text); spannable.setSpan(new StyleSpan(Typeface.ITALIC), 0, spannable.length(), 0); - spannable.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.fg_secondary)), 0, spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + spannable.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.onSurfaceVariant)), 0, spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); return spannable; } |