Summary:
Added concept of a tree observer which is responsible for listening to the changes for a portion of the UI tree. This structure nests so Tree observers can hold child tree observers which emit events on a different cadence. This structure should allow us to incorporate different UI frameworks down the road as well as native android views.
We push the tree updates from the tree observers onto a channel and setup a coroutine to consume this channel, serialize and send down the wire.
Reviewed By: lblasa
Differential Revision: D39276681
fbshipit-source-id: a4bc23b3578a8a10b57dd11fe88b273e1ce09ad8
Summary:
^
:android:third-party task, on ocassions, gets parallelised with the :configureCMake task resulting in build errors.
:configureCMake depends on dependencies being in-place and patched.
Our current setup was achieving this via setting these tasks as dependencies of the preBuild task.
Unfortunately, this seems not be a bullet-proof solution.
This patch aims to improve this situation by ensuring the tasks are executed before :configureCMake. Whatever happens first.
Changelog: Execute :third-party:prepare before :configureCMake task on Android
Reviewed By: passy
Differential Revision: D36001637
fbshipit-source-id: 6c53b6852e40e354337c0ac940b5bbad4ef83078
Summary:
This should fix https://github.com/facebook/flipper/issues/1968
Pull Request resolved: https://github.com/facebook/flipper/pull/1999
Test Plan:
Built our sample app; built the sample app provided in the repo as part
of the issue; locally released the Flipper artifacts and built the RN
app against it.
Reviewed By: fabiomassimo
Differential Revision: D26817589
Pulled By: passy
fbshipit-source-id: c6db5f947c08e4236442b08306791e45b4d15ec3
Summary:
I'm in the progress of releasing a prefab-enabled FBJNI release. This dramatically reduces the hackery around integrating with separately released native libraries.
This will fail until the release is actually out.
Pull Request resolved: https://github.com/facebook/flipper/pull/1941
Test Plan:
`./gradlew :sample:installDebug` works as before.
Once the release is out, we need to check if this creates any problems with RN but because we advice to exclude the dependency, I expect it not to cause any trouble.
Reviewed By: mweststrate
Differential Revision: D26545104
Pulled By: passy
fbshipit-source-id: 1e21fa1816f28e2fcb52da68863fabc8bc625136
Summary:
Upgraded to the latest Android Studio and this popped up.
Pull Request resolved: https://github.com/facebook/flipper/pull/1936
Test Plan:
Built the sample app.
Repro'd the previous build failure. Weirdly enough, this only occurred on Linux, not on my Mac. Now it's passing.
Reviewed By: mweststrate
Differential Revision: D26483694
Pulled By: passy
fbshipit-source-id: 9c27eb6d28a0f390154899d67469a504d68c2ad4
Summary:
This removes Bintray/JCenter specific code and replaces it with a new plugin recommended by [Chris Banes](https://chris.banes.dev/publishing-to-maven-central/).
Pull Request resolved: https://github.com/facebook/flipper/pull/1914
Test Plan:
Manually uploaded as snapshot and full release, but with this setup still requires all sorts of manual setup, including GPG. Next PR will include automation for this.
CI here should also verify that I didn't split this diff up incorrectly.
Reviewed By: jknoxville
Differential Revision: D26367350
Pulled By: passy
fbshipit-source-id: faa6b488d6c95bc643d2f9328362e29fb4b05ded
Summary: This change will allow loading flipper not only internal build but also in builds that explicitly turn on LOAD_FLIPPER_EXPLICIT in build config
Reviewed By: timur-valiev
Differential Revision: D25369245
fbshipit-source-id: 9f8e5c7033aa4ded6ce7bc8cc5b5c252ba65692b
Summary: jknoxville helped me debug this. The underlying problem was that we didn't include a dependency which is transitive in gradle land. We swallowed the exception and just returned an empty list. I left an error log in there to make future debugging easier. For reference, this was the error:
Reviewed By: cekkaewnumchai
Differential Revision: D23759727
fbshipit-source-id: 244510d2765913bf4c89458e336889c3c6838fc4
Summary: This broke DB opening in FB apps. Will try to fix and reland this, but need to unblock people first.
Reviewed By: cekkaewnumchai
Differential Revision: D23705962
fbshipit-source-id: 3c9ff3a74e5a6d34e6cb2c75e7e2cec749b5a60e
Summary:
This change will allow to use various SQLiteDatabase implementations: standard Android implementation, [requery/sqlite-android](https://github.com/requery/sqlite-android) and so on. See issue https://github.com/facebook/flipper/issues/1183
## Changelog
Android Databases Plugin: `SqliteDatabaseConnectionProvider` returns `SupportSQLiteDatabase` instead of `SQLiteDatabase`.
Pull Request resolved: https://github.com/facebook/flipper/pull/1196
Test Plan: Check that Databases Plugin shows correct data on the sample Android application.
Reviewed By: mweststrate
Differential Revision: D23294272
Pulled By: passy
fbshipit-source-id: c07ebeb869ab01d41281f75541cbb3411f0ebae0
Summary:
Just released a new version.
Pull Request resolved: https://github.com/facebook/flipper/pull/1428
Test Plan:
`./gradlew :android:installDebug`
However, I'm tethering right now and this is taking ages so I haven't
been able to complete this.
Reviewed By: mweststrate
Differential Revision: D23295098
Pulled By: passy
fbshipit-source-id: aa53fa1c47f0b02d2c8b9f12d66b1c600a37075b
Summary:
This is in line with the most recent stable Android Studio Release.
Pull Request resolved: https://github.com/facebook/flipper/pull/958
Test Plan:
Used it myself.
Open Source CI required a higher NDK, so let's first check what CI says to that internally now.
Reviewed By: jknoxville
Differential Revision: D20794634
Pulled By: passy
fbshipit-source-id: c32f934634b036ad3c1cad9fc49541e585d64329
Summary:
Tracks images in disk cache. It seems performant even with 500+ images in disk cache. Sidebar displays the local path for an image when that image is selected. Shows total size of images in disk cache. 'Clear Cache' clears the disk cache.
For now we unpack the async cache request in the plugin, should implement a `getSync()` method on `bufferedDiskCache` in the future. For some reason Flipper doesn't work with a blocking call (https://fburl.com/smj0s4li).
Reviewed By: defHLT
Differential Revision: D20001062
fbshipit-source-id: 1e7a7900e9f42d05e3bf30472e57cd643caa5aca
Summary: Remove asan checker, we can use `BuildConfig.IS_ASAN_BUILD` to check whether it's a asan build to instead of invoking a JNI api.
Differential Revision: D20088093
fbshipit-source-id: f26d367430a983fbe7b630919a4131fdf2e2d510
Summary:
## Summary
Resolves https://github.com/facebook/flipper/issues/607
This removes stetho dependencies directly in favor of just copying in the used classes. This removes the last non-androidx dependency from the project, and is useful as stetho appears to be unmaintained. The fresco stetho dependency appeared to be completely unused.
## Changelog
Remove stetho dependencies. It was unused other than a few utility methods, but came at the cost of preventing Flipper consumers from completely removing dependencies that hadn't updated to Androidx yet.
Pull Request resolved: https://github.com/facebook/flipper/pull/762
Test Plan: Existing tests still pass with no regressions. Functionally this should be no difference.
Reviewed By: jknoxville
Differential Revision: D19577969
Pulled By: passy
fbshipit-source-id: b277ddf97a9d2c846dd0b9227c02bb46c1ecd930
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:
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:
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:
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:
Pull Request resolved: https://github.com/facebook/flipper/pull/463
Was made aware [here](https://github.com/facebook/flipper/issues/461) that
we currently don't build with NDK 20 because of Folly. The above issue exists only for x86 platform and not for other platform. I have updated the folly and RSocket. Although this diff doesn't solve the issue mentioned above for x86, but it updates the dependencies to the latest version. To mitigate temporarily, I have updated the gradle to not build for x86.
Reviewed By: passy
Differential Revision: D15713205
fbshipit-source-id: 79dd5825b0b876c87a1868fde8f3353a76012267
Summary: This gradle flag is stopping the other tests from passing.
Reviewed By: quanturium
Differential Revision: D15558776
fbshipit-source-id: 54934c73271e1cbb041877fef0dfb2de21733424
Summary:
Adds a plugin for listing the databases, tables and contents of those tables in an android app.
Right now, works with sqlite, but it should be generic enough to work with other db types.
## Changelog
Add initial version of android databases plugin
Creating a PR, I may need to do some cleaning up, but this is to kick off that process.
Pull Request resolved: https://github.com/facebook/flipper/pull/441
Reviewed By: danielbuechele
Differential Revision: D15288831
Pulled By: jknoxville
fbshipit-source-id: 6379ad60d640ea6b0a9473acc03dd6ea81a3a8d4
Summary: Noticed that this is still spamming the warning logs during build.
Reviewed By: danielbuechele
Differential Revision: D15354006
fbshipit-source-id: f34b99267d946ccb9ae0704beebbd48d39e9723a
Summary: I hope that this takes care of all the android violations.
Reviewed By: danielbuechele
Differential Revision: D15199150
fbshipit-source-id: 0f5b4edc1bc9d38de0885f88bb2c3e43acfa09cd
Summary:
as title.
Refactored the getPropsData from DebugComponentDescriptor and extracted it to separate class so we can use it for SectionComponentDescriptor as well.
Will follow up with adding state info
Reviewed By: passy
Differential Revision: D14386744
fbshipit-source-id: c6b9887aa9d0c8d2333e7e64fa0954e56b505e51
Summary:
Split off objecthelper into a (future) public and an fb-only version. This also open-sources the very first bit which is pretty useless on its own, but will already compile as its neatly stand-alone.
Note that this blocks releases until we have a stable version of Fresco to depend on.
Reviewed By: oprisnik
Differential Revision: D14149645
fbshipit-source-id: 0020d7ceccf89999695414ce389106ca6325ab7e