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

Unverified Commit 68cf0b76 authored by Simon Chan's avatar Simon Chan
Browse files

feat(scrcpy): add wrapper for server version 3.3.1

parent 51cdfbd1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ export class AdbScrcpyOptions3_3<TVideo extends boolean>
    ) {
        super(init);

        this.version = clientOptions?.version ?? "3.2";
        this.version = clientOptions?.version ?? "3.3";
        this.spawner = clientOptions?.spawner;
    }

+50 −0
Original line number Diff line number Diff line
import type { Adb, AdbNoneProtocolSpawner } from "@yume-chan/adb";
import type { ScrcpyDisplay, ScrcpyEncoder } from "@yume-chan/scrcpy";
import { ScrcpyOptions3_3_1 } from "@yume-chan/scrcpy";

import {
    createConnection,
    getDisplays,
    getEncoders,
} from "./2_1/impl/index.js";
import type { AdbScrcpyClientOptions } from "./client-options.js";
import type { AdbScrcpyConnection } from "./connection.js";
import type { AdbScrcpyOptions, AdbScrcpyOptionsGetEncoders } from "./types.js";

export class AdbScrcpyOptions3_3_1<TVideo extends boolean>
    extends ScrcpyOptions3_3_1<TVideo>
    implements
        AdbScrcpyOptions<ScrcpyOptions3_3_1.Init<TVideo>>,
        AdbScrcpyOptionsGetEncoders
{
    readonly version: string;

    readonly spawner: AdbNoneProtocolSpawner | undefined;

    constructor(
        init: ScrcpyOptions3_3_1.Init<TVideo>,
        clientOptions?: AdbScrcpyClientOptions,
    ) {
        super(init);

        this.version = clientOptions?.version ?? "3.3.1";
        this.spawner = clientOptions?.spawner;
    }

    getEncoders(adb: Adb, path: string): Promise<ScrcpyEncoder[]> {
        return getEncoders(adb, path, this);
    }

    getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
        return getDisplays(adb, path, this);
    }

    createConnection(adb: Adb): AdbScrcpyConnection {
        return createConnection(adb, this.value);
    }
}

export namespace AdbScrcpyOptions3_3_1 {
    export type Init<TVideo extends boolean = boolean> =
        ScrcpyOptions3_3_1.Init<TVideo>;
}
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ export * from "./3_0_2.js";
export * from "./3_1.js";
export * from "./3_2.js";
export * from "./3_3.js";
export * from "./3_3_1.js";
export * from "./client-options.js";
export * from "./client.js";
export * from "./connection.js";
+4 −4
Original line number Diff line number Diff line
import { AdbScrcpyOptions3_3 } from "./3_3.js";
import { AdbScrcpyOptions3_3_1 } from "./3_3_1.js";
import type { AdbScrcpyClientOptions } from "./client-options.js";

export class AdbScrcpyOptionsLatest<
    TVideo extends boolean,
> extends AdbScrcpyOptions3_3<TVideo> {
> extends AdbScrcpyOptions3_3_1<TVideo> {
    constructor(
        init: AdbScrcpyOptions3_3.Init<TVideo>,
        init: AdbScrcpyOptions3_3_1.Init<TVideo>,
        clientOptions?: AdbScrcpyClientOptions,
    ) {
        super(init, clientOptions);
@@ -14,5 +14,5 @@ export class AdbScrcpyOptionsLatest<

export namespace AdbScrcpyOptionsLatest {
    export type Init<TVideo extends boolean = boolean> =
        AdbScrcpyOptions3_3.Init<TVideo>;
        AdbScrcpyOptions3_3_1.Init<TVideo>;
}