mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 03:59:35 +01: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
@ -26,6 +26,7 @@ import android.view.View;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
|
||||||
import com.facebook.drawee.view.SimpleDraweeView;
|
import com.facebook.drawee.view.SimpleDraweeView;
|
||||||
|
import com.google.android.material.card.MaterialCardView;
|
||||||
import com.nextcloud.talk.R;
|
import com.nextcloud.talk.R;
|
||||||
import com.nextcloud.talk.databinding.ItemCustomIncomingPreviewMessageBinding;
|
import com.nextcloud.talk.databinding.ItemCustomIncomingPreviewMessageBinding;
|
||||||
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding;
|
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding;
|
||||||
@ -73,7 +74,7 @@ public class IncomingPreviewMessageViewHolder extends MagicPreviewMessageViewHol
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getPreviewContactContainer() {
|
public MaterialCardView getPreviewContactContainer() {
|
||||||
return binding.contactContainer;
|
return binding.contactContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ import android.widget.PopupMenu;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
|
||||||
import com.facebook.drawee.view.SimpleDraweeView;
|
import com.facebook.drawee.view.SimpleDraweeView;
|
||||||
|
import com.google.android.material.card.MaterialCardView;
|
||||||
import com.nextcloud.talk.R;
|
import com.nextcloud.talk.R;
|
||||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||||
import com.nextcloud.talk.components.filebrowser.models.BrowserFile;
|
import com.nextcloud.talk.components.filebrowser.models.BrowserFile;
|
||||||
@ -169,6 +170,9 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
|||||||
progressBar = getPreviewContactProgressBar();
|
progressBar = getPreviewContactProgressBar();
|
||||||
getMessageText().setVisibility(View.INVISIBLE);
|
getMessageText().setVisibility(View.INVISIBLE);
|
||||||
clickView = getPreviewContactContainer();
|
clickView = getPreviewContactContainer();
|
||||||
|
viewThemeUtils.colorContactChatItemBackground(getPreviewContactContainer());
|
||||||
|
viewThemeUtils.colorContactChatItemName(getPreviewContactName());
|
||||||
|
viewThemeUtils.colorCircularProgressBarOnPrimaryContainer(getPreviewContactProgressBar());
|
||||||
} else {
|
} else {
|
||||||
getPreviewContainer().setVisibility(View.VISIBLE);
|
getPreviewContainer().setVisibility(View.VISIBLE);
|
||||||
getPreviewContactContainer().setVisibility(View.GONE);
|
getPreviewContactContainer().setVisibility(View.GONE);
|
||||||
@ -362,7 +366,7 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
|||||||
|
|
||||||
public abstract View getPreviewContainer();
|
public abstract View getPreviewContainer();
|
||||||
|
|
||||||
public abstract View getPreviewContactContainer();
|
public abstract MaterialCardView getPreviewContactContainer();
|
||||||
|
|
||||||
public abstract SimpleDraweeView getPreviewContactPhoto();
|
public abstract SimpleDraweeView getPreviewContactPhoto();
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ import android.view.View;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
|
||||||
import com.facebook.drawee.view.SimpleDraweeView;
|
import com.facebook.drawee.view.SimpleDraweeView;
|
||||||
|
import com.google.android.material.card.MaterialCardView;
|
||||||
import com.nextcloud.talk.R;
|
import com.nextcloud.talk.R;
|
||||||
import com.nextcloud.talk.databinding.ItemCustomOutcomingPreviewMessageBinding;
|
import com.nextcloud.talk.databinding.ItemCustomOutcomingPreviewMessageBinding;
|
||||||
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding;
|
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding;
|
||||||
@ -74,7 +75,7 @@ public class OutcomingPreviewMessageViewHolder extends MagicPreviewMessageViewHo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getPreviewContactContainer() {
|
public MaterialCardView getPreviewContactContainer() {
|
||||||
return binding.contactContainer;
|
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) {
|
fun colorToolbarMenuIcon(context: Context, item: MenuItem) {
|
||||||
withScheme(context) { scheme ->
|
withScheme(context) { scheme ->
|
||||||
item.icon.setColorFilter(scheme.onSurface, PorterDuff.Mode.SRC_ATOP)
|
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
|
// TODO split this util into classes depending on framework views vs library views
|
||||||
fun colorPreferenceCategory(category: MaterialPreferenceCategory) {
|
fun colorPreferenceCategory(category: MaterialPreferenceCategory) {
|
||||||
withScheme(category) { scheme ->
|
withScheme(category) { scheme ->
|
||||||
|
@ -87,7 +87,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="2dp"
|
android:layout_margin="2dp"
|
||||||
android:layout_marginBottom="1dp"
|
android:layout_marginBottom="1dp"
|
||||||
app:cardCornerRadius="8dp"
|
app:cardCornerRadius="@dimen/dialogBorderRadius"
|
||||||
app:cardElevation="2dp"
|
app:cardElevation="2dp"
|
||||||
app:layout_alignSelf="flex_start"
|
app:layout_alignSelf="flex_start"
|
||||||
app:layout_flexGrow="1"
|
app:layout_flexGrow="1"
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="2dp"
|
android:layout_margin="2dp"
|
||||||
app:cardCornerRadius="8dp"
|
app:cardCornerRadius="@dimen/dialogBorderRadius"
|
||||||
app:cardElevation="2dp"
|
app:cardElevation="2dp"
|
||||||
app:layout_alignSelf="flex_start"
|
app:layout_alignSelf="flex_start"
|
||||||
app:layout_flexGrow="1"
|
app:layout_flexGrow="1"
|
||||||
|
Loading…
Reference in New Issue
Block a user