Commit Graph

236 Commits

Author SHA1 Message Date
Pascal Hartig
6bfdb8d114 README: Sonar -> Flipper
Summary: Kick off the rename.

Reviewed By: jknoxville

Differential Revision: D9044214

fbshipit-source-id: 86e7b3aeef8c972f18499185c291867751068a2d
2018-07-31 09:56:15 -07:00
Pritesh Nandgaonkar
d931a563d1 Version bump to 0.6.14
Summary: Version bump 0.6.14

Reviewed By: passy

Differential Revision: D9081956

fbshipit-source-id: 165f051bb762b00080a3447ac336031bdae01d39
2018-07-31 09:56:15 -07:00
Noah Gilmore
68789e7c96 Fix Obj-C and Swift builds which are broken in v0.6.13 (#192)
Summary:
9f807c introduced a new subspec in SonarKit.podspec, which caused Cpp header files to be included in `SonarKit-umbrella.h`, causing all non-ObjC++ project integrations to fail to build (see #190 for more info). SirArkimedes and I investigated this today and found the fix:

1. Make the `CppBridge` subspec's header files private
2. Add a hack to make Cocoapods copy `FBMacros.h` into `{PODS_ROOT}/Headers/Public/SonarKit`, since otherwise `#import "FBMacros.h"` in `SonarKit-umbrella.h` will fail to resolve in out-of-the-box projects.

I've put up a branch [here](https://github.com/noahsark769/sonar-testing-example-projects/tree/working_reference) which pulls the pod from this branch and verifies that the fix works.

Fixes #190
Pull Request resolved: https://github.com/facebook/Sonar/pull/192

Reviewed By: passy

Differential Revision: D9049420

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 9383016975607e897085323d64ad44a068199918
2018-07-31 09:56:15 -07:00
Pascal Hartig
b2193c091a Update CNAME
Summary: Per title.

Reviewed By: priteshrnandgaonkar

Differential Revision: D9082704

fbshipit-source-id: 0eac34dc5a675f79c8d1aae33dd1ea491ee77708
2018-07-31 08:15:12 -07:00
Daniel Büchele
37425e7ae8 persist state over reload
Summary: The selected device, app and plugin are not persisted over a reload using `redux-persist`.

Reviewed By: jknoxville

Differential Revision: D8836481

fbshipit-source-id: 3ace1a950a200255d5daf77791d706ede0ff2138
2018-07-31 07:58:33 -07:00
Daniel Büchele
1f977f4844 Store use selected plugin after reconnect
Summary:
Deselect plugin when app disconnects, but store the information that the users had the app selected. When the app conencts again, restore the user's selection.
This also stores the device seleced by the user and reselects the device if it connects.

Reviewed By: xiphirx

Differential Revision: D8833948

fbshipit-source-id: ad3ef54681550ae674bdd4e695d677aea5c14588
2018-07-31 07:58:33 -07:00
Hilal Alsibai
a8138984f9 Fix undefined references
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
2018-07-31 04:14:49 -07:00
Sara Valderrama
33e6538477 Highlight the current talkback-focused element in the accessibility tree
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
2018-07-31 04:14:49 -07:00
Zhaojun Zhang
6939292209 Remove clang compiler warnings for Android: -Wno-unused-parameter
Summary: att

Reviewed By: gkmhub

Differential Revision: D8972835

fbshipit-source-id: c8b893eefec6ccb5d8506c959bcf5c3f43701e81
2018-07-27 11:01:04 -07:00
Sara Valderrama
ffe53d1345 Small sidebar update
Summary: Added some props to sidebar for ax mode.

Differential Revision: D8983386

fbshipit-source-id: eaf414dc8ae5386744c66f1d43b6b9068b9593c1
2018-07-26 15:48:00 -07:00
John Knox
4fd89f6402 Create establishing-a-connection.md (#188)
Summary:
Start documenting the connection establishment mechanism
Pull Request resolved: https://github.com/facebook/Sonar/pull/188

Reviewed By: passy

Differential Revision: D8997270

Pulled By: jknoxville

fbshipit-source-id: 28379f008ea833b826192800b890fc87bb755136
2018-07-26 05:47:42 -07:00
Pritesh Nandgaonkar
41d0b2eec2 Move iOS scripts to xplat
Summary: Move iOS scripts to xplat

Reviewed By: passy

Differential Revision: D8989985

fbshipit-source-id: 1499657f6d9b7e82f26aa8c008951c885756b51d
2018-07-26 05:21:43 -07:00
Pritesh Nandgaonkar
6c78895b2a Move SampleSwift project to xplat
Summary: Move SampleSwift project to xplat

Reviewed By: passy

Differential Revision: D8989867

fbshipit-source-id: cfda775ec3919d5c689aaf6846a870a2653c47a6
2018-07-26 05:21:43 -07:00
Pritesh Nandgaonkar
77fb96244d Move SonarKitNetworkPlugin to xplat
Summary: Moves SonarKitNetworkPlugin to xplat

Reviewed By: passy

Differential Revision: D8972074

fbshipit-source-id: 4db295d3012f96ce98898f3b90026b3f081ab837
2018-07-26 05:21:43 -07:00
Pritesh Nandgaonkar
e8d7233ccc Move SonarKitLayoutPlugin to xplat
Summary: Moves SonarKitLayoutPlugin to xplat, keeping just the buck file in the `fbobjc` which directs to `xplat `

Reviewed By: passy

Differential Revision: D8967016

fbshipit-source-id: 9ac99beffee1332f38eb3984958b536eefc74e19
2018-07-26 05:21:43 -07:00
Aurelien Fredouelle
5714ce08c9 Added export for the DataDescription component
Reviewed By: jknoxville

Differential Revision: D8896383

fbshipit-source-id: f4873c251046be5983ef1e7377a9a269a087261a
2018-07-26 04:34:46 -07:00
John Knox
b68d802fae Sort plugins alphabetically
Summary: Show plugins in alphabetical order in the main sidebar, so you can more easily find the one you're insterested in.

Reviewed By: passy

Differential Revision: D8995900

fbshipit-source-id: 2ce4a4f4ac7491378e09da8b6ada3f60102a36cb
2018-07-26 03:32:58 -07:00
John Knox
e0f8d1f89a Add basic build steps to README.md (#185)
Summary:
For those not familiar with android and iOS development practices, adding basic build instructions.
Pull Request resolved: https://github.com/facebook/Sonar/pull/185

Reviewed By: passy

Differential Revision: D8991468

Pulled By: jknoxville

fbshipit-source-id: 990dc1217c7b5275d143b915c1b4872b271f4c94
2018-07-26 03:32:58 -07:00
Pascal Hartig
8482e80c27 Move javatests/
Summary: That one was a doozy.

Reviewed By: jknoxville

Differential Revision: D8974692

fbshipit-source-id: bbdca0d5c598a2d1ebcc03f1456a7b17be5ffcf2
2018-07-26 02:05:02 -07:00
Benjamin Pankow
e223595941 Add 'depressed' param to Button
Summary: Adds an optional 'depressed' param to Button. If set to true, displays the Button as if it was depressed. Used to add a set of togglable buttons in which all or none can be selected.

Reviewed By: jknoxville

Differential Revision: D8903854

fbshipit-source-id: ff39bed91514e420b49cb75fe57e490fa641b810
2018-07-25 10:33:36 -07:00
Sara Valderrama
41f4478a74 Basic mutual highlighting for Litho components
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
2018-07-25 10:19:37 -07:00
Sara Valderrama
c57e6e4396 Expand trees together - including fragments, not including litho components
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
2018-07-25 10:19:37 -07:00
Pritesh Nandgaonkar
2155c7799f Publish 0.6.13 to private repo (#186)
Summary:
Publishes 0.6.13 to private repo
Solves  #181
Pull Request resolved: https://github.com/facebook/Sonar/pull/186

Reviewed By: passy

Differential Revision: D8991760

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 3081cfd947d4bfea1defe75903cfa14cce442b19
2018-07-25 09:37:39 -07:00
Pascal Hartig
a876f90b68 Fix lint error
Summary: Per title. CI is unhappy.

Reviewed By: jknoxville

Differential Revision: D8991974

fbshipit-source-id: db7b9161b814fbbae0849d3ee3d551a7a8588985
2018-07-25 09:19:38 -07:00
John Knox
d747afa764 Move xplat//sonar-client to xplat//sonar/xplat (#184)
Summary:
Pull Request resolved: https://github.com/facebook/Sonar/pull/184

Move all files in xplat//sonar-client to xplat//sonar/xplat.

xplat//sonar-client is now deleted and all references updated to point to the new location.

Why?
So that internal file structure matches github file structure.

Reviewed By: priteshrnandgaonkar

Differential Revision: D8966740

fbshipit-source-id: 503da608e4385dc1563c56082eb7a1f48525bdc7
2018-07-25 08:49:33 -07:00
Pascal Hartig
6a7a580db3 Import "Fix some typos (it's vs its)" (#175)
Summary:
Original author: noahsark769

Closes https://github.com/facebook/Sonar/pull/175

Reviewed By: jknoxville

Differential Revision: D8989724

fbshipit-source-id: 8e1c09196b0c6c0d0fb0446a2a4a595d09f21652
2018-07-25 07:18:54 -07:00
Pascal Hartig
16093222c0 Move Litho plugin to xplat//
Summary: Last one of the plugins.

Reviewed By: jknoxville

Differential Revision: D8966725

fbshipit-source-id: 1564042c45815d324f7dc0ef6d9d024307787b49
2018-07-25 06:33:29 -07:00
Pritesh Nandgaonkar
9f807cd0df Move core sonarkit code to xplat
Summary:
This diff only moves the core of sonarkit to the xplat.

- This diff uses `fb_xplat_cxx_library` as a buck rule in xplat as it is the recommended way
- Updated few imports in the files which were not compiling with new buck function
- Due to the new way of import the OSS would break, so fixed it by changing the `podspec` file

Reviewed By: passy

Differential Revision: D8937414

fbshipit-source-id: 6e12cd049bedb496e7a6820be85b2535e70ba09b
2018-07-25 01:43:23 -07:00
Thomson Thomas
65239838f2 Fix the crash from okhttp interceptor (#168)
Summary:
Add a null check before creating a new response
Fixes #166
Pull Request resolved: https://github.com/facebook/Sonar/pull/168

Reviewed By: jknoxville

Differential Revision: D8915871

Pulled By: passy

fbshipit-source-id: aa93273f6fe90a8160133331e0844f67ff7e620a
2018-07-24 08:33:14 -07:00
Pritesh Nandgaonkar
02cd3ba560 Add warning if plugin is ignored due to gatekeeper
Summary: Adds warning if plugin is ignored due to user not being the part of gatekeeper. As it will help us to better support our users

Reviewed By: passy

Differential Revision: D8952074

fbshipit-source-id: a5b995c778989deb08972081b19313303f8bfabb
2018-07-24 07:48:37 -07:00
Pascal Hartig
5b38cbdf76 Move OSS plugins
Summary:
This is a big one. Moves all oss plugins to a new place and leaves
stub targets in place. No logic changes. Everything apart from
BUCK files should be unchanged.

Reviewed By: jknoxville

Differential Revision: D8951045

fbshipit-source-id: 8054fb4028181d5cc4a240b1908dab6471cf0a27
2018-07-24 07:22:27 -07:00
Eldad Moneta
333ceac957 convertFollyDynamicToId - Don't crash if illegal value is return in one of the conversions
Summary:
Fixing T31692652.
I couldn't reproduce this on my local tests - (tried non-utf chars, deleted memory, onverted vectors that are erased).
My guess - an illegal string cannot be converted to NSSString and thus we return nil when the folly::dynamic type is STRING.

See task for additional details.

Reviewed By: nubbel

Differential Revision: D8952714

fbshipit-source-id: c87af523efca1b96a4cf3d5d26fa5c16ed5cd773
2018-07-24 06:48:26 -07:00
Pascal Hartig
c7ccff117f v0.6.13
Summary: Already released, linked against new versions of SoLoader.

Reviewed By: priteshrnandgaonkar

Differential Revision: D8931240

fbshipit-source-id: b525f5596778341a016808d3c61a3f5a382e4c79
2018-07-20 08:20:50 -07:00
Pascal Hartig
fb2b9cfc9f Update android lib build paths
Summary: Move manifest to correct place, update build.gradle accordingly.

Reviewed By: priteshrnandgaonkar

Differential Revision: D8931222

fbshipit-source-id: e2cf4b507de4ea984b5a2dce1bb9edee0c4e2558
2018-07-20 08:20:50 -07:00
Pascal Hartig
c3e8a2d22a Fix cpp build paths
Summary:
Those hadn't been updated as part of the move and cause runtime
failures.

Reviewed By: priteshrnandgaonkar

Differential Revision: D8931211

fbshipit-source-id: bc874eeea39134d6da9e16f6771bf0d3d3c02473
2018-07-20 08:20:50 -07:00
Pascal Hartig
2ec67bf801 Bump first-party dependencies
Summary:
Important because we still run into soloader incompatibilities due
to the transitive dependency of Litho on Yoga on SoLoader. Sigh.

Reviewed By: priteshrnandgaonkar

Differential Revision: D8931213

fbshipit-source-id: 7e2de85deb5975dbe3f25e8145a9226d6684357c
2018-07-20 08:20:49 -07:00
Marc Terns
da4d03758b Removing Yoga and YogaKit from the private CocoaPods repository (#156)
Summary:
This partially fixes [#132](https://github.com/facebook/Sonar/issues/132)

Yoga.podspec and YogaKit.podspec are being removed from the private repository since now they exist in the CocoaPods master repository
Pull Request resolved: https://github.com/facebook/Sonar/pull/156

Reviewed By: passy

Differential Revision: D8890062

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 15ae1345c9816c1fff324cbdaff188f8ee521373
2018-07-20 05:17:43 -07:00
Noah Gilmore
8177675465 Initial support for using Sonar in Swift projects (#106)
Summary:
This PR adds support for using SonarKit clients in Swift apps. Fixes #13, fixes #87

1. Swift can't import Obj-C modules which have C++ headers. For this reason, we use SonarKit as an Obj-C++ wrapper around Sonar, which is written in C++. Due to search path misconfiguration, trying to import SonarKit into a Swift project would import `xplat/Sonar/SonarPlugin.h` instead of `iOS/SonarKit/SonarPlugin.h`, which caused `file not found` errors for C++ stdlib imports like #28 because new projects don't have their search paths set up correctly.
2. The network and layout plugins have C++ definitions (struct methods, classes) in some of their headers. This causes the compiler to get confused for Swift projects, because it only supports importing Objective-C files in umbrella headers, meaning that the `SonarKit` won't build.

1. I updated the `HEADER_SEARCH_PATHS` of SonarKit.podspec's build configuration to include `${PODS_ROOT}/Headers/Private/SonarKit/**` first, which alleviates the search path issue. The Obj-C `Sample` project seems to have worked around this by including a hardcoded `${PODS_ROOT}/SonarKit/**` search path in the pbxproj, which is why Sample works but new projects (like those referenced in #28) don't. I removed this since it's no longer necessary.
2. I added a `SampleSwift` app to demonstrate using Sonar with a Swift project.
3. Because the Podfiles for `Sample` and `SampleSwift` referenced podspecs using `:podspec` instead of a concrete version, Cocoapods wouldn't copy local header files (instead, it downloads them from the source). To enable local development of these sample apps using `:path`, I added a symlink to SonarKit.podspec in the root of the directory.
4. I changed SonarKit.podspec to use a tag-based `source`, since v0.0.1 pulls from the master branch of this repo.

The layout and network plugins still don't work with Swift - in order to fix this, we'll need to work on extracting the C++ out of their headers and writing Obj-C++ wrappers for them. I decided to push this off to a later PR since this one is quite large already.

This means that we need to be able to `import SonarKit` without importing all the network/layout plugin headers. In order to make this work, I made "SonarKit/Core" the spec's `default_subspecs`.

priteshrnandgaonkar, let me know if you have any thoughts on this implementation. You can verify that the SampleSwift app works by checking out this branch, `pod install`ing in the SampleSwift directory, and building it :)

![image](https://user-images.githubusercontent.com/1168853/41928625-ac195bd8-792a-11e8-82b8-65d6233a1fbb.png)
Pull Request resolved: https://github.com/facebook/Sonar/pull/106

Reviewed By: jknoxville

Differential Revision: D8890010

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 449305bcc5cbeb5787c23f51b1ecb80a5cbdad32
2018-07-20 04:33:52 -07:00
Barney Huang
fcfa0409e4 fix null device reference
Summary:
Force device type from BaseDevice to AndroidDevice, because we need to access adb inside AndroidDevice.
In long term, we should use DeviceShell from BaseDevice, but that need much more changes.

Differential Revision: D8876082

fbshipit-source-id: 0772a0ac361c5e3eca9c7a590281ffa786501e15
2018-07-20 03:32:54 -07:00
Austen McRae
bfc8bfc164 Fix SonarConnectionMock by overriding virtual method
Summary: SonarConnection should have an `error` function; this stubs out the mock to have this, allowing creation for tests.

Reviewed By: jknoxville

Differential Revision: D8878130

fbshipit-source-id: 9e0f45dac4ba31ee650dfd46dcee51207cc7a9b4
2018-07-19 14:34:52 -07:00
Pascal Hartig
07b083e570 Move sample source and resources to gradle dirs
Summary: Follow standard Gradle paths.

Reviewed By: priteshrnandgaonkar

Differential Revision: D8890133

fbshipit-source-id: 062331b6b3d5f118f07cb5ca14cdec871f75867b
2018-07-19 09:50:04 -07:00
Pascal Hartig
50affb0a25 Move android sample to xplat
Summary: Move to xplat while ensuring that the buck target alias is still valid from fbandroid.

Reviewed By: priteshrnandgaonkar

Differential Revision: D8890129

fbshipit-source-id: 97ad8eac35780715e84a2620aae4e6ed566385c9
2018-07-19 09:50:04 -07:00
Pascal Hartig
f6b143135c Remove third-party from dependencies
Summary:
:third-party doesn't actually export anything. So we don't need to
explicitly depend on it as it messes with the POM generation otherwise.

Reviewed By: jknoxville

Differential Revision: D8913636

fbshipit-source-id: d0da6ed4c47e8d6b7986ec9f12960c9323ad1640
2018-07-19 08:48:13 -07:00
Pritesh Nandgaonkar
3e20ebe970 Move Sample app from iOS to xplat
Summary: Move Sample app from iOS to xplat

Reviewed By: jknoxville

Differential Revision: D8911835

fbshipit-source-id: 2fffff0db0d1193183ddb818438d1b72d8b63ccb
2018-07-19 04:31:00 -07:00
Pritesh Nandgaonkar
89d28d1188 Moved FBDefines to xplat
Summary: Moved FBDefines to xplat

Reviewed By: passy

Differential Revision: D8895202

fbshipit-source-id: 3edfcecade7c67a0ddfc5c64bb4454df65cbcc93
2018-07-19 04:31:00 -07:00
Pritesh Nandgaonkar
89d426113c Move cocoapod build files from fbobjc to xplat
Summary: Move cocoapod build files from fbobjc to xplat

Reviewed By: passy

Differential Revision: D8895097

fbshipit-source-id: 2cb314d54dc08a36aad1342af004384e264fa808
2018-07-19 04:30:59 -07:00
Pritesh Nandgaonkar
322a79b394 Scripts for podspec updation and github tag release
Summary:
This diff adds the support to automate iOS releases. This diff adds two scripts, one for updating all the `podspecs`, and `podfiles` with updated version number. The script also updates the version used in sample and getting started doc file.
The second script publishes a github tag.

Following will be the process for iOS release:-

1. From `fbobjc/Libraries/SonarKit/Scripts` run `sh public-ios-podspec-update.sh`, it will update all the podspecs, podfiles and docs with updated version number. Commit it and land this
2. Once the above changes are landed and synced to github, run `sh push-new-github-tag.sh` from `fbobjc/Libraries/SonarKit/Scripts` to push the tag on github

As a follow up on this diff, ideally, we should trigger second script automatically when the 1st task changes are synced to github.

Reviewed By: jknoxville

Differential Revision: D8879958

fbshipit-source-id: 8f0dc9200e8f64578af33e1446629f09c16c43f2
2018-07-19 04:30:59 -07:00
Austin Vandergon
5b0e742fe6 Call module init helpers on debug builds
Reviewed By: SeyelentEco

Differential Revision: D8879847

fbshipit-source-id: 812ff0098fc8e3c85ab0a33df5e4ade919209583
2018-07-18 17:24:35 -07:00
Sara Valderrama
0244f15dab Use views not components for Litho nodes in AX tree + more sidebar props
Summary: Switches the tree to use the view hierarchy for Litho nodes rather than Litho component hierarchy since Accessibility services interact with the views rendered. Includes a few more properties in the accessibility sidebar and updates to the segmented sidebar based on derived/non-derived properties for all views. Also adds functions to the AccessibilityUtil to be able to work on the accessibility sidebar while still leaving the non-accessibility sidebar unchanged. Eventually the accessibility panel will be removed from 'normal' mode and the original functions will no longer be necessary.

Reviewed By: blavalla

Differential Revision: D8881739

fbshipit-source-id: 9ce37e8f18025538cba2c86c0895ee38d13d024b
2018-07-18 17:03:32 -07:00
Pascal Hartig
b28e96624d v0.6.12 (#160)
Summary:
Version bump for the Android release. Mostly for soloader upgrade.
Pull Request resolved: https://github.com/facebook/Sonar/pull/160

Reviewed By: priteshrnandgaonkar

Differential Revision: D8892812

Pulled By: passy

fbshipit-source-id: 1942366838625d4703b7623533e115ae19fda2ca
2018-07-18 09:04:30 -07:00