Commit Graph

468 Commits

Author SHA1 Message Date
Daniel Abramowitz
bb7c8a152a Generic layout inspector section
Summary: `PropWithNamedFlipperObject` is an interface that can be implemented by a Litho component prop to display a new section in the Flipper layout inspector.

Reviewed By: danielbuechele

Differential Revision: D13419918

fbshipit-source-id: be2ade160d6381944b1b68a7645b5b23f1d142a1
2018-12-19 09:43:31 -08:00
Pritesh Nandgaonkar
e3fb1e1d84 Disable crash reporter plugin for iOS and update callstack from array to string
Summary:
This diff does the following

- Comments out the code in iOS which sends the message to the desktop side
- Also comments out the part where signal handler is initialised, as we no longer need it. I will remove the iOS implementation completely in next few diffs
- Updated the JS side to expect call stack as a string instead of an array
- Updated the android side to send callstack as a string

I have commented out the code for crash reporter plugin of iOS as for iOS I will be adding a watchman  to a directory where crash logs are dumped. The diff related to this is in the stack

Reviewed By: passy

Differential Revision: D13424824

fbshipit-source-id: b1105da912292bf73cff948206c031de9b059abd
2018-12-18 13:42:40 -08:00
John Knox
e23da69db9 Use localhost instead of hardcoded IP address
Summary:
We can only do this when adb reverse is available, i.e. on Android 5+.
This also relies on a recent change to flipper desktop, to always run adb reverse on emulators.

Reviewed By: danielbuechele

Differential Revision: D10302579

fbshipit-source-id: cff07f0311d413fdd49424a42c641dfb3d225f7c
2018-12-18 07:31:43 -08:00
Pascal Hartig
214f112c14 Add getPluginByClass interface
Summary:
This deprecates the `getPlugin(String)` method and introduces
a `getPluginByClass(Class<T>)` instead which avoids having
to `instanceof`-check and then cast the result, which provides
a nicer experience for Java users.

Reviewed By: jknoxville

Differential Revision: D13277568

fbshipit-source-id: fb7b5b8c0180470ef0ad322559b5b7424520848b
2018-12-05 08:03:41 -08:00
Pritesh Nandgaonkar
9cfa1b3074 Send notifications on litho's error boundary
Summary: Sends notifications to crash reportr plugin whenever the error boundary happens

Reviewed By: danielbuechele

Differential Revision: D13307473

fbshipit-source-id: dc0c6d2ebac32881fdb1aa5f63def824a115cf9e
2018-12-04 05:51:59 -08:00
Daniel Büchele
d331ec2f10 adding Android ReactPlugin
Summary:
Adding a a react-devtools plugin for Android.
This doesn't do much, but announces the plugin to be available.
To make this work on remote device, the hostname and port sent to the device needs to be set in the dev tools. This is isn't done yet, so this will only work for simulators.

Reviewed By: jknoxville

Differential Revision: D12897151

fbshipit-source-id: b874549925c395ff6356f6745b9706b182d544dd
2018-12-04 03:37:47 -08:00
Pritesh Nandgaonkar
d37fa7ba95 Change crash reporter plugin to send callstack array
Summary: Change crash reporter plugin to send callstackas an array instead of string

Reviewed By: jknoxville

Differential Revision: D13254853

fbshipit-source-id: 0baefb3eb6d3afc38d0c6acc7840ddc981230f9d
2018-11-29 09:15:40 -08:00
Pritesh Nandgaonkar
37c973d0c9 Crash reporting plugin android (#328)
Summary:
This PR adds the barebone of a crash reporting plugin in android. Since there is no easy way to stack the PR's in git, creating a new PR, but this depends on the [iOS PR](https://github.com/facebook/flipper/pull/322)
Pull Request resolved: https://github.com/facebook/flipper/pull/328

Reviewed By: jknoxville, passy

Differential Revision: D13137447

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 3b86cebbb1ea01601405dd7ba58e1caa2b506065
2018-11-26 03:43:26 -08:00
Pritesh Nandgaonkar
ddbb3c7f89 Make android sdk crashless
Summary: This diff wraps all the important places where the java code is called in a try-catch block in order to avoid flipper bringing down an app.

Reviewed By: jknoxville

Differential Revision: D12839504

fbshipit-source-id: 4711bccbe6d50094d76ed7ecd1eb652cefc2a090
2018-11-19 04:29:34 -08:00
Pascal Hartig
093ab1fe57 Add report bug callback for diagnostics screen
Summary:
Adds an optional interface that, when implemented, adds
a "Report Bug" button to the top of the screen.

This is a weird Android-ism that's sadly still the
recommended way of providing hooks into Fragments:
https://developer.android.com/guide/components/fragments#EventCallbacks

In order to keep things vanilla here, let's follow that pattern.

Reviewed By: jknoxville

Differential Revision: D13045578

fbshipit-source-id: 1506fcfc630c2d1183d7d1eaf470d23954e0c097
2018-11-15 12:23:12 -08:00
Pascal Hartig
85206e4d9b Turn FlipperDiagnosticsActivity into a Fragment
Summary:
This allows passing in some options in an easy way, like a callback
that contains all debug information for a bug report.

Reviewed By: jknoxville

Differential Revision: D13045282

fbshipit-source-id: 5698228ee9aef31d406313047b6836dc928448cf
2018-11-15 12:23:12 -08:00
Brett Lavalla
4954d018d0 Add litho accessibility rendering to Flipper accessibility mode
Summary: This is a re-do of D9720987.  Now that the Litho version has been bumped to 20 in D12838684, this diff can land safely.

Reviewed By: danielbuechele

Differential Revision: D12969979

fbshipit-source-id: b12d14e3b292d8cd110967f84f770f3725a800de
2018-11-10 00:05:44 -08:00
Brett Lavalla
de016b8493 Added ability to change 'enabled' view property
Summary: In the accessibility inspector plugin, the "Enabled" view property was marked at mutable, but would not actually change the clicked.  This is because no case for changing this property was implemented.  This fixes the issue and allows the property to be mutable.

Reviewed By: jknoxville

Differential Revision: D12944810

fbshipit-source-id: 846547ba1baa481eca3fe1cd949cf252904677bc
2018-11-08 17:56:20 -08:00
Ian Childs
7b569a1692 Remove getBaseContext
Summary:
We have getAndroidContext() instead.

This will probably take a few iterations to land, but getting it out there so that I can try :)

Reviewed By: muraziz

Differential Revision: D12921523

fbshipit-source-id: 038ecf8c411fdbde6831051b219a43716007ac49
2018-11-07 04:20:13 -08:00
Eric Cochran
c6aed22a25 Fix OkHttp Interceptor closing response on IOException. (#313)
Summary:
The returned response body should not be closed, so that users can read the response body.

Before, when [this call](db833d36e9/android/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java (L94)) threw an exception, the body would be closed, and then [this](db833d36e9/android/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java (L54)) would return a closed response.
Pull Request resolved: https://github.com/facebook/flipper/pull/313

Reviewed By: jknoxville

Differential Revision: D12881111

Pulled By: passy

fbshipit-source-id: e76a732af6bdb527be6b90bbb02b3a5f45a1ec10
2018-11-01 09:35:07 -07:00
Zac Sweers
62b913d844 Remove guava dependency (#309)
Summary:
It's only used in `JavascriptSessionTest`, and seems fine to keep it in tests

Resolves #172
Pull Request resolved: https://github.com/facebook/flipper/pull/309

Reviewed By: passy

Differential Revision: D12840362

Pulled By: jknoxville

fbshipit-source-id: 4ead5a4bf0c08d792abcadef713f907930a3e4e7
2018-10-31 07:50:45 -07:00
Ian Childs
f3833a6e5a More prep for ComponentContext not extending Context
Summary: Per title

Reviewed By: astreet

Differential Revision: D12839032

fbshipit-source-id: c69805fd68a6530d1e56edad3bb5edf4089ee98a
2018-10-31 07:29:32 -07:00
Pritesh Nandgaonkar
2ee2dfacfe Back out "[DO NOT LAND until Litho open source version includes rerenderForAccessibility] add litho accessibility rendering to Flipper accessibility mode [2/2]"
Summary: Original commit changeset: 000a7413fcbe

Reviewed By: passy

Differential Revision: D12821473

fbshipit-source-id: 5fa369cc48f074414b04e4786d5bd634158598a6
2018-10-29 06:20:47 -07:00
Brett Lavalla
21c0b3ad0e add litho accessibility rendering to Flipper accessibility mode [2/2]
Summary: Completes D9667222 to allow force rendering of accessibility in litho when an accessibility service is not actually running.

Reviewed By: ikenwoo

Differential Revision: D9720987

fbshipit-source-id: 000a7413fcbe775a525ca3aca64443c3669cdf9e
2018-10-27 23:35:50 -07:00
Hilal Alsibai
c6244054e0 Fix view accessibility path key
Summary: Was set to view previously and blocked the ability to edit view attributes.

Reviewed By: sjkirby

Differential Revision: D10865495

fbshipit-source-id: 8db043bdc8725b2b56f037d7d8467233db524f5e
2018-10-26 01:15:33 -07:00
Pascal Hartig
f75a90bf78 Remove overloaded ErrorReportingRunnable class
Summary:
This masks this fact that `mConnection` must be `non-null` for
very little convenience in return. Let's keep this explicit.

Reviewed By: danielbuechele

Differential Revision: D10505205

fbshipit-source-id: d8187cc8e79d4508babe281ff88b3ba75c0baa1f
2018-10-23 04:44:52 -07:00
Pascal Hartig
2a179b9d3c @Nullable for example plugin
Summary: Per title.

Reviewed By: jknoxville

Differential Revision: D10464336

fbshipit-source-id: 84b572d9fddf62b8515183aff6bb64925772c719
2018-10-22 09:02:19 -07:00
John Knox
6cc7f60cde Add sample js and android plugin
Summary:
The start of an example plugin.

My intention is for this to be a place that we keep up to date with the current best practice for doing things.

For example, with the introduction on persistedStateReducer, there are two ways to receive incoming messages, but only one of them works in the background. This should act as a guideline.

For this reason, don't hold back on reviewing it. I want it to be 👌

Reviewed By: priteshrnandgaonkar

Differential Revision: D10448592

fbshipit-source-id: d5fa978c14e47a7fa3c9a29d0929d5a6109267af
2018-10-19 09:44:05 -07:00
John Knox
c544199289 Fix flipper crashing app bug
Summary: Fixing bug based on stack trace from crash: P59988055

Reviewed By: passy

Differential Revision: D10161779

fbshipit-source-id: 8ad4a7b41144817dfcddb5431326e98fd176adec
2018-10-16 06:46:20 -07:00
Pritesh Nandgaonkar
14e38c087f Add runInBackground Interface method
Summary:
Add support for plugins to opt in to background for android.
This diff does the following
- Adds a method `runInBackground` in java interface of `FlipperPlugin`
- Make the network plugin opt in to run in background

Reviewed By: danielbuechele

Differential Revision: D10360033

fbshipit-source-id: b31c7550d00b760b7033c150232e3925b6272d24
2018-10-15 05:47:25 -07:00
John Knox
b95a487748 Back out "[flipper] Fix remote adb connections"
Summary:
Original commit changeset: e53aa6ad10ac

This original change relies on adb reverse being run on emulators, which isn't happening. I didn't pick it up during tests because a previous build of flipper had done it.

Reverting the change. Will fix adb reverse and then re apply it later.

Reviewed By: priteshrnandgaonkar

Differential Revision: D10241728

fbshipit-source-id: 521c18c5a0eb45f3af0fe510defd9116b9bb0626
2018-10-08 14:56:18 -07:00
John Knox
287542c49a Fix remote adb connections
Summary: On emulators and devices that support adb reverse, using localhost will always work, whereas "10.0.2.2" won't work for networked adb connections.

Reviewed By: passy

Differential Revision: D10231163

fbshipit-source-id: e53aa6ad10ac4964431694c48e7148add69487fb
2018-10-08 04:56:35 -07:00
Hilal Alsibai
52e43e6ab8 Run google-java-format over Android code
Summary: Prettier code

Reviewed By: sjkirby

Differential Revision: D10182489

fbshipit-source-id: 6a1ba4d586f49edad00f839ccd1b94857ccfccaa
2018-10-06 11:41:35 -07:00
Hilal Alsibai
b40810080c Add support for multiple shared preference files
Summary: Adds the ability to view multiple shared preference files in Flipper

Reviewed By: danielbuechele

Differential Revision: D10181908

fbshipit-source-id: 723b71d7bd87c51c0fabc77204b5a26a2b7aa782
2018-10-06 11:41:34 -07:00
Pascal Hartig
84384e523f Rename remaining tests
Summary: Something here must have conflicted upon landing. Redoing this again.

Reviewed By: danielbuechele

Differential Revision: D10145804

fbshipit-source-id: 1176167c7e3880055ff5e7b3d7f5723416f6131f
2018-10-03 03:44:20 -07:00
Pascal Hartig
8456a13ee6 Fix unit test setup
Summary:
There were still some tests with the internal test runner which
would fail in open source and with Gradle.

Reviewed By: priteshrnandgaonkar

Differential Revision: D10145759

fbshipit-source-id: 99915548441e426b88b1fa6ace1e852775e2a770
2018-10-02 09:29:37 -07:00
Pascal Hartig
344e6e7a04 Rename test classes
Summary: Take care of the test class names.

Reviewed By: danielbuechele

Differential Revision: D10113028

fbshipit-source-id: c8f0967fe2ae8c0f416e0f2f1eab30785fad01e8
2018-10-02 05:11:56 -07:00
Pascal Hartig
8c4e5ec647 Rename diagnostics AndroidManifest.xml
Summary:
The manifest is invalid without a package name and causes CI
to fail in some weird ways.

Reviewed By: jknoxville

Differential Revision: D10123737

fbshipit-source-id: d4adc84e6c1a4297fc1b30720f131fd06c22c4d3
2018-10-01 14:04:08 -07:00
Pascal Hartig
e39b08cdbf Move test sonar package to flipper
Summary: This confused Android Studio real bad.

Reviewed By: danielbuechele

Differential Revision: D10103210

fbshipit-source-id: 20b28575942998fa0c646090e46a2f55983a26a6
2018-09-30 04:13:54 -07:00
Pascal Hartig
2a4df330b2 Fix robolectric test runner import
Summary: Can't use our internal test runner for this, d'uh.

Reviewed By: danielbuechele

Differential Revision: D10101984

fbshipit-source-id: 23f0af1c0b9e5d761de260643ef8d5546d9478eb
2018-09-30 04:13:53 -07:00
Pascal Hartig
59f762cac9 Fix failing tests
Summary: Previous diffs fixed all compilation issues, this one makes them actually pass again.

Reviewed By: danielbuechele

Differential Revision: D10050632

fbshipit-source-id: 7e9f30c51d192b9f7e43abec8a19b2f1eef997df
2018-09-26 10:32:14 -07:00
Pascal Hartig
86d32758e3 Fix InspectorSonarPluginTest
Summary: Fix compilation issues in InspectorSonarPluginTest.

Reviewed By: danielbuechele

Differential Revision: D10050477

fbshipit-source-id: 556f48ca80f8091c34319b5ada26874eb5ac1e40
2018-09-26 10:32:13 -07:00
Pascal Hartig
038a2dbe82 Fix DescriptorMappingTest
Summary: Fixing broken tests one-by-one. This was an interface addition that wasn't implemented here.

Reviewed By: danielbuechele

Differential Revision: D10050418

fbshipit-source-id: 5e157ccbe414c6cacca1feba3e6460bbf1593abf
2018-09-26 10:32:13 -07:00
Pascal Hartig
f18802e373 Rename internal android references
Summary: sonar -> Flipper

Reviewed By: jknoxville

Differential Revision: D10028004

fbshipit-source-id: 33a32b4aaca9c97ce8db7da3bccb7ee6515a6104
2018-09-25 06:57:31 -07:00
Pascal Hartig
c7b0d419cb Rename libsonar* to libflipper*
Summary: Rename the native libraries.

Reviewed By: priteshrnandgaonkar

Differential Revision: D10009245

fbshipit-source-id: 987c4fdb1acc21abbbecfb3db8a672f4aa4e499d
2018-09-25 04:02:29 -07:00
Pascal Hartig
b78c703bdb Rename error message
Summary: Per title.

Reviewed By: priteshrnandgaonkar

Differential Revision: D10009219

fbshipit-source-id: 9647c8b0e317b789e154949aad221cbc3c50801e
2018-09-25 04:02:28 -07:00
Pascal Hartig
777e9323de Rename remaining exported Sonar Android references
Summary: Excludes internal plugins, but should cover everything else.

Reviewed By: priteshrnandgaonkar

Differential Revision: D10009134

fbshipit-source-id: f601014e984bccf78fadbe59ee50dffdb4f6cb12
2018-09-24 11:15:05 -07:00
Pascal Hartig
079057727c Rename core references
Summary:
Only public reference touched is `toSonarObject()`.

The controller you requested could not be found.

Reviewed By: jknoxville

Differential Revision: D10009071

fbshipit-source-id: 985b472403d9ddd8e390620fb7896df93366dbef
2018-09-24 07:50:40 -07:00
Pascal Hartig
41adb3bdaa Rename android internals
Summary: Rename public method and internal references inside the android package to Flipper.

Reviewed By: jknoxville, priteshrnandgaonkar

Differential Revision: D10008330

fbshipit-source-id: fd9b8a54bc9766e2d10b10c9b428f62e0bc3224a
2018-09-24 07:50:40 -07:00
John Knox
3838decf1d Rename SONAR_OSS compiler flag
Summary: Part of sonar to flipper rename

Reviewed By: passy

Differential Revision: D9920332

fbshipit-source-id: 99b5cf33c07ca5d9cd59af21490fea18272e67d9
2018-09-24 07:00:44 -07:00
John Knox
c1295b1bc9 Rename SonarState* to FlipperState*
Summary: Part of sonar to flipper rename

Reviewed By: passy

Differential Revision: D9919821

fbshipit-source-id: a44a2a04d5463750f884f8bf1328e02d56593e82
2018-09-24 06:03:51 -07:00
John Knox
1d2793f701 Rename SonarWebSocket
Summary:
Part of Sonar -> Flipper rename.
It's about time this is renamed from *Websocket as well, since it doesn't use websockets anymore.

Reviewed By: passy

Differential Revision: D9919695

fbshipit-source-id: 78a63bfb7d5de19c093b7fb775d1426b4fc58f77
2018-09-24 06:03:51 -07:00
John Knox
5350d3ce7a Rename C++ SonarPlugin class
Summary: Part of sonar -> flipper rename

Reviewed By: passy

Differential Revision: D9917615

fbshipit-source-id: e59f43bf003d30ae6be4d95bc4a21c92ab39f732
2018-09-24 06:03:50 -07:00
Pascal Hartig
90cf003035 Rename shared preferences plugin
Summary: Sonar -> Flipper

Reviewed By: priteshrnandgaonkar

Differential Revision: D9991095

fbshipit-source-id: 685775e373ae22abbb06b979fea8461c35de74b5
2018-09-23 04:13:55 -07:00
Pascal Hartig
448e2e720c Rename sandbox plugin
Summary: Sonar -> Flipper

Reviewed By: priteshrnandgaonkar

Differential Revision: D9991058

fbshipit-source-id: ce5deb979ddd1ba4190a82a668dd57789731b688
2018-09-23 04:13:55 -07:00