public CustomVirtualViewCompatMode()

in AutofillFramework/Application/src/main/java/com/example/android/autofill/app/view/autofillable/CustomVirtualViewCompatMode.java [56:98]


    public CustomVirtualViewCompatMode(Context context, AttributeSet attrs, int defStyleAttr,
            int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);

        setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
        mAccessibilityNodeProvider = new AccessibilityNodeProvider() {
            @Override
            public AccessibilityNodeInfo createAccessibilityNodeInfo(int virtualViewId) {
                if (DEBUG) {
                    Log.d(TAG, "createAccessibilityNodeInfo(): id=" + virtualViewId);
                }
                switch (virtualViewId) {
                    case AccessibilityNodeProvider.HOST_VIEW_ID:
                        return onProvideAutofillCompatModeAccessibilityNodeInfo();
                    default:
                        final Item item = getItem(virtualViewId);
                        return item.provideAccessibilityNodeInfo(CustomVirtualViewCompatMode.this,
                                getContext());
                }
            }

            @Override
            public boolean performAction(int virtualViewId, int action, Bundle arguments) {
                if (action == AccessibilityNodeInfo.ACTION_SET_TEXT) {
                    final CharSequence text = arguments.getCharSequence(
                            AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE);
                    final Item item = getItem(virtualViewId);
                    item.setText(text);
                    invalidate();
                    return true;
                }

                return false;
            }
        };
        mAccessibilityDelegate = new AccessibilityDelegate() {
            @Override
            public AccessibilityNodeProvider getAccessibilityNodeProvider(View host) {
                return mAccessibilityNodeProvider;
            }
        };
        setAccessibilityDelegate(mAccessibilityDelegate);
    }