Enable all accessibility services with rish

This method is for Samsung devices.

First, dump all accessibility services:

~/rish/rish -c 'dumpsys accessibility' > dump.txt

This saves the output to dump.txt. Make sure your rish path is correct or added to PATH.

In the dump output, look for:

installed services:

You can ignore the first few com.samsung.xxx entries. The rest will look like:

com.anydesk.adcontrol.ad1/com.anydesk.adcontrol.AccService
com.arlosoft.macrodroid/.triggers.services.MacroDroidAccessibilityServiceJellyBean
com.arlosoft.macrodroid/.action.services.UIInteractionAccessibilityService
com.catalinagroup.callrecorder.helper/com.catalinagroup.callrecorder.service.AnyCallListenerService
com.eset.ems2.gp/com.eset.commoncore.core.accessibility.CoreAccessibilityService
org.skvalex.cr/.full.service.MyAccessibilityService

Combine them into one line, separated by : and ending with a trailing : (important for One UI):

~/rish/rish -c 'settings put secure enabled_accessibility_services "org.skvalex.cr/org.skvalex.cr.full.service.MyAccessibilityService:com.arlosoft.macrodroid/com.arlosoft.macrodroid.triggers.services.MacroDroidAccessibilityServiceJellyBean:com.eset.ems2.gp/com.eset.commoncore.core.accessibility.CoreAccessibilityService:com.anydesk.adcontrol.ad1/com.anydesk.adcontrol.AccService:com.arlosoft.macrodroid/com.arlosoft.macrodroid.action.services.UIInteractionAccessibilityService:com.catalinagroup.callrecorder.helper/com.catalinagroup.callrecorder.service.AnyCallListenerService:"'

If it doesn't enable all services, you likely missed one. Check dump.txt again.

Disable and Restore Services in One Script

# Disable
ORIGINAL=$(~/rish/rish -c "settings get secure enabled_accessibility_services")
~/rish/rish -c "settings put secure enabled_accessibility_services \"\""
~/rish/rish -c "settings put secure accessibility_enabled 0"

# Restore
~/rish/rish -c "settings put secure enabled_accessibility_services \"$ORIGINAL\""
~/rish/rish -c "settings put secure accessibility_enabled 1"

Disable and Restore Across Separate Scripts

# Disable
ORIGINAL=$(~/rish/rish -c "settings get secure enabled_accessibility_services")
ENC=$(printf "%s" "$ORIGINAL" | base64)
~/rish/rish -c "echo '$ENC' > /data/local/tmp/access_backup.txt"

# Restore
ENC=$(~/rish/rish -c "cat /data/local/tmp/access_backup.txt")
ORIGINAL=$(echo "$ENC" | base64 -d)
~/rish/rish -c "settings put secure enabled_accessibility_services \"$ORIGINAL\""
~/rish/rish -c "settings put secure accessibility_enabled 1"

Comments

Popular posts from this blog

Useful aliases

Enable Search Engine Friendly (Pretty URLs) in Yii2