From b501d9115953cc62f71f2a7b1b4a5986d51452a1 Mon Sep 17 00:00:00 2001 From: laoyitong Date: Tue, 11 Jan 2022 23:33:46 +0800 Subject: [PATCH] fixed cbb3bfc from https://gitee.com/raulnaruto/aafwk_standard/pulls/314 laoyitong@huawei.com Signed-off-by: laoyitong Change-Id: If4129e8cc3fdb18dca6081cca19e8afd35dd58cd --- .../include/mock_ability_manager_service.h | 8 +++ .../mock/AMS/mock_ability_manager_service.h | 8 +++ .../AMS/mock_serviceability_manager_service.h | 8 +++ .../include/ability_manager_client.h | 17 +++++ .../include/ability_manager_interface.h | 11 +++ .../include/mission_snapshot.h | 6 +- .../ability_manager/include/snapshot.h | 68 +++++++++++++++++++ .../kits/napi/aafwk/mission_manager/BUILD.gn | 1 + .../aafwk/mission_manager/mission_manager.cpp | 38 ++++++++++- .../include/ability_manager_proxy.h | 4 ++ .../include/ability_manager_service.h | 6 ++ .../abilitymgr/include/ability_manager_stub.h | 2 + .../abilitymgr/src/ability_manager_client.cpp | 15 ++++ .../abilitymgr/src/ability_manager_proxy.cpp | 52 ++++++++++++++ .../src/ability_manager_service.cpp | 19 ++++++ .../abilitymgr/src/ability_manager_stub.cpp | 27 ++++++++ services/abilitymgr/src/mission_snapshot.cpp | 40 +++++++++++ .../ability_manager_stub_mock.h | 8 +++ .../ability_manager_stub_impl_mock.h | 8 +++ .../ability_manager_stub_mock.h | 8 +++ .../mock/include/mock_ability_mgr_service.h | 8 +++ tools/test/mock/mock_ability_manager_stub.h | 8 +++ 22 files changed, 368 insertions(+), 2 deletions(-) create mode 100644 interfaces/innerkits/ability_manager/include/snapshot.h diff --git a/frameworks/kits/ability/native/test/mock/include/mock_ability_manager_service.h b/frameworks/kits/ability/native/test/mock/include/mock_ability_manager_service.h index 572bf7c4d0f..fd36397f624 100755 --- a/frameworks/kits/ability/native/test/mock/include/mock_ability_manager_service.h +++ b/frameworks/kits/ability/native/test/mock/include/mock_ability_manager_service.h @@ -219,6 +219,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } enum RequestCode { E_STATE_INITIAL = 0, diff --git a/frameworks/kits/test/mock/AMS/mock_ability_manager_service.h b/frameworks/kits/test/mock/AMS/mock_ability_manager_service.h index 2c172379b52..6e2af77dfd3 100644 --- a/frameworks/kits/test/mock/AMS/mock_ability_manager_service.h +++ b/frameworks/kits/test/mock/AMS/mock_ability_manager_service.h @@ -186,6 +186,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } AbilityLifeCycleState curstate_ = AbilityLifeCycleState::ABILITY_STATE_INITIAL; sptr abilityScheduler_; // kit interface used to schedule ability life diff --git a/frameworks/kits/test/mock/AMS/mock_serviceability_manager_service.h b/frameworks/kits/test/mock/AMS/mock_serviceability_manager_service.h index c27d94e0e0c..90a6d7f0fbd 100755 --- a/frameworks/kits/test/mock/AMS/mock_serviceability_manager_service.h +++ b/frameworks/kits/test/mock/AMS/mock_serviceability_manager_service.h @@ -202,6 +202,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } sptr abilityScheduler_ = nullptr; // kit interface used to schedule ability life Want want_; diff --git a/interfaces/innerkits/ability_manager/include/ability_manager_client.h b/interfaces/innerkits/ability_manager/include/ability_manager_client.h index 57887f13dc8..f4271493446 100644 --- a/interfaces/innerkits/ability_manager/include/ability_manager_client.h +++ b/interfaces/innerkits/ability_manager/include/ability_manager_client.h @@ -22,6 +22,7 @@ #include "ability_manager_errors.h" #include "ability_scheduler_interface.h" #include "ability_manager_interface.h" +#include "snapshot.h" #include "want.h" #include "iremote_object.h" @@ -568,6 +569,15 @@ public: */ ErrCode GetMissionInfo(const std::string& deviceId, int32_t missionId, MissionInfo &missionInfo); + /** + * @brief Get the Mission Snapshot Info object + * @param deviceId local or remote deviceid. + * @param missionId Id of target mission. + * @param snapshot snapshot of target mission + * @return Returns ERR_OK on success, others on failure. + */ + ErrCode GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot); + /** * @brief Clean mission by id. * @param missionId Id of target mission. @@ -623,6 +633,13 @@ public: * @return Returns ERR_OK on success, others on failure. */ ErrCode StopUser(int accountId, const sptr &callback); + + /** + * @brief Register the snapshot handler + * @param handler snapshot handler + * @return ErrCode Returns ERR_OK on success, others on failure. + */ + ErrCode RegisterSnapshotHandler(const sptr& handler); private: static std::mutex mutex_; static std::shared_ptr instance_; diff --git a/interfaces/innerkits/ability_manager/include/ability_manager_interface.h b/interfaces/innerkits/ability_manager/include/ability_manager_interface.h index 31bf7e3d1cd..4357ee24a3c 100755 --- a/interfaces/innerkits/ability_manager/include/ability_manager_interface.h +++ b/interfaces/innerkits/ability_manager/include/ability_manager_interface.h @@ -40,6 +40,7 @@ #include "system_memory_attr.h" #include "mission_listener_interface.h" #include "mission_info.h" +#include "snapshot.h" #include "start_options.h" #include "stop_user_callback.h" #include "remote_mission_listener_interface.h" @@ -531,6 +532,8 @@ public: virtual int GetMissionInfo(const std::string& deviceId, int32_t missionId, MissionInfo &missionInfo) = 0; + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) = 0; + virtual int CleanMission(int32_t missionId) = 0; virtual int CleanAllMissions() = 0; @@ -563,6 +566,13 @@ public: virtual int UnRegisterMissionListener(const std::string &deviceId, const sptr &listener) = 0; + /** + * @brief Register the snapshot handler + * @param handler snapshot handler + * @return int Returns ERR_OK on success, others on failure. + */ + virtual int RegisterSnapshotHandler(const sptr& handler) = 0; + enum { // ipc id 1-1000 for kit // ipc id for terminating ability (1) @@ -783,6 +793,7 @@ public: UNREGISTER_REMOTE_MISSION_LISTENER = 1111, START_SYNC_MISSIONS = 1112, STOP_SYNC_MISSIONS = 1113, + REGISTER_SNAPSHOT_HANDLER = 1114, // ipc id 2001-3000 for tools // ipc id for dumping state (2001) diff --git a/interfaces/innerkits/ability_manager/include/mission_snapshot.h b/interfaces/innerkits/ability_manager/include/mission_snapshot.h index ed1b0dd209a..ca1fdcbdf7a 100644 --- a/interfaces/innerkits/ability_manager/include/mission_snapshot.h +++ b/interfaces/innerkits/ability_manager/include/mission_snapshot.h @@ -37,9 +37,13 @@ struct MissionPixelMap : public Parcelable { static MissionPixelMap *Unmarshalling(Parcel &parcel); }; -struct MissionSnapshot { +struct MissionSnapshot : public Parcelable { AppExecFwk::ElementName topAbility; std::shared_ptr snapshot; + + bool ReadFromParcel(Parcel &parcel); + virtual bool Marshalling(Parcel &parcel) const override; + static MissionSnapshot *Unmarshalling(Parcel &parcel); }; } // namespace AAFwk diff --git a/interfaces/innerkits/ability_manager/include/snapshot.h b/interfaces/innerkits/ability_manager/include/snapshot.h new file mode 100644 index 00000000000..9236a4e8cb2 --- /dev/null +++ b/interfaces/innerkits/ability_manager/include/snapshot.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef OHOS_AAFWK_SNAPSHOT_H +#define OHOS_AAFWK_SNAPSHOT_H + +#include + +namespace OHOS { +namespace Media { +class PixelMap; +} +namespace AAFwk { +/** + * @class Snapshot + * Snapshot info + */ +class Snapshot { +public: + Snapshot() = default; + ~Snapshot() = default; + const std::shared_ptr& GetPixelMap() const + { + return pixelMap_; + } + void SetPixelMap(const std::shared_ptr& pixelMap) + { + pixelMap_ = pixelMap; + } +private: + std::shared_ptr pixelMap_ = nullptr; +}; + +/** + * @class ISnapshotHandler + * Snapshot handler, use to get snapshot + */ +class ISnapshotHandler : public OHOS::IRemoteBroker { +public: + DECLARE_INTERFACE_DESCRIPTOR(u"ohos.aafwk.SnapshotHandler"); + + enum { + TRANS_ID_GET_SNAPSHOT + }; + + /** + * @brief Get the Snapshot object + * @param token remote object token + * @param snapshot the application snapshot + * @return int32_t function result + */ + virtual int32_t GetSnapshot(const sptr& token, Snapshot& snapshot) = 0; +}; +} // namespace AAFwk +} // namespace OHOS +#endif // OHOS_AAFWK_SNAPSHOT_H \ No newline at end of file diff --git a/interfaces/kits/napi/aafwk/mission_manager/BUILD.gn b/interfaces/kits/napi/aafwk/mission_manager/BUILD.gn index 000028cc9b2..f0acd3349d4 100644 --- a/interfaces/kits/napi/aafwk/mission_manager/BUILD.gn +++ b/interfaces/kits/napi/aafwk/mission_manager/BUILD.gn @@ -46,6 +46,7 @@ ohos_shared_library("missionmanager_napi") { "appexecfwk_standard:appexecfwk_base", "hiviewdfx_hilog_native:libhilog", "ipc:ipc_core", + "multimedia_image_standard:image", ] relative_install_dir = "module/application" diff --git a/interfaces/kits/napi/aafwk/mission_manager/mission_manager.cpp b/interfaces/kits/napi/aafwk/mission_manager/mission_manager.cpp index 1deb73c862f..3f9a59de06d 100644 --- a/interfaces/kits/napi/aafwk/mission_manager/mission_manager.cpp +++ b/interfaces/kits/napi/aafwk/mission_manager/mission_manager.cpp @@ -23,6 +23,7 @@ #include "js_mission_listener.h" #include "js_runtime_utils.h" #include "mission_snapshot.h" +#include "pixel_map_napi.h" #include @@ -30,6 +31,10 @@ namespace OHOS { namespace AbilityRuntime { using namespace OHOS::AppExecFwk; using AbilityManagerClient = AAFwk::AbilityManagerClient; +namespace { + constexpr int32_t ARG_COUNT_TWO = 1; + constexpr int32_t ARG_COUNT_THREE = 1; +} class JsMissionManager { public: JsMissionManager() = default; @@ -241,7 +246,38 @@ private: NativeValue* OnGetMissionSnapShot(NativeEngine &engine, NativeCallbackInfo &info) { HILOG_INFO("%{public}s is called", __FUNCTION__); - return nullptr; + if (info.argc != ARG_COUNT_TWO && info.argc != ARG_COUNT_THREE) { + HILOG_ERROR("missionSnapshot: need two or three params"); + return engine.CreateUndefined(); + } + std::string deviceId; + if (!ConvertFromJsValue(engine, info.argv[0], deviceId)) { + HILOG_ERROR("missionSnapshot: Parse deviceId failed"); + return engine.CreateUndefined(); + } + int32_t missionId = -1; + if (!ConvertFromJsValue(engine, info.argv[0], missionId)) { + HILOG_ERROR("missionSnapshot: Parse missionId failed"); + return engine.CreateUndefined(); + } + AsyncTask::CompleteCallback complete = + [deviceId, missionId](NativeEngine &engine, AsyncTask &task, int32_t status) { + AAFwk::MissionSnapshot missionSnapshot; + auto errcode = AbilityManagerClient::GetInstance()->GetMissionSnapshot( + deviceId, missionId, missionSnapshot); + if (errcode == 0) { + auto nativeValue = reinterpret_cast(Media::PixelMapNapi::CreatePixelMap( + reinterpret_cast(&engine), missionSnapshot.snapshot)); + task.Resolve(engine, nativeValue); + } else { + task.Reject(engine, CreateJsError(engine, errcode, "Get mission snapshot failed.")); + } + }; + NativeValue* lastParam = (info.argc == ARG_COUNT_TWO) ? nullptr : info.argv[2]; + NativeValue* result = nullptr; + AsyncTask::Schedule( + engine, CreateAsyncTaskWithLastParam(engine, lastParam, nullptr, std::move(complete), &result)); + return result; } NativeValue* OnLockMission(NativeEngine &engine, NativeCallbackInfo &info) diff --git a/services/abilitymgr/include/ability_manager_proxy.h b/services/abilitymgr/include/ability_manager_proxy.h index 849cd60fd05..ed35e559fbf 100755 --- a/services/abilitymgr/include/ability_manager_proxy.h +++ b/services/abilitymgr/include/ability_manager_proxy.h @@ -531,6 +531,10 @@ public: virtual int UnRegisterMissionListener(const std::string &deviceId, const sptr &listener) override; + virtual int RegisterSnapshotHandler(const sptr& handler) override; + + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) override; + private: template int GetParcelableInfos(MessageParcel &reply, std::vector &parcelableInfos); diff --git a/services/abilitymgr/include/ability_manager_service.h b/services/abilitymgr/include/ability_manager_service.h index 04fd7a110a0..bf5bee2b625 100644 --- a/services/abilitymgr/include/ability_manager_service.h +++ b/services/abilitymgr/include/ability_manager_service.h @@ -707,6 +707,11 @@ public: virtual int StopUser(int userId, const sptr &callback) override; + virtual int RegisterSnapshotHandler(const sptr& handler) override; + + virtual int32_t GetMissionSnapshot(const std::string& deviceId, int32_t missionId, + MissionSnapshot& snapshot) override; + // MSG 0 - 20 represents timeout message static constexpr uint32_t LOAD_TIMEOUT_MSG = 0; static constexpr uint32_t ACTIVE_TIMEOUT_MSG = 1; @@ -890,6 +895,7 @@ private: std::unordered_map> missionListManagers_; std::shared_ptr currentMissionListManager_; std::shared_ptr kernalAbilityManager_; + sptr snapshotHandler_; }; } // namespace AAFwk diff --git a/services/abilitymgr/include/ability_manager_stub.h b/services/abilitymgr/include/ability_manager_stub.h index 3609c0e65b2..21aa80c8c3d 100755 --- a/services/abilitymgr/include/ability_manager_stub.h +++ b/services/abilitymgr/include/ability_manager_stub.h @@ -128,6 +128,8 @@ private: int StartSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply); int StopSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply); + int RegisterSnapshotHandlerInner(MessageParcel &data, MessageParcel &reply); + int GetMissionSnapshotInfoInner(MessageParcel &data, MessageParcel &reply); using RequestFuncType = int (AbilityManagerStub::*)(MessageParcel &data, MessageParcel &reply); std::map requestFuncMap_; diff --git a/services/abilitymgr/src/ability_manager_client.cpp b/services/abilitymgr/src/ability_manager_client.cpp index 8c336f67077..c54f280f0db 100644 --- a/services/abilitymgr/src/ability_manager_client.cpp +++ b/services/abilitymgr/src/ability_manager_client.cpp @@ -794,5 +794,20 @@ ErrCode AbilityManagerClient::StopUser(int accountId, const sptr abms = iface_cast(remoteObject_); return abms->StopUser(accountId, callback); } + +ErrCode AbilityManagerClient::RegisterSnapshotHandler(const sptr& handler) +{ + CHECK_REMOTE_OBJECT_AND_RETURN(remoteObject_, ABILITY_SERVICE_NOT_CONNECTED); + auto abms = iface_cast(remoteObject_); + return abms->RegisterSnapshotHandler(handler); +} + +ErrCode AbilityManagerClient::GetMissionSnapshot(const std::string& deviceId, int32_t missionId, + MissionSnapshot& snapshot) +{ + CHECK_REMOTE_OBJECT_AND_RETURN(remoteObject_, ABILITY_SERVICE_NOT_CONNECTED); + auto abms = iface_cast(remoteObject_); + return abms->GetMissionSnapshot(deviceId, missionId, snapshot); +} } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/src/ability_manager_proxy.cpp b/services/abilitymgr/src/ability_manager_proxy.cpp index 0d8de5e105b..559c1dcbf61 100755 --- a/services/abilitymgr/src/ability_manager_proxy.cpp +++ b/services/abilitymgr/src/ability_manager_proxy.cpp @@ -666,6 +666,38 @@ int AbilityManagerProxy::GetMissionSnapshot(const int32_t missionId, MissionPixe return reply.ReadInt32(); } +int AbilityManagerProxy::GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) +{ + int error; + MessageParcel data; + MessageParcel reply; + MessageOption option; + + if (!WriteInterfaceToken(data)) { + return INNER_ERR; + } + if (!data.WriteString(deviceId)) { + HILOG_ERROR("deviceId write failed."); + return INNER_ERR; + } + if (!data.WriteInt32(missionId)) { + HILOG_ERROR("missionId write failed."); + return ERR_INVALID_VALUE; + } + error = Remote()->SendRequest(IAbilityManager::GET_MISSION_SNAPSHOT, data, reply, option); + if (error != NO_ERROR) { + HILOG_ERROR("Send request error: %{public}d", error); + return error; + } + std::unique_ptr info(reply.ReadParcelable()); + if (!info) { + HILOG_ERROR("readParcelableInfo failed."); + return ERR_UNKNOWN_OBJECT; + } + snapshot = *info; + return reply.ReadInt32(); +} + int AbilityManagerProxy::MoveMissionToTop(int32_t missionId) { int error; @@ -2033,5 +2065,25 @@ int AbilityManagerProxy::UnRegisterMissionListener(const std::string &deviceId, } return reply.ReadInt32(); } + +int AbilityManagerProxy::RegisterSnapshotHandler(const sptr& handler) +{ + MessageParcel data; + MessageParcel reply; + MessageOption option; + if (!WriteInterfaceToken(data)) { + return INNER_ERR; + } + if (!data.WriteRemoteObject(handler->AsObject())) { + HILOG_ERROR("snapshot: handler write failed."); + return INNER_ERR; + } + auto error = Remote()->SendRequest(IAbilityManager::REGISTER_SNAPSHOT_HANDLER, data, reply, option); + if (error != NO_ERROR) { + HILOG_ERROR("snapshot: send request error: %{public}d", error); + return error; + } + return reply.ReadInt32(); +} } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index 3fc23ab7ce5..016320bfe55 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -2776,5 +2776,24 @@ int AbilityManagerService::StopUser(int userId, const sptr &c } return 0; } + +int AbilityManagerService::RegisterSnapshotHandler(const sptr& handler) +{ + HILOG_INFO("snapshot: AbilityManagerService register snapshot handler success."); + snapshotHandler_ = handler; + return 0; +} + +int32_t AbilityManagerService::GetMissionSnapshot(const std::string& deviceId, int32_t missionId, + MissionSnapshot& missionSnapshot) +{ + if (!snapshotHandler_) { + return 0; + } + Snapshot snapshot; + int32_t result = snapshotHandler_->GetSnapshot(GetAbilityTokenByMissionId(missionId), snapshot); + missionSnapshot.snapshot = snapshot.GetPixelMap(); + return result; +} } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/src/ability_manager_stub.cpp b/services/abilitymgr/src/ability_manager_stub.cpp index 8f0ec348e00..bfb6d7b5cd4 100755 --- a/services/abilitymgr/src/ability_manager_stub.cpp +++ b/services/abilitymgr/src/ability_manager_stub.cpp @@ -1179,5 +1179,32 @@ int AbilityManagerStub::UnRegisterRemoteMissionListenerInner(MessageParcel &data HILOG_INFO("AbilityManagerStub: UnRegisterRemoteMissionListenerInner result = %{public}d", result); return result; } + +int AbilityManagerStub::RegisterSnapshotHandlerInner(MessageParcel &data, MessageParcel &reply) +{ + sptr handler = iface_cast(data.ReadRemoteObject()); + if (handler == nullptr) { + HILOG_ERROR("snapshot: AbilityManagerStub read snapshot handler failed!"); + return ERR_NULL_OBJECT; + } + int32_t result = RegisterSnapshotHandler(handler); + HILOG_INFO("snapshot: AbilityManagerStub register snapshot handler result = %{public}d", result); + return result; +} + +int AbilityManagerStub::GetMissionSnapshotInfoInner(MessageParcel &data, MessageParcel &reply) +{ + std::string deviceId = data.ReadString(); + if (deviceId.empty()) { + HILOG_ERROR("missionSnapshot: get deviceId empty!"); + return ERR_NULL_OBJECT; + } + int32_t missionId = data.ReadInt32(); + MissionSnapshot missionSnapshot; + int32_t result = GetMissionSnapshot(deviceId, missionId, missionSnapshot); + HILOG_INFO("snapshot: AbilityManagerStub get snapshot result = %{public}d", result); + reply.WriteParcelable(&missionSnapshot); + return result; +} } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/src/mission_snapshot.cpp b/services/abilitymgr/src/mission_snapshot.cpp index 1cb4cc91885..05caf6b6fa1 100644 --- a/services/abilitymgr/src/mission_snapshot.cpp +++ b/services/abilitymgr/src/mission_snapshot.cpp @@ -60,5 +60,45 @@ bool MissionPixelMap::Marshalling(Parcel &parcel) const } return true; } + +bool MissionSnapshot::ReadFromParcel(Parcel &parcel) +{ + std::unique_ptr ability(parcel.ReadParcelable()); + if (ability == nullptr) { + return false; + } + topAbility = *ability; + std::shared_ptr pixelMap(parcel.ReadParcelable()); + if (ability == nullptr) { + return false; + } + snapshot = pixelMap; + return true; +} + +MissionSnapshot *MissionSnapshot::Unmarshalling(Parcel &parcel) +{ + MissionSnapshot *info = new (std::nothrow) MissionSnapshot(); + if (info == nullptr) { + return nullptr; + } + + if (!info->ReadFromParcel(parcel)) { + delete info; + info = nullptr; + } + return info; +} + +bool MissionSnapshot::Marshalling(Parcel &parcel) const +{ + if (!parcel.WriteParcelable(&topAbility)) { + return false; + } + if (!parcel.WriteParcelable(snapshot.get())) { + return false; + } + return true; +} } // namespace AAFwk } // namespace OHOS \ No newline at end of file diff --git a/services/abilitymgr/test/unittest/phone/ability_manager_proxy_test/ability_manager_stub_mock.h b/services/abilitymgr/test/unittest/phone/ability_manager_proxy_test/ability_manager_stub_mock.h index 5f1bfccf169..3f452557446 100755 --- a/services/abilitymgr/test/unittest/phone/ability_manager_proxy_test/ability_manager_stub_mock.h +++ b/services/abilitymgr/test/unittest/phone/ability_manager_proxy_test/ability_manager_stub_mock.h @@ -326,6 +326,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } MOCK_METHOD2(TerminateAbilityByCaller, int(const sptr &callerToken, int requestCode)); MOCK_METHOD3(StartAbility, int(const Want &want, const sptr &callerToken, int requestCode)); MOCK_METHOD2( diff --git a/services/abilitymgr/test/unittest/phone/ability_manager_stub_test/ability_manager_stub_impl_mock.h b/services/abilitymgr/test/unittest/phone/ability_manager_stub_test/ability_manager_stub_impl_mock.h index 5e8cc329447..77f2a6c4c09 100755 --- a/services/abilitymgr/test/unittest/phone/ability_manager_stub_test/ability_manager_stub_impl_mock.h +++ b/services/abilitymgr/test/unittest/phone/ability_manager_stub_test/ability_manager_stub_impl_mock.h @@ -368,6 +368,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } }; } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/test/unittest/phone/ability_manager_test/ability_manager_stub_mock.h b/services/abilitymgr/test/unittest/phone/ability_manager_test/ability_manager_stub_mock.h index d7240704c88..f576842ebce 100755 --- a/services/abilitymgr/test/unittest/phone/ability_manager_test/ability_manager_stub_mock.h +++ b/services/abilitymgr/test/unittest/phone/ability_manager_test/ability_manager_stub_mock.h @@ -130,6 +130,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } }; } // namespace AAFwk } // namespace OHOS diff --git a/services/test/mock/include/mock_ability_mgr_service.h b/services/test/mock/include/mock_ability_mgr_service.h index 168aad5e16d..cad93a239f6 100755 --- a/services/test/mock/include/mock_ability_mgr_service.h +++ b/services/test/mock/include/mock_ability_mgr_service.h @@ -136,6 +136,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } void Wait() { diff --git a/tools/test/mock/mock_ability_manager_stub.h b/tools/test/mock/mock_ability_manager_stub.h index 27beedce574..0f0dd565e6a 100755 --- a/tools/test/mock/mock_ability_manager_stub.h +++ b/tools/test/mock/mock_ability_manager_stub.h @@ -161,6 +161,14 @@ public: { return 0; } + virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot) + { + return 0; + } + virtual int RegisterSnapshotHandler(const sptr& handler) + { + return 0; + } public: std::string powerState_; }; -- Gitee