Summary:
^
So far, we had the 'uidebugger' plugin as a meta-only plugin.
This change moves the plugin to OSS space as it will ultimately be its right place.
It will also make it easier to iterate on it.
The plugin itself is not ready for consumption but at no point we are documenting or integrating it with our samples.
Reviewed By: passy
Differential Revision: D38742336
fbshipit-source-id: 5cf124722fa7ba75ee9b998c507bfdfb2e4782c1
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
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
Summary: Changelog: The 'nativeplugins' on Android are no longer supported
Reviewed By: jknoxville
Differential Revision: D29163281
fbshipit-source-id: fb4032f240fc306608fe57479f3124d4e7a3400f
Summary: Legacy resources are deprecated, this is what we should be using
Reviewed By: jselbo
Differential Revision: D25903962
fbshipit-source-id: ffa91a3aee8956591b7daab523bda2e59fec9932
Summary:
Related diff [CK]: D23243009
This diff adds support for a protocol for layout messages where the type is recursively encoded as:
```
{
kind: "type",
data: ???
}
```
The meat of the diff is on FlipperEditor.java, SetDataOperations.java and InspectorFlipperPlugin.java. The others are there just for a change on an interface.
We check if the message adheres to the new encoding, otherwise we fall back to the old behavior. If it's the new encoding, the message is traversed recursively flattening the types to EditorValue using the type hints provided.
Reviewed By: muraziz
Differential Revision: D23243009
fbshipit-source-id: 0f313455885930f3beaaadb66f3bf394f109ea23
Summary:
Before this diff, `TouchOverlayView` would be an inner non-static class,so it'd be difficult to track memory ownership for it.
It also made `InspectorFlipperPlugin` longer and harder to read.
Reviewed By: cekkaewnumchai
Differential Revision: D22285744
fbshipit-source-id: 6fdd8c33a07be6ab900ebb28a8c3ebf3761fb598
Summary:
Fix for https://github.com/facebook/flipper/issues/1300
The weak refs were not being cleared in two cases:
- On config changes, isFinishing() would be false in onPause()
- When calling finish() from Activity.onCreate(), onPause() isn't guaranteed to be called.
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/1301
Reviewed By: mweststrate
Differential Revision: D22286182
Pulled By: passy
fbshipit-source-id: 948d1d9b2145b6526c0030cf537330409ff7f8c4
Summary:
- Add return parameter to `createTouch` method: stack of node. This reference will be used to retrieve the final tree structure to be sent back to desktop app.
- `Touch` now keeps every step in component tree (I have concerned for app performance here)
- Edit test to reflect changes
Note:
- `path` will also be returned to keep backward compatibility with older server (desktop) side
Reviewed By: adityasharat
Differential Revision: D21040429
fbshipit-source-id: 6c2b9792378bf08b19fbbda1d2381df8c357170c
Summary: This will query for and display all of the associated theme information for each of the descriptors.
Reviewed By: passy
Differential Revision: D20008056
fbshipit-source-id: 720d224144b0822528ca8e23cdbec9fe9dd25e6b
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:
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:
- 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: 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: 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: You're not supposed to be here.
Reviewed By: SidharthGuglani
Differential Revision: D15353936
fbshipit-source-id: f389aeaff71f940d96dfc0422694fb0020dee05c
Summary:
The main goal is to update visitation id for our targeted tabs requirements (https://fb.quip.com/2jZiA97DTATi). In doing so, we want an easier way to debug whether everything is working as expected.
I've been meaning to add something like this for a while since it's a pain to explain what the visitation id and HSM look like as you navigate the app, so this should help the other teams who're using visitation id as well.
Will probably also start adding navigation events and any other data that we feel is useful.
Run:
```
fbsource/xplat/sonar/scripts/facebook/create-plugin.py Navigation --android
```
Then clean a few things up and fix lints.
Differential Revision: D14759995
fbshipit-source-id: 066dcbf70eed7056f995053cc9ba80dcbbafdb03
Summary: This is to unblock our mobile lab build target that adds Flipper to a redex-able build. Redex currently crashes when it tries to optimise Rhino. This could probably be fixed but we don't have any real use-cases for the console plugin right now. It should be fairly easy to unland this even partially if we want to revive this in the future.
Reviewed By: danielbuechele
Differential Revision: D15044539
fbshipit-source-id: f0857274aa046f5be935a342cf91b6a390fcb3dc
Summary: I hope that this takes care of all the android violations.
Reviewed By: danielbuechele
Differential Revision: D15199150
fbshipit-source-id: 0f5b4edc1bc9d38de0885f88bb2c3e43acfa09cd
Summary:
We should not ship this as part of our distribution.
Just meant we had to bifurcate our unit tests which
is a bit awkward, but it works now.
Reviewed By: jknoxville
Differential Revision: D15146980
fbshipit-source-id: 496b000630bbfcaa663cddacb00550e1499a1279
Summary: Last big batch of adding license headers in Java code where they were missing.
Reviewed By: jknoxville
Differential Revision: D15164860
fbshipit-source-id: 4c0a61eec7b5659fdc674ebed85f2ade60dd0aa0
Summary:
The crash logged from `ErrorReporterRunnable` wasn't detailed. For example look at the following video.
Also for some reason the `FlipperConnection` interface doesn't have an argument for crash name. Thus I changed the js side of the plugin to accept `crash.name` to be undefined.
{F155526537}
Reviewed By: passy
Differential Revision: D14852561
fbshipit-source-id: 6daf9847535b4508fa312b4f940b014911aae2e5
Summary:
The main change is is changing from the inheritance model:
`FlipperPlugin > NativePlugin > TablePlugin > ConcretePlugin`
to a composition model where:
`NativePlugin > TablePlugin > ConcretePlugin`
And behind the scenes, there's a `FlipperPlugin` that has a `NativePlugin` reference.
Now your native plugin will call methods like (in the table case) `display.updateRows` instead of `super.updateRows()`
The reasons for this are:
* Testability: we can easily mock the display and assert output.
* Encapsulation: Previously, native plugins could call `mConnection.send(...)` and send completely unsupported messages to the desktop. Now they only have access to the display's public api, which is guaranteed to work.
I've also changed it so that on every row update, we send the latest table metadata along with it. This makes sure we can ensure that the right table schema is displayed for the current data.
QueryResponder interface also added, which will come in useful for queryable datasets.
Reviewed By: passy
Differential Revision: D14751885
fbshipit-source-id: ea0bbd25f7eaa60020f8866fe210d8bd1c22e90b
Summary: Use responder rather than allowing exception to propagate.
Reviewed By: jknoxville
Differential Revision: D14538883
fbshipit-source-id: 2774a2adfcee356e1853fa3bf3c01aa113181262
Summary:
I'm not sure why this was made an AssertionError in the first place
as this cannot be caught by a catch branch that only takes Exception-subclasses.
Given that this is expected behaviour in some cases, using an Error here
is rather dangerous.
This does not fix the underlying issue of the attached task, but fixes
the undesired crashing behaviour of the app.
Reviewed By: priteshrnandgaonkar
Differential Revision: D14598611
fbshipit-source-id: b024b35f07e16755d9a4ab2f4a1f75b10d1353fb
Summary: Umm, not sure why this is still around. Looks like an `hg mv` gone wrong.
Reviewed By: jknoxville
Differential Revision: D14639300
fbshipit-source-id: 511116808c4e8ae684fc21454853a482a2c36122
Summary:
A new test uses a non-public dependency causing the travis CI to fail.
Use the standard roboelectric one instead.
Reviewed By: passy
Differential Revision: D13801098
fbshipit-source-id: 9fcda26fceaed22d18bd743f10bf39eaae0da7a6
Summary:
Part 1 of enabling flipper to run on custom ports: android SDK.
Still to go: iOS SDK and desktop
This should allow you to run mobile apps that use flipper on different ports than the default (8089,8088).
`adb shell`
`su`
`setprop flipper.ports 1111,2222`
From what I can tell, this only works on rooted devices.
Reviewed By: passy
Differential Revision: D13753238
fbshipit-source-id: c5f370c9d8c7382e8c17fb81d4010c642ef7c114
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
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
Summary: Something here must have conflicted upon landing. Redoing this again.
Reviewed By: danielbuechele
Differential Revision: D10145804
fbshipit-source-id: 1176167c7e3880055ff5e7b3d7f5723416f6131f
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
Summary: Take care of the test class names.
Reviewed By: danielbuechele
Differential Revision: D10113028
fbshipit-source-id: c8f0967fe2ae8c0f416e0f2f1eab30785fad01e8