Fix when print log string which contains special control characters in doric,cause native crash

This commit is contained in:
pengfei.zhou
2023-02-09 14:06:47 +08:00
committed by jingpeng
parent 54ecddf994
commit fc4628dde9
27 changed files with 895 additions and 1172 deletions

View File

@@ -1,6 +1,6 @@
import { Panel } from "../ui/panel";
import { ClassType } from "../util/types";
export type BridgeContext = {
export declare type BridgeContext = {
/**
* The identify of current context
*/

View File

@@ -23,9 +23,9 @@ export declare function jsObtainContext(id: string): Context | undefined;
export declare function jsReleaseContext(id: string): void;
export declare function __require__(name: string): any;
export declare function jsRegisterModule(name: string, moduleObject: any): void;
export declare function jsCallEntityMethod(contextId: string, methodName: string, args?: any): unknown;
export declare function pureCallEntityMethod(contextId: string, methodName: string, args?: any): unknown;
type ClassType<T> = new (...args: any) => T;
export declare function jsCallEntityMethod(contextId: string, methodName: string, args?: any): any;
export declare function pureCallEntityMethod(contextId: string, methodName: string, args?: any): any;
declare type ClassType<T> = new (...args: any) => T;
export declare function jsObtainEntry(contextId: string): () => ClassType<object> | ((constructor: ClassType<object>) => ClassType<object>);
export declare function jsCallbackTimer(timerId: number): void;
export declare function jsHookAfterNativeCall(): void;

View File

@@ -71,16 +71,6 @@ export function jsCallReject(contextId, callbackId, args) {
}
}
export class Context {
hookBeforeNativeCall() {
if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) {
Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []);
}
}
hookAfterNativeCall() {
if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) {
Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []);
}
}
constructor(id) {
this.callbacks = new Map;
this.classes = new Map;
@@ -115,6 +105,16 @@ export class Context {
}
});
}
hookBeforeNativeCall() {
if (this.entity && Reflect.has(this.entity, 'hookBeforeNativeCall')) {
Reflect.apply(Reflect.get(this.entity, 'hookBeforeNativeCall'), this.entity, []);
}
}
hookAfterNativeCall() {
if (this.entity && Reflect.has(this.entity, 'hookAfterNativeCall')) {
Reflect.apply(Reflect.get(this.entity, 'hookAfterNativeCall'), this.entity, []);
}
}
callNative(namespace, method, args) {
const callbackId = uniqueId('callback');
return new Promise((resolve, reject) => {