Signed-off-by: wangdongdong <wangdd_zju@126.com>

Change-Id: I88e3d3db0e29f078b488c0ddfb997857571862e3

Signed-off-by: wangdongdong <wangdd_zju@126.com>
Change-Id: I8f57031bc0a40cae9a001d66021130e7c2432c1f
Signed-off-by: wangdongdong <wangdd_zju@126.com>
This commit is contained in:
wangdongdong
2022-05-24 16:07:58 +08:00
parent eee22ca375
commit 356f0997c6
3 changed files with 33 additions and 10 deletions
@@ -400,6 +400,23 @@ public:
*/
void NotifyCompleteContinuation(const std::string &deviceId, int32_t sessionId, bool isSuccess);
/**
* ContinueMission, continue ability from mission center.
* @param deviceId, target deviceId.
* @param missionId, indicates which ability to continue.
* @param versionCode, version of the remote target ability.
* @return Returns ERR_OK on success, others on failure.
*/
ErrCode ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode);
/**
* notify continuation result to application.
* @param missionId, indicates which ability to notify.
* @param result, continuation result.
* @return
*/
ErrCode NotifyContinuationResult(int32_t missionId, int32_t result);
/**
* @brief Lock specified mission.
* @param missionId The id of target mission.
@@ -505,6 +505,20 @@ void AbilityManagerClient::NotifyCompleteContinuation(const std::string &deviceI
abms->NotifyCompleteContinuation(deviceId, sessionId, isSuccess);
}
ErrCode AbilityManagerClient::ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode)
{
auto abms = GetAbilityManager();
CHECK_POINTER_RETURN_NOT_CONNECTED(abms);
return abms->ContinueAbility(deviceId, missionId, versionCode);
}
ErrCode AbilityManagerClient::NotifyContinuationResult(int32_t missionId, int32_t result)
{
auto abms = GetAbilityManager();
CHECK_POINTER_RETURN_NOT_CONNECTED(abms);
return abms->NotifyContinuationResult(missionId, result);
}
ErrCode AbilityManagerClient::LockMissionForCleanup(int32_t missionId)
{
auto abms = GetAbilityManager();
@@ -1093,17 +1093,9 @@ int AbilityManagerService::ContinueMission(const std::string &srcDeviceId, const
HILOG_ERROR("%{public}s: Permission verification failed", __func__);
return CHECK_PERMISSION_FAILED;
}
MissionInfo missionInfo;
if (GetMissionInfo("", missionId, missionInfo) != ERR_OK) {
HILOG_ERROR("get local missionInfo failed");
return ERR_INVALID_VALUE;
}
std::string bundleName = missionInfo.want.GetBundle();
OHOS::AAFwk::Want want;
want.SetParams(wantParams);
want.SetParam(BUNDLE_NAME_KEY, bundleName);
DistributedClient dmsClient;
return dmsClient.ContinueMission(srcDeviceId, dstDeviceId, missionId, callBack, want.GetParams());
return dmsClient.ContinueMission(srcDeviceId, dstDeviceId, missionId, callBack, wantParams);
}
int AbilityManagerService::ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode)