mirror of
https://github.com/He4eT/yamf_launcher.git
synced 2026-05-05 01:47:24 +00:00
More refactoring of sharedpreferences into the relevant class
This commit is contained in:
parent
22a9d07815
commit
240bf4463b
13 changed files with 70 additions and 55 deletions
|
|
@ -5,13 +5,15 @@ import android.animation.AnimatorListenerAdapter
|
|||
import android.animation.ArgbEvaluator
|
||||
import android.animation.ValueAnimator
|
||||
import android.app.Activity
|
||||
import android.content.SharedPreferences
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.view.View
|
||||
import eu.ottop.yamlauncher.databinding.ActivityMainBinding
|
||||
|
||||
class Animations {
|
||||
class Animations (context: Context) {
|
||||
|
||||
private val sharedPreferenceManager = SharedPreferenceManager(context)
|
||||
|
||||
fun fadeViewIn(view: View, duration: Long = 100) {
|
||||
view.fadeIn(duration)
|
||||
|
|
@ -30,8 +32,8 @@ class Animations {
|
|||
binding.homeView.fadeOut()
|
||||
}
|
||||
|
||||
fun backgroundIn(activity: Activity, preferences: SharedPreferences, duration: Long = 100) {
|
||||
val originalColor = Color.parseColor(preferences.getString("bgColor", "#00000000"))
|
||||
fun backgroundIn(activity: Activity, duration: Long = 100) {
|
||||
val originalColor = sharedPreferenceManager.getBgColor()
|
||||
|
||||
val newColor: Int = if (originalColor == Color.parseColor("#00000000")) {
|
||||
Color.parseColor("#3F000000")
|
||||
|
|
@ -51,8 +53,8 @@ class Animations {
|
|||
backgroundColorAnimator.start()
|
||||
}
|
||||
|
||||
fun backgroundOut(activity: Activity, preferences: SharedPreferences, duration: Long = 100) {
|
||||
val newColor = Color.parseColor(preferences.getString("bgColor", "#00000000"))
|
||||
fun backgroundOut(activity: Activity, duration: Long = 100) {
|
||||
val newColor = sharedPreferenceManager.getBgColor()
|
||||
|
||||
val originalColor: Int = if (newColor == Color.parseColor("#00000000")) {
|
||||
Color.parseColor("#3F000000")
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@ import kotlinx.coroutines.launch
|
|||
|
||||
class AppActionMenu {
|
||||
|
||||
private val animations = Animations()
|
||||
|
||||
fun setActionListeners(
|
||||
activity: MainActivity,
|
||||
binding: ActivityMainBinding,
|
||||
|
|
@ -39,7 +37,7 @@ class AppActionMenu {
|
|||
launcherApps: LauncherApps,
|
||||
mainActivity: LauncherActivityInfo?
|
||||
){
|
||||
|
||||
val animations = Animations(activity)
|
||||
val sharedPreferenceManager = SharedPreferenceManager(activity)
|
||||
|
||||
actionMenu.findViewById<TextView>(R.id.info).setOnClickListener {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ class AppMenuAdapter(
|
|||
|
||||
private val sharedPreferenceManager = SharedPreferenceManager(context)
|
||||
private var preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
private val uiUtils = UIUtils()
|
||||
private val uiUtils = UIUtils(context)
|
||||
private val appUtils = AppUtils(context)
|
||||
|
||||
interface OnItemClickListener {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class GestureAppsAdapter(
|
|||
|
||||
private val sharedPreferenceManager = SharedPreferenceManager(context)
|
||||
private var preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
private val uiUtils = UIUtils()
|
||||
private val uiUtils = UIUtils(context)
|
||||
|
||||
interface OnItemClickListener {
|
||||
fun onItemClick(appInfo: LauncherActivityInfo, profile: Int)
|
||||
|
|
|
|||
|
|
@ -40,8 +40,9 @@ class GestureAppsFragment : Fragment(), GestureAppsAdapter.OnItemClickListener {
|
|||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
|
||||
appUtils = AppUtils(requireContext())
|
||||
sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
|
||||
lifecycleScope.launch {
|
||||
|
||||
|
|
@ -57,7 +58,7 @@ class GestureAppsFragment : Fragment(), GestureAppsAdapter.OnItemClickListener {
|
|||
}
|
||||
val recyclerView = view.findViewById<RecyclerView>(R.id.gesture_app_recycler)
|
||||
val appMenuEdgeFactory = AppMenuEdgeFactory(requireActivity())
|
||||
val uiUtils = UIUtils()
|
||||
val uiUtils = UIUtils(requireContext())
|
||||
val preferences = PreferenceManager.getDefaultSharedPreferences(requireContext())
|
||||
|
||||
recyclerView.edgeEffectFactory = appMenuEdgeFactory
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class HiddenAppsAdapter(
|
|||
private val sharedPreferenceManager = SharedPreferenceManager(context)
|
||||
private var preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
|
||||
private val uiUtils = UIUtils()
|
||||
private val uiUtils = UIUtils(context)
|
||||
|
||||
interface OnItemClickListener {
|
||||
fun onItemClick(appInfo: LauncherActivityInfo, profile: Int)
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class HiddenAppsFragment : Fragment(), HiddenAppsAdapter.OnItemClickListener {
|
|||
private lateinit var sharedPreferenceManager: SharedPreferenceManager
|
||||
private var adapter: HiddenAppsAdapter? = null
|
||||
private var stringUtils = StringUtils()
|
||||
private val uiUtils = UIUtils()
|
||||
private lateinit var uiUtils: UIUtils
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
|
|
@ -33,6 +33,7 @@ class HiddenAppsFragment : Fragment(), HiddenAppsAdapter.OnItemClickListener {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
uiUtils = UIUtils(requireContext())
|
||||
appUtils = AppUtils(requireContext())
|
||||
sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class LocationFragment : Fragment(), LocationListAdapter.OnItemClickListener {
|
|||
private lateinit var weatherSystem: WeatherSystem
|
||||
private lateinit var sharedPreferenceManager: SharedPreferenceManager
|
||||
private val stringUtils = StringUtils()
|
||||
private val uiUtils = UIUtils()
|
||||
private lateinit var uiUtils: UIUtils
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
|
|
@ -35,6 +35,9 @@ class LocationFragment : Fragment(), LocationListAdapter.OnItemClickListener {
|
|||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
uiUtils = UIUtils(requireContext())
|
||||
weatherSystem = WeatherSystem(requireContext())
|
||||
sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
|
||||
val searchView = view.findViewById<TextInputEditText>(R.id.locationSearch)
|
||||
|
||||
|
|
@ -42,10 +45,6 @@ class LocationFragment : Fragment(), LocationListAdapter.OnItemClickListener {
|
|||
|
||||
val preferences = PreferenceManager.getDefaultSharedPreferences(requireContext())
|
||||
|
||||
weatherSystem = WeatherSystem(requireContext())
|
||||
|
||||
sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
|
||||
stringUtils.setLink(requireActivity().findViewById(R.id.locationLink), getString(R.string.location_link))
|
||||
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@ import androidx.preference.PreferenceManager
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
|
||||
class LocationListAdapter(
|
||||
private val activity: Context,
|
||||
private val context: Context,
|
||||
private var apps: MutableList<Map<String, String>>,
|
||||
private val itemClickListener: OnItemClickListener
|
||||
) :
|
||||
RecyclerView.Adapter<LocationListAdapter.AppViewHolder>() {
|
||||
|
||||
private var preferences = PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
private val uiUtils = UIUtils()
|
||||
private var preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
private val uiUtils = UIUtils(context)
|
||||
|
||||
interface OnItemClickListener {
|
||||
fun onItemClick(name: String?, latitude: String?, longitude: String?)
|
||||
|
|
@ -51,12 +51,12 @@ class LocationListAdapter(
|
|||
override fun onBindViewHolder(holder: AppViewHolder, position: Int) {
|
||||
val app = apps[position]
|
||||
|
||||
uiUtils.setAppAlignment(activity, preferences, holder.textView, null ,holder.regionText)
|
||||
uiUtils.setAppAlignment(context, preferences, holder.textView, null ,holder.regionText)
|
||||
|
||||
uiUtils.setAppSize(preferences, holder.textView, null, holder.regionText)
|
||||
|
||||
holder.textView.text = app["name"]
|
||||
holder.regionText.text = activity.getString(R.string.region_text, app["region"], app["country"])
|
||||
holder.regionText.text = context.getString(R.string.region_text, app["region"], app["country"])
|
||||
|
||||
holder.textView.visibility = View.VISIBLE
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
private lateinit var weatherSystem: WeatherSystem
|
||||
private lateinit var appUtils: AppUtils
|
||||
private val stringUtils = StringUtils()
|
||||
private val uiUtils = UIUtils()
|
||||
private lateinit var uiUtils: UIUtils
|
||||
private lateinit var gestureUtils: GestureUtils
|
||||
|
||||
private var appActionMenu = AppActionMenu()
|
||||
|
|
@ -56,7 +56,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
|
||||
private lateinit var sharedPreferenceManager: SharedPreferenceManager
|
||||
|
||||
private val animations = Animations()
|
||||
private lateinit var animations: Animations
|
||||
|
||||
private lateinit var clock: TextClock
|
||||
private var clockMargin = 0
|
||||
|
|
@ -121,6 +121,13 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
}
|
||||
|
||||
private fun setMainVariables() {
|
||||
weatherSystem = WeatherSystem(this@MainActivity)
|
||||
appUtils = AppUtils(this@MainActivity)
|
||||
uiUtils = UIUtils(this@MainActivity)
|
||||
gestureUtils = GestureUtils(this@MainActivity)
|
||||
sharedPreferenceManager = SharedPreferenceManager(this@MainActivity)
|
||||
animations = Animations(this@MainActivity)
|
||||
|
||||
gestureDetector = GestureDetector(this, GestureListener())
|
||||
shortcutGestureDetector = GestureDetector(this, TextGestureListener())
|
||||
|
||||
|
|
@ -136,22 +143,15 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
|
||||
launcherApps = getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps
|
||||
|
||||
weatherSystem = WeatherSystem(this@MainActivity)
|
||||
|
||||
appUtils = AppUtils(this@MainActivity)
|
||||
|
||||
sharedPreferenceManager = SharedPreferenceManager(this@MainActivity)
|
||||
gestureUtils = GestureUtils(this@MainActivity)
|
||||
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this)
|
||||
}
|
||||
|
||||
private fun setPreferences() {
|
||||
uiUtils.setBackground(window, preferences)
|
||||
uiUtils.setTextColors(preferences, binding.homeView)
|
||||
uiUtils.setSearchColors(preferences, searchView)
|
||||
uiUtils.setBackground(window)
|
||||
uiUtils.setTextColors(binding.homeView)
|
||||
uiUtils.setSearchColors(searchView)
|
||||
|
||||
uiUtils.setClockAlignment(preferences, clock, dateText)
|
||||
uiUtils.setClockAlignment(clock, dateText)
|
||||
uiUtils.setSearchAlignment(preferences, searchView)
|
||||
|
||||
uiUtils.setClockSize(preferences, clock)
|
||||
|
|
@ -225,7 +225,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
|
||||
private fun toAppMenu() {
|
||||
animations.showApps(binding)
|
||||
animations.backgroundIn(this@MainActivity, preferences)
|
||||
animations.backgroundIn(this@MainActivity)
|
||||
if (preferences.getBoolean("autoKeyboard", false)) {
|
||||
val imm =
|
||||
getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||
|
|
@ -297,16 +297,16 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
if (preferences != null) {
|
||||
when (key) {
|
||||
"bgColor" -> {
|
||||
uiUtils.setBackground(window, preferences)
|
||||
uiUtils.setBackground(window)
|
||||
}
|
||||
|
||||
"textColor" -> {
|
||||
uiUtils.setTextColors(preferences, binding.homeView)
|
||||
uiUtils.setSearchColors(preferences, searchView)
|
||||
uiUtils.setTextColors(binding.homeView)
|
||||
uiUtils.setSearchColors(searchView)
|
||||
}
|
||||
|
||||
"clockAlignment" -> {
|
||||
uiUtils.setClockAlignment(preferences, clock, dateText)
|
||||
uiUtils.setClockAlignment(clock, dateText)
|
||||
}
|
||||
|
||||
"shortcutAlignment" -> {
|
||||
|
|
@ -370,7 +370,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
fun backToHome() {
|
||||
closeKeyboard()
|
||||
animations.showHome(binding)
|
||||
animations.backgroundOut(this@MainActivity, preferences)
|
||||
animations.backgroundOut(this@MainActivity)
|
||||
val handler = Handler(Looper.getMainLooper())
|
||||
handler.postDelayed({
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import androidx.fragment.app.clearFragmentResultListener
|
|||
import androidx.fragment.app.setFragmentResultListener
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.preference.SwitchPreference
|
||||
|
||||
class SettingsFragment : PreferenceFragmentCompat() {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package eu.ottop.yamlauncher
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.widget.TextView
|
||||
import androidx.preference.PreferenceManager
|
||||
|
||||
|
|
@ -95,4 +96,16 @@ class SharedPreferenceManager (context: Context) {
|
|||
return preferences.getString("${direction}SwipeApp", "")?.split("§splitter§")
|
||||
}
|
||||
|
||||
fun getBgColor(): Int {
|
||||
return Color.parseColor(preferences.getString("bgColor", "#00000000"))
|
||||
}
|
||||
|
||||
fun getTextColor(): Int {
|
||||
return Color.parseColor(preferences.getString("textColor", "#FFF3F3F3"))
|
||||
}
|
||||
|
||||
fun getClockAlignment(): String? {
|
||||
return preferences.getString("clockAlignment", "left")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -20,22 +20,24 @@ import androidx.core.content.res.ResourcesCompat
|
|||
import androidx.core.view.children
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
|
||||
class UIUtils {
|
||||
class UIUtils(context: Context) {
|
||||
|
||||
fun setBackground(window: Window, preferences: SharedPreferences) {
|
||||
private val sharedPreferenceManager = SharedPreferenceManager(context)
|
||||
|
||||
fun setBackground(window: Window) {
|
||||
window.decorView.background = ColorDrawable(Color.parseColor("#00000000"))
|
||||
|
||||
window.decorView.setBackgroundColor(
|
||||
Color.parseColor(preferences.getString("bgColor", "#00000000"))
|
||||
sharedPreferenceManager.getBgColor()
|
||||
)
|
||||
}
|
||||
|
||||
fun setTextColors(preferences: SharedPreferences, view: View) {
|
||||
val color = Color.parseColor(preferences.getString("textColor", "#FFF3F3F3"))
|
||||
fun setTextColors(view: View) {
|
||||
val color = sharedPreferenceManager.getTextColor()
|
||||
when {
|
||||
view is ViewGroup -> {
|
||||
view.children.forEach { child ->
|
||||
setTextColors(preferences, child)
|
||||
setTextColors(child)
|
||||
}
|
||||
}
|
||||
hasMethod(view, "setTextColor") -> {
|
||||
|
|
@ -66,12 +68,12 @@ class UIUtils {
|
|||
return Color.argb(newAlpha, r, g, b)
|
||||
}
|
||||
|
||||
fun setSearchColors(preferences: SharedPreferences, searchView: TextInputEditText) {
|
||||
fun setSearchColors(searchView: TextInputEditText) {
|
||||
val viewTreeObserver = searchView.viewTreeObserver
|
||||
|
||||
val globalLayoutListener = object : ViewTreeObserver.OnGlobalLayoutListener {
|
||||
override fun onGlobalLayout() {
|
||||
val color = Color.parseColor(preferences.getString("textColor", "#FFF3F3F3"))
|
||||
val color = sharedPreferenceManager.getTextColor()
|
||||
searchView.setTextColor(color)
|
||||
searchView.setHintTextColor(setAlpha(color, "A9"))
|
||||
searchView.compoundDrawables[0].mutate().colorFilter = BlendModeColorFilter(color, BlendMode.SRC_ATOP)
|
||||
|
|
@ -87,8 +89,8 @@ class UIUtils {
|
|||
}
|
||||
}
|
||||
|
||||
fun setClockAlignment(preferences: SharedPreferences, clock: TextClock, dateText: TextClock) {
|
||||
val alignment = preferences.getString("clockAlignment", "left")
|
||||
fun setClockAlignment(clock: TextClock, dateText: TextClock) {
|
||||
val alignment = sharedPreferenceManager.getClockAlignment()
|
||||
setTextAlignment(clock, alignment)
|
||||
setTextAlignment(dateText, alignment)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue