Ver Fonte

Theme EntryMenuController

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Álvaro Brey há 2 anos atrás
pai
commit
b4ed79dc38

+ 13 - 10
app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/EntryMenuController.kt

@@ -25,7 +25,7 @@ package com.nextcloud.talk.controllers.bottomsheet
 
 import android.content.ComponentName
 import android.content.Intent
-import android.graphics.PorterDuff
+import android.content.res.ColorStateList
 import android.os.Bundle
 import android.os.Parcelable
 import android.text.Editable
@@ -34,6 +34,7 @@ import android.text.TextUtils
 import android.text.TextWatcher
 import android.view.View
 import android.view.inputmethod.EditorInfo
+import androidx.core.content.res.ResourcesCompat
 import autodagger.AutoInjector
 import com.bluelinelabs.conductor.RouterTransaction
 import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler
@@ -45,6 +46,7 @@ import com.nextcloud.talk.controllers.base.NewBaseController
 import com.nextcloud.talk.controllers.util.viewBinding
 import com.nextcloud.talk.databinding.ControllerEntryMenuBinding
 import com.nextcloud.talk.models.json.conversations.Conversation
+import com.nextcloud.talk.ui.theme.ViewThemeUtils
 import com.nextcloud.talk.users.UserManager
 import com.nextcloud.talk.utils.ShareUtils
 import com.nextcloud.talk.utils.UriUtils
@@ -71,6 +73,9 @@ class EntryMenuController(args: Bundle) :
     @Inject
     lateinit var userManager: UserManager
 
+    @Inject
+    lateinit var viewThemeUtils: ViewThemeUtils
+
     private val operation: ConversationOperationEnum
     private var conversation: Conversation? = null
     private var shareIntent: Intent? = null
@@ -125,17 +130,11 @@ class EntryMenuController(args: Bundle) :
                     rootView = view,
                     editText = binding.textEdit,
                     onEmojiPopupShownListener = {
-                        if (resources != null) {
-                            binding.smileyButton.setColorFilter(
-                                resources!!.getColor(R.color.colorPrimary),
-                                PorterDuff.Mode.SRC_IN
-                            )
-                        }
+                        viewThemeUtils.colorImageView(binding.smileyButton)
                     },
                     onEmojiPopupDismissListener = {
-                        binding.smileyButton.setColorFilter(
-                            resources!!.getColor(R.color.emoji_icons),
-                            PorterDuff.Mode.SRC_IN
+                        binding.smileyButton.imageTintList = ColorStateList.valueOf(
+                            ResourcesCompat.getColor(resources!!, R.color.medium_emphasis_text, context.theme)
                         )
                     },
                     onEmojiClickListener = {
@@ -171,6 +170,10 @@ class EntryMenuController(args: Bundle) :
             binding.textInputLayout.endIconMode = TextInputLayout.END_ICON_NONE
         }
 
+        viewThemeUtils.colorTextInputLayout(binding.textInputLayout)
+        binding.textEdit.setTextColor(viewThemeUtils.theme.colorText)
+        viewThemeUtils.colorMaterialButtonText(binding.okButton)
+
         binding.textInputLayout.hint = labelText
         binding.textInputLayout.requestFocus()
 

+ 8 - 0
app/src/main/java/com/nextcloud/talk/ui/theme/ViewThemeUtils.kt

@@ -37,6 +37,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
 import com.google.android.material.button.MaterialButton
 import com.google.android.material.card.MaterialCardView
 import com.google.android.material.floatingactionbutton.FloatingActionButton
+import com.google.android.material.textfield.TextInputLayout
 import com.nextcloud.talk.R
 import com.yarolegovich.mp.MaterialPreferenceCategory
 import com.yarolegovich.mp.MaterialSwitchPreference
@@ -189,4 +190,11 @@ class ViewThemeUtils @Inject constructor(val theme: ServerTheme) {
             swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.refresh_spinner_background)
         }
     }
+
+    fun colorTextInputLayout(textInputLayout: TextInputLayout) {
+        withElementColor(textInputLayout) { color ->
+            textInputLayout.hintTextColor = ColorStateList.valueOf(color)
+            textInputLayout.boxStrokeColor = color
+        }
+    }
 }

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

@@ -78,7 +78,7 @@
         android:contentDescription="@string/nc_add_emojis"
         android:src="@drawable/ic_insert_emoticon_black_24dp"
         android:visibility="gone"
-        app:tint="@color/emoji_icons"
+        app:tint="@color/medium_emphasis_text"
         tools:visibility="visible" />
 
 </RelativeLayout>