mirror of
https://github.com/He4eT/yamf_launcher.git
synced 2026-05-04 17:37:25 +00:00
More unification of sharedpreferences and refactoring
This commit is contained in:
parent
0c8e27dcd5
commit
22a9d07815
6 changed files with 42 additions and 48 deletions
|
|
@ -5,6 +5,8 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.os.BatteryManager
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class BatteryReceiver(private val activity: MainActivity) : BroadcastReceiver() {
|
||||
|
||||
|
|
@ -14,7 +16,6 @@ class BatteryReceiver(private val activity: MainActivity) : BroadcastReceiver()
|
|||
val scale = it.getIntExtra(BatteryManager.EXTRA_SCALE, -1)
|
||||
val batteryPct = level * 100 / scale.toFloat()
|
||||
activity.modifyDate("${batteryPct.toInt()}%", 3)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package eu.ottop.yamlauncher
|
|||
|
||||
import android.app.AlertDialog
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.content.pm.LauncherActivityInfo
|
||||
import android.content.pm.LauncherApps
|
||||
import android.os.Bundle
|
||||
|
|
@ -24,9 +25,9 @@ import kotlinx.coroutines.withContext
|
|||
class GestureAppsFragment : Fragment(), GestureAppsAdapter.OnItemClickListener {
|
||||
|
||||
private var adapter: GestureAppsAdapter? = null
|
||||
private val sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
private lateinit var sharedPreferenceManager: SharedPreferenceManager
|
||||
private var stringUtils = StringUtils()
|
||||
private val appUtils = AppUtils(requireContext())
|
||||
private lateinit var appUtils: AppUtils
|
||||
private lateinit var launcherApps: LauncherApps
|
||||
|
||||
override fun onCreateView(
|
||||
|
|
@ -39,6 +40,8 @@ class GestureAppsFragment : Fragment(), GestureAppsAdapter.OnItemClickListener {
|
|||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
appUtils = AppUtils(requireContext())
|
||||
|
||||
lifecycleScope.launch {
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import android.accessibilityservice.AccessibilityServiceInfo
|
|||
import android.app.AlertDialog
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.content.pm.LauncherActivityInfo
|
||||
import android.content.pm.LauncherApps
|
||||
import android.content.pm.ServiceInfo
|
||||
|
|
@ -13,10 +12,12 @@ import android.provider.Settings
|
|||
import android.view.accessibility.AccessibilityManager
|
||||
import androidx.appcompat.app.AppCompatActivity.ACCESSIBILITY_SERVICE
|
||||
|
||||
class GestureUtils {
|
||||
class GestureUtils(private val context: Context) {
|
||||
|
||||
fun getSwipeInfo(preferences: SharedPreferences, launcherApps: LauncherApps, direction: String): Pair<LauncherActivityInfo?, Int?> {
|
||||
val app = preferences.getString("${direction}SwipeApp", "")?.split("§splitter§")
|
||||
private val sharedPreferenceManager = SharedPreferenceManager(context)
|
||||
|
||||
fun getSwipeInfo(launcherApps: LauncherApps, direction: String): Pair<LauncherActivityInfo?, Int?> {
|
||||
val app = sharedPreferenceManager.getGestureInfo(direction)
|
||||
|
||||
if (app != null) {
|
||||
if (app.size >= 3)
|
||||
|
|
@ -31,7 +32,7 @@ class GestureUtils {
|
|||
return Pair(null, null)
|
||||
}
|
||||
|
||||
fun isAccessibilityServiceEnabled(context: Context, service: Class<out AccessibilityService>): Boolean {
|
||||
fun isAccessibilityServiceEnabled(service: Class<out AccessibilityService>): Boolean {
|
||||
val am = context.getSystemService(ACCESSIBILITY_SERVICE) as AccessibilityManager
|
||||
val enabledServices =
|
||||
am.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK)
|
||||
|
|
@ -47,7 +48,7 @@ class GestureUtils {
|
|||
return false
|
||||
}
|
||||
|
||||
fun promptEnableAccessibility(context: Context) {
|
||||
fun promptEnableAccessibility() {
|
||||
AlertDialog.Builder(context).apply {
|
||||
setTitle("Confirmation")
|
||||
setMessage("To lock with double tap, enable YAM Launcher in accessibility settings.")
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
private lateinit var appUtils: AppUtils
|
||||
private val stringUtils = StringUtils()
|
||||
private val uiUtils = UIUtils()
|
||||
private val gestureUtils = GestureUtils()
|
||||
private lateinit var gestureUtils: GestureUtils
|
||||
|
||||
private var appActionMenu = AppActionMenu()
|
||||
private val appMenuLinearLayoutManager = AppMenuLinearLayoutManager(this@MainActivity)
|
||||
|
|
@ -118,7 +118,6 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
}
|
||||
|
||||
setupApps()
|
||||
|
||||
}
|
||||
|
||||
private fun setMainVariables() {
|
||||
|
|
@ -142,6 +141,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
appUtils = AppUtils(this@MainActivity)
|
||||
|
||||
sharedPreferenceManager = SharedPreferenceManager(this@MainActivity)
|
||||
gestureUtils = GestureUtils(this@MainActivity)
|
||||
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this)
|
||||
}
|
||||
|
|
@ -161,8 +161,8 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
|
||||
uiUtils.setStatusBar(window, preferences)
|
||||
|
||||
leftSwipeActivity = gestureUtils.getSwipeInfo(preferences, launcherApps, "left")
|
||||
rightSwipeActivity = gestureUtils.getSwipeInfo(preferences, launcherApps, "right")
|
||||
leftSwipeActivity = gestureUtils.getSwipeInfo(launcherApps, "left")
|
||||
rightSwipeActivity = gestureUtils.getSwipeInfo(launcherApps, "right")
|
||||
}
|
||||
|
||||
private fun setShortcuts() {
|
||||
|
|
@ -338,11 +338,11 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
}
|
||||
|
||||
"leftSwipeApp" -> {
|
||||
leftSwipeActivity = gestureUtils.getSwipeInfo(preferences, launcherApps, "left")
|
||||
leftSwipeActivity = gestureUtils.getSwipeInfo(launcherApps, "left")
|
||||
}
|
||||
|
||||
"rightSwipeApp" -> {
|
||||
rightSwipeActivity = gestureUtils.getSwipeInfo(preferences, launcherApps, "right")
|
||||
rightSwipeActivity = gestureUtils.getSwipeInfo(launcherApps, "right")
|
||||
}
|
||||
|
||||
"battery_enabled" -> {
|
||||
|
|
@ -446,7 +446,9 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
}
|
||||
}
|
||||
else {
|
||||
modifyDate("", 2)
|
||||
withContext(Dispatchers.Main) {
|
||||
modifyDate("", 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -742,7 +744,6 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
override fun onDoubleTap(e: MotionEvent): Boolean {
|
||||
if (preferences.getBoolean("doubleTap", false)) {
|
||||
if (gestureUtils.isAccessibilityServiceEnabled(
|
||||
this@MainActivity,
|
||||
ScreenLockService::class.java
|
||||
)
|
||||
) {
|
||||
|
|
@ -750,7 +751,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
intent.action = "LOCK_SCREEN"
|
||||
startService(intent)
|
||||
} else {
|
||||
gestureUtils.promptEnableAccessibility(this@MainActivity)
|
||||
gestureUtils.promptEnableAccessibility()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
val hiddenPref = findPreference<Preference?>("hidden_apps")
|
||||
|
||||
manualLocationPref?.summary = sharedPreferenceManager.getWeatherRegion()
|
||||
leftSwipePref?.summary = sharedPreferenceManager.getGestureName(requireContext(), "left")
|
||||
rightSwipePref?.summary = sharedPreferenceManager.getGestureName(requireContext(), "right")
|
||||
leftSwipePref?.summary = sharedPreferenceManager.getGestureName("left")
|
||||
rightSwipePref?.summary = sharedPreferenceManager.getGestureName("right")
|
||||
|
||||
if (gpsLocationPref != null && manualLocationPref != null) {
|
||||
// Initial setup
|
||||
|
|
@ -71,14 +71,12 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
setFragmentResultListener("request_key") { _, bundle ->
|
||||
clearFragmentResultListener("request_key")
|
||||
val result = bundle.getString("gesture_app")
|
||||
val appDetails = result?.split("§splitter§")
|
||||
if (leftSwipePref != null && result != null) {
|
||||
setPreference("leftSwipeApp", result)
|
||||
}
|
||||
|
||||
sharedPreferenceManager.setGestures(
|
||||
"left", appDetails?.get(0)
|
||||
"left", result
|
||||
)
|
||||
val appName = appDetails?.get(0)
|
||||
|
||||
val appName = sharedPreferenceManager.getGestureName("left")
|
||||
leftSwipePref?.summary = appName
|
||||
}
|
||||
true }
|
||||
|
|
@ -93,14 +91,12 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
setFragmentResultListener("request_key") { _, bundle ->
|
||||
clearFragmentResultListener("request_key")
|
||||
val result = bundle.getString("gesture_app")
|
||||
val appDetails = result?.split("§splitter§")
|
||||
if (rightSwipePref != null && result != null) {
|
||||
setPreference("rightSwipeApp", result)
|
||||
}
|
||||
|
||||
sharedPreferenceManager.setGestures(
|
||||
"right", appDetails?.get(0)
|
||||
"right", result
|
||||
)
|
||||
val appName = appDetails?.get(0)
|
||||
|
||||
val appName = sharedPreferenceManager.getGestureName("right")
|
||||
rightSwipePref?.summary = appName
|
||||
}
|
||||
true }
|
||||
|
|
@ -119,15 +115,4 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
super.onResume()
|
||||
manualLocationPref?.summary = sharedPreferenceManager.getWeatherRegion()
|
||||
}
|
||||
|
||||
private fun setPreference(key: String, value: String) {
|
||||
// Get the SharedPreferences instance
|
||||
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext())
|
||||
|
||||
// Edit the SharedPreferences to update the value
|
||||
with(sharedPreferences.edit()) {
|
||||
putString(key, value)
|
||||
apply()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,7 +2,6 @@ package eu.ottop.yamlauncher
|
|||
|
||||
import android.content.Context
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.preference.PreferenceManager
|
||||
|
||||
class SharedPreferenceManager (context: Context) {
|
||||
|
|
@ -81,15 +80,19 @@ class SharedPreferenceManager (context: Context) {
|
|||
|
||||
fun setGestures(direction: String, appName: String?) {
|
||||
val editor = preferences.edit()
|
||||
val nameKey = "$direction-name"
|
||||
val nameKey = "${direction}SwipeApp"
|
||||
editor.putString(nameKey, appName)
|
||||
editor.apply()
|
||||
}
|
||||
|
||||
fun getGestureName(direction: String) : String? {
|
||||
val key = "${direction}SwipeApp"
|
||||
val name = preferences.getString(key, "")?.split("§splitter§")
|
||||
return name?.get(0)
|
||||
}
|
||||
|
||||
fun getGestureName(cont: Context, direction: String) : String? {
|
||||
val key = "$direction-name"
|
||||
return preferences.getString(key, "")
|
||||
fun getGestureInfo(direction: String) : List<String>? {
|
||||
return preferences.getString("${direction}SwipeApp", "")?.split("§splitter§")
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue