-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAccessibilityServiceStateChecker.kt
More file actions
35 lines (30 loc) · 1.18 KB
/
AccessibilityServiceStateChecker.kt
File metadata and controls
35 lines (30 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.google.ai.sample
import android.content.Context
import android.provider.Settings
import android.util.Log
internal object AccessibilityServiceStateChecker {
fun isEnabled(context: Context, tag: String): Boolean {
val accessibilityEnabled = try {
Settings.Secure.getInt(
context.contentResolver,
Settings.Secure.ACCESSIBILITY_ENABLED
)
} catch (e: Settings.SettingNotFoundException) {
Log.e(tag, "Error finding accessibility setting: ${e.message}")
return false
}
if (accessibilityEnabled != 1) {
Log.d(tag, "Accessibility is not enabled")
return false
}
val serviceString =
"${context.packageName}/${ScreenOperatorAccessibilityService::class.java.canonicalName}"
val enabledServices = Settings.Secure.getString(
context.contentResolver,
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES
) ?: ""
val isEnabled = enabledServices.contains(serviceString)
Log.d(tag, "Service $serviceString is ${if (isEnabled) "enabled" else "not enabled"}")
return isEnabled
}
}