mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-25 12:23:20 -04:00
@@ -61,7 +61,8 @@ public:
|
||||
*/
|
||||
void GetMainAbilityName(const std::string &name);
|
||||
|
||||
void Init(const HapModuleInfo &info);
|
||||
void Init(const HapModuleInfo &info, int32_t appIndex, std::weak_ptr<AppMgrServiceInner> appMgrService,
|
||||
std::shared_ptr<AppLifeCycleDeal> appLifeCycleDeal);
|
||||
void SetAppIndex(int32_t appIndex)
|
||||
{
|
||||
appIndex_ = appIndex;
|
||||
|
||||
@@ -799,14 +799,6 @@ void AppRunningRecord::AddModule(std::shared_ptr<ApplicationInfo> appInfo,
|
||||
}
|
||||
|
||||
std::shared_ptr<ModuleRunningRecord> moduleRecord;
|
||||
|
||||
auto initModuleRecord = [&](const std::shared_ptr<ModuleRunningRecord> &moduleRecord) {
|
||||
moduleRecord->Init(hapModuleInfo);
|
||||
moduleRecord->SetAppIndex(appIndex_);
|
||||
moduleRecord->SetAppMgrServiceInner(appMgrServiceInner_);
|
||||
moduleRecord->SetApplicationClient(appLifeCycleDeal_);
|
||||
};
|
||||
|
||||
std::lock_guard<ffrt::mutex> hapModulesLock(hapModulesLock_);
|
||||
const auto &iter = hapModules_.find(appInfo->bundleName);
|
||||
if (iter != hapModules_.end()) {
|
||||
@@ -814,7 +806,7 @@ void AppRunningRecord::AddModule(std::shared_ptr<ApplicationInfo> appInfo,
|
||||
if (!moduleRecord) {
|
||||
moduleRecord = std::make_shared<ModuleRunningRecord>(appInfo, eventHandler_);
|
||||
iter->second.push_back(moduleRecord);
|
||||
initModuleRecord(moduleRecord);
|
||||
moduleRecord->Init(hapModuleInfo, appIndex_, appMgrServiceInner_, appLifeCycleDeal_);
|
||||
}
|
||||
} else {
|
||||
moduleRecord = std::make_shared<ModuleRunningRecord>(appInfo, eventHandler_);
|
||||
@@ -825,7 +817,7 @@ void AppRunningRecord::AddModule(std::shared_ptr<ApplicationInfo> appInfo,
|
||||
std::lock_guard<ffrt::mutex> appInfosLock(appInfosLock_);
|
||||
appInfos_.emplace(appInfo->bundleName, appInfo);
|
||||
}
|
||||
initModuleRecord(moduleRecord);
|
||||
moduleRecord->Init(hapModuleInfo, appIndex_, appMgrServiceInner_, appLifeCycleDeal_);
|
||||
}
|
||||
|
||||
if (!abilityInfo || !token) {
|
||||
|
||||
@@ -38,9 +38,13 @@ ModuleRunningRecord::~ModuleRunningRecord()
|
||||
TAG_LOGD(AAFwkTag::APPMGR, "called");
|
||||
}
|
||||
|
||||
void ModuleRunningRecord::Init(const HapModuleInfo &info)
|
||||
void ModuleRunningRecord::Init(const HapModuleInfo &info, int32_t appIndex,
|
||||
std::weak_ptr<AppMgrServiceInner> appMgrService, std::shared_ptr<AppLifeCycleDeal> appLifeCycleDeal)
|
||||
{
|
||||
moduleName_ = info.moduleName;
|
||||
appIndex_ = appIndex;
|
||||
appMgrServiceInner_ = appMgrService;
|
||||
appLifeCycleDeal_ = appLifeCycleDeal;
|
||||
owenState_ = ModuleRecordState::INITIALIZED_STATE;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ bool DoSomethingInterestingWithMyAPI(const char* data, size_t size)
|
||||
std::shared_ptr<AMSEventHandler> eventHandler;
|
||||
ModuleRunningRecord moduleRecord(info, eventHandler);
|
||||
HapModuleInfo hapInfo;
|
||||
moduleRecord.Init(hapInfo);
|
||||
std::weak_ptr<AppMgrServiceInner> inner;
|
||||
moduleRecord.Init(hapInfo, 0, inner, nullptr);
|
||||
moduleRecord.SetAppMgrServiceInner(inner);
|
||||
ModuleRecordState moduleState = ModuleRecordState::UNKNOWN_STATE;
|
||||
moduleRecord.SetModuleRecordState(moduleState);
|
||||
|
||||
Reference in New Issue
Block a user