I am using Accessibility service in my application and getting ANR in onEvent method while calling event.getSource();
When i put this code in another thread, to resolve this above ANR it creates an exception:
java.lang.IllegalStateException: Cannot perform this action on a not sealed instance.
Please guide me how can i resolve it? Code is below:
  @Override
public void onAccessibilityEvent(final AccessibilityEvent event) {
    int eventType = event.getEventType();
    if (eventType == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) {
        OnEvent(this, event);
    }
}
private void OnEvent(final Context context, AccessibilityEvent event) {
    String eventText = "", eventPackageName = "", eventClassName = "";
    try {
        if (event.getText() != null && event.getText().size() > 0)
            eventText = event.getText().toString();
        if (event.getPackageName() != null)
            eventPackageName = event.getPackageName().toString();
        if (event.getClassName() != null)
            eventClassName = event.getClassName().toString();
        AccessibilityNodeInfo eventSource = event.getSource();
        final AccessibilityEventModel accessibilityEventModel = new AccessibilityEventModel();
        accessibilityEventModel.setPackageName(eventPackageName);
        accessibilityEventModel.setEventText(eventText);
        accessibilityEventModel.setEventClassName(eventClassName);
        accessibilityEventModel.setEventSource(eventSource);
        accessibilityEventModel.setParcelable(event.getParcelableData());
       executorService.execute(() -> {
            AccessibilityManager accessibilityManager = new AccessibilityManager(context, localDatabaseSource);
            accessibilityManager.goThroughAccessibilityEvent(eventType,
                    accessibilityEventModel);
        });
        
    } catch (Exception e) {
        Log.d(TAG, " Error: " + e.getMessage());
    }
}
fun goThroughAccessibilityEvent(
    eventType: AccessibilityEventType,
    accessibilityEventModel: AccessibilityEventModel
) {
    when (eventType) {
        AccessibilityEventType.TYPE_WINDOW_CONTENT_CHANGED -> WindowContentChangeEventData(
            localDatabaseSource
        ).onAccessibilityEvent(context, accessibilityEventModel)
    }
}