Summary: I don't know why we left this for so long, it doesn't make a good first impression.
Reviewed By: mweststrate
Differential Revision: D18348908
fbshipit-source-id: b8b0e5fe8f6ab81281d6ea1a1299ebdaaf0b9c43
Summary:

There is no spacing between the texts on the demo app and I found them difficult to click. So I decided to add some margins to make them more thumb-friendly :)
## Changelog
Make demo app more thumb-friendly
Pull Request resolved: https://github.com/facebook/flipper/pull/621
Test Plan: N/A
Reviewed By: jknoxville
Differential Revision: D18245979
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 9c99a477c4100323144518f56369a42085589f77
Summary:
This was removed because it's implicitly required by the library now.
However, Buck doesn't pick this up by default and requires further
configuration. It's easiest just to declare this twice now.
Reviewed By: jknoxville
Differential Revision: D18202459
fbshipit-source-id: 48c6a91c2fca0d932950a81c092b78b90a24c27b
Summary:
If we move the permissions into the library itself, the manifest
merger will take care of adding them to consuming applications,
making setup instructions easier.
## Changelog
Move required permission declarations into flipper-core
Pull Request resolved: https://github.com/facebook/flipper/pull/593
Test Plan:
Using aapt we can dump the permissions of a sample app.
`$ANDROID_HOME/build-tools/29.0.2/aapt d permissions sample-debug.apk `
```
package: com.facebook.flipper.sample
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='android.permission.FOREGROUND_SERVICE
```
Reviewed By: priteshrnandgaonkar
Differential Revision: D18006323
Pulled By: passy
fbshipit-source-id: c4cf28ee698faa3e2b631462f2953976135b299c
Summary:
Base64 encoding can easily cause OOMs for large payloads.
In the long-term, it would be great to have a way of streaming these
responses so we don't allocate 50MB chunks of memory at once.
Reviewed By: jknoxville
Differential Revision: D17951353
fbshipit-source-id: a5d7b8242892518590ac95c1d9751f24d20dc40e
Summary:
see https://github.com/facebook/flipper/issues/450
If we want to control a custom SharedPreferences, we can create a Class as SharedPreferencesDescriptor's Subclass, override the getSharedPreferences() function to return a custom SharedPreferences instance.
## Changelog
add getSharedPreferences() function in SharedPreferencesDescriptor Class
Pull Request resolved: https://github.com/facebook/flipper/pull/571
Test Plan: No
Reviewed By: jknoxville
Differential Revision: D17738675
Pulled By: passy
fbshipit-source-id: d227e7d6461194f7a01ae7b2ba53434dd71fc0d2
Summary:
This avoids having to perform gymnastics like in
https://github.com/facebook/react-native/pull/26697
Reviewed By: jknoxville
Differential Revision: D17735954
fbshipit-source-id: 507548aab89309beeb228b104a24af8acd10ce9a
Summary:
This is now published to Maven Central and doesn't require a
separate repository.
Pull Request resolved: https://github.com/facebook/flipper/pull/557
Test Plan: CI
Reviewed By: danielbuechele
Differential Revision: D17526448
Pulled By: passy
fbshipit-source-id: 169b5bc5f6568d40697e5e48a9873f8a64bd5e00
Summary:
I missed these. :(
Open source CI is unhappy about this - for good reasons.
Reviewed By: jknoxville
Differential Revision: D17500071
fbshipit-source-id: 96106f660dee59985c51e2635321ab4ad00a795a
Summary:
Setting up the necessary metadata to publish the separate plugins
to Maven/Bintray.
Reviewed By: danielbuechele
Differential Revision: D17480263
fbshipit-source-id: 1772cee5b3744ce52fc6e2510a27cb7f500e72bf
Summary:
Breaking Litho/Sections off. Doesn't really make sense to have
two deps for this especially since they're pretty tightly coupled.
This makes our core already quite slim.
Reviewed By: jknoxville
Differential Revision: D17420118
fbshipit-source-id: 9a03911f4af6410745b9aefd0e6a75bdf106660f
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/548
First project to pull out of the "fat distribution" we currently have.
Still needs setup for Maven and registration in Bintray.
Reviewed By: jknoxville
Differential Revision: D17395660
fbshipit-source-id: 6244495a2e25d705dd930ef87c7e5e1f038eb921
Summary: It's getting really tedious to turn these off one by one.
Reviewed By: jknoxville
Differential Revision: D17366198
fbshipit-source-id: 25443d7a18c81cd18edea21d75cfa70e4fbf4171
Summary: This got really badly mauled by a codemod I reckon.
Reviewed By: jknoxville
Differential Revision: D17366199
fbshipit-source-id: 6f1863e5e3d3ed26753723cf666b70655601a8de
Summary:
This has been tripping up the release builds, luckily caught by
Circle: https://circleci.com/gh/facebook/flipper/1480
Reviewed By: jknoxville
Differential Revision: D17282130
fbshipit-source-id: a17adb18bc75e4fa5d645a062343622167785fa6
Summary: Show info about the event which triggered a new changeset generation; in case of a state update, also show the name of the method which triggered the state update.
Reviewed By: pasqualeanatriello
Differential Revision: D17162202
fbshipit-source-id: ebf218f8ce71799e4dd452f54b1621af7f83cc51
Summary: Use the string sent from the client to show which section triggered a state update.
Reviewed By: pasqualeanatriello
Differential Revision: D17162190
fbshipit-source-id: a72eea1c6fc0fba851028aa050f0c6772a590e8d
Summary:
Show the section which triggered the state update in the tree hierarchy.
We can't use the attribution param that was being passed from SectionTree because it contains the key of the section, not the global key.
Reviewed By: pasqualeanatriello
Differential Revision: D17161730
fbshipit-source-id: bae5e509c378ffdf210acac6564212c873c5855b
Summary:
The navigation plugin supports logging of a date and the class name. This addition adds that support.
I have kept the previoius method which I will remove once I update the fb4a navigation plugin integration.
Reviewed By: danielbuechele
Differential Revision: D17202996
fbshipit-source-id: eac95328a6e2278c3a27ca608b9b675c8efe4528
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/538
Upgrades libevent to the August release 2.1.11.
Some notable things:
- The CMake file they ship with is actually broken. It contains a reference to an "uninstall.cmake" script that they don't include in the archive.
- There is some git magic in the CMake script which throws very annoying warnings if you're not in a git repository and if you are, it's still super useless because it assumes it's the libevent repo.
- I've removed the uninstall reference and replaced version detection magic with hardcoded values. The result is the "CMakeLists.txt" in the overrides folder. For future upgraders: You'll have to either remove the override or apply similar steps to the next release.
- The `event-config.h` is simply one of the outputs I found under `android/build/libevent/x86/include/event2/event-config.h`. They seem to be stable across architectures so it's easier to just copy it over than to fix the CMake logic that should actually pick it up from the Android build path.
- The cmake target names have changed and have an underscore in them, now.
- Verified with an SDK 28 x86_64 that this does fix https://github.com/facebook/flipper/issues/482.
Fixes GH482.
Reviewed By: jknoxville
Differential Revision: D17164731
fbshipit-source-id: 642744118065bea2674dbb0e1af91a11598066cc
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/530
Use the pre-release of fbjni instead of our bundled copy. I hope this can be made a little less awkward, but it works for now.
Reviewed By: jknoxville
Differential Revision: D16988077
fbshipit-source-id: 936e414f9b2bf82ccb54b107228d79d01acdbf14
Summary: The SingleComponentSection doesn't store anything in the data field unless it's set manually by the dev; this adds custom info about the prev and next data so we can use it for debugging
Reviewed By: pasqualeanatriello
Differential Revision: D17112284
fbshipit-source-id: 55aa49583e3bc7d046661d34841b7c3283972d76
Summary: utils used by redblock and layout plugins were incorrectly checking node instead of childNode for listviews that have non-visible children
Reviewed By: nscoding
Differential Revision: D16897804
fbshipit-source-id: 8f62956c57568694db76030377552e43ce3a9216
Summary:
Here I have an early version of the Navigation Plugin (Android) for Open Source.
A lot of apps will be using there own Navigation framework for handling deep links. In order to keep things as simple as possible, recording navigation events is done through a single function that can be called from anywhere in the app. This will allow users to place this function in there own navigation frameworks and use there own logic with it.
Seperately, I have shown how this can be used with our Android sample app. I use the built in Android intent-filters to provide a demo of how this can potentially be used, and to form the basis of the docs that I will write.
Reviewed By: passy, danielbuechele
Differential Revision: D16828049
fbshipit-source-id: 22765f63ca0c471689d2ec5865fdfc155b92697f
Summary:
Without this, our build will break with the next Litho release
because the `DoNotStrip` annotation will no longer be exported
as part of `litho-annotations`.
Reviewed By: jknoxville
Differential Revision: D16828144
fbshipit-source-id: f9a78b331678882025732498f18a3443d148ef4d
Summary: This updates the implementation of the export of the fresco plugin on the android side. Initially we used to send all the images info in one call, but its not scalable, as the images increase, the payload size of the rsocket can increase which will lead rsocket to drop messages. This diff updates the implementation of android side to match the one on the iOS side.
Reviewed By: passy
Differential Revision: D16627823
fbshipit-source-id: 563bf5fb20595c198b6447bb4e41f04af6e46644
Summary:
- fix mutual selection of elements in ax and non-ax tree (simplifies linkedNode logic as well)
- remove unneeded extraInfo attributes (focused, nonAXwithAXchild, & hasAXNode were not/no longer being used)
- use 50/50 fixed width view for trees when both are visible
Reviewed By: jknoxville
Differential Revision: D16390355
fbshipit-source-id: bbf9ea887f8f1035df8b4b0562ddcc4de291f004
Summary: Talkback prepends "password" on focus for password editText outputs. Flipper's AccessibilityUtil should include this case.
Reviewed By: blavalla
Differential Revision: D16427345
fbshipit-source-id: 28afdd196973539618b73824671ef02128a4e9ab
Summary:
This displays the data models passed to the Sections in the side panel when a data node is clicked. This does not change the collapse behaviour when a Section node is clicked.
To make it easier to associate a section with its changesets, appended the global indexes a Section is responsible for to the node label.
Reviewed By: passy
Differential Revision: D16283820
fbshipit-source-id: f1149f47dff448de05d919f7f8d16a2aba53bbb0
Summary:
This colours data model nodes in the tree to show how they were part of the current changeset: whether the data model caused an insert, update, remove etc.
This also adds phantom Section nodes for Sections that were completely removed from the tree; this is helpful for debugging cases where a section's key changes without intention, causing items to be completely removed and inserted.
Reviewed By: topwu
Differential Revision: D16165767
fbshipit-source-id: a011666dce33e4d757fb415e71ba163aa334f6e6
Summary: the side panel displays information with the changesets that were applied for each section
Reviewed By: adityasharat
Differential Revision: D16131069
fbshipit-source-id: d03547148e483e196600191291e58a13acf505c3
Summary: Create Sections hierarchy from data received when a changeset is applied and send it to the plugin to render it
Reviewed By: adityasharat
Differential Revision: D16120480
fbshipit-source-id: 30b824d8d6e65b537c3e98b7ee3438055f6f1ec2
Summary:
This hooks up the listeners that send events from the SectionTree to the desktop plugin. gradle build will fail until I release a new Litho version with D16120818
ChangesetDebug receives events on every valid changeset, it will parse the data into Flipper objects and pass it to the desktop client to render it.
Right now this just sends an event with empty data
Reviewed By: adityasharat
Differential Revision: D16121473
fbshipit-source-id: eeef92cea7dae836861d417ed6a00fcb11901e78
Summary: Adding the auto-genrated scarf files from creating the Flipper navigation plugin. GK for this plugin is flipper-navigation.
Reviewed By: jknoxville, danielbuechele
Differential Revision: D16119841
fbshipit-source-id: 74e19c82dc95e73fe2ae06d1eb8cef2456b81931
Summary: just the skeleton for the android plugin
Reviewed By: passy
Differential Revision: D16006791
fbshipit-source-id: b0fe2143afeab6bc0671b7ad5a3ccfbccdd6e40a
Summary: Getting the "definition" of the database was originally on the GetTableStructure endpoint. This diff moves it to a new GetTableInfo endpoint
Reviewed By: jknoxville
Differential Revision: D15902619
fbshipit-source-id: ac136d24ee577711366636801b5d74d83fbc523f
Summary:
deepLinkPayload is passed as initialQuery to Search component and in componentDidMount we perform search if initially query is defined.
This does not handle the case if node is not present in the layout inspector tree.
Reviewed By: danielbuechele
Differential Revision: D15874343
fbshipit-source-id: c604baea16838f07e8f8bfc0f1e67c5e830dfe97
Summary: Transfer it from the device, reformat the notification to make use of it.
Reviewed By: danielbuechele
Differential Revision: D15779267
fbshipit-source-id: 747dc7f895528618ff6a07c15b7f72bf6a1adde9