diff --git a/services/abilitymgr/include/ability_config.h b/services/abilitymgr/include/ability_config.h index 0bf081fb35a19154277ac43ece2f5e114939e4c1..8cbb024fa1c9e239af1a956fb6beea38ee1bbc8b 100644 --- a/services/abilitymgr/include/ability_config.h +++ b/services/abilitymgr/include/ability_config.h @@ -28,6 +28,7 @@ const std::string SYSTEM_UI_BUNDLE_NAME = "com.ohos.systemui"; const std::string SYSTEM_UI_STATUS_BAR = "com.ohos.systemui.statusbar.MainAbility"; const std::string SYSTEM_UI_NAVIGATION_BAR = "com.ohos.systemui.navigationbar.MainAbility"; const std::string SYSTEM_DIALOG_NAME = "com.ohos.systemui.systemdialog.MainAbility"; +const std::string SYSTEM_UI_ABILITY_NAME = "com.ohos.systemui.ServiceExtAbility"; const std::string SYSTEM_DIALOG_REQUEST_PERMISSIONS = "OHOS_RESULT_PERMISSIONS_LIST_YES"; const std::string SYSTEM_DIALOG_CALLER_BUNDLENAME = "OHOS_RESULT_CALLER_BUNDLERNAME"; diff --git a/services/abilitymgr/include/ability_manager_service.h b/services/abilitymgr/include/ability_manager_service.h index 23043b47d48567b4cf7f20b24ff9b1c8e01bdfda..538848c2891c73fc328fbf079ff43fe5f2022ecb 100644 --- a/services/abilitymgr/include/ability_manager_service.h +++ b/services/abilitymgr/include/ability_manager_service.h @@ -821,6 +821,12 @@ private: */ void StartingSystemUiAbility(const SatrtUiMode &mode); + /** + * starting system ui abilites. + * + */ + void StartingSystemUiAbility(); + /** * starting contacts ability. * diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index 1a608ffe5d8a3b435ccb12b45a7dd4f7d3a8360f..088a321b6b1ee2a5b11a2a22aed55c319b0a090c 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -2502,7 +2502,7 @@ void AbilityManagerService::StartSystemApplication() HILOG_INFO("start all"); StartingLauncherAbility(); StartingSettingsDataAbility(); - StartingSystemUiAbility(SatrtUiMode::STARTUIBOTH); + StartingSystemUiAbility(); return; } @@ -2516,15 +2516,7 @@ void AbilityManagerService::StartSystemApplication() StartingSettingsDataAbility(); } - if (amsConfigResolver_->GetStatusBarState()) { - HILOG_INFO("start status bar"); - StartingSystemUiAbility(SatrtUiMode::STATUSBAR); - } - - if (amsConfigResolver_->GetNavigationBarState()) { - HILOG_INFO("start navigation bar"); - StartingSystemUiAbility(SatrtUiMode::NAVIGATIONBAR); - } + StartingSystemUiAbility(); if (amsConfigResolver_->GetPhoneServiceState()) { HILOG_INFO("start phone service"); @@ -2612,6 +2604,24 @@ void AbilityManagerService::StartingSystemUiAbility(const SatrtUiMode &mode) } } +void AbilityManagerService::StartingSystemUiAbility() +{ + HILOG_DEBUG("%{public}s", __func__); + AppExecFwk::AbilityInfo systemUiInfo; + Want systemUiWant; + systemUiWant.SetElementName(AbilityConfig::SYSTEM_UI_BUNDLE_NAME, AbilityConfig::SYSTEM_UI_ABILITY_NAME); +#if 0 + uint32_t waitCnt = 0; + // Wait 10 minutes for the installation to complete. + while (!iBundleManager_->QueryAbilityInfo(systemUiWant, systemUiInfo) && waitCnt < MAX_WAIT_SYSTEM_UI_NUM) { + HILOG_INFO("Waiting query system ui info completed."); + usleep(REPOLL_TIME_MICRO_SECONDS); + waitCnt++; + } +#endif + (void)StartAbility(systemUiWant, DEFAULT_INVAL_VALUE); +} + bool AbilityManagerService::CheckCallerIsSystemAppByIpc() { HILOG_DEBUG("%{public}s begin", __func__); diff --git a/services/abilitymgr/src/mission_list_manager.cpp b/services/abilitymgr/src/mission_list_manager.cpp index 7411c783383c2927369a27d6d1a8b139c8e195b2..7557b4331beea17a0636189e6dc5d8f0d2b37747 100644 --- a/services/abilitymgr/src/mission_list_manager.cpp +++ b/services/abilitymgr/src/mission_list_manager.cpp @@ -173,6 +173,7 @@ int MissionListManager::MoveMissionToFront(int32_t missionId, bool isCallerFromL // update inner mission info time InnerMissionInfo innerMissionInfo; DelayedSingleton::GetInstance()->GetInnerMissionInfoById(mission->GetMissionId(), innerMissionInfo); + innerMissionInfo.missionInfo.runningState = 0; innerMissionInfo.missionInfo.time = Time2str(time(0)); DelayedSingleton::GetInstance()->UpdateMissionInfo(innerMissionInfo); @@ -1210,7 +1211,7 @@ std::shared_ptr MissionListManager::GetTargetMissionList(int missio HILOG_DEBUG("get mission by id successfully, missionId: %{public}d", missionId); auto missionList = mission->GetMissionList(); if (!missionList) { - // mission is not null ptr, so its missionList ptr should be not null ptr too. + // not support move launcher mission to front HILOG_ERROR("mission list ptr is null ptr"); return nullptr; }