package org.robolectric.shadows; import android.os.Parcelable; import android.view.View; import android.view.accessibility.AccessibilityRecord; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import org.robolectric.annotation.RealObject; import org.robolectric.shadow.api.Shadow; import org.robolectric.util.ReflectionHelpers.ClassParameter; /** * Shadow of {@link android.view.accessibility.AccessibilityRecord}. */ @Implements(AccessibilityRecord.class) public class ShadowAccessibilityRecord { private Parcelable parcelableData; @RealObject public AccessibilityRecord realRecord; public static final int NO_VIRTUAL_ID = -1; private View sourceRoot; private int virtualDescendantId; @Implementation public void setSource(View root, int virtualDescendantId) { this.sourceRoot = root; this.virtualDescendantId = virtualDescendantId; Shadow.directlyOn(realRecord, AccessibilityRecord.class, "setSource", ClassParameter.from(View.class, root), ClassParameter.from(Integer.TYPE, virtualDescendantId)); } @Implementation public void setSource(View root) { this.sourceRoot = root; this.virtualDescendantId = NO_VIRTUAL_ID; Shadow.directlyOn(realRecord, AccessibilityRecord.class, "setSource", ClassParameter.from(View.class, root)); } @Implementation public void setParcelableData(Parcelable data) { parcelableData = data; } @Implementation public Parcelable getParcelableData() { return parcelableData; } public View getSourceRoot() { return sourceRoot; } public int getVirtualDescendantId() { return virtualDescendantId; } }