From 442b97eab5fd8df7a3acebea815289917def7ffd Mon Sep 17 00:00:00 2001 From: zhoujun62 Date: Fri, 21 Jan 2022 16:31:25 +0800 Subject: [PATCH 1/3] IssueNo:#I4RS2N:auto start new system ui Description:auto start new system ui Sig:SIG_ApplicationFramework Feature or Bugfix:Feature Binary Source:No Signed-off-by: zhoujun62 --- services/abilitymgr/include/ability_config.h | 1 + .../include/ability_manager_service.h | 6 ++++ .../src/ability_manager_service.cpp | 30 ++++++++++++------- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/services/abilitymgr/include/ability_config.h b/services/abilitymgr/include/ability_config.h index 0bf081fb35a..8cbb024fa1c 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 23043b47d48..538848c2891 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 1a608ffe5d8..e0a174c8a0f 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, 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__); -- Gitee From b7f98db1996b4965729f50688bc9af488b86b817 Mon Sep 17 00:00:00 2001 From: zhoujun62 Date: Fri, 21 Jan 2022 17:02:19 +0800 Subject: [PATCH 2/3] IssueNo:#I4RS2N:auto start new system ui Description:auto start new system ui Sig:SIG_ApplicationFramework Feature or Bugfix:Feature Binary Source:No Signed-off-by: zhoujun62 --- services/abilitymgr/src/ability_manager_service.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index e0a174c8a0f..088a321b6b1 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -2516,7 +2516,7 @@ void AbilityManagerService::StartSystemApplication() StartingSettingsDataAbility(); } - StartingSystemUiAbility(); + StartingSystemUiAbility(); if (amsConfigResolver_->GetPhoneServiceState()) { HILOG_INFO("start phone service"); @@ -2609,7 +2609,7 @@ void AbilityManagerService::StartingSystemUiAbility() HILOG_DEBUG("%{public}s", __func__); AppExecFwk::AbilityInfo systemUiInfo; Want systemUiWant; - systemUiWant.SetElementName(AbilityConfig::SYSTEM_UI_BUNDLE_NAME, SYSTEM_UI_ABILITY_NAME); + 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. -- Gitee From 2179f96c0592c49591b6bef975c6dc0646877391 Mon Sep 17 00:00:00 2001 From: zhoujun62 Date: Sat, 22 Jan 2022 11:48:42 +0800 Subject: [PATCH 3/3] #I4RU9U:GetMissionInfos interface get wrong 'runningState' Description:GetMissionInfos interface get wrong 'runningState' Sig:SIG_ApplicationFramework Feature or Bugfix:Bugfix Binary Source:No Signed-off-by: zhoujun62 --- services/abilitymgr/src/mission_list_manager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/abilitymgr/src/mission_list_manager.cpp b/services/abilitymgr/src/mission_list_manager.cpp index 7411c783383..7557b4331be 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; } -- Gitee