diff --git a/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx b/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx index 508367913..92c20214f 100644 --- a/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx +++ b/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx @@ -167,6 +167,17 @@ export default class AndroidDevice } } + async screenShotAvailable(): Promise { + try { + await this.executeShellOrDie( + `[ ! -f /system/bin/screencap ] && echo "File does not exist"`, + ); + return true; + } catch (_e) { + return false; + } + } + async executeShell(command: string): Promise { return await this.adb .shell(this.serial, command) diff --git a/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx b/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx index 14789f4d9..1eefbe2f7 100644 --- a/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx +++ b/desktop/flipper-server-core/src/devices/android/androidDeviceManager.tsx @@ -100,12 +100,10 @@ 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) { - const screenRecordAvailable = - await androidLikeDevice.screenRecordAvailable(); androidLikeDevice.info.features.screenCaptureAvailable = - screenRecordAvailable; + await androidLikeDevice.screenRecordAvailable(); androidLikeDevice.info.features.screenshotAvailable = - screenRecordAvailable; + await androidLikeDevice.screenShotAvailable(); } resolve(androidLikeDevice);