From e9866e91a54e63ed0710cd677d1788772332dc78 Mon Sep 17 00:00:00 2001 From: zhangzezhong Date: Fri, 29 Aug 2025 14:53:08 +0800 Subject: [PATCH] upd onDestroy(): Promise | undefined Signed-off-by: zhangzezhong --- ...os.app.ability.ServiceExtensionAbility.ets | 24 ++++--------------- .../@ohos.app.ability.UIExtensionAbility.ets | 22 ++++------------- 2 files changed, 10 insertions(+), 36 deletions(-) diff --git a/frameworks/ets/ets/@ohos.app.ability.ServiceExtensionAbility.ets b/frameworks/ets/ets/@ohos.app.ability.ServiceExtensionAbility.ets index ae7157001b9..b9cba009044 100644 --- a/frameworks/ets/ets/@ohos.app.ability.ServiceExtensionAbility.ets +++ b/frameworks/ets/ets/@ohos.app.ability.ServiceExtensionAbility.ets @@ -57,22 +57,11 @@ export default class ServiceExtensionAbility { private native nativeOnDisconnectCallback(): void; private callOnDisconnect(want: Want): boolean { - const derivedClassType = AbilityUtils.getClassType(this); - if (derivedClassType === undefined) { - this.onDisconnect(want); - return false; - } - const serviceExtensionClassType = AbilityUtils.getClassType(new ServiceExtensionAbility()); - if (serviceExtensionClassType === undefined) { - this.onDisconnect(want); - return false; - } - const isOverride = AbilityUtils.isOverride(derivedClassType, "onDisconnectAsync", serviceExtensionClassType); - if (isOverride) { - this.onDisconnectAsync(want).then(() => this.nativeOnDisconnectCallback()); + let p = this.onDisconnect(want); + if (p instanceof Promise) { + p.then(() => this.nativeOnDisconnectCallback()); return true; } - this.onDisconnect(want); return false; } @@ -94,11 +83,8 @@ export default class ServiceExtensionAbility { return myService; } - onDisconnect(want: Want): void { - } - - onDisconnectAsync(want: Want): Promise { - return new Promise((resolve: (a: undefined) => void, reject: (err: Error) => void): void => {}); + onDisconnect(want: Want): Promise | undefined { + return undefined; } onConfigurationUpdate(newConfig: Configuration): void { diff --git a/frameworks/ets/ets/@ohos.app.ability.UIExtensionAbility.ets b/frameworks/ets/ets/@ohos.app.ability.UIExtensionAbility.ets index 1109ad62986..c50ef5780f9 100644 --- a/frameworks/ets/ets/@ohos.app.ability.UIExtensionAbility.ets +++ b/frameworks/ets/ets/@ohos.app.ability.UIExtensionAbility.ets @@ -25,21 +25,11 @@ export default class UIExtensionAbility extends ExtensionAbility { private destroyCallbackPoint: long; private native nativeOnDestroyCallback(): void; private callOnDestroy(): boolean { - const derivedClassType = AbilityUtils.getClassType(this); - if (derivedClassType === undefined) { - this.onDestroy(); - return false; - } - const uiExtensionAbilityClassType = AbilityUtils.getClassType(new UIExtensionAbility()); - if (uiExtensionAbilityClassType === undefined) { - this.onDestroy(); - return false; - } - if (AbilityUtils.isOverride(derivedClassType, "onDestroyAsync", uiExtensionAbilityClassType)) { - this.onDestroyAsync().then(() => this.nativeOnDestroyCallback()); + let p = this.onDestroy(); + if (p instanceof Promise) { + p.then(() => this.nativeOnDestroyCallback()); return true; } - this.onDestroy(); return false; } @@ -55,9 +45,7 @@ export default class UIExtensionAbility extends ExtensionAbility { onBackground(): void {} - onDestroy(): void {} - - onDestroyAsync(): Promise { - return new Promise((resolve: (a: undefined)=>void, reject: (err: Error)=>void): void => {}); + onDestroy(): Promise | undefined { + return undefined; } } -- Gitee