Loading libraries/android-bin/src/cmd.ts +7 −7 Original line number Diff line number Diff line Loading @@ -38,27 +38,27 @@ export class Cmd extends AdbCommandBase { command: string, ...args: string[] ) { let supportAbb: boolean; let supportCmd: boolean = this.supportsCmd; let supportsAbb: boolean; let supportsCmd: boolean = this.supportsCmd; let service: string; let Protocol: AdbSubprocessProtocolConstructor; if (shellProtocol) { supportAbb = this._supportsAbb; supportCmd &&= this.supportsShellV2; supportsAbb = this._supportsAbb; supportsCmd &&= this.supportsShellV2; service = "abb"; Protocol = AdbSubprocessShellProtocol; } else { supportAbb = this._supportsAbbExec; supportsAbb = this._supportsAbbExec; service = "abb_exec"; Protocol = AdbSubprocessNoneProtocol; } if (supportAbb) { if (supportsAbb) { const socket = await this.adb.createSocket( `${service}:${command}\0${args.join("\0")}\0` ); return new Protocol(socket); } else if (supportCmd) { } else if (supportsCmd) { return Protocol.raw(this.adb, `cmd ${command} ${args.join(" ")}`); } else { throw new Error("Not supported"); Loading libraries/android-bin/src/logcat.ts +19 −31 Original line number Diff line number Diff line Loading @@ -116,46 +116,34 @@ export interface AndroidLogEntry extends LoggerEntry { toString(format?: LogcatFormat, modifiers?: LogcatFormatModifiers): string; } function padZero(number: number, length: number) { return number.toString().padStart(length, "0"); } function formatSeconds(seconds: number, modifiers: LogcatFormatModifiers) { if (modifiers.monotonic) { return seconds.toString().padStart(6); return padZero(seconds, 6); } if (modifiers.epoch) { return seconds.toString().padStart(19); return padZero(seconds, 19); } const date = new Date(seconds * 1000); const month = padZero(date.getMonth() + 1, 2); const day = padZero(date.getDate(), 2); const hour = padZero(date.getHours(), 2); const minute = padZero(date.getMinutes(), 2); const second = padZero(date.getSeconds(), 2); const result = `${month}-${day} ${hour}:${minute}:${second}`; if (modifiers.year) { // prettier-ignore return `${ date.getFullYear().toString().padStart(4, "0") }-${ (date.getMonth() + 1).toString().padStart(2, "0") }-${ date.getDate().toString().padStart(2, "0") } ${ date.getHours().toString().padStart(2, "0") }:${ date.getMinutes().toString().padStart(2, "0") }:${ date.getSeconds().toString().padStart(2, "0") }`; const year = padZero(date.getFullYear(), 4); return `${year}-${result}`; } // prettier-ignore return `${ (date.getMonth() + 1).toString().padStart(2, "0") }-${ date.getDate().toString().padStart(2, "0") } ${ date.getHours().toString().padStart(2, "0") }:${ date.getMinutes().toString().padStart(2, "0") }:${ date.getSeconds().toString().padStart(2, "0") }`; return result; } function formatNanoseconds( Loading @@ -163,14 +151,14 @@ function formatNanoseconds( modifiers: LogcatFormatModifiers ) { if (modifiers.nanoseconds) { return nanoseconds.toString().padStart(9, "0"); return padZero(nanoseconds, 9); } if (modifiers.microseconds) { return ((nanoseconds / 1000) | 0).toString().padStart(6, "0"); return padZero(nanoseconds / 1000, 6); } return ((nanoseconds / 1000000) | 0).toString().padStart(3, "0"); return padZero(nanoseconds / 1000000, 3); } function formatTimezone(seconds: number, modifiers: LogcatFormatModifiers) { Loading libraries/android-bin/src/settings.ts +13 −14 Original line number Diff line number Diff line Loading @@ -39,14 +39,14 @@ export class Settings extends AdbCommandBase { tag?: string, makeDefault?: boolean ) { return this.base( "put", namespace, key, value, ...(tag ? [tag] : []), ...(makeDefault ? ["default"] : []) ); const args = [key, value]; if (tag) { args.push(tag); } if (makeDefault) { args.push("default"); } return this.base("put", namespace, ...args); } public reset( Loading @@ -63,12 +63,11 @@ export class Settings extends AdbCommandBase { modeOrPackageName: string, tag?: string ): Promise<string> { return this.base( "reset", namespace, modeOrPackageName, ...(tag ? [tag] : []) ); const args = [modeOrPackageName]; if (tag) { args.push(tag); } return this.base("reset", namespace, ...args); } public async list(namespace: SettingsNamespace): Promise<string[]> { Loading libraries/b-tree/src/index.ts +16 −16 Original line number Diff line number Diff line Loading @@ -142,13 +142,16 @@ export class BTreeNode { public has(value: number): boolean { let index = this.search(value); if (index >= 0) { return true; } if (this.height > 0) { index = ~index; return this.children[index]!.has(value); } return false; } Loading Loading @@ -192,16 +195,18 @@ export class BTreeNode { return true; } if (this.height > 0) { if (this.height === 0) { return false; } index = ~index; const deleted = this.children[index]!.delete(value); if (deleted) { this.balance(index); } return deleted; } return false; return deleted; } public max(): number { Loading Loading @@ -340,17 +345,12 @@ export class BTree { public constructor(order: number) { this._order = order; this._root = new BTreeNode( order, new Int32Array(order - 1), 0, 0, new Array<BTreeNode>(order) ); const keys = new Int32Array(order - 1); const children = new Array<BTreeNode>(order); this._root = new BTreeNode(order, keys, 0, 0, children); } public has(value: number) { // TODO(btree): benchmark this non-recursive version let node = this._root; while (true) { const index = node.search(value); Loading Loading
libraries/android-bin/src/cmd.ts +7 −7 Original line number Diff line number Diff line Loading @@ -38,27 +38,27 @@ export class Cmd extends AdbCommandBase { command: string, ...args: string[] ) { let supportAbb: boolean; let supportCmd: boolean = this.supportsCmd; let supportsAbb: boolean; let supportsCmd: boolean = this.supportsCmd; let service: string; let Protocol: AdbSubprocessProtocolConstructor; if (shellProtocol) { supportAbb = this._supportsAbb; supportCmd &&= this.supportsShellV2; supportsAbb = this._supportsAbb; supportsCmd &&= this.supportsShellV2; service = "abb"; Protocol = AdbSubprocessShellProtocol; } else { supportAbb = this._supportsAbbExec; supportsAbb = this._supportsAbbExec; service = "abb_exec"; Protocol = AdbSubprocessNoneProtocol; } if (supportAbb) { if (supportsAbb) { const socket = await this.adb.createSocket( `${service}:${command}\0${args.join("\0")}\0` ); return new Protocol(socket); } else if (supportCmd) { } else if (supportsCmd) { return Protocol.raw(this.adb, `cmd ${command} ${args.join(" ")}`); } else { throw new Error("Not supported"); Loading
libraries/android-bin/src/logcat.ts +19 −31 Original line number Diff line number Diff line Loading @@ -116,46 +116,34 @@ export interface AndroidLogEntry extends LoggerEntry { toString(format?: LogcatFormat, modifiers?: LogcatFormatModifiers): string; } function padZero(number: number, length: number) { return number.toString().padStart(length, "0"); } function formatSeconds(seconds: number, modifiers: LogcatFormatModifiers) { if (modifiers.monotonic) { return seconds.toString().padStart(6); return padZero(seconds, 6); } if (modifiers.epoch) { return seconds.toString().padStart(19); return padZero(seconds, 19); } const date = new Date(seconds * 1000); const month = padZero(date.getMonth() + 1, 2); const day = padZero(date.getDate(), 2); const hour = padZero(date.getHours(), 2); const minute = padZero(date.getMinutes(), 2); const second = padZero(date.getSeconds(), 2); const result = `${month}-${day} ${hour}:${minute}:${second}`; if (modifiers.year) { // prettier-ignore return `${ date.getFullYear().toString().padStart(4, "0") }-${ (date.getMonth() + 1).toString().padStart(2, "0") }-${ date.getDate().toString().padStart(2, "0") } ${ date.getHours().toString().padStart(2, "0") }:${ date.getMinutes().toString().padStart(2, "0") }:${ date.getSeconds().toString().padStart(2, "0") }`; const year = padZero(date.getFullYear(), 4); return `${year}-${result}`; } // prettier-ignore return `${ (date.getMonth() + 1).toString().padStart(2, "0") }-${ date.getDate().toString().padStart(2, "0") } ${ date.getHours().toString().padStart(2, "0") }:${ date.getMinutes().toString().padStart(2, "0") }:${ date.getSeconds().toString().padStart(2, "0") }`; return result; } function formatNanoseconds( Loading @@ -163,14 +151,14 @@ function formatNanoseconds( modifiers: LogcatFormatModifiers ) { if (modifiers.nanoseconds) { return nanoseconds.toString().padStart(9, "0"); return padZero(nanoseconds, 9); } if (modifiers.microseconds) { return ((nanoseconds / 1000) | 0).toString().padStart(6, "0"); return padZero(nanoseconds / 1000, 6); } return ((nanoseconds / 1000000) | 0).toString().padStart(3, "0"); return padZero(nanoseconds / 1000000, 3); } function formatTimezone(seconds: number, modifiers: LogcatFormatModifiers) { Loading
libraries/android-bin/src/settings.ts +13 −14 Original line number Diff line number Diff line Loading @@ -39,14 +39,14 @@ export class Settings extends AdbCommandBase { tag?: string, makeDefault?: boolean ) { return this.base( "put", namespace, key, value, ...(tag ? [tag] : []), ...(makeDefault ? ["default"] : []) ); const args = [key, value]; if (tag) { args.push(tag); } if (makeDefault) { args.push("default"); } return this.base("put", namespace, ...args); } public reset( Loading @@ -63,12 +63,11 @@ export class Settings extends AdbCommandBase { modeOrPackageName: string, tag?: string ): Promise<string> { return this.base( "reset", namespace, modeOrPackageName, ...(tag ? [tag] : []) ); const args = [modeOrPackageName]; if (tag) { args.push(tag); } return this.base("reset", namespace, ...args); } public async list(namespace: SettingsNamespace): Promise<string[]> { Loading
libraries/b-tree/src/index.ts +16 −16 Original line number Diff line number Diff line Loading @@ -142,13 +142,16 @@ export class BTreeNode { public has(value: number): boolean { let index = this.search(value); if (index >= 0) { return true; } if (this.height > 0) { index = ~index; return this.children[index]!.has(value); } return false; } Loading Loading @@ -192,16 +195,18 @@ export class BTreeNode { return true; } if (this.height > 0) { if (this.height === 0) { return false; } index = ~index; const deleted = this.children[index]!.delete(value); if (deleted) { this.balance(index); } return deleted; } return false; return deleted; } public max(): number { Loading Loading @@ -340,17 +345,12 @@ export class BTree { public constructor(order: number) { this._order = order; this._root = new BTreeNode( order, new Int32Array(order - 1), 0, 0, new Array<BTreeNode>(order) ); const keys = new Int32Array(order - 1); const children = new Array<BTreeNode>(order); this._root = new BTreeNode(order, keys, 0, 0, children); } public has(value: number) { // TODO(btree): benchmark this non-recursive version let node = this._root; while (true) { const index = node.search(value); Loading