NativePigeonRegistrar.ets
1.65 KB
import { HealthKitHostApi } from '../pigeon/HealthKitApi';
import { WearEngineHostApi } from '../pigeon/WearEngineApi';
import { AlipayHostApi } from '../pigeon/AlipayApi';
import { BinaryMessenger } from '@ohos/flutter_ohos/src/main/ets/plugin/common/BinaryMessenger';
import { AlipayHostApiImpl } from './AlipayHostApiImpl';
import { HealthKitHostApiImpl } from './HealthKitHostApiImpl';
import { WearEngineHostApiImpl } from './WearEngineHostApiImpl';
import { PlatformHostApi } from '../pigeon/PlatformApi';
import { PlatformHostApiImpl } from './PlatformHostApiImpl';
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
/** Registers all Pigeon host-API implementations with the Flutter binary messenger. */
export class NativePigeonRegistrar {
private static platformHostApi?: PlatformHostApiImpl;
static register(binaryMessenger: BinaryMessenger, context: common.UIAbilityContext): void {
HealthKitHostApi.setup(binaryMessenger, new HealthKitHostApiImpl(context));
WearEngineHostApi.setup(binaryMessenger, new WearEngineHostApiImpl());
AlipayHostApi.setup(binaryMessenger, new AlipayHostApiImpl());
NativePigeonRegistrar.platformHostApi = new PlatformHostApiImpl(context);
PlatformHostApi.setup(binaryMessenger, NativePigeonRegistrar.platformHostApi);
}
static handleWant(want: Want): void {
NativePigeonRegistrar.platformHostApi?.handleWant(want);
}
static clearUnhandedUrl(url: string): void {
NativePigeonRegistrar.platformHostApi?.clearUnhandedUrl(url);
}
static setAppForeground(isForeground: boolean): void {
NativePigeonRegistrar.platformHostApi?.setAppForeground(isForeground);
}
}