Expose prefetching strategies to services
Make the prefetching strategies public so a service can choose which strategy works best in a particular spot. This should reduce unnecessary/redundant prefetching. For example, the FW currently only allows hybrid descendant prefetching, but a service may want to do depth-first or breadth-first traversal of the view hierarchy. Currently, if there is another user interactive request, we immediately return prefetched nodes. Also allow services to prevent this interruption and force prefetching to a max of 50 nodes. Services could potentially request a certain number of nodes, but since asynchronous prefetching immediately returns the requested node, the service can force prefetching of 50 nodes if desired, and only exposing strategies touches less code, I prefer limiting this. Also use a LinkedHashMap so ordering is kept when prefetching descendants. Test: Manual, talkback builds atest AccessibilityCacheTest, AccessibilityInteractionControllerNodeRequestsTest Bug: 192489177 Change-Id: I3d8358411ece5d2e1380282824cd3cf1835658ac
Loading
Please register or sign in to comment