From 8cdafcaddd4e8f7560419407c4d8618953ab09b9 Mon Sep 17 00:00:00 2001 From: zhangzezhong Date: Tue, 5 Aug 2025 14:10:52 +0800 Subject: [PATCH] upd onDestroy(): Promise | undefined Signed-off-by: zhangzezhong --- ...os.app.ability.ServiceExtensionAbility.ets | 24 ++++--------------- .../ets/ets/@ohos.app.ability.UIAbility.ets | 24 ++++--------------- .../@ohos.app.ability.UIExtensionAbility.ets | 22 ++++------------- 3 files changed, 15 insertions(+), 55 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.UIAbility.ets b/frameworks/ets/ets/@ohos.app.ability.UIAbility.ets index 47fc8783a8b..3c3f1f5fe25 100644 --- a/frameworks/ets/ets/@ohos.app.ability.UIAbility.ets +++ b/frameworks/ets/ets/@ohos.app.ability.UIAbility.ets @@ -46,21 +46,11 @@ export default class UIAbility extends Ability { private native nativeOnDestroyCallback(): void; private callOnDestroy(): boolean { - const derivedClassType = AbilityUtils.getClassType(this); - if (derivedClassType === undefined) { - this.onDestroy(); - return false; - } - const uiAbilityClassType = AbilityUtils.getClassType(new UIAbility()); - if (uiAbilityClassType === undefined) { - this.onDestroy(); - return false; - } - if (AbilityUtils.isOverride(derivedClassType, "onDestroyAsync", uiAbilityClassType)) { - this.onDestroyAsync().then(() => this.nativeOnDestroyCallback()); + let p = this.onDestroy(); + if (p instanceof Promise) { + p.then(() => this.nativeOnDestroyCallback()); return true; } - this.onDestroy(); return false; } @@ -84,12 +74,8 @@ export default class UIAbility extends Ability { onWindowStageRestore(windowStage: window.WindowStage): void { } - onDestroy(): void { - } - - onDestroyAsync(): Promise { - return new Promise((resolve: (a: undefined) => void, reject: (err: Error) => void): void => { - }); + onDestroy(): Promise | undefined { + return undefined; } onForeground(): 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