Эх сурвалжийг харах

user proper activity context to grab themed color for item header for mention items

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Andy Scherzinger 4 жил өмнө
parent
commit
443cf8b227

+ 12 - 1
app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.java

@@ -21,6 +21,7 @@
 package com.nextcloud.talk.adapters.items;
 
 import android.annotation.SuppressLint;
+import android.content.Context;
 import android.view.View;
 
 import com.facebook.drawee.backends.pipeline.Fresco;
@@ -34,6 +35,7 @@ import com.nextcloud.talk.utils.DisplayUtils;
 import java.util.List;
 import java.util.regex.Pattern;
 
+import androidx.core.content.res.ResourcesCompat;
 import eu.davidea.flexibleadapter.FlexibleAdapter;
 import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
 import eu.davidea.flexibleadapter.items.IFilterable;
@@ -47,12 +49,18 @@ public class MentionAutocompleteItem extends AbstractFlexibleItem<UserItem.UserI
     private String displayName;
     private String source;
     private UserEntity currentUser;
+    private Context context;
 
-    public MentionAutocompleteItem(String objectId, String displayName, String source, UserEntity currentUser) {
+    public MentionAutocompleteItem(String objectId,
+                                   String displayName,
+                                   String source,
+                                   UserEntity currentUser,
+                                   Context activityContext) {
         this.objectId = objectId;
         this.displayName = displayName;
         this.source = source;
         this.currentUser = currentUser;
+        this.context = activityContext;
     }
 
     public String getSource() {
@@ -96,6 +104,9 @@ public class MentionAutocompleteItem extends AbstractFlexibleItem<UserItem.UserI
     @Override
     public void bindViewHolder(FlexibleAdapter<IFlexible> adapter, UserItem.UserItemViewHolder holder, int position, List<Object> payloads) {
 
+        holder.contactDisplayName.setTextColor(ResourcesCompat.getColor(context.getResources(),
+                                                                R.color.conversation_item_header,
+                                                                null));
         if (adapter.hasFilter()) {
             FlexibleUtils.highlightText(holder.contactDisplayName, displayName,
                     String.valueOf(adapter.getFilter(String.class)), NextcloudTalkApplication.Companion.getSharedApplication()

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt

@@ -801,7 +801,7 @@ class ChatController(args: Bundle) :
         val elevation = 6f
         resources?.let {
             val backgroundDrawable = ColorDrawable(it.getColor(R.color.bg_default))
-            val presenter = MentionAutocompletePresenter(applicationContext, roomToken)
+            val presenter = MentionAutocompletePresenter(activity, roomToken)
             val callback = MentionAutocompleteCallback(
                 activity,
                 conversationUser, messageInput

+ 11 - 8
app/src/main/java/com/nextcloud/talk/presenters/MentionAutocompletePresenter.java

@@ -22,9 +22,7 @@ package com.nextcloud.talk.presenters;
 
 import android.content.Context;
 import android.view.View;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.RecyclerView;
-import autodagger.AutoInjector;
+
 import com.nextcloud.talk.adapters.items.MentionAutocompleteItem;
 import com.nextcloud.talk.api.NcApi;
 import com.nextcloud.talk.application.NextcloudTalkApplication;
@@ -34,6 +32,15 @@ import com.nextcloud.talk.models.json.mention.MentionOverall;
 import com.nextcloud.talk.utils.ApiUtils;
 import com.nextcloud.talk.utils.database.user.UserUtils;
 import com.otaliastudios.autocomplete.RecyclerViewPresenter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+import autodagger.AutoInjector;
 import eu.davidea.flexibleadapter.FlexibleAdapter;
 import eu.davidea.flexibleadapter.items.AbstractFlexibleItem;
 import io.reactivex.Observer;
@@ -41,10 +48,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.disposables.Disposable;
 import io.reactivex.schedulers.Schedulers;
 
-import javax.inject.Inject;
-import java.util.ArrayList;
-import java.util.List;
-
 @AutoInjector(NextcloudTalkApplication.class)
 public class MentionAutocompletePresenter extends RecyclerViewPresenter<Mention> implements FlexibleAdapter.OnItemClickListener {
     @Inject
@@ -118,7 +121,7 @@ public class MentionAutocompletePresenter extends RecyclerViewPresenter<Mention>
                                 internalAbstractFlexibleItemList.add(
                                         new MentionAutocompleteItem(mention.getId(),
                                                 mention.getLabel(), mention.getSource(),
-                                                currentUser));
+                                                currentUser, context));
                             }
 
                             if (adapter.getItemCount() != 0) {

+ 1 - 1
app/src/main/res/layout/rv_item_mention.xml

@@ -58,7 +58,7 @@
             android:layout_height="wrap_content"
             android:ellipsize="middle"
             android:singleLine="true"
-            android:textAppearance="?android:attr/textAppearanceListItem"
+            android:textAppearance="@style/ListItem"
             tools:text="Call item text" />
 
         <androidx.emoji.widget.EmojiTextView