From ba58468ccbf761934fcab59e393513d58e855623 Mon Sep 17 00:00:00 2001 From: zhangdezhou Date: Wed, 30 Apr 2025 17:01:16 +0800 Subject: [PATCH] add form's overflow animation feature support Signed-off-by: zhangdezhou --- .../include/extension_form_info.h | 2 + .../include/extension_form_profile.h | 7 ++ .../appexecfwk_base/include/form_info.h | 2 + .../appexecfwk_base/include/form_info_base.h | 12 ++ .../src/extension_form_profile.cpp | 84 +++++++++++++ .../appexecfwk_base/src/form_info.cpp | 115 +++++++++++++++++- .../bms_bundle_data_mgr_test.cpp | 10 ++ .../bms_bundle_kit_service_test.cpp | 22 ++++ .../bms_bundle_parser_test.cpp | 12 +- 9 files changed, 264 insertions(+), 2 deletions(-) diff --git a/interfaces/inner_api/appexecfwk_base/include/extension_form_info.h b/interfaces/inner_api/appexecfwk_base/include/extension_form_info.h index d9f0ee39e5..f88021df60 100644 --- a/interfaces/inner_api/appexecfwk_base/include/extension_form_info.h +++ b/interfaces/inner_api/appexecfwk_base/include/extension_form_info.h @@ -54,6 +54,8 @@ struct ExtensionFormInfo { std::vector metadata {}; std::vector supportShapes {}; std::vector previewImages {}; + FormFunInteractionParams funInteractionParams; + FormSceneAnimationParams sceneAnimationParams; }; } // namespace AppExecFwk } // namespace OHOS diff --git a/interfaces/inner_api/appexecfwk_base/include/extension_form_profile.h b/interfaces/inner_api/appexecfwk_base/include/extension_form_profile.h index d4f09d43e7..0472dcdcee 100644 --- a/interfaces/inner_api/appexecfwk_base/include/extension_form_profile.h +++ b/interfaces/inner_api/appexecfwk_base/include/extension_form_profile.h @@ -57,6 +57,13 @@ constexpr const char* PRIVACY_LEVEL = "privacyLevel"; constexpr const char* FONT_SCALE_FOLLOW_SYSTEM = "fontScaleFollowSystem"; constexpr const char* SUPPORT_SHAPES = "supportShapes"; constexpr const char* ENABLE_BLUR_BACKGROUND = "enableBlurBackground"; +constexpr const char* FUN_INTERACTION_PARAMS = "funInteractionParams"; +constexpr const char* SCENE_ANIMATION_PARAMS = "sceneAnimationParams"; +constexpr const char* ABILITY_NAME = "abilityName"; +constexpr const char* IS_ALWAYS_ACTIVE = "isAlwaysActive"; +constexpr const char* DISABLED_DESKTOP_BEHAVIORS = "disabledDesktopBehaviors"; +constexpr const char* TARGET_BUNDLE_NAME = "targetBundleName"; +constexpr const char* KEEP_STATE_DURATION = "keepStateDuration"; } class ExtensionFormProfile { diff --git a/interfaces/inner_api/appexecfwk_base/include/form_info.h b/interfaces/inner_api/appexecfwk_base/include/form_info.h index e0452e232e..828db3a17c 100644 --- a/interfaces/inner_api/appexecfwk_base/include/form_info.h +++ b/interfaces/inner_api/appexecfwk_base/include/form_info.h @@ -69,6 +69,8 @@ struct FormInfo : public Parcelable { std::vector conditionUpdate; std::vector supportShapes; std::vector formPreviewImages; + FormFunInteractionParams funInteractionParams; + FormSceneAnimationParams sceneAnimationParams; FormInfo() = default; explicit FormInfo(const ExtensionAbilityInfo &abilityInfo, const ExtensionFormInfo &formInfo); diff --git a/interfaces/inner_api/appexecfwk_base/include/form_info_base.h b/interfaces/inner_api/appexecfwk_base/include/form_info_base.h index f78290e4fd..dc17f3fc55 100644 --- a/interfaces/inner_api/appexecfwk_base/include/form_info_base.h +++ b/interfaces/inner_api/appexecfwk_base/include/form_info_base.h @@ -42,6 +42,18 @@ struct FormWindow { int32_t designWidth = 720; }; +struct FormFunInteractionParams { + std::string abilityName; + std::string targetBundleName; + int32_t keepStateDuration = 10000; +}; + +struct FormSceneAnimationParams { + std::string abilityName; + bool isAlwaysActive = false; + std::string disabledDesktopBehaviors; +}; + enum class FormType { JAVA = 0, JS = 1, diff --git a/interfaces/inner_api/appexecfwk_base/src/extension_form_profile.cpp b/interfaces/inner_api/appexecfwk_base/src/extension_form_profile.cpp index 1b4691df69..ecf6c143e9 100644 --- a/interfaces/inner_api/appexecfwk_base/src/extension_form_profile.cpp +++ b/interfaces/inner_api/appexecfwk_base/src/extension_form_profile.cpp @@ -127,6 +127,18 @@ struct Metadata { std::string value; }; +struct FormFunInteractionParams { + std::string abilityName; + std::string targetBundleName; + int32_t keepStateDuration = 10000; +}; + +struct FormSceneAnimationParams { + std::string abilityName; + bool isAlwaysActive = false; + std::string disabledDesktopBehaviors; +}; + struct ExtensionFormProfileInfo { std::string name; std::string displayName; @@ -155,6 +167,8 @@ struct ExtensionFormProfileInfo { std::vector conditionUpdate {}; std::vector metadata {}; std::vector previewImages {}; + FormFunInteractionParams funInteractionParams; + FormSceneAnimationParams sceneAnimationParams; }; struct ExtensionFormProfileInfoStruct { @@ -162,6 +176,54 @@ struct ExtensionFormProfileInfoStruct { std::vector forms {}; }; +void from_json(const nlohmann::json &jsonObject, FormFunInteractionParams &funInteractionParams) +{ + const auto &jsonObjectEnd = jsonObject.end(); + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::ABILITY_NAME, + funInteractionParams.abilityName, + false, + g_parseResult); + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::TARGET_BUNDLE_NAME, + funInteractionParams.targetBundleName, + false, + g_parseResult); + GetValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::KEEP_STATE_DURATION, + funInteractionParams.keepStateDuration, + JsonType::NUMBER, + false, + g_parseResult, + ArrayType::NOT_ARRAY); +} + +void from_json(const nlohmann::json &jsonObject, FormSceneAnimationParams &sceneAnimationParams) +{ + const auto &jsonObjectEnd = jsonObject.end(); + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::ABILITY_NAME, + sceneAnimationParams.abilityName, + false, + g_parseResult); + BMSJsonUtil::GetBoolValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::IS_ALWAYS_ACTIVE, + sceneAnimationParams.isAlwaysActive, + false, + g_parseResult); + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::DISABLED_DESKTOP_BEHAVIORS, + sceneAnimationParams.disabledDesktopBehaviors, + false, + g_parseResult); +} + void from_json(const nlohmann::json &jsonObject, Metadata &metadata) { const auto &jsonObjectEnd = jsonObject.end(); @@ -377,6 +439,22 @@ void from_json(const nlohmann::json &jsonObject, ExtensionFormProfileInfo &exten extensionFormProfileInfo.enableBlurBackground, false, g_parseResult); + GetValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::FUN_INTERACTION_PARAMS, + extensionFormProfileInfo.funInteractionParams, + JsonType::OBJECT, + false, + g_parseResult, + ArrayType::NOT_ARRAY); + GetValueIfFindKey(jsonObject, + jsonObjectEnd, + ExtensionFormProfileReader::SCENE_ANIMATION_PARAMS, + extensionFormProfileInfo.sceneAnimationParams, + JsonType::OBJECT, + false, + g_parseResult, + ArrayType::NOT_ARRAY); } void from_json(const nlohmann::json &jsonObject, ExtensionFormProfileInfoStruct &profileInfo) @@ -563,6 +641,12 @@ void TransformToFormInfoExt(const ExtensionFormProfileInfo &form, ExtensionFormI info.scheduledUpdateTime = form.scheduledUpdateTime; info.multiScheduledUpdateTime = form.multiScheduledUpdateTime; info.updateDuration = form.updateDuration; + info.funInteractionParams.abilityName = form.funInteractionParams.abilityName; + info.funInteractionParams.targetBundleName = form.funInteractionParams.targetBundleName; + info.funInteractionParams.keepStateDuration = form.funInteractionParams.keepStateDuration; + info.sceneAnimationParams.abilityName = form.sceneAnimationParams.abilityName; + info.sceneAnimationParams.isAlwaysActive = form.sceneAnimationParams.isAlwaysActive; + info.sceneAnimationParams.disabledDesktopBehaviors = form.sceneAnimationParams.disabledDesktopBehaviors; } bool TransformToExtensionFormInfo(const ExtensionFormProfileInfo &form, ExtensionFormInfo &info) diff --git a/interfaces/inner_api/appexecfwk_base/src/form_info.cpp b/interfaces/inner_api/appexecfwk_base/src/form_info.cpp index d3bb17c20e..66dfcae618 100644 --- a/interfaces/inner_api/appexecfwk_base/src/form_info.cpp +++ b/interfaces/inner_api/appexecfwk_base/src/form_info.cpp @@ -75,6 +75,13 @@ const char* JSON_KEY_BUNDLE_TYPE = "bundleType"; const char* JSON_KEY_PREVIEW_IMAGES = "previewImages"; const char* JSON_KEY_ENABLE_BLUR_BACKGROUND = "enableBlurBackground"; const char* JSON_KEY_APP_FORM_VISIBLE_NOTIFY = "appFormVisibleNotify"; +const char* JSON_KEY_FUN_INTERACTION_PARAMS = "funInteractionParams"; +const char* JSON_KEY_SCENE_ANIMATION_PARAMS = "sceneAnimationParams"; +const char* JSON_KEY_ABILITY_NAME = "abilityName"; +const char* JSON_KEY_IS_ALWAYS_ACTIVE = "isAlwaysActive"; +const char* JSON_KEY_DISABLED_DESKTOP_BEHAVIORS = "disabledDesktopBehaviors"; +const char* JSON_KEY_TARGET_BUNDLE_NAME = "targetBundleName"; +const char* JSON_KEY_KEEP_STATE_DURATION = "keepStateDuration"; } // namespace FormInfo::FormInfo(const ExtensionAbilityInfo &abilityInfo, const ExtensionFormInfo &formInfo) @@ -116,6 +123,12 @@ FormInfo::FormInfo(const ExtensionAbilityInfo &abilityInfo, const ExtensionFormI for (const auto &metadata : formInfo.metadata) { customizeDatas.push_back(metadata); } + funInteractionParams.abilityName = formInfo.funInteractionParams.abilityName; + funInteractionParams.targetBundleName = formInfo.funInteractionParams.targetBundleName; + funInteractionParams.keepStateDuration = formInfo.funInteractionParams.keepStateDuration; + sceneAnimationParams.abilityName = formInfo.sceneAnimationParams.abilityName; + sceneAnimationParams.isAlwaysActive = formInfo.sceneAnimationParams.isAlwaysActive; + sceneAnimationParams.disabledDesktopBehaviors = formInfo.sceneAnimationParams.disabledDesktopBehaviors; SetInfoByFormExt(formInfo); } @@ -264,6 +277,12 @@ bool FormInfo::ReadFromParcel(Parcel &parcel) } enableBlurBackground = parcel.ReadBool(); appFormVisibleNotify = parcel.ReadBool(); + funInteractionParams.abilityName = Str16ToStr8(parcel.ReadString16()); + funInteractionParams.targetBundleName = Str16ToStr8(parcel.ReadString16()); + funInteractionParams.keepStateDuration = parcel.ReadInt32(); + sceneAnimationParams.abilityName = Str16ToStr8(parcel.ReadString16()); + sceneAnimationParams.isAlwaysActive = parcel.ReadBool(); + sceneAnimationParams.disabledDesktopBehaviors = Str16ToStr8(parcel.ReadString16()); return true; } @@ -360,6 +379,12 @@ bool FormInfo::Marshalling(Parcel &parcel) const } WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, enableBlurBackground); WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, appFormVisibleNotify); + WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(String16, parcel, Str8ToStr16(funInteractionParams.abilityName)); + WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(String16, parcel, Str8ToStr16(funInteractionParams.targetBundleName)); + WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Int32, parcel, funInteractionParams.keepStateDuration); + WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(String16, parcel, Str8ToStr16(sceneAnimationParams.abilityName)); + WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(Bool, parcel, sceneAnimationParams.isAlwaysActive); + WRITE_PARCEL_AND_RETURN_FALSE_IF_FAIL(String16, parcel, Str8ToStr16(sceneAnimationParams.disabledDesktopBehaviors)); return true; } @@ -386,6 +411,20 @@ void to_json(nlohmann::json &jsonObject, const FormWindow &formWindow) jsonObject[JSON_KEY_AUTO_DESIGN_WIDTH] = formWindow.autoDesignWidth; } +void to_json(nlohmann::json &jsonObject, const FormFunInteractionParams &funInteractionParams) +{ + jsonObject[JSON_KEY_ABILITY_NAME] = funInteractionParams.abilityName, + jsonObject[JSON_KEY_TARGET_BUNDLE_NAME] = funInteractionParams.targetBundleName, + jsonObject[JSON_KEY_KEEP_STATE_DURATION] = funInteractionParams.keepStateDuration; +} + +void to_json(nlohmann::json &jsonObject, const FormSceneAnimationParams &sceneAnimationParams) +{ + jsonObject[JSON_KEY_ABILITY_NAME] = sceneAnimationParams.abilityName, + jsonObject[JSON_KEY_IS_ALWAYS_ACTIVE] = sceneAnimationParams.isAlwaysActive, + jsonObject[JSON_KEY_DISABLED_DESKTOP_BEHAVIORS] = sceneAnimationParams.disabledDesktopBehaviors; +} + void to_json(nlohmann::json &jsonObject, const FormInfo &formInfo) { jsonObject = nlohmann::json{ @@ -432,7 +471,9 @@ void to_json(nlohmann::json &jsonObject, const FormInfo &formInfo) {JSON_KEY_BUNDLE_TYPE, formInfo.bundleType}, {JSON_KEY_PREVIEW_IMAGES, formInfo.formPreviewImages}, {JSON_KEY_ENABLE_BLUR_BACKGROUND, formInfo.enableBlurBackground}, - {JSON_KEY_APP_FORM_VISIBLE_NOTIFY, formInfo.appFormVisibleNotify} + {JSON_KEY_APP_FORM_VISIBLE_NOTIFY, formInfo.appFormVisibleNotify}, + {JSON_KEY_FUN_INTERACTION_PARAMS, formInfo.funInteractionParams}, + {JSON_KEY_SCENE_ANIMATION_PARAMS, formInfo.sceneAnimationParams} }; } @@ -480,6 +521,62 @@ void from_json(const nlohmann::json &jsonObject, FormWindow &formWindow) } } +void from_json(const nlohmann::json &jsonObject, FormFunInteractionParams &funInteractionParams) +{ + const auto &jsonObjectEnd = jsonObject.end(); + int32_t parseResult = ERR_OK; + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_ABILITY_NAME, + funInteractionParams.abilityName, + false, + parseResult); + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_TARGET_BUNDLE_NAME, + funInteractionParams.targetBundleName, + false, + parseResult); + GetValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_KEEP_STATE_DURATION, + funInteractionParams.keepStateDuration, + JsonType::NUMBER, + false, + parseResult, + ArrayType::NOT_ARRAY); + if (parseResult != ERR_OK) { + APP_LOGE("read funInteractionParams jsonObject error: %{public}d", parseResult); + } +} + +void from_json(const nlohmann::json &jsonObject, FormSceneAnimationParams &sceneAnimationParams) +{ + const auto &jsonObjectEnd = jsonObject.end(); + int32_t parseResult = ERR_OK; + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_ABILITY_NAME, + sceneAnimationParams.abilityName, + false, + parseResult); + BMSJsonUtil::GetBoolValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_IS_ALWAYS_ACTIVE, + sceneAnimationParams.isAlwaysActive, + false, + parseResult); + BMSJsonUtil::GetStrValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_DISABLED_DESKTOP_BEHAVIORS, + sceneAnimationParams.disabledDesktopBehaviors, + false, + parseResult); + if (parseResult != ERR_OK) { + APP_LOGE("read sceneAnimationParams jsonObject error: %{public}d", parseResult); + } +} + void from_json(const nlohmann::json &jsonObject, FormInfo &formInfo) { int32_t parseResult = ERR_OK; @@ -786,6 +883,22 @@ void from_json(const nlohmann::json &jsonObject, FormInfo &formInfo) formInfo.appFormVisibleNotify, false, parseResult); + GetValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_FUN_INTERACTION_PARAMS, + formInfo.funInteractionParams, + JsonType::OBJECT, + false, + parseResult, + ArrayType::NOT_ARRAY); + GetValueIfFindKey(jsonObject, + jsonObjectEnd, + JSON_KEY_SCENE_ANIMATION_PARAMS, + formInfo.sceneAnimationParams, + JsonType::OBJECT, + false, + parseResult, + ArrayType::NOT_ARRAY); if (parseResult != ERR_OK) { APP_LOGE("read formInfo jsonObject error : %{public}d", parseResult); } diff --git a/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp index d0d97526a6..b7b469733f 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp @@ -134,6 +134,10 @@ const std::string FORM_LANDSCAPE_LAYOUTS1 = "land1"; const std::string FORM_LANDSCAPE_LAYOUTS2 = "land2"; const std::string FORM_SRC = "page/card/index"; constexpr int32_t FORM_JS_WINDOW_DESIGNWIDTH = 720; +const std::string FORM_ABILITY_NAME = "GameLoaderExtensionAbility"; +const std::string FORM_TARGET_BUNDLE_NAME = "Game"; +const std::string FORM_DISABLED_DESKTOP_BEHAVIORS = "PULL_DOWN_SEARCH|LONG_CLICK"; +constexpr int32_t FORM_KEEP_STATE_DURATION = 10000; const std::string SHORTCUT_TEST_ID = "shortcutTestId"; const std::string SHORTCUT_DEMO_ID = "shortcutDemoId"; const std::string SHORTCUT_HOST_ABILITY = "hostAbility"; @@ -732,6 +736,12 @@ FormInfo BmsBundleDataMgrTest::MockFormInfo( info.name = FORM_CUSTOMIZE_DATAS_NAME; info.value = FORM_CUSTOMIZE_DATAS_VALUE; } + formInfo.funInteractionParams.abilityName = FORM_ABILITY_NAME; + formInfo.funInteractionParams.targetBundleName = FORM_TARGET_BUNDLE_NAME; + formInfo.funInteractionParams.keepStateDuration = FORM_KEEP_STATE_DURATION; + formInfo.sceneAnimationParams.abilityName = FORM_ABILITY_NAME; + formInfo.sceneAnimationParams.isAlwaysActive = false; + formInfo.sceneAnimationParams.disabledDesktopBehaviors = FORM_DISABLED_DESKTOP_BEHAVIORS; return formInfo; } diff --git a/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_kit_service_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_kit_service_test.cpp index d06a9dc090..ac12ac3cd7 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_kit_service_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_kit_service_test.cpp @@ -175,6 +175,10 @@ const std::string FORM_LANDSCAPE_LAYOUTS1 = "land1"; const std::string FORM_LANDSCAPE_LAYOUTS2 = "land2"; const std::string FORM_SRC = "page/card/index"; constexpr int32_t FORM_JS_WINDOW_DESIGNWIDTH = 720; +const std::string FORM_ABILITY_NAME = "GameLoaderExtensionAbility"; +const std::string FORM_TARGET_BUNDLE_NAME = "Game"; +const std::string FORM_DISABLED_DESKTOP_BEHAVIORS = "PULL_DOWN_SEARCH|LONG_CLICK"; +constexpr int32_t FORM_KEEP_STATE_DURATION = 10000; const std::string SHORTCUT_TEST_ID = "shortcutTestId"; const std::string SHORTCUT_DEMO_ID = "shortcutDemoId"; const std::string SHORTCUT_HOST_ABILITY = "hostAbility"; @@ -881,6 +885,12 @@ FormInfo BmsBundleKitServiceTest::MockFormInfo( info.name = FORM_CUSTOMIZE_DATAS_NAME; info.value = FORM_CUSTOMIZE_DATAS_VALUE; } + formInfo.funInteractionParams.abilityName = FORM_ABILITY_NAME; + formInfo.funInteractionParams.targetBundleName = FORM_TARGET_BUNDLE_NAME; + formInfo.funInteractionParams.keepStateDuration = FORM_KEEP_STATE_DURATION; + formInfo.sceneAnimationParams.abilityName = FORM_ABILITY_NAME; + formInfo.sceneAnimationParams.isAlwaysActive = false; + formInfo.sceneAnimationParams.disabledDesktopBehaviors = FORM_DISABLED_DESKTOP_BEHAVIORS; return formInfo; } @@ -1420,6 +1430,12 @@ void BmsBundleKitServiceTest::CheckFormInfoTest(const std::vector &for EXPECT_EQ(formInfo.src, FORM_SRC); EXPECT_EQ(formInfo.window.designWidth, FORM_JS_WINDOW_DESIGNWIDTH); EXPECT_EQ(formInfo.window.autoDesignWidth, true); + EXPECT_EQ(formInfo.funInteractionParams.abilityName, FORM_ABILITY_NAME); + EXPECT_EQ(formInfo.funInteractionParams.targetBundleName, FORM_TARGET_BUNDLE_NAME); + EXPECT_EQ(formInfo.funInteractionParams.keepStateDuration, FORM_KEEP_STATE_DURATION); + EXPECT_EQ(formInfo.sceneAnimationParams.abilityName, FORM_ABILITY_NAME); + EXPECT_EQ(formInfo.sceneAnimationParams.isAlwaysActive, false); + EXPECT_EQ(formInfo.sceneAnimationParams.disabledDesktopBehaviors, FORM_DISABLED_DESKTOP_BEHAVIORS); } } @@ -1452,6 +1468,12 @@ void BmsBundleKitServiceTest::CheckFormInfoDemo(const std::vector &for EXPECT_EQ(info.name, FORM_CUSTOMIZE_DATAS_NAME); EXPECT_EQ(info.value, FORM_CUSTOMIZE_DATAS_VALUE); } + EXPECT_EQ(formInfo.funInteractionParams.abilityName, FORM_ABILITY_NAME); + EXPECT_EQ(formInfo.funInteractionParams.targetBundleName, FORM_TARGET_BUNDLE_NAME); + EXPECT_EQ(formInfo.funInteractionParams.keepStateDuration, FORM_KEEP_STATE_DURATION); + EXPECT_EQ(formInfo.sceneAnimationParams.abilityName, FORM_ABILITY_NAME); + EXPECT_EQ(formInfo.sceneAnimationParams.isAlwaysActive, false); + EXPECT_EQ(formInfo.sceneAnimationParams.disabledDesktopBehaviors, FORM_DISABLED_DESKTOP_BEHAVIORS); } } diff --git a/services/bundlemgr/test/unittest/bms_bundle_parser_test/bms_bundle_parser_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_parser_test/bms_bundle_parser_test.cpp index b3f4cc461a..9dc5cb9bd2 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_parser_test/bms_bundle_parser_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_parser_test/bms_bundle_parser_test.cpp @@ -157,7 +157,17 @@ const nlohmann::json CONFIG_JSON = R"( "value": "com.weather.testWidget" } ] - } + }, + "funInteractionParams": { + "abilityName": "GameLoaderExtensionAbility", + "targetBundleName": "Game", + "keepStateDuration": 10000 + }, + "sceneAnimationParams": { + "abilityName": "GameLoaderExtensionAbility", + "isAlwaysActive": false, + "disabledDesktopBehaviors": "PULL_DOWN_SEARCH|LONG_CLICK" + } } ], "skills": [ -- Gitee