Commit Graph

17 Commits

Author SHA1 Message Date
Andrey Goncharov
3c8ebf105a Get files from Flipper folder for every app on an Android device
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#

We'll make the fetching more resilient to errors in subsequent diffs

Reviewed By: passy

Differential Revision: D40512932

fbshipit-source-id: df3d2b14c033ec4434b2bf408f05734d71dee092
2022-10-25 05:31:48 -07:00
Andrey Goncharov
480a3d26f0 List contents of Flipper folder on Android
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#

In later diffs, we'll start fetching the actual files as well. The list of available files itself might be useful already to see what we have in our folder on the device

Reviewed By: passy

Differential Revision: D40508960

fbshipit-source-id: 96193fef3fed64d509cd3397513ae3e94438ae22
2022-10-25 05:31:48 -07:00
Lorenzo Blasa
dab510c546 Fix starting screen captures
Summary:
Starting a screencapture longer than 30 seconds would timeout as the start command waits for the process to finish. Removed that wait is it is the stop command that should only wait for the finish.

(n.b. please ship after accepting, as I'm on PTO)

Reviewed By: LukeDefeo

Differential Revision: D38918570

fbshipit-source-id: fd93e1239985c81a2143ceb79312518e7ebb27f5
2022-08-25 02:18:40 -07:00
Luke De Feo
6c5faf2932 Add command to install app to flipper server
Summary: There is a new flipper server command to install apps. For android it uses adb (via adb kit) For ios depending on idb availablity it will use idb or xcrun. Consumed in the next diff

Reviewed By: lblasa, aigoncharov

Differential Revision: D36936637

fbshipit-source-id: e09d34d840a9f3bf9136bcaf94fb8ca15dd27cbb
2022-07-07 07:50:14 -07:00
Andrey Goncharov
754afd0d2d Fix and re-apply "[flipper] Automatically set Android devices into the permissive mode"
Summary: Reverts D36263724 (0ee8f09fe5) and fixes the underlying crash by setting only physical devices in the permissive mode

Reviewed By: passy

Differential Revision: D36275055

fbshipit-source-id: 25a691e9c07e20a3341630db508795c133a9bd81
2022-05-10 08:42:58 -07:00
Mengke Ding
0ee8f09fe5 Back out "Automatically set Android devices into the permissive mode"
Summary:
Original commit changeset: 471470c5ca91

Original Phabricator Diff: D35356211 (501abc6b55)

Recently, bloks users reported that android emulators lost connection upon launching Flipper. (S270689)

Manual bisecting indicates that remote emulators won't crash on v0.142.362128844 (4/6) but crash on 0.143.365099607 (4/21).

Looking at https://www.internalfb.com/code/fbsource/[history]/xplat/scripts/.flipperversion.v2, and backing out D35356211 (501abc6b55) fixes the issue.

It's still unclear why setting `setIntoPermissiveMode` would crash/disconnect the android emulators, I'd defer Flipper team to investigate this further but this diff should unblock all the android bloks emulator + Flipper use case.

Reviewed By: lblasa

Differential Revision: D36263724

fbshipit-source-id: e8674730c0185457f6eda347ce7d9a41f9e1a2a4
2022-05-09 16:04:14 -07:00
Andrey Goncharov
501abc6b55 Automatically set Android devices into the permissive mode
Reviewed By: nikoant

Differential Revision: D35356211

fbshipit-source-id: 471470c5ca91c824590a409c4474433f2277b1f2
2022-04-07 02:49:48 -07:00
Pascal Hartig
71bdb23a1d Make log clear failures a warning
Summary:
Logcat can sometimes fail to clear the logs for some reason.
There's nothing we can do about this as we're directly calling out to adb.

Reviewed By: lawrencelomax

Differential Revision: D34749970

fbshipit-source-id: 2166717ace491f7b73b380576392638ef9276b78
2022-03-09 07:40:39 -08:00
Pascal Hartig
9bd6c7f54a Remove unused import
Summary: Per title.

Reviewed By: jknoxville

Differential Revision: D34749935

fbshipit-source-id: 8adaedf18d1528a60a0623bbe67b8072e3d11b13
2022-03-09 07:40:39 -08:00
Andrey Goncharov
6c74f2dd18 Set device features on device initialization
Summary:
1. Identify if device supports screenshots/screen recording when it is created.
2. Disable screen recording/screenshot buttons when they are not supported

Reviewed By: passy

Differential Revision: D34611133

fbshipit-source-id: 82ad2d67e4af482d9becf7995187667b5d99bc36
2022-03-04 02:00:23 -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
Andrey Goncharov
debf872806 Allow to start only one instance of log listener and crash watcher
Summary:
Changelog: Allow only a single crash watcher and a single log listener per device. Start log listener and crash watcher for every device upon connection. Remove commands to start/stop them externally.

Monitored CPU load for a physical Android device with the log listener on and off. Did not notice any real difference.

Resolved crashing adbkit-logcat by forcing the usage of 2.0.1. A proper fix would be to unify babel transforms for browser flipper and electron flipper, but we might re-think how we distribute flipper in the next half, so a simple hot fix might be a better use of time and resources.

Reviewed By: mweststrate

Differential Revision: D33132506

fbshipit-source-id: 39d422682a10a64830ac516e30f43f32f416819d
2021-12-20 11:39:01 -08:00
Andrey Goncharov
731749b41f Move crash reporting listener to the server
Summary: Changelog: Move crash watcher to the server. Add 'device-crash' event. Add 'device-start-crash-watcher', 'device-stop-crash-watcher' commands. Add 'onDeviceCrash' method to Plugin Client.

Reviewed By: mweststrate

Differential Revision: D33089810

fbshipit-source-id: ed62ee7c1129e5e25af18b444744b0796f567b72
2021-12-20 11:39:00 -08:00
Michel Weststrate
ef2a86e7a8 Sdk path should be used when launching emulator
Summary:
Changelog: Fixed issue where a missing ANDROID_SDK_ROOT env var made it impossible to launch emulators

Run into an issue where ANDROID_SDK_ROOT wasn't set for my user, causing Flipper not to be able to launch emulator, which was looked up from the path rather than using the flipper settings.

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

Reviewed By: timur-valiev

Differential Revision: D33158280

fbshipit-source-id: ea5616b10265ed43f1012c58da081be275ff1d5b
2021-12-16 14:51:08 -08:00
Michel Weststrate
e7f841b6d2 Move flipper plugin from flipper-lib types to flipper-common
Summary: Moved all types related to plugin descriptions from plugin-lib (which handles downloads and such) to flipper-common. The goal of that is to remove all plugin-lib usage from ui-core to server-core, so that the UI itself doesn't do any file operations anymore related to plugins. That will be done in next diffs, this just moves types but no code.

Reviewed By: nikoant, aigoncharov

Differential Revision: D32665064

fbshipit-source-id: 86d908e7264569b0229b09290a891171876c8e00
2021-12-08 04:30:55 -08:00
Ranesh Saha
d8824fb130 Update emulator path to emulator directory instead of deprecated tool… (#3046)
Summary:
…s directory

Currently, flipper tries to launch emulators using  `<android sdk path>\tools\emulator.exe`. The use of this emulator path has been deprecated for a while now, and remains in the sdk for those on versions of Android Studio 2.2 and older (see https://issuetracker.google.com/issues/66886035?pli=1). The supported path is `<android sdk path>\emulator\emulator.exe`. Trying to use the deprecated path on Windows results in a failure to launch AVDs.

## Changelog

Point emulator path to emulator directory instead of deprecated tools directory.

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

Test Plan: Verified a failure to launch the AVD on windows using the deprecated path. Confirmed that updating the path results in a successful launch and the device showing up in flipper.

Reviewed By: passy

Differential Revision: D32489840

Pulled By: nikoant

fbshipit-source-id: dde5bf5a29e89549f160d9d71133ff70398e1c1d
2021-11-17 05:10:53 -08:00
Michel Weststrate
d88b28330a Move app/server to flipper-server-core
Summary: moved `app/src/server` to `flipper-server-core/src` and fixed any fallout from that (aka integration points I missed on the preparing diffs).

Reviewed By: passy

Differential Revision: D31541378

fbshipit-source-id: 8a7e0169ebefa515781f6e5e0f7b926415d4b7e9
2021-10-12 16:00:52 -07:00