mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-05 22:05:11 +00:00
theme contact chat messages for Material 3
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
parent
ed452f1747
commit
bb4f073eb3
app/src/main
java/com/nextcloud/talk
adapters/messages
IncomingPreviewMessageViewHolder.javaMagicPreviewMessageViewHolder.javaOutcomingPreviewMessageViewHolder.java
ui/theme
res/layout
@ -26,6 +26,7 @@ import android.view.View;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.databinding.ItemCustomIncomingPreviewMessageBinding;
|
||||
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding;
|
||||
@ -73,7 +74,7 @@ public class IncomingPreviewMessageViewHolder extends MagicPreviewMessageViewHol
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getPreviewContactContainer() {
|
||||
public MaterialCardView getPreviewContactContainer() {
|
||||
return binding.contactContainer;
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,7 @@ import android.widget.PopupMenu;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.components.filebrowser.models.BrowserFile;
|
||||
@ -169,6 +170,9 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
||||
progressBar = getPreviewContactProgressBar();
|
||||
getMessageText().setVisibility(View.INVISIBLE);
|
||||
clickView = getPreviewContactContainer();
|
||||
viewThemeUtils.colorContactChatItemBackground(getPreviewContactContainer());
|
||||
viewThemeUtils.colorContactChatItemName(getPreviewContactName());
|
||||
viewThemeUtils.colorCircularProgressBarOnPrimaryContainer(getPreviewContactProgressBar());
|
||||
} else {
|
||||
getPreviewContainer().setVisibility(View.VISIBLE);
|
||||
getPreviewContactContainer().setVisibility(View.GONE);
|
||||
@ -362,7 +366,7 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
||||
|
||||
public abstract View getPreviewContainer();
|
||||
|
||||
public abstract View getPreviewContactContainer();
|
||||
public abstract MaterialCardView getPreviewContactContainer();
|
||||
|
||||
public abstract SimpleDraweeView getPreviewContactPhoto();
|
||||
|
||||
|
@ -26,6 +26,7 @@ import android.view.View;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import com.nextcloud.talk.R;
|
||||
import com.nextcloud.talk.databinding.ItemCustomOutcomingPreviewMessageBinding;
|
||||
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding;
|
||||
@ -74,7 +75,7 @@ public class OutcomingPreviewMessageViewHolder extends MagicPreviewMessageViewHo
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getPreviewContactContainer() {
|
||||
public MaterialCardView getPreviewContactContainer() {
|
||||
return binding.contactContainer;
|
||||
}
|
||||
|
||||
|
@ -125,6 +125,12 @@ class ViewThemeUtils @Inject constructor(private val theme: ServerTheme, private
|
||||
}
|
||||
}
|
||||
|
||||
fun colorViewBackground(view: View) {
|
||||
withScheme(view) { scheme ->
|
||||
view.setBackgroundColor(scheme.surface)
|
||||
}
|
||||
}
|
||||
|
||||
fun colorToolbarMenuIcon(context: Context, item: MenuItem) {
|
||||
withScheme(context) { scheme ->
|
||||
item.icon.setColorFilter(scheme.onSurface, PorterDuff.Mode.SRC_ATOP)
|
||||
@ -468,6 +474,24 @@ class ViewThemeUtils @Inject constructor(private val theme: ServerTheme, private
|
||||
}
|
||||
}
|
||||
|
||||
fun colorContactChatItemName(contactName: androidx.emoji.widget.EmojiTextView) {
|
||||
withScheme(contactName) { scheme ->
|
||||
contactName.setTextColor(scheme.onPrimaryContainer)
|
||||
}
|
||||
}
|
||||
|
||||
fun colorContactChatItemBackground(card: MaterialCardView) {
|
||||
withScheme(card) { scheme ->
|
||||
card.setCardBackgroundColor(scheme.primaryContainer)
|
||||
}
|
||||
}
|
||||
|
||||
fun colorCircularProgressBarOnPrimaryContainer(progressBar: ProgressBar) {
|
||||
withScheme(progressBar) { scheme ->
|
||||
progressBar.indeterminateDrawable.setColorFilter(scheme.onPrimaryContainer, PorterDuff.Mode.SRC_ATOP)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO split this util into classes depending on framework views vs library views
|
||||
fun colorPreferenceCategory(category: MaterialPreferenceCategory) {
|
||||
withScheme(category) { scheme ->
|
||||
|
@ -87,7 +87,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="2dp"
|
||||
android:layout_marginBottom="1dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardCornerRadius="@dimen/dialogBorderRadius"
|
||||
app:cardElevation="2dp"
|
||||
app:layout_alignSelf="flex_start"
|
||||
app:layout_flexGrow="1"
|
||||
|
@ -77,7 +77,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="2dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardCornerRadius="@dimen/dialogBorderRadius"
|
||||
app:cardElevation="2dp"
|
||||
app:layout_alignSelf="flex_start"
|
||||
app:layout_flexGrow="1"
|
||||
|
Loading…
Reference in New Issue
Block a user