Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cffa6432 authored by Minhyeok Yun's avatar Minhyeok Yun
Browse files

Added condition guard on command 'adb shell screenrcord'.

 - record file is empty when users execute screenrecord while the display off.
 - added condition guard for preventing to start screenrecord when displayState.layerstack is invalid.

Test: run cmd 'adb shell screenrecord' while display is off
Bug: 264584094
Change-Id: Ie9f809d4fdb7599f5ca424f7ccdfaec42f9cda89
parent c472ff52
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -789,6 +789,13 @@ static status_t recordScreen(const char* fileName) {
        return NAME_NOT_FOUND;
    }

    DisplayMode displayMode;
    err = SurfaceComposerClient::getActiveDisplayMode(display, &displayMode);
    if (err != NO_ERROR) {
        fprintf(stderr, "ERROR: unable to get display config\n");
        return err;
    }

    ui::DisplayState displayState;
    err = SurfaceComposerClient::getDisplayState(display, &displayState);
    if (err != NO_ERROR) {
@@ -796,11 +803,9 @@ static status_t recordScreen(const char* fileName) {
        return err;
    }

    DisplayMode displayMode;
    err = SurfaceComposerClient::getActiveDisplayMode(display, &displayMode);
    if (err != NO_ERROR) {
        fprintf(stderr, "ERROR: unable to get display config\n");
        return err;
    if (displayState.layerStack == ui::INVALID_LAYER_STACK) {
        fprintf(stderr, "ERROR: INVALID_LAYER_STACK, please check your display state.\n");
        return INVALID_OPERATION;
    }

    const ui::Size& layerStackSpaceRect = displayState.layerStackSpaceRect;