Commit Graph

504 Commits

Author SHA1 Message Date
dependabot[bot]
a752b4711d Bump core-ktx from 1.7.0 to 1.8.0 (#3794)
Summary:
Bumps core-ktx from 1.7.0 to 1.8.0.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.core:core-ktx&package-manager=gradle&previous-version=1.7.0&new-version=1.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/3794

Reviewed By: lawrencelomax

Differential Revision: D37070913

Pulled By: passy

fbshipit-source-id: 98f817ee76bde2dfec2ebf3eb5080214c746cdc4
2022-06-13 08:29:14 -07:00
Harshit Bangar
c88e769013 Prototype: Added support for multiple host in mock (#3762)
Summary:
Apps usually communicate with multiple hosts to support pops and data centres. The problem currently is that for each host we need a different config in the mock tab in flipper. If the host change due to failover then the mocking stops working. Added support to enter the URL without a host in the flipper. We then check if the Url from the actual network request contains the mock URL without a host.

We can change the hint on flipper UI to suggest either entering the complete URL or without the host to allow matching across multiple hosts.

Resolve:[3751](https://github.com/facebook/flipper/issues/3751)

Let me know if the approach looks good.

## Changelog

Pull Request resolved: https://github.com/facebook/flipper/pull/3762

Reviewed By: lblasa

Differential Revision: D36780307

Pulled By: passy

fbshipit-source-id: 744898fa24d13343132e9a2165750241861245bd
2022-06-06 12:40:55 -07:00
Lorenzo Blasa
e44cad5e99 Partially remove dependency on folly async
Summary:
This change isolates the usage of folly async from Flipper. Is now self-contained in Flipper Folly schedulers.

Users of Flipper can decide not to use the types defined in that header and implement their own.

NOTE: changes are minimal, we are just replacing direct calls to folly event base with a scheduler which simply relays this on to folly.

Reviewed By: fabiomassimo

Differential Revision: D36626483

fbshipit-source-id: add0241caf4af0aa5c3b5c2e7efc2e725f5400ab
2022-05-25 15:58:05 -07:00
Michel Weststrate
18d64f9631 Fix NPE during search
Summary:
`getChilAt` can return `null` (see also line 671), probably when the UI changes during the inspection process. Added a null check that should protect against the failure reported in P501013941

Changelog: Fixed NPE during search in layout plugin (Android)

Reviewed By: lblasa

Differential Revision: D36369508

fbshipit-source-id: 1f066d1a73bdfe875d66f7200ded0d0776af8321
2022-05-13 07:08:52 -07:00
Billy Ng
3804ccf898 Revert D36052198: Partially remove dependency on folly async
Differential Revision:
D36052198 (ade685c621)

Original commit changeset: 170d64a324a1

Original Phabricator Diff: D36052198 (ade685c621)

fbshipit-source-id: 69d2b18e70a6267667432d6ed9dc1c5bc545b417
2022-05-12 18:47:41 -07:00
Lorenzo Blasa
ade685c621 Partially remove dependency on folly async
Summary:
This change isolates the usage of folly async from Flipper. Is now self-contained in Flipper Folly schedulers.

Users of Flipper can decide not to use the types defined in that header and implement their own.

NOTE: changes are minimal, we are just replacing direct calls to folly event base with a scheduler which simply relays this on to folly.

Reviewed By: fabiomassimo

Differential Revision: D36052198

fbshipit-source-id: 170d64a324a1f1f100224e2622a59cbac3c8b642
2022-05-12 17:56:17 -07:00
Lorenzo Blasa
c72088a137 Execute third-party prepare before configureCMake
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
2022-04-28 06:36:42 -07:00
Lorenzo Blasa
637b578650 Fix native tasks prepare ordering
Summary:
^

This change makes it clearer the order of tasks for the native libraries.

If unspecified, tasks will run in parallel.

There was an additional issue in which the revision could be written to disk before all dependencies are properly downloaded and packaged.

For reference, we depend on Folly.
Folly depends on:
- Double-Conversion
- Glog
- Boost
- LibEvent

This is now reflected in the tasks graph.

Reviewed By: passy

Differential Revision: D35931187

fbshipit-source-id: ec19a28521ebf318bd1e92feafab1671733679ca
2022-04-27 10:04:35 -07:00
Yizhe Chen
bf988659cf allow getFlipperPortsPropValue to do disk read as it's a debug tool
Summary:
`AndroidFlipperClient.java` is a debug tool, and it has some strict mode violation.

We should exempt them to reduce noise on logcat.

- 1.

```
                         D  StrictMode policy violation; ~duration=43 ms: android.os.strictmode.DiskReadViolation
                         D      at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1596)
                         D      at libcore.io.BlockGuardOs.access(BlockGuardOs.java:71)
                         D      at libcore.io.ForwardingOs.access(ForwardingOs.java:72)
                         D      at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:7578)
                         D      at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:281)
                         D      at java.io.File.exists(File.java:815)
                         D      at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:681)
                         D      at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:672)
                         D      at android.app.ContextImpl.getFilesDir(ContextImpl.java:717)
                         D      at android.content.ContextWrapper.getFilesDir(ContextWrapper.java:253)
                         D      at com.facebook.flipper.android.AndroidFlipperClient.getInstance(AndroidFlipperClient.java:55)
```

- 2.
```
                         D  StrictMode policy violation; ~duration=46 ms: android.os.strictmode.DiskReadViolation
                         D      at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1596)
                         D      at libcore.io.BlockGuardOs.read(BlockGuardOs.java:304)
                         D      at libcore.io.ForwardingOs.read(ForwardingOs.java:176)
                         D      at libcore.io.IoBridge.read(IoBridge.java:509)
                         D      at java.io.FileInputStream.read(FileInputStream.java:320)
                         D      at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
                         D      at java.io.BufferedInputStream.read(BufferedInputStream.java:347)
                         D      at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:291)
                         D      at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:355)
                         D      at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:181)
                         D      at java.io.InputStreamReader.read(InputStreamReader.java:184)
                         D      at java.io.BufferedReader.fill(BufferedReader.java:172)
                         D      at java.io.BufferedReader.readLine(BufferedReader.java:335)
                         D      at java.io.BufferedReader.readLine(BufferedReader.java:400)
                         D      at com.facebook.flipper.android.FlipperProps.getFlipperPortsPropValue(FlipperProps.java:92)
                         D      at com.facebook.flipper.android.FlipperProps.getFlipperDefaultAltPortsPropValue(FlipperProps.java:76)
                         D      at com.facebook.flipper.android.FlipperProps.getAltInsecurePort(FlipperProps.java:37)
                         D      at com.facebook.flipper.android.AndroidFlipperClient.getInstance(AndroidFlipperClient.java:47)
```

Reviewed By: nikoant

Differential Revision: D35784406

fbshipit-source-id: b55ce458e04a44d98565972132707a392d71281c
2022-04-23 12:17:28 -07:00
Lorenzo Blasa
cfdb363ab4 UI preview of selected element
Summary:
This is a prototype for view preview within Flipper.
If enabled, a preview of the selected element is rendered in the attribute inspector.

Changelog: Add view preview/snapshot for the Layout plugin on Android.

Reviewed By: mweststrate

Differential Revision: D35009246

fbshipit-source-id: a442ff7f57093f463016811f0f451b52f579b448
2022-03-28 06:51:53 -07:00
Hoa Dinh
59db6c63b6 Make msys database available in Flipper Database plugin
Summary:
DefaultSqliteDatabaseProvider only list databases in the "files" folder & "databases" folder:
/data/user/0/com.facebook.wakizashi/files/
/data/user/0/com.facebook.wakizashi/databases/

On Messenger in Blue, msys database is located in the folder /data/data/com.facebook.wakizashi/app_mib_msys and therefore is not found automatically.

This patch makes the Database Flipper dolphin see the msys database by also listing the databases referred via extraDatabaseFiles.

Differential Revision: D35041276

fbshipit-source-id: e91b95fdc3bb31d414087cdea4a6825a98f3210a
2022-03-23 08:11:46 -07:00
Lorenzo Blasa
30becc1ced Remove RSocket
Summary:
^
Changelog: Remove rsocket dependency for Android

Reviewed By: aigoncharov

Differential Revision: D34418565

fbshipit-source-id: d2bfd6cede3c85709e252a8205525aa4595b4791
2022-02-25 02:33:22 -08:00
Lorenzo Blasa
c2f3607d03 remove rsocket fallback for mobile clients
Summary:
^
Note: this is already a working case. The difference is that if we are unable to establish a socket connection, we will not attempt to create one using rsocket.

Changelog: Removes rsocket-fallback for mobile clients

Reviewed By: nikoant

Differential Revision: D33655430

fbshipit-source-id: cb6f752f2d1354ab46d011b1f19c89520e1e7dd3
2022-02-15 04:56:17 -08:00
Lorenzo Blasa
c8c40bca17 openssl from prefab (google) (#3429)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/3429

Instead of downloading/patching/building openssl, use the prefab package prepared by Google.

changelog: Consume openssl from maven (prefab)

Reviewed By: passy

Differential Revision: D34143349

fbshipit-source-id: 0ca92be6628b1b27a59b3e4ad8278cf8fef6d5d8
2022-02-11 02:59:45 -08:00
Alexander Oprisnik
6960196d8e Don't report an error when Fresco is not initialized yet and Flipper queries data
Summary:
We shouldn't report an error when Flipper is querying data before Fresco is initialized.
This will be especially useful when we move to lazy Fresco initialization later this year.

Reviewed By: passy

Differential Revision: D33978177

fbshipit-source-id: dfb6cb1b73737adbb557ecb141b043d088b5a574
2022-02-03 08:48:32 -08:00
Harold Martin
cdb72db5a9 Fix LeakCanary plugin UI, Upgrade LC dependency and make it compile only (#3367)
Summary:
**Currently, the Leak Canary plugins is broken, see this screenshot (unable to expand):**
<img width="1359" alt="Screen Shot 2022-01-29 at 2 06 33 PM" src="https://user-images.githubusercontent.com/745166/151679662-9d8e8eb6-c19c-4008-9821-1c2c1af92351.png">

**This fix repairs and improves the UI:**
<img width="1350" alt="Screen Shot 2022-01-29 at 2 06 03 PM" src="https://user-images.githubusercontent.com/745166/151679677-7965604c-dd04-4ee5-bc8e-d53a82da1bd7.png">

## Changelog

- Fixes UI to enable showing leak trace
- Upgrades LackCanary dependency from 2.6 to 2.8.1
- Makes Kotlin and LC `compileOnly` dependencies in order to prevent conflict for the users
- Updates documentation

Pull Request resolved: https://github.com/facebook/flipper/pull/3367

Test Plan:
See demo at https://github.com/hbmartin/leakcanary/tree/flipper-demo/leakcanary-android-sample

**Static Docs Preview: flipper**
|[Full Site](https://our.intern.facebook.com/intern/staticdocs/eph/D33915179/V3/flipper/)|

|**Modified Pages**|

Reviewed By: passy

Differential Revision: D33915179

Pulled By: cekkaewnumchai

fbshipit-source-id: 9698dba23ab475c8cd84e4c222dfc41712b05a1e
2022-02-03 01:37:28 -08:00
dependabot[bot]
e0f96057c3 Bump appcompat from 1.4.0 to 1.4.1 (#3303)
Summary:
Bumps appcompat from 1.4.0 to 1.4.1.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.appcompat:appcompat&package-manager=gradle&previous-version=1.4.0&new-version=1.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/3303

Reviewed By: lawrencelomax

Differential Revision: D33620944

Pulled By: passy

fbshipit-source-id: 6479b38aaa04d9791fa1a42937274c26a3831d7b
2022-01-17 10:43:33 -08:00
Andres Suarez
79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00
Lorenzo Blasa
2d89c2f3eb Close resource as we cannot inline (#3125)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/3125

Better stream creation and disposal.

A report was generated with the following error:
StrictMode policy violation: android.os.strictmode.LeakedClosableViolation: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.

Changelog: Close input stream after use which was causing strict mode policy violation crashes and possibly leaking resources.

Reviewed By: passy

Differential Revision: D32830690

fbshipit-source-id: de3ffaf1b600590c4060a381fae66e73e08745cb
2021-12-03 12:58:44 -08:00
Lorenzo Blasa
6a4a867f74 Enable WebSockets for Android
Summary: This change effectively prioritises WebSocket over RSocket connections for Android.

Reviewed By: passy

Differential Revision: D32490095

fbshipit-source-id: 836438970f0668521ca6e7fab6c106e77f951652
2021-12-02 02:28:50 -08:00
Lorenzo Blasa
60de2bc147 Addresses a few issues raised during tests
Summary:
This change addresses a warning and provides a safer way of resolving the connection promise.

Also, fixes an issue whereas the websocket connection was not being reestablished as the listener is not notified when we manually disconnect.

Reviewed By: passy

Differential Revision: D32591859

fbshipit-source-id: 78ce4eac5414a924217867f2f47b04829da3b705
2021-11-29 03:50:08 -08:00
Pascal Hartig
8ccae8a7ac Upgrade Android build infra (#3095)
Summary:
This includes a bunch of different things which I wanted to do separately, but it's all a massive Jenga Tower and you cannot remove a single piece.

- Litho upgrade
- Gradle plugin upgrade
- Remove storage permission as it apparently doesn't do anything above Android 10
- Upgraded build target to Android 12 because the new support lib/Kotlin stdlib required this which then caused the issue below to pop up
- Added "export=true" everywhere as this is now a blocking issue if you don't have it
- Upgraded to the LeakCanary2 plugin as version one no longer builds with an Android 12 target for the export reason
- Make CI run on JRE 11 because that's required by the new Gradle plugin
- Update internal CI to no longer define the SDK twice and use Java 11

Pull Request resolved: https://github.com/facebook/flipper/pull/3095

Test Plan: Built Android Sample and Tutorial app, connected to Flipper.

Reviewed By: lblasa

Differential Revision: D32644410

Pulled By: passy

fbshipit-source-id: 8978f158d9c642b3bbd9dbbd7321eb20098a7a53
2021-11-25 12:21:59 -08:00
Michel Weststrate
9d74728dfe Harden reflection
Summary:
Changelog: Fix theme reflection logging lot of errors if the APIs aren't accessible, see #1736

Harden theme reflection based on the comments in https://github.com/facebook/flipper/issues/1736

Reviewed By: jknoxville

Differential Revision: D32202434

fbshipit-source-id: 99178df56c91715f9eff1e4764ebc55b29ecb6f3
2021-11-10 04:34:43 -08:00
Michel Weststrate
750f26eaa3 Fix potential NPE in Layout Inspector
Summary: Fixed NPE linked by task. From the code, that stuff should never be null, unless there is some threading / concurrency issue, which there apparently is. In that case, failing with a warning is imho a bit more elegant than raising exceptions from a debugging tool

Reviewed By: lblasa

Differential Revision: D32278044

fbshipit-source-id: 710fcdcfe458f33bbb806d9f2f1b9352252eedec
2021-11-09 06:53:00 -08:00
Lorenzo Blasa
a935ab8a6c Android Web Socket (#2978)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/2978

Flipper Android WebSocket provider and socket implementation

Reviewed By: ldelgadoj

Differential Revision: D31683510

fbshipit-source-id: d553a7fdee9451da742e9ea3e6e5b6a2c9417579
2021-11-08 09:22:48 -08:00
Chaiwat Ekkaewnumchai
d5e4b0c360 Clear Activity after Being Destroyed
Summary:
[Reported in the support request](https://fb.workplace.com/groups/flippersupport/posts/1237466586733997/), Activity object is held by ObjectTracker even though the Activity is destroyed. This, in this case, caused strict mode in Portal app to forcibly terminate.

This diff tried to remove activities from the reference holder.

Reviewed By: passy

Differential Revision: D31828290

fbshipit-source-id: aad7e8d7ba14069f8dd7c654a3604d482d85e110
2021-10-26 03:39:41 -07:00
Artem Kholodnyi
72b652fb87 Fix the observer effect in Images Flipper plugin (encoded cache)
Reviewed By: oprisnik

Differential Revision: D31897870

fbshipit-source-id: bdd70d1679029931339ee589c98114f51646cb68
2021-10-25 10:11:48 -07:00
Artem Kholodnyi
11e7bbf9cf Fix the observer effect in Images Flipper plugin
Reviewed By: oprisnik, wizh

Differential Revision: D31379424

fbshipit-source-id: 96040dd0d37442d80a660814bd356571d075aa2c
2021-10-12 09:15:53 -07:00
kodak
b43dde8a6a Display AccessibilityNodeInfoCompat.isScreenReaderFocusable() property (fixes #1756) (#2925)
Summary:
Add screenreader-focusable property to AccessibilityUtil#getAccessibilityNodeInfoData

The accessibility hierarchy displays various AccessibilityNodeInfo properties. However, it was missing the screenreader-focusable property.

## Changelog
Display screenreader-focusable property in the accessibility hierarchy.

Pull Request resolved: https://github.com/facebook/flipper/pull/2925

Test Plan: Test suite passes and code lints.

Reviewed By: mweststrate

Differential Revision: D31312381

Pulled By: passy

fbshipit-source-id: c5044cef6aabe5bd2d2ce5e315f5aafd6990a137
2021-10-01 08:58:23 -07:00
Pascal Hartig
da9511a5bf Fix CI build for Android (#2836)
Summary:
I've been really sweating about this one. It looks like Google now removed NDK 21 as it's too old. However, we've been struggling with the upgrade because OpenSSL was built against an old version of the NDK/glibc/LLVM/some other stuff.

I've now managed to create an OpenSSL distribution for 1.1.1k (we had 1.1.0h before) that seems to build with this after some small modifications.

This seems to do the trick, but I wouldn't be shocked if we found some more incompatibilities further down the line.

Pull Request resolved: https://github.com/facebook/flipper/pull/2836

Test Plan:
- Locally: `./gradlew :tutorial:installDebug`. Builds, starts up. Cool.
- Public GitHub CI: Happy.
- Circle CI: Only triggers post-land. We'll see. But the setup is simple, so hopefully it should work there, too.
- Internal CI: Waiting for signal.

Reviewed By: fabiomassimo

Differential Revision: D30839209

Pulled By: passy

fbshipit-source-id: efe599f28cc0edfdf2149f905c3483555239edc0
2021-09-09 08:46:59 -07:00
Omer Strulovich
1db39b8171 Enable and apply Ktfmt to xplat/simplesql, xplat/sonar, and xplat/spectrum
Summary: As title.

Reviewed By: zertosh

Differential Revision: D30425160

fbshipit-source-id: c72d270d7cd3f30990aac55e33e8f72d60ed5fe2
2021-08-19 07:29:30 -07:00
Pascal Hartig
fc73e0d4ec Revert "Improve protobuf support (#2513)" (#2665)
Summary:
This reverts commit efd75ea435.

Sorry hbmartin! We're running into Kotlin compatibility problems. Your latest library release isn't compatible with Kotlin 1.3 and we can't upgrade just yet because Litho hasn't been able to release in a while. :(

Pull Request resolved: https://github.com/facebook/flipper/pull/2665

Test Plan: _eyes

Differential Revision: D30189360

Pulled By: passy

fbshipit-source-id: c1edbbc496742938579f4e2032a78debe08fcc26
2021-08-09 04:15:49 -07:00
Harold Martin
efd75ea435 Improve protobuf support (#2513)
Summary:
* Update protobuf library to support map types
* Improved usage messaging in UI
* Always attempt to decode requests with a protobuf definition
## Changelog
Improved protobuf support

Pull Request resolved: https://github.com/facebook/flipper/pull/2513

Reviewed By: mweststrate

Differential Revision: D30162379

Pulled By: passy

fbshipit-source-id: 201fb06045822641be5840b121da180a201be974
2021-08-09 02:42:35 -07:00
dependabot[bot]
dcb4b2fb96 Bump appcompat from 1.3.0 to 1.3.1 (#2626)
Summary:
Bumps appcompat from 1.3.0 to 1.3.1.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.appcompat:appcompat&package-manager=gradle&previous-version=1.3.0&new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/2626

Reviewed By: timur-valiev

Differential Revision: D29932510

Pulled By: passy

fbshipit-source-id: c947dadad9649b3f0f1dd9c6e3be8714b25f1ca6
2021-07-27 08:45:47 -07:00
Omar Busto Santos
98f56a30ed Removed bolts-applinks dependency not in use (#2580)
Summary:
As explained in this [Issue](https://github.com/facebook/flipper/issues/1919) when running checks to see if Jetifier is needed to compile any given app using Flipper, it complain due to the dependency on `com.parse.bolts:bolts-applinks:1.4.0`.

```
Scanning com.parse.bolts:bolts-applinks:1.4.0
 Absoulute path: /....../bolts-applinks-1.4.0.jar
 Graphs to this dependency:
 +---com.facebook.flipper:flipper:0.74.0
     +---com.parse.bolts:bolts-applinks:1.4.0

> Task :canISayByeByeJetifier FAILED
```

Bolts has already fixed the AndroidX migration in version `1.5.0` but it has never been published ([Issue](https://github.com/BoltsFramework/Bolts-Android/issues/157))

After checking the code i realized flipper is only using `bolts-tasks` in `FrescoFlipperPlugin` ([code](7bd4f80c25/android/plugins/fresco/src/main/java/com/facebook/flipper/plugins/fresco/FrescoFlipperPlugin.java (L14))).

`bolts-applinks` depends on `bolts-tasks` but **not the other way around**, so we can safely remove this dependency.

## Changelog

- Removed dependency on bolts-applinks not in use

Pull Request resolved: https://github.com/facebook/flipper/pull/2580

Test Plan:
### Tests
- [ ] Run unit tests `./gradlew :android:test` and make sure they pass

### Smoke test `fresco-plugin`
- [ ] Make sure `android/sample` compiles and runs
- In the Flipper desktop app enable `Images` plugin
- In the Android sample app tap on `Load Fresco Image`
- [ ] Verify in desktop app that the image shows correctly and the plugin works

Reviewed By: muraziz

Differential Revision: D29849669

Pulled By: jknoxville

fbshipit-source-id: 0cec730de3b94272985fec4a432ca244822f336f
2021-07-23 05:26:58 -07:00
Nicola Corti
1e6863f39d Bump core-ktx to 1.5.0 and appcompat to 1.3.0 in android/tutorial
Summary:
This diff bumps core-ktx from 1.3.0 to 1.5.0 and appcompat from 1.1.0 to 1.3.0 inside `android/tutorial`
core-ktx 1.5.0 is the last version built with Kotlin 1.4.x and is the latest we can safely upgrade to.

To update to core-ktx 1.6.0 we would need to bump KGP on the overall project to 1.4.x or 1.5.x to fix the build
failures.

Reviewed By: passy

Differential Revision: D29762647

fbshipit-source-id: 7ad23b3cbebe14b36dedaa7f8aedf11eece8429d
2021-07-19 07:43:14 -07:00
Pascal Hartig
d676f8f0a6 Bump AndroidX/Kotlin setup
Summary:
Just a few tweaks to bring AndroidX up-to-date. Required
some fixes to the Kotlin Tutorial as it was throwing
errors about JRE incompatibilities.

Reviewed By: fabiomassimo

Differential Revision: D29761484

fbshipit-source-id: 10cb76115fe7542a60b6e5d14be9c0434e85171c
2021-07-19 03:54:06 -07:00
Michel Weststrate
07199323d1 Remove Newsfeed Story Inspector and native plugin mechanism
Summary: Changelog: The 'nativeplugins' on Android are no longer supported

Reviewed By: jknoxville

Differential Revision: D29163281

fbshipit-source-id: fb4032f240fc306608fe57479f3124d4e7a3400f
2021-06-21 05:39:26 -07:00
Harold Martin
62967314c1 Update Protobuf support (#2381)
Summary:
**Update protobuf library with new support for `enum` and `oneof` types**

## Changelog

- Update plugin code for library API changes and other cleanup
- Add instructions to readme

Pull Request resolved: https://github.com/facebook/flipper/pull/2381

Test Plan: see demo app at https://github.com/hbmartin/protobuf_java_to_protobufjs

Reviewed By: priteshrnandgaonkar

Differential Revision: D28831035

Pulled By: passy

fbshipit-source-id: 46e196293330b615394606bd3486ea47ad6a0630
2021-06-02 12:04:24 -07:00
Pascal Hartig
d1dfc395d1 Revert D28795384: Bump protobuf_java_to_protobufjs from 0.0.1 to 0.1.0
Differential Revision:
D28795384 (09951d505e)

Original commit changeset: 56e791ff245c

fbshipit-source-id: 05c98ff21a789fbd363e707869d5ef7e7b6d6b12
2021-06-01 09:24:57 -07:00
dependabot[bot]
09951d505e Bump protobuf_java_to_protobufjs from 0.0.1 to 0.1.0 (#2391)
Summary:
Bumps [protobuf_java_to_protobufjs](https://github.com/hbmartin/protobuf_java_to_protobufjs) from 0.0.1 to 0.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hbmartin/protobuf_java_to_protobufjs/releases">protobuf_java_to_protobufjs's releases</a>.</em></p>
<blockquote>
<h2>v0.1.0</h2>
<ul>
<li>Added support for <code>oneof</code></li>
<li>Added support for enums</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/hbmartin/protobuf_java_to_protobufjs/commits/v0.1.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.hbmartin:protobuf_java_to_protobufjs&package-manager=gradle&previous-version=0.0.1&new-version=0.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/2391

Reviewed By: nikoant

Differential Revision: D28795384

Pulled By: passy

fbshipit-source-id: 56e791ff245cdc096e9ef11eb2b436e42e611659
2021-06-01 09:08:44 -07:00
Andrey Petrov
69ed3b0210 Add databases under /files to the list of databases visible by default in Flipper Database Plugin
Summary: Traverse recursively the /files directory and show all databases with .db extension in Flipper. Traversal depth is limited to 5 by default for performance reasons.

Reviewed By: mweststrate

Differential Revision: D28451609

fbshipit-source-id: de27c855fee220e0b79061c9b2df1eba6f5ef2af
2021-05-17 10:47:34 -07:00
Pascal Hartig
6279cc68b1 Upgrade to Gradle 7 (#2279)
Summary:
Depends on https://github.com/facebook/flipper/issues/2277. Fixes https://github.com/facebook/flipper/issues/2221.

The maven plugin is no longer exposed and implied by https://developer.android.com/studio/build/maven-publish-plugin.

Pull Request resolved: https://github.com/facebook/flipper/pull/2279

Test Plan: ./gradlew uploadArchives -PdryRun=true

Reviewed By: priteshrnandgaonkar

Differential Revision: D28473692

Pulled By: passy

fbshipit-source-id: 3d95122fecebfeac8bfa5173c5c633eee3f13311
2021-05-17 07:29:49 -07:00
Harold Martin
4d262c0da4 Add protobuf support to network inspector (#2080)
Summary:
Protobuf based APIs are becoming more common (i.e. gRPC) but are difficult to inspect. Unlike plain text data formats (JSON), Protobuf calls transmit binary data requiring the format to be known ahead of time, making ad-hoc inspection impossible. This PR allows for those format definitions (messages in protobuf terminology) to be transmitted from the client to the network inspector plugin. These definitions are then imported into ProtobufJS which enables the binary data transmitted to be inspected as easily as JSON data.

See Retrofit PR in https://github.com/facebook/flipper/pull/2084

## Changelog

* Add ProtobufJS library to network plugin
* New `ProtobufFormatter` UI in `RequestDetails`
* `ProtobufDefinitionsRepository` to cache and load protobuf defintions
* `addProtobufDefinitions` call in the Android network plugin

Pull Request resolved: https://github.com/facebook/flipper/pull/2080

Test Plan: ![screenshot](https://user-images.githubusercontent.com/745166/111652068-001a5e80-87c4-11eb-8c94-e19b46dd074c.png)

Reviewed By: mweststrate

Differential Revision: D27507451

Pulled By: passy

fbshipit-source-id: 586d891b74f2b17d28fe7a2a99074da755851f38
2021-04-20 05:10:39 -07:00
Harold Martin
b0cbf39a1a Export protobuf definitions from Retrofit (#2084)
Summary:
https://github.com/facebook/flipper/pull/2080 enables storing protobuf definitions and displaying payloads in the network inspector plugin. However, describing those definitions in ProtobufJS format can be time consuming and error prone. This PR enables sending definitions from an entire Retrofit service with a single line.

## Changelog
* Adds a retrofit2-protobuf plugin

Pull Request resolved: https://github.com/facebook/flipper/pull/2084

Test Plan:
Used as a single line per service, ie:
`SendProtobufToFlipperFromRetrofit(baseUrl, PersonService::class.java)`

For more details see demo app in https://github.com/hbmartin/protobuf_java_to_protobufjs

Reviewed By: mweststrate

Differential Revision: D27507872

Pulled By: passy

fbshipit-source-id: 859d7636c9512de0abde0aa1dcb2e023851369cf
2021-04-07 13:31:23 -07:00
bruce3x
c946309f6a Ignore null key in shared preferences (#2146)
Summary:
SharedPreferences plugin will crash when null key fields in shared preference on Android. Null keys should be ignored.

Fixes https://github.com/facebook/flipper/issues/2078

## Changelog

- Ignore null keys in shared preferences.

Pull Request resolved: https://github.com/facebook/flipper/pull/2146

Reviewed By: mweststrate

Differential Revision: D27522356

Pulled By: passy

fbshipit-source-id: b946cd9ba2a3131b3ffab65e8949fda20a3630fc
2021-04-07 05:14:56 -07:00
Hilal Alsibai
949545a2a7 Don't skip the first theme data retrieval
Summary: Was early returning on the first attempt to load theme data, this was left over from when the the theme feature was temporarily disabled.

Reviewed By: passy

Differential Revision: D27284040

fbshipit-source-id: bb641fbe4cd9c0ea6012e89dbda67e5dd10d59bd
2021-03-24 04:33:03 -07:00
generatedunixname89002005287564
bfad9c6214 Clean up xplat/sonar/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorFlipperPlugin.java
Reviewed By: passy

Differential Revision: D26908296

fbshipit-source-id: f8e0cd4cd1d57b6b43991f4a169f36d104a3a372
2021-03-09 13:41:54 -08:00
Pascal Hartig
ac68cc7026 More aggressively cache native builds (#2025)
Summary:
Got really annoyed with Boost *always* downloading the tar ball on every
build. We had some methods annotated to only run whenever our cache
is out of date and for others we relied on a catch-all at the end which
actually didn't do anything.

If anyone knows Gradle better, please give it a shot.

Pull Request resolved: https://github.com/facebook/flipper/pull/2025

Test Plan:
Changed the URL to something that doesn't exist and it still didn't
re-fetch. Haha, got you!

Reviewed By: mweststrate

Differential Revision: D26843903

Pulled By: passy

fbshipit-source-id: 8c8cf60440d6bf6d7a93eebb7871858b1e6c6509
2021-03-05 09:13:00 -08:00
Pascal Hartig
6af041454a Upgrade to FBJNI 0.2 (#1999)
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
2021-03-04 08:45:09 -08:00