From c8d701feb4831841f0be5f86b6aed20d291b9421 Mon Sep 17 00:00:00 2001 From: Rahul Patel Date: Tue, 13 Aug 2024 03:08:36 +0530 Subject: [PATCH] Address search fab color issue --- app/src/main/java/com/aurora/extensions/Commons.kt | 4 ++-- app/src/main/java/com/aurora/extensions/View.kt | 8 ++++++++ .../aurora/store/view/ui/apps/AppsContainerFragment.kt | 8 ++++++-- .../aurora/store/view/ui/games/GamesContainerFragment.kt | 8 ++++++-- .../com/aurora/store/view/ui/updates/UpdatesFragment.kt | 8 ++++++-- app/src/main/res/layout/fragment_apps_games.xml | 4 +--- 6 files changed, 29 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/aurora/extensions/Commons.kt b/app/src/main/java/com/aurora/extensions/Commons.kt index 90c2b48a4..c2b4793d0 100644 --- a/app/src/main/java/com/aurora/extensions/Commons.kt +++ b/app/src/main/java/com/aurora/extensions/Commons.kt @@ -81,7 +81,7 @@ fun lightenColor(@ColorInt color: Int, factor: Float = 0.5f, @Nullable alpha: In } /** - * Computes a contrasting color from the given color. + * Computes a contrasting color (B & W only) from the given color. * @param color The color to contrast. * @return The contrasting color. */ @@ -92,4 +92,4 @@ fun contrastingColor(@ColorInt color: Int): Int { val yiq = ((red * 299) + (green * 587) + (blue * 114)) / 1000 return if (yiq >= 128) Color.BLACK else Color.WHITE -} \ No newline at end of file +} diff --git a/app/src/main/java/com/aurora/extensions/View.kt b/app/src/main/java/com/aurora/extensions/View.kt index cbaf93c6e..2f295783f 100644 --- a/app/src/main/java/com/aurora/extensions/View.kt +++ b/app/src/main/java/com/aurora/extensions/View.kt @@ -20,8 +20,10 @@ package com.aurora.extensions import android.content.Context +import android.content.res.ColorStateList import android.view.View import android.view.inputmethod.InputMethodManager +import com.google.android.material.floatingactionbutton.FloatingActionButton fun View.isVisible() = visibility == View.VISIBLE @@ -83,3 +85,9 @@ fun View.getString(resourceId: Int): String { return context.getString(resourceId) } +fun FloatingActionButton.applyColors() { + val accentColor = context.accentColor() + backgroundTintList = ColorStateList.valueOf(accentColor) + imageTintList = ColorStateList.valueOf(contrastingColor(accentColor)) +} + diff --git a/app/src/main/java/com/aurora/store/view/ui/apps/AppsContainerFragment.kt b/app/src/main/java/com/aurora/store/view/ui/apps/AppsContainerFragment.kt index ea529f1ad..ed7a484dd 100644 --- a/app/src/main/java/com/aurora/store/view/ui/apps/AppsContainerFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/apps/AppsContainerFragment.kt @@ -26,6 +26,7 @@ import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle import androidx.navigation.fragment.findNavController import androidx.viewpager2.adapter.FragmentStateAdapter +import com.aurora.extensions.applyColors import com.aurora.store.MobileNavigationDirections import com.aurora.store.R import com.aurora.store.data.providers.AuthProvider @@ -101,8 +102,11 @@ class AppsContainerFragment : BaseFragment() { tab.text = tabTitles[position] }.attach() - binding.searchFab.setOnClickListener { - findNavController().navigate(R.id.searchSuggestionFragment) + binding.searchFab.apply { + applyColors() + setOnClickListener { + findNavController().navigate(R.id.searchSuggestionFragment) + } } } diff --git a/app/src/main/java/com/aurora/store/view/ui/games/GamesContainerFragment.kt b/app/src/main/java/com/aurora/store/view/ui/games/GamesContainerFragment.kt index cc5fa5ee3..60a2ba979 100644 --- a/app/src/main/java/com/aurora/store/view/ui/games/GamesContainerFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/games/GamesContainerFragment.kt @@ -26,6 +26,7 @@ import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle import androidx.navigation.fragment.findNavController import androidx.viewpager2.adapter.FragmentStateAdapter +import com.aurora.extensions.applyColors import com.aurora.store.MobileNavigationDirections import com.aurora.store.R import com.aurora.store.data.providers.AuthProvider @@ -100,8 +101,11 @@ class GamesContainerFragment : BaseFragment() { tab.text = tabTitles[position] }.attach() - binding.searchFab.setOnClickListener { - findNavController().navigate(R.id.searchSuggestionFragment) + binding.searchFab.apply { + applyColors() + setOnClickListener { + findNavController().navigate(R.id.searchSuggestionFragment) + } } } diff --git a/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt b/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt index 5779e25ea..1d9343598 100644 --- a/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt @@ -25,6 +25,7 @@ import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import com.aurora.Constants +import com.aurora.extensions.applyColors import com.aurora.extensions.browse import com.aurora.store.MobileNavigationDirections import com.aurora.store.PermissionType @@ -104,8 +105,11 @@ class UpdatesFragment : BaseFragment() { viewModel.fetchUpdates() } - binding.searchFab.setOnClickListener { - findNavController().navigate(R.id.searchSuggestionFragment) + binding.searchFab.apply { + applyColors() + setOnClickListener { + findNavController().navigate(R.id.searchSuggestionFragment) + } } } diff --git a/app/src/main/res/layout/fragment_apps_games.xml b/app/src/main/res/layout/fragment_apps_games.xml index e22c66596..c4cd86b53 100644 --- a/app/src/main/res/layout/fragment_apps_games.xml +++ b/app/src/main/res/layout/fragment_apps_games.xml @@ -59,7 +59,5 @@ android:layout_alignParentBottom="true" android:layout_margin="@dimen/margin_large" android:contentDescription="@string/action_search" - app:backgroundTint="?colorAccent" - app:srcCompat="@drawable/ic_round_search" - app:tint="@color/colorWhite" /> + app:srcCompat="@drawable/ic_round_search" />