From 0ee8f09fe5ef4778d0940e9aaecd4bb90b8e9e01 Mon Sep 17 00:00:00 2001 From: Mengke Ding Date: Mon, 9 May 2022 16:04:14 -0700 Subject: [PATCH] Back out "Automatically set Android devices into the permissive mode" Summary: Original commit changeset: 471470c5ca91 Original Phabricator Diff: D35356211 (https://github.com/facebook/flipper/commit/501abc6b559b85ee9a1f77f14e883d760d0b5300) 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 (https://github.com/facebook/flipper/commit/501abc6b559b85ee9a1f77f14e883d760d0b5300) 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 --- .../src/devices/android/AndroidDevice.tsx | 31 ------------------- .../devices/android/androidDeviceManager.tsx | 2 -- desktop/types/adbkit.d.ts | 1 - 3 files changed, 34 deletions(-) diff --git a/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx b/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx index 00d895a4a..81c3e1196 100644 --- a/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx +++ b/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx @@ -120,37 +120,6 @@ export default class AndroidDevice extends ServerDevice { }); } - async setIntoPermissiveMode(): Promise { - console.debug('AndroidDevice.setIntoPermissiveMode', this.serial); - try { - try { - await this.adb.root(this.serial); - } catch (e) { - if ( - !(e instanceof Error) || - e.message !== 'adbd is already running as root' - ) { - throw e; - } - } - console.debug( - 'AndroidDevice.setIntoPermissiveMode -> enabled root', - this.serial, - ); - await this.executeShellOrDie('setenforce 0'); - console.info( - 'AndroidDevice.setIntoPermissiveMode -> success', - this.serial, - ); - } catch (e) { - console.info( - 'AndroidDevice.setIntoPermissiveMode -> failed', - this.serial, - e, - ); - } - } - async screenRecordAvailable(): Promise { try { await this.executeShellOrDie( diff --git a/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx b/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx index 6e12f0455..dbd8e7359 100644 --- a/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx +++ b/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx @@ -90,8 +90,6 @@ export class AndroidDeviceManager { // The default way of capturing screenshots through adb does not seem to work // There is a way of getting a screenshot through KaiOS dev tools though if (androidLikeDevice instanceof AndroidDevice) { - await androidLikeDevice.setIntoPermissiveMode(); - const screenRecordAvailable = await androidLikeDevice.screenRecordAvailable(); androidLikeDevice.info.features.screenCaptureAvailable = diff --git a/desktop/types/adbkit.d.ts b/desktop/types/adbkit.d.ts index 42b0b1306..944064d29 100644 --- a/desktop/types/adbkit.d.ts +++ b/desktop/types/adbkit.d.ts @@ -57,7 +57,6 @@ declare module 'adbkit' { serial: string, command: string | string[], ) => Promise; - root: (serial: string) => Promise; screencap: (serial: string) => Promise; pull: (serial: string, path: string) => Promise; openLogcat: (