mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 06:21:31 +01:00
fix: accessbility isEnabled()
false positive
This commit is contained in:
parent
3de4b7c56f
commit
cc64745c0f
2 changed files with 21 additions and 9 deletions
|
@ -5,6 +5,8 @@ import android.accessibilityservice.AccessibilityServiceInfo
|
|||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import android.util.Log
|
||||
import android.view.accessibility.AccessibilityEvent
|
||||
import android.view.accessibility.AccessibilityManager
|
||||
import android.widget.Toast
|
||||
|
@ -42,15 +44,18 @@ class LauncherAccessibilityService : AccessibilityService() {
|
|||
}
|
||||
|
||||
fun isEnabled(context: Context): Boolean {
|
||||
val accessibilityManager =
|
||||
context.getSystemService<AccessibilityManager>() ?: return false
|
||||
val enabledServices =
|
||||
accessibilityManager.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK)
|
||||
return enabledServices.any {
|
||||
it.id.startsWith(BuildConfig.APPLICATION_ID)
|
||||
val enabledServices = Settings.Secure.getString(context.contentResolver, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES)
|
||||
for (service in enabledServices.split(":")) {
|
||||
val pkg = service.split("/")[0]
|
||||
val serviceClass = service.split("/")[1]
|
||||
if (pkg == context.packageName && serviceClass == LauncherAccessibilityService::class.java.name) {
|
||||
Log.d("ServiceEnabled", "true")
|
||||
return true
|
||||
}
|
||||
}
|
||||
Log.d("ServiceEnabled", "false")
|
||||
return false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -87,6 +92,13 @@ class LauncherAccessibilityService : AccessibilityService() {
|
|||
return
|
||||
}
|
||||
|
||||
performGlobalAction(GLOBAL_ACTION_LOCK_SCREEN)
|
||||
val success = performGlobalAction(GLOBAL_ACTION_LOCK_SCREEN)
|
||||
if (!success) {
|
||||
Toast.makeText(
|
||||
this,
|
||||
getText(R.string.alert_lock_screen_failed),
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
}
|
||||
}
|
||||
}
|
|
@ -247,7 +247,7 @@
|
|||
<string name="device_admin_description">Enable the lock screen action</string>
|
||||
<string name="alert_no_torch_found">No camera with torch detected.</string>
|
||||
<string name="alert_torch_access_exception">Error: Can\'t access torch.</string>
|
||||
<string name="alert_lock_screen_failed">Error: Failed to lock screen.</string>
|
||||
<string name="alert_lock_screen_failed">Error: Failed to lock screen. (if you just upgraded/reinstalled the app, try to disable and re-enable the accessibility service in phone settings)</string>
|
||||
<string name="toast_accessibility_service_not_enabled">μLauncher\'s accessibility service is not enabled. Please enable it in settings</string>
|
||||
<string name="toast_lock_screen_not_supported">Error: Locking the screen using accessibility is not supported on this device. Please use device admin instead.</string>
|
||||
<string name="accessibility_service_name">µLauncher - lock screen</string>
|
||||
|
|
Loading…
Add table
Reference in a new issue