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