mirror of
https://gitee.com/openharmony/ability_dmsfwk
synced 2024-11-23 06:20:07 +00:00
add vector empty check
Signed-off-by: dengxiaoyu <dengxiaoyu6@huawei.com>
This commit is contained in:
parent
4ae55ac9a1
commit
280082c814
@ -64,8 +64,8 @@ public:
|
||||
const std::string& networkId, int32_t errCode);
|
||||
bool DmsContinueComplete(const std::string& bundleName, const std::string& abilityName,
|
||||
const std::string& networkId, int32_t errCode);
|
||||
bool OriginalSwitchState(const std::string& switchState, int32_t errCode);
|
||||
bool ChangedSwitchState(const std::string& switchState, int32_t errCode);
|
||||
bool OriginalSwitchState(bool isContinueSwitchOn, int32_t errCode);
|
||||
bool ChangedSwitchState(bool isContinueSwitchOn, int32_t errCode);
|
||||
|
||||
int32_t GetDeviceTypeByNetworkId(std::string networkId);
|
||||
std::string ConvertErrCodeToStr(int32_t errorCode);
|
||||
|
@ -1065,9 +1065,6 @@ int32_t DSchedContinue::ExecuteContinueEnd(int32_t result)
|
||||
NotifyDSchedEventResult(result);
|
||||
DurationDumperComplete(result);
|
||||
|
||||
DmsUE::GetInstance().DmsContinueComplete(continueInfo_.sourceBundleName_, continueInfo_.sinkAbilityName_,
|
||||
continueInfo_.sourceDeviceId_, result);
|
||||
|
||||
DSchedContinueManager::GetInstance().OnContinueEnd(continueInfo_);
|
||||
HILOGI("ExecuteContinueEnd end");
|
||||
return ERR_OK;
|
||||
@ -1113,6 +1110,8 @@ void DSchedContinue::DurationDumperComplete(int32_t result)
|
||||
std::string strEndTime = DmsContinueTime::GetInstance().GetCurrentTime();
|
||||
DmsContinueTime::GetInstance().SetDurationEnd(CONTINUE_TOTAL_TIME, GetTickCount());
|
||||
DmsContinueTime::GetInstance().SetDurationStrTime(CONTINUE_END_TIME, strEndTime);
|
||||
DmsUE::GetInstance().DmsContinueComplete(continueInfo_.sourceBundleName_, continueInfo_.sinkAbilityName_,
|
||||
continueInfo_.sourceDeviceId_, result);
|
||||
DmsContinueTime::GetInstance().AppendInfo();
|
||||
DmsContinueTime::GetInstance().SetPull(false);
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ constexpr int32_t DMSDURATION_DSTTOSRCRPCTIME = 3;
|
||||
constexpr int32_t DMSDURATION_SAVETIME = 4;
|
||||
constexpr int32_t DMSDURATION_SRCTODSTRPCTIME = 5;
|
||||
constexpr int32_t DMSDURATION_STARTABILITY = 6;
|
||||
constexpr int32_t DMSDURATION_INFOISEMPTY = 0;
|
||||
constexpr int32_t DMSDURATION_EMPTY_TIME = 0;
|
||||
}
|
||||
|
||||
IMPLEMENT_SINGLE_INSTANCE(DmsContinueTime);
|
||||
@ -419,12 +419,12 @@ void DmsContinueTime::ShowInfo(std::string& result)
|
||||
|
||||
int64_t DmsContinueTime::GetTotalTime()
|
||||
{
|
||||
int32_t totalTime = durationInfo_[DMSDURATION_TOTALTIME].GetDurationTime();
|
||||
if (!totalTime) {
|
||||
HILOGE("totalTime is empty");
|
||||
return DMSDURATION_INFOISEMPTY;
|
||||
HILOGD("GetTotalTime start, durationInfo_.size is %{public}lu", durationInfo_.size());
|
||||
if (durationInfo_.empty() || durationInfo_.size() < DMSDURATION_TOTALTIME) {
|
||||
HILOGE("totalTime is not exist.");
|
||||
return DMSDURATION_EMPTY_TIME;
|
||||
}
|
||||
return totalTime;
|
||||
return durationInfo_[DMSDURATION_TOTALTIME].GetEndTime() - durationInfo_[DMSDURATION_TOTALTIME].GetBeginTime();
|
||||
}
|
||||
}
|
||||
}
|
@ -335,8 +335,7 @@ void DistributedSchedService::InitDataShareManager()
|
||||
HILOGW("GetCurrentMissionId failed, init end. ret: %{public}d", missionId);
|
||||
return;
|
||||
}
|
||||
std::string switchState = IsContinueSwitchOn ? "1" : "0";
|
||||
DmsUE::GetInstance().ChangedSwitchState(switchState, ERR_OK);
|
||||
DmsUE::GetInstance().ChangedSwitchState(IsContinueSwitchOn, ERR_OK);
|
||||
if (IsContinueSwitchOn) {
|
||||
DMSContinueSendMgr::GetInstance().NotifyMissionFocused(missionId, FocusedReason::INIT);
|
||||
DSchedContinueManager::GetInstance().Init();
|
||||
@ -347,8 +346,7 @@ void DistributedSchedService::InitDataShareManager()
|
||||
};
|
||||
};
|
||||
dataShareManager_.RegisterObserver(CONTINUE_SWITCH_STATUS_KEY, observerCallback);
|
||||
std::string switchState = SwitchStatusDependency::GetInstance().IsContinueSwitchOn() ? "1" : "0";
|
||||
DmsUE::GetInstance().OriginalSwitchState(switchState, ERR_OK);
|
||||
DmsUE::GetInstance().OriginalSwitchState(SwitchStatusDependency::GetInstance().IsContinueSwitchOn(), ERR_OK);
|
||||
HILOGI("Init data share manager, register observer end.");
|
||||
}
|
||||
|
||||
@ -1200,6 +1198,9 @@ void DistributedSchedService::NotifyCompleteContinuation(const std::u16string& d
|
||||
HILOGE("continuation object null!");
|
||||
return;
|
||||
}
|
||||
int dSchedEventResult = dschedContinuation_->NotifyDSchedEventResult(ERR_OK);
|
||||
HILOGD("NotifyDSchedEventResult result:%{public}d", dSchedEventResult);
|
||||
|
||||
std::string dstInfo("");
|
||||
if (DmsContinueTime::GetInstance().GetPull()) {
|
||||
int64_t end = GetTickCount();
|
||||
@ -1207,18 +1208,19 @@ void DistributedSchedService::NotifyCompleteContinuation(const std::u16string& d
|
||||
DmsContinueTime::GetInstance().SetDurationEnd(DMSDURATION_STARTABILITY, end);
|
||||
DmsContinueTime::GetInstance().SetDurationEnd(DMSDURATION_TOTALTIME, end);
|
||||
DmsContinueTime::GetInstance().SetDurationStrTime(DMSDURATION_ENDTIME, strEndTime);
|
||||
|
||||
std::string bundleName = DmsContinueTime::GetInstance().GetDstInfo().bundleName;
|
||||
std::string abilityName = DmsContinueTime::GetInstance().GetDstInfo().abilityName;
|
||||
std::string srcNetworkId = dschedContinuation_->continueInfo_.srcNetworkId_;
|
||||
DmsUE::GetInstance().DmsContinueComplete(bundleName, abilityName, srcNetworkId, dSchedEventResult);
|
||||
|
||||
DmsContinueTime::GetInstance().AppendInfo();
|
||||
DmsContinueTime::GetInstance().SetPull(false);
|
||||
} else {
|
||||
dstInfo = DmsContinueTime::GetInstance().WriteDstInfo(DmsContinueTime::GetInstance().GetDstInfo().bundleName,
|
||||
DmsContinueTime::GetInstance().GetDstInfo().abilityName);
|
||||
}
|
||||
int dSchedEventResult = dschedContinuation_->NotifyDSchedEventResult(ERR_OK);
|
||||
HILOGD("NotifyDSchedEventResult result:%{public}d", dSchedEventResult);
|
||||
std::string bundleName = DmsContinueTime::GetInstance().GetDstInfo().bundleName;
|
||||
std::string abilityName = DmsContinueTime::GetInstance().GetDstInfo().abilityName;
|
||||
std::string srcNetworkId = dschedContinuation_->continueInfo_.srcNetworkId_;
|
||||
DmsUE::GetInstance().DmsContinueComplete(bundleName, abilityName, srcNetworkId, dSchedEventResult);
|
||||
|
||||
remoteDms->NotifyContinuationResultFromRemote(sessionId, isSuccess, dstInfo);
|
||||
dschedContinuation_->continueInfo_.srcNetworkId_ = "";
|
||||
dschedContinuation_->continueInfo_.dstNetworkId_ = "";
|
||||
|
@ -134,9 +134,10 @@ bool DmsUE::DmsContinueComplete(const std::string& bundleName, const std::string
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DmsUE::OriginalSwitchState(const std::string& switchState, int32_t errCode)
|
||||
bool DmsUE::OriginalSwitchState(bool isContinueSwitchOn, int32_t errCode)
|
||||
{
|
||||
int32_t res = ERR_OK;
|
||||
std::string switchState = isContinueSwitchOn ? "1" : "0";
|
||||
if (errCode == ERR_OK) {
|
||||
res = HiSysEventWrite(
|
||||
CONTINUATION_DOMAIN,
|
||||
@ -162,9 +163,10 @@ bool DmsUE::OriginalSwitchState(const std::string& switchState, int32_t errCode)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DmsUE::ChangedSwitchState(const std::string& switchState, int32_t errCode)
|
||||
bool DmsUE::ChangedSwitchState(bool isContinueSwitchOn, int32_t errCode)
|
||||
{
|
||||
int32_t res = ERR_OK;
|
||||
std::string switchState = isContinueSwitchOn ? "1" : "0";
|
||||
if (errCode == ERR_OK) {
|
||||
res = HiSysEventWrite(
|
||||
CONTINUATION_DOMAIN,
|
||||
|
Loading…
Reference in New Issue
Block a user