Commit Graph

468 Commits

Author SHA1 Message Date
Paco Estevez Garcia
a49ceff441 Remove implicit dependency on Androidx
Summary: This change removes the dependency of FlipperEditor from AndroidX, which prevents it from moving to the Litho repository

Reviewed By: Andrey-Mishanin

Differential Revision: D23475867

fbshipit-source-id: a330c676859ed9ce9a0ab186dd206310d2eccca5
2020-09-03 07:42:18 -07:00
Paco Estevez Garcia
ff3584e2e0 Add support for tagged messages on the Layout Inspector
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
2020-08-28 08:56:21 -07:00
Paco Estevez Garcia
ee809fe112 Add support for the Picker widget in Android
Summary: Adds support in Flipper for the picker widget. The way it reaches Flipper is a bit nasty, using `toString` to produce a JSON value.

Reviewed By: passy

Differential Revision: D23294091

fbshipit-source-id: e3398e6fb474e46bdaac1960aeaf57e201946413
2020-08-28 07:45:41 -07:00
Michel Weststrate
7f9d4c35a0 Allow for larger ascii responses
Summary: See linked task, data larger than 5KB would always be reported as blob. Increased this limit to 100KB, since if the user is looking at this data, it is proactively requested so it is fine if it is larger

Reviewed By: jknoxville

Differential Revision: D23317197

fbshipit-source-id: f563a980fa9567ac7e2f950b83c1888a7b295d77
2020-08-25 08:49:24 -07:00
Dominik Wielgórski
4c4097f0f8 Implemented menu to select ide
Summary:
Added IDE menu functionalities.
Changed minor UX detail - for classes that cannot be opened user will always see 'Can't open' prompt.

Design: https://www.figma.com/file/M0l6qhQqzllIcefVE4tQvG/Error-Reporter-IDE-Selector?node-id=82%3A0

Reviewed By: arpitratan, adityasharat

Differential Revision: D22790328

fbshipit-source-id: 8dfbcf7408c53947909bcf3fa700dee7ae47e14a
2020-07-30 04:30:06 -07:00
Paco Estevez Garcia
10f9a48540 Wire Editor to Flipper
Summary:
This diff implements the integration between a Litho Editor and Flipper. It does so by converting the Editor format to FlipperObject, and then converting it back from FlipperDynamic.

This conversion works for both `State` and `Prop`. We already provide default implementations for primitive + wrapped types and String, so the functionality should match the existing one.

Reviewed By: passy, Katalune

Differential Revision: D22455220

fbshipit-source-id: f7f633765f3d997ce6de09d2c1277019e72c0802
2020-07-27 05:09:16 -07:00
Dominik Wielgórski
1784eb78d9 Added buttons +notifications for opening in IDE functionality
Summary: Created buttons which enable opening in IDE for classes which are valid.

Reviewed By: adityasharat

Differential Revision: D22724496

fbshipit-source-id: 3532213ab7730aae5e61877ccfecd0558b329d57
2020-07-27 05:07:02 -07:00
Dominik Wielgórski
6561bc8f16 Added connection between InAppErrorReporter and Flipper Desktop App via Layout Plugin
Summary:
Created functionality which allows user to open clicked file from inAppErrorReporter.
Created "iface" interface for openInIDE API and created default implementation which indicates that openInIDE is not supported.
Created "impl" implementation specifically for fb4a.

Reviewed By: arpitratan

Differential Revision: D22642497

fbshipit-source-id: 7b3011c128a479e556b869fcc8c4147e153caf71
2020-07-23 13:47:09 -07:00
Dominik Wielgórski
cf6df492ee Created openInIDE API inside Layout Plugin
Summary: Created a communication between Layout Plugin and Flipper Desktop. The API allows users to open given file in a selected IDE. The openInIDE function returns true if the connection with Flipper is established, otherwise returns false.

Reviewed By: adityasharat

Differential Revision: D22625829

fbshipit-source-id: feaf186c107d62b1a75dfc6bbe2c1d66ffd7fd78
2020-07-21 09:27:53 -07:00
Richard Zadorozny
91cccbe436 Sonar tag for skipping empty view groups in layout target mode
Summary:
I think it's somewhat common to have large containers that can hold future views, especially fragments. The problem is the presence of these containers can block the layout inspector's "target" mode.

I found out from cekkaewnumchai that Flipper does in fact return multiple results from the pick, but I think it could still be helpful to have this new tag since it is more convenient than having to do the secondary drill down each time.

Reviewed By: jknoxville

Differential Revision: D22284972

fbshipit-source-id: 1a2826ec746e4f31690db33ed72815ae168bffab
2020-07-02 08:39:35 -07:00
Paco Estevez Garcia
d871ce0a04 Extract TouchOverlayView to new class
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
2020-07-01 11:05:46 -07:00
Paco Estevez Garcia
c1d9527406 Fix potential nullable accesss
Summary:
While ramping up to Flipper I found this potential NPE caused by ordering issues.

There are only 3 uses downstream that don't use a constant that's part of the default initializer.
```
λ festevezga-mbp xplat → buck build sonar/android/src/main/java/com/facebook/flipper/plugins/inspector/... 2>&1 | rg ' = descriptorForClass' | awk '{$1=$1};1' | sort | uniq -c
   5 NodeDescriptor descriptor = descriptorForClass(Object.class);
   3 NodeDescriptor descriptor = descriptorForClass(View.class);
   1 NodeDescriptor descriptor = descriptorForClass(node.getClass());
   2 final NodeDescriptor descriptor = descriptorForClass(Dialog.class);
  12 final NodeDescriptor descriptor = descriptorForClass(Fragment.class);
   5 final NodeDescriptor descriptor = descriptorForClass(Object.class);
  26 final NodeDescriptor descriptor = descriptorForClass(View.class);
   2 final NodeDescriptor descriptor = descriptorForClass(Window.class);
   1 final NodeDescriptor descriptor = descriptorForClass(node.getClass());
   1 final NodeDescriptor descriptor = descriptorForClass(topChild.getClass());
   2 final NodeDescriptor objectDescriptor = descriptorForClass(Object.class);
```

Reviewed By: muraziz

Differential Revision: D22284669

fbshipit-source-id: b41c8d78c70c5b5acdc08aa6f0e7afa681f4242d
2020-07-01 11:05:46 -07:00
pyricau@users.noreply.github.com
cfd8662c12 Fix ApplicationWrapper activity weakRef leak (#1301)
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
2020-06-30 09:46:00 -07:00
Chaiwat Ekkaewnumchai
c3bc168216 (client) Change Inspector Descriptor
Summary: Previously, descriptor stopped iteration (searching) as soon as it finds hit element. This diff changes so that it will always do complete search

Reviewed By: mweststrate

Differential Revision: D21040424

fbshipit-source-id: 9123c6382dcdfefd6df17a95d283f5123906df11
2020-05-07 03:40:58 -07:00
Chaiwat Ekkaewnumchai
d593409ec4 (client) Return Tree instead of Path
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
2020-05-07 03:40:58 -07:00
Chaiwat Ekkaewnumchai
f275ee00c5 Add Keys for FlipperObject
Summary: This adds ability to iterate over FlipperObject before sending it to be processed on Flipper desktop

Reviewed By: mweststrate

Differential Revision: D21214901

fbshipit-source-id: a6186a42004f1afb70889a395b1df037447f9881
2020-05-07 03:40:58 -07:00
Dan Yang
56b4d43eb0 Database Plugin - Increase blob max length and attempt to render UTF-8
Summary: 512 is a pretty small blob length. Increasing it to 5120 and changing it to attempt to stringify UTF-8 if not ascii.

Reviewed By: jknoxville

Differential Revision: D21253132

fbshipit-source-id: 1cc9226b86a9b9ddfd73e29c8b0c04ac54b5b4b2
2020-04-29 16:11:22 -07:00
Scott Kyle
c7a6908093 Add API to retrieve Java Object from Flipper objects
Summary: There's no existing API on the Flipper objects to get an arbitrary Java object, which we need in an inspector plugin we're building (`getDynamic` requires you to know what you want in the end).

Reviewed By: jknoxville

Differential Revision: D21223329

fbshipit-source-id: 29e9f8788be404cec44c6ddeb6b56b939b97b766
2020-04-29 08:27:21 -07:00
Joshua Selbo
e6b7c9a346 Migrate Sonar Android tests (#1045)
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/1045

Reviewed By: passy

Differential Revision: D21181354

fbshipit-source-id: ddc329f8bafd5890b7428642d32f7f62e1d499ad
2020-04-23 15:19:32 -07:00
Pritesh Nandgaonkar
17ccdeaf6f Change the export logic for the Inspector
Summary:
This enables the feature which showed the theme information in the layout plugin. It was disabled due to the OOM which occurred while exporting flipper trace. The OOM happened when we tried to serialise the whole layout hierarchy and the amount of info added per node by the theme info was quite heavy. Thus removing it solved the OOM problem at that point, but its not the correct solution.

The problem is that each node has too much information and sending it at one stretch is very heavy and causes OOM. So instead of sending it at one stretch, I have broken it into multiple calls at each level of the tree. This no longer causes OOM and we will be able to show theme information too.

Also for iOS we don't have AXNodes call or AXRoot feature implemented, so anyway I had to put a check to not make those calls, so instead I have kept the feature of fetching all nodes on the iOS instead, as there has been no problem on the iOS side with regards to the OOM. But I am indifferent, the same logic will work for iOS too, it might increase the time to export.

issue discussed [here](https://fb.workplace.com/groups/flippersupport/permalink/854729375007722/)

Reviewed By: jknoxville

Differential Revision: D21136057

fbshipit-source-id: becd237a6d53c50af082597f2e8ed790c25cb966
2020-04-23 04:31:17 -07:00
Michal Zielinski
2d1870cf7d Add support for deleting a shared preference (#1018)
Summary:
This change makes it possible to remove preferences. I also added a `Delete` context menu option to `DataInspector` because I needed it to implement this feature. passy confirmed that it makes sense to add this because delete is a common action.

Fixes https://github.com/facebook/flipper/issues/451
Pull Request resolved: https://github.com/facebook/flipper/pull/1018

Reviewed By: jknoxville

Differential Revision: D21086308

Pulled By: passy

fbshipit-source-id: 551ff0908d5e6c93f58d6012b42e1ee3531de997
2020-04-17 09:01:04 -07:00
Pascal Hartig
4be1b4d491 Add support for AndroidX fragments (#957)
Summary:
Fix https://github.com/facebook/flipper/issues/931

This is not how I would *like* to fix this, but it should do the job.
When the switch over to AndroidX was made, the overall abstraction
started to leak and we really need to remodel this in its entirety.
There's also the question of whether we want to support both support
fragments and AndroidX fragments or not. Right now it's kinda-sorta
supported but only under some circumstances, which is not great.

I also added some more defensive try/catches as there's some unsafe casting
involved and future changes may break this causing the entire layout to disappear.

Change Log: Fix support for AndroidX fragments in Layout Inspector.

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

Test Plan:
Changed the sample app to include some AndroidX fragments and they
now show up (again) in the view hierarchy:

![Screenshot 2020-04-01 13 40 53](https://user-images.githubusercontent.com/9906/78138910-915fbc00-741f-11ea-8386-4eeca9b7f932.png)

Tested internally that FB4A fragments show up again, too:

{F233098198}

Reviewed By: mweststrate

Differential Revision: D20792503

Pulled By: passy

fbshipit-source-id: 7030b897ab547d1e8803b7f0d7aaa34263cfaed2
2020-04-03 09:21:03 -07:00
John Knox
84e9756b83 Catch Error, not just Exceptions in ErrorReportingRunnable
Summary: We can OOM in flipper, and we'd like to catch those and prevent them from crashing the app. They are Errors, not Exceptions.

Reviewed By: mweststrate

Differential Revision: D20648824

fbshipit-source-id: 60002a3c950518e56189776f05df8f2c92a851f0
2020-03-25 17:39:21 -07:00
Chaiwat Ekkaewnumchai
4eccacbac8 (Client) Add Connection Listener to BufferingFlipperPlugin
Summary:
- Add a new listener to be called when the plugin is initialized

Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488

Reviewed By: jknoxville

Differential Revision: D20474259

fbshipit-source-id: ef1673ffa7fbc087761a753fbae813346bd481c3
2020-03-23 22:03:09 -07:00
Pritesh Nandgaonkar
cfb82ad8c8 Fix the broken export of layout plugin in android(not easily reproducible)
Summary:
There was a bug reported recently where the fetching all the nodes failed and the error is pasted [here](https://our.intern.facebook.com/intern/paste/P127476330/). From the paste we can see this `android.content.res.Resources$NotFoundException: Unable to find resource ID #0x0`.

Reported bug is [here](https://fb.workplace.com/groups/flippersupport/permalink/830359447444715/)

I was able to repro this luckily

{F231474948}

Reviewed By: xiphirx

Differential Revision: D20441839

fbshipit-source-id: 9e9bfd15422c0f6c6f7a71aa22e9b1c8d640ec4a
2020-03-18 21:11:13 -07:00
Sim Sun
4a2349c42d refactor(asan): remove asan checker
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
2020-02-25 21:48:28 -08:00
Hilal Alsibai
33bbeadfe9 Add theme information for Application, Activity and View descriptors
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
2020-02-24 11:33:01 -08:00
John Knox
c262ab4e14 Change positionOnScreen to positionOnScreen{X,Y}
Summary:
Nested subobjects work but aren't very well typed in the layout plugin.
So changing it to help flipper work with it.
From:
```
positionOnScreen: {x: 234, y: 456},
```
to
```
positionOnScreenX: 234,
positionOnScreenY: 456,
```

Reviewed By: passy

Differential Revision: D19998161

fbshipit-source-id: 4e4d7ced3cb37c527bbdf65549ec436311a8c2b8
2020-02-20 11:25:05 -08:00
Pascal Hartig
35eeebffd0 Revert D19987003: Add theme information for Application, Activity and View descriptors
Differential Revision:
D19987003

Original commit changeset: c9b51311d287

fbshipit-source-id: c4536cfbb5e2a4fd198b5039067d89b2b8b5b92b
2020-02-20 05:15:03 -08:00
Hilal Alsibai
6f4de969fb Add theme information for Application, Activity and View descriptors
Summary: This will query for and display all of the associated theme information for each of the descriptors.

Reviewed By: passy

Differential Revision: D19987003

fbshipit-source-id: c9b51311d28712a1af76c45a434bfb25d28d5c54
2020-02-20 04:08:58 -08:00
Michel Weststrate
1383260a7c Expose React Devtools as a Metro plugin
Summary:
This diff turns the DevTools plugin from a normal plugin in a device plugin. The reason for that can be seen at the end of the test plan in the first stack of this diff: Regardless on which client you open the devtools, you are always looking at the react tree of the app that happens to listen at the appropriate port, unrelated to the actively selected app. This diff moves the plugin from being a client plugin to a device plugin, a Metro device plugin to be precisely, as of the latter there is only one and they should typically correspond (which is why we can trigger reload as done in the previous diff)

Currently we have a Flipper plugin inside the iOS / Android apps with one purpose: to select different ports to listen to on different devices. But this functionality was never implemented, nor seems there to be much demand for. So these plugin don't offer any actual value. The widely used standalone version of the react devtools (https://www.npmjs.com/package/react-devtools) doesn't offer port customization either, so this limitation seems to be acceptable.

To make sure that this change is backward compatible, we make sure to show the metro device if we find metro, regardless whether it is new enough to support log forwarding and reload commands (previously we only showed the device if it has the /events endpoint).

The only case I can think of we are killing with this approach is where people are debugging a RN app, but with having metro running. I doubt that is an actual case, but probably rickhanlonii knows more about that.

Furthermore this diff makes sure that the devTools can connect to physical android devices. Also, making it to the end of this explanation means that you have done most of the reviewing for this diff. The actual code diff is shorter.

Reviewed By: passy

Differential Revision: D19878605

fbshipit-source-id: 3f33e59d4f6e4cce39102420f38afee10018999f
2020-02-17 03:41:13 -08:00
Andres Suarez
c315691b2d Apply clang-format
Differential Revision: D19843069

fbshipit-source-id: af3f3998e2259ca5070b43ffb19933cf9304319d
2020-02-11 19:29:23 -08:00
John Knox
9280b3178d Include positionOnScreen in layout data
Summary:
Context: https://fb.workplace.com/groups/flippersupport/permalink/804152663398727/

This gives flipper the location of every node, in relation to the entire screen. This allows it to visualize the position of each node on it's own diagram, overlayed over a screenshot for example. The use case in mind is after importing flipper data, you'll still be able to see layout nodes overlayed over a screenshot taken during export.

Currently this is only added to Android Views, meaning we don't get it for Litho views or anything on iOS.
This is basically to get something working end-to-end, and if it's all good, then I'll add the other types of views.

Reviewed By: passy

Differential Revision: D19747691

fbshipit-source-id: 8ba3aae6b7685de6faaf55b9628c200802801db4
2020-02-06 05:03:28 -08:00
Ryo Sakaguchi
0e326330c0 Add Nullable annotation to getInstanceIfInitialized (#770)
Summary:
When calling from Kotlin codes, making nullability clear is safer.
This PR adds `Nullable` annotation to `getInstanceIfInitialized`.

## Changelog

Add `Nullable` annotation to `getInstanceIfInitialized`
Pull Request resolved: https://github.com/facebook/flipper/pull/770

Reviewed By: mweststrate

Differential Revision: D19719980

Pulled By: passy

fbshipit-source-id: 195b396a8fd75a15247da7244215aca9ed35886c
2020-02-04 06:42:37 -08:00
Artem Pianykh
67c646069a Fix incorrect override of equals in FlipperArray, FlipperObject
Summary:
mityal implemented a new check for nullsafe to warn about potentially
incorrect overrides of `equals` method (not yet released).

While testing some other things I stumbled upon incorrect `equal`
overrides in Flipper, particularly not properly handling `null` param.

Reviewed By: passy

Differential Revision: D19639882

fbshipit-source-id: 7f9aec7270e89a906810807f6849628967047b2a
2020-01-30 07:17:09 -08:00
Zac Sweers
48d6ea4c30 Remove stetho (#762)
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
2020-01-28 05:24:30 -08:00
Hilal Alsibai
c430fc3e18 Show window theme attributes when clicking on a window in the inspector
Summary: Currently we dont describe a `Window` object at all. Now we how the relevant theme data associated with the window.

Reviewed By: passy

Differential Revision: D19550049

fbshipit-source-id: 29903fb487b0be91d305f3b8d8fa7e4c3b3213e9
2020-01-27 12:49:43 -08:00
Chun-Ho Ng
c8b9dd949b Fix Opening FB4A Database Plugin
Summary:
The FB4A SQLite database plugin has to be opened 4-5 times before it shows a list of databases. This is because some databases are encrypted and can't be opened. In this case the code throws and exception and we do not catch that, causing the whole load process to crash.

Now catching the exception and returning an empty list.

Reviewed By: jknoxville

Differential Revision: D19463876

fbshipit-source-id: af8c9a70dc2761e62088d90ce89f8d16057e8745
2020-01-21 15:58:29 -08:00
John Knox
91b1ebf2b8 Back out "Fix initHybrid app-crashing bug"
Summary: This was a failed attempt to fix invalid initialization, but just means it fails elsewhere, so undoing this change.

Reviewed By: passy

Differential Revision: D18685054

fbshipit-source-id: fc460ee7cacc8cb89ee2a22243f9738383cbba43
2019-11-26 05:30:33 -08:00
John Knox
554037d444 Don't allow initialization when not in supported build
Summary:
If something calls FlipperClient.getInstance(), it will start a new thread and try to start the client. If this is in a context that will fail, like a process that hasn't loaded the .so, then it will fail, but we don't know who started the thread. This adds logging before spawning a new thread so we can see the stack trace of the culprit.

It might want to throw an error instead, that will help track down the culprit of such initializations, but this is a less intrusive change to just stop the failures from happening, to start with.

Reviewed By: cekkaewnumchai

Differential Revision: D18658972

fbshipit-source-id: 2433d4d6ef411d4fb28f31e27bcef702c5a8f4db
2019-11-23 18:21:21 -08:00
John Knox
4faac01448 Fix initHybrid app-crashing bug
Summary: We're seeing some cases of initHybrid failing when the C++ class hasn't been registered. I don't think we should be attempting to init in these cases, so gating it by the same logic as when we load the static library.

Reviewed By: priteshrnandgaonkar

Differential Revision: D18658101

fbshipit-source-id: b29592135dcf637a8c0d40aee30e383f4f35e527
2019-11-22 10:52:02 -08:00
Sara Valderrama
19df98e525 update accessibility hierarchy to show class names
Summary: Show the simple name instead of the node info class since this is taken into account for the attributes.

Reviewed By: jknoxville

Differential Revision: D18574219

fbshipit-source-id: 4b134e8be18c313e08df423dcdbe286d96c80b56
2019-11-19 10:04:10 -08:00
Michael Evans
cc19cc75ee Move declaration of required permissions into core lib (#593)
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
2019-10-18 06:43:35 -07:00
Pascal Hartig
9e96f0c7c2 Remove closed task references
Summary: No longer relevant.

Reviewed By: jknoxville

Differential Revision: D17951216

fbshipit-source-id: 2ef2a97c594af7cf9c134555779765872cfa0eb4
2019-10-16 08:08:23 -07:00
Andres Suarez
0675dd924d Tidy up Flipper license headers [1/2]
Reviewed By: passy

Differential Revision: D17863711

fbshipit-source-id: 259dc77826fb803ff1b88c88529d7f679d3b74d8
2019-10-11 13:46:45 -07:00
s1rius
86eb24b02c Work with custom SharedPreferences implementation (#571)
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
2019-10-08 01:51:21 -07:00
Chaiwat Ekkaewnumchai
053cfc09f3 Make LeakCanary a Separate Plugin
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/559

Reviewed By: passy

Differential Revision: D17546936

fbshipit-source-id: dce128a771b73e8b18dfc2b78ee99502c3f1ce86
2019-09-25 03:05:56 -07:00
Pascal Hartig
b041da6d61 Move litho plugin tests
Summary:
I missed these. :(

Open source CI is unhappy about this - for good reasons.

Reviewed By: jknoxville

Differential Revision: D17500071

fbshipit-source-id: 96106f660dee59985c51e2635321ab4ad00a795a
2019-09-20 10:24:38 -07:00
Pascal Hartig
2baadf9867 Make litho/sections a separate plugin
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
2019-09-19 03:02:51 -07:00
Pascal Hartig
c4a9b603e2 Make network a separate plugin
Summary: Per title.

Reviewed By: jknoxville

Differential Revision: D17419678

fbshipit-source-id: aee00f077b7ed955c60884853dc1128d27366ee8
2019-09-19 03:02:51 -07:00