Summary: Adds on hover descriptions for some of the more esoteric properties in the accessibility sidebar panel such as accessibility-focused and all the talkback derived properties. Also change talkback-focusable and talkback-ignored to both be talkback-focusable.
Differential Revision: D9381676
fbshipit-source-id: 55ce854da24241a7c89b0c122c4c3ebd77438dbb
Summary: AX tree will now stay in sync with the main tree when searching. Also allows user to completely erase search (previously had left one letter highlighted in the tree even if entire query was erased).
Reviewed By: danielbuechele
Differential Revision: D9276721
fbshipit-source-id: 5272bb9cf3400ad3eb9d16bf438b0e5d4b551c6a
Summary: Added logging for accessibility functionality (both usage and performance). Fix to prevent trackTimeSince calls from not matching up to the correct marks. Fix to prevent recursive onElementExpanded calls from mismatching also.
Reviewed By: danielbuechele
Differential Revision: D9229790
fbshipit-source-id: d20f08719d2c4f9a35c9c71a492619ce5538d204
Summary: Adds expanding functionality to ax tree when click-to-inspect is used. Highlight/selection priority is given to the ax tree if in ax mode and the main tree otherwise.
Reviewed By: danielbuechele
Differential Revision: D9206028
fbshipit-source-id: 364b3cfc2e68dbce6006c36002353295aa7cdd07
Summary: Puts an accessibility icon next to any elements in the ax tree that may be focused on when talkback is running to show that they are "accessibility-focusable". When any sidebar values are changed, the icon will show up/disappear accordingly.
Reviewed By: danielbuechele
Differential Revision: D9171781
fbshipit-source-id: f3b42624988aaef22040ac3325d745a12f0622db
Summary: Allow user to open the context menu on an element in the ax tree and request accessibility focus to that element. If the element is focusable (and talkback or another accessibility service is running), accessibility focus will change to that element, if not, it will not change anything.
Differential Revision: D9162382
fbshipit-source-id: 5dda9b87a2cc6eba4130e3feee978b5fa38ac9f1
Summary: Allow click to inspect to work when Talkback is running (normal tree expands as usual although ax tree doesn't expand yet). Override onHover of Touchoverlay and onRequestSendAccessibilityEvent in viewRoot to prevent talkback focus when in Click to Inspect mode. Also update layout inspector to persist isSearchActive to prevent build up of TouchOverlayViews when navigating between plugins (which happened if leaving the layout inspector while in Click to Inspect mode).
Reviewed By: danielbuechele
Differential Revision: D9153446
fbshipit-source-id: f76982e8f8cea1e7b7e4c6b9bf73632d101222ef
Summary:
Add a Button to toggle alignment lines on Sonar interface.
Call sonar plugin in java, sending isAlignmentMode flag.
Changed API for setHighlighted to include alignment mode flag.
Button design to be added in future diffs by @[100003260904633:maximg]
Reviewed By: danielbuechele
Differential Revision: D9123749
fbshipit-source-id: 01c299f299be30dbb695bfb1d8007d63c27643d5
Summary: Ax mode now works with multiple view roots/windows, accessibility focus is also updated when new windows are opened.
Reviewed By: danielbuechele
Differential Revision: D9121844
fbshipit-source-id: 1da9327f5d6a784793db8076c2ad2d84e860ac1c
Summary: Clean up javascript. Add a check to remove ax mode toggle if using ios. Add safety check for extraInfo where it hasn't been added yet.
Reviewed By: danielbuechele
Differential Revision: D9070574
fbshipit-source-id: 49ac781c01ea47239d6c24089976497371973726
Summary: If the app youre inspecting doesnt have extra ax info then the layout inspector has a bad time
Reviewed By: sjkirby
Differential Revision: D9038286
fbshipit-source-id: e3c1736cba13b870cf7ff648377c822fba4446d0
Summary: Highlights the element corresponding to the view talkback is focused on in green in the ax tree (and updates live as talkback moves).
Reviewed By: blavalla
Differential Revision: D9021542
fbshipit-source-id: c3bf6f5625aacb0cd054032b33a50541b88b2eaf
Summary: Shows basic relationship between the AX and nonAX tree litho nodes. When a litho component is selected from the nonAX tree, it's corresponding hostView or lithoView (root of the component tree) is highlighted in the AX tree giving priority to the hostView if it exists. If a hostView is selected in the AX tree, it's corresponding component is selected in the non-AX tree. If a lithoView is selected from the AX tree, it's corresponding lithoView is highlighted in the non-AX tree. This means that each hostView has a one-to-one highlighting between the two trees but lithoViews will have many nodes in the main tree that map to one node in the AX tree (which is accurate to litho components rendering but we may need to change in the future if it is not clear).
Reviewed By: jknoxville
Differential Revision: D8972205
fbshipit-source-id: d136f5b594d0ac1b66a82b35dc7b085186829fc4
Summary: When expanding one tree, the other tree also expands. This expanding jumps over fragments (which are not in the accessibility tree) so that the trees can stay in sync even when there are extra wrappers in the main tree. Need to figure out functionality for litho components (these simply don't expand together right now since the relationship between the trees at these nodes are less obvious).
Differential Revision: D8943229
fbshipit-source-id: 289c3511a6495508b45a62da13ae4c50209e6118
Summary: The second tree has access to all AX NodeInfo properties (they are not in the sidebar yet). Infrastructure set up to customize displayed information bassed on what is most useful. Descriptors for views updated to include AX functionality and non-view descriptors AX functions defaulted to null/empty. Non-view nodes (like Fragments, Window, Appication) no longer included in AX tree. Corresponding nodes will be highlighted (although not expanded) on click in either tree.
Differential Revision: D8795800
fbshipit-source-id: cf2333f69bfecca3ff84aae62681c684dfa14bf3
Summary:
All the new errors were missing annotation errors. I fixed as many as I could
by adding annotations. For the rest I added a $FlowFixMe suppression type.
Reviewed By: nmote
Differential Revision: D8756267
fbshipit-source-id: a69b6e21525b9b12e582ff18dcb1eeea584abb2a
Summary: Added duplicate view tree (will be replaced with accessibility node tree eventually). Can toggle ax mode on and off and interact with each tree individually to view/change properties.
Reviewed By: danielbuechele
Differential Revision: D8717557
fbshipit-source-id: 1109ccafd49b6958ee7a70c2e8851ed8351516ae
Summary:
Refactors the plugin architecture of Sonar:
- Before plugin rendering had it's own implementation of the react lifecycle. This means the `render`-function was not called by react, but rather by the application it self. In this diff, the render method is now called from react, which enables better debugging and allows react to do optimizations.
- Business logic for querying emulators is moved away from the view components into its own dispatcher
- All plugin handling is moved from `App.js` to `PluginContainer`.
- The sidebar only shows one selected device. This allows us to add the screenshot feature as part of the Sonar main app and not a plugin.
- This also fixes the inconsistency between the devices button and the sidebar
Reviewed By: jknoxville
Differential Revision: D8186933
fbshipit-source-id: 46404443025bcf18d6eeba0679e098d5440822d5