!238 auto start settings data

Merge pull request !238 from supeng/OpenHarmony-3.1-Beta
This commit is contained in:
openharmony_ci
2021-12-31 03:18:58 +00:00
committed by Gitee
6 changed files with 58 additions and 17 deletions
+5 -2
View File
@@ -43,10 +43,13 @@ const std::string MISSION_NAME_MARK_HEAD = "#";
const std::string MISSION_NAME_SEPARATOR = ":";
const std::string FLOATING_WINDOW_PERMISSION = "ohos.permission.SYSTEM_FLOAT_WINDOW";
const std::string LAUNCHER_ABILITY_NAME = "com.ohos.launcher.MainAbility";
const std::string LAUNCHER_BUNDLE_NAME = "com.ohos.launcher";
const std::string SETTINGS_DATA_ABILITY_NAME = "com.ohos.settingsdata.DataAbility";
const std::string SETTINGS_DATA_BUNDLE_NAME = "com.ohos.settingsdata";
const std::string APPLICATION_SELECTOR_BUNDLE_NAME = "com.ohos.selector";
const std::string APPLICATION_SELECTOR_ABILITY_NAME = "com.ohos.selector.MainAbility";
const std::string APPLICATION_SELECTOR_CALLER_ABILITY_RECORD_ID = "OHOS_CALLER_ABILITY_RECORD_ID";
@@ -69,5 +72,5 @@ const std::string MMS_BUNDLE_NAME = "com.ohos.mms";
} // namespace AbilityConfig
} // namespace AAFwk
} // namespace OHOS
#endif // OHOS_AAFWK_ABILITY_CONFIG_H
@@ -630,7 +630,11 @@ private:
*
*/
void StartingLauncherAbility();
/**
* starting settings data ability.
*
*/
void StartingSettingsDataAbility();
/**
* starting phone service ability.
*
@@ -28,6 +28,7 @@ const std::string HOME_APP("home_application");
const std::string AMS_CONFIG_FILE_PATH {"/system/etc/ams_service_config.json"};
const std::string SERVICE_ITEM_AMS {"service_startup_config"};
const std::string STARTUP_LAUNCHER {"startup_launcher"};
const std::string STARTUP_SETTINGS_DATA {"startup_settings_data"};
const std::string STARTUP_STATUS_BAR {"startup_system_ui_status_bar"};
const std::string STARTUP_NAVIGATION_BAR {"startup_system_ui_navigation_bar"};
const std::string STARTUP_PHONE_SERVICE {"startup_phone_service"};
@@ -54,6 +55,11 @@ public:
* return false : ams do not start launcher
*/
bool GetStartLauncherState() const;
/**
* return true : ams can start settings data
* return false : ams do not start settings data
*/
bool GetStartSettingsDataState() const;
/**
* return true : ams can start system ui status bar
* return false : ams do not start system ui status bar
@@ -111,6 +117,7 @@ private:
private:
bool nonConfigFile_ {false};
bool canStartLauncher_ {false};
bool canStartSettingsData_ {false};
bool canStartUiStatusBar_ {false};
bool canStartUiNavigationBar_ {false};
bool canStartPhoneService_ {false};
@@ -122,4 +129,4 @@ private:
};
} // namespace AAFwk
} // namespace OHOS
#endif // OHOS_AAFWK_AMS_CONFIGURATION_PARAMETER_H
#endif // OHOS_AAFWK_AMS_CONFIGURATION_PARAMETER_H
@@ -1,17 +1,18 @@
{
"service_startup_config":{
"startup_launcher":true,
"startup_system_ui_status_bar" : true,
"startup_system_ui_navigation_bar" : true,
"startup_phone_service" : true,
"startup_contacts":true,
"startup_mms":true,
"mission_save_time" : 43200000
"service_startup_config": {
"startup_launcher": true,
"startup_settings_data": true,
"startup_system_ui_status_bar": true,
"startup_system_ui_navigation_bar": true,
"startup_phone_service": true,
"startup_contacts": true,
"startup_mms": true,
"mission_save_time": 43200000
},
"memorythreshold":{
"memorythreshold": {
"home_application": "20"
},
"system_configuration":{
"system_configuration": {
"system_orientation": "vertical"
}
}
}
@@ -1261,8 +1261,6 @@ void AbilityManagerService::StartingLauncherAbility()
usleep(REPOLL_TIME_MICRO_SECONDS);
}
HILOG_INFO("waiting boot animation for 5 seconds.");
usleep(REPOLL_TIME_MICRO_SECONDS * WAITING_BOOT_ANIMATION_TIMER);
HILOG_INFO("Start Home Launcher Ability.");
/* start launch ability */
(void)StartAbility(want, DEFAULT_INVAL_VALUE);
@@ -1794,6 +1792,7 @@ void AbilityManagerService::StartSystemApplication()
if (!amsConfigResolver_ || amsConfigResolver_->NonConfigFile()) {
HILOG_INFO("start all");
StartingLauncherAbility();
StartingSettingsDataAbility();
StartingSystemUiAbility(SatrtUiMode::STARTUIBOTH);
return;
}
@@ -1803,6 +1802,11 @@ void AbilityManagerService::StartSystemApplication()
StartingLauncherAbility();
}
if (amsConfigResolver_->GetStartSettingsDataState()) {
HILOG_INFO("start settings data");
StartingSettingsDataAbility();
}
if (amsConfigResolver_->GetStatusBarState()) {
HILOG_INFO("start status bar");
StartingSystemUiAbility(SatrtUiMode::STATUSBAR);
@@ -2282,5 +2286,21 @@ int AbilityManagerService::GetMissionSaveTime() const
return amsConfigResolver_->GetMissionSaveTime();
}
void AbilityManagerService::StartingSettingsDataAbility()
{
HILOG_DEBUG("%{public}s", __func__);
if (!iBundleManager_) {
HILOG_INFO("bms service is null");
return;
}
/* query if setiings data ability has installed */
AppExecFwk::AbilityInfo abilityInfo;
/* First stage, hardcoding for the first launcher App */
Want want;
want.SetElementName(AbilityConfig::SETTINGS_DATA_BUNDLE_NAME, AbilityConfig::SETTINGS_DATA_ABILITY_NAME);
(void)StartAbility(want, DEFAULT_INVAL_VALUE);
}
} // namespace AAFwk
} // namespace OHOS
@@ -32,6 +32,11 @@ bool AmsConfigurationParameter::GetStartLauncherState() const
return canStartLauncher_;
}
bool AmsConfigurationParameter::GetStartSettingsDataState() const
{
return canStartSettingsData_;
}
bool AmsConfigurationParameter::GetStatusBarState() const
{
return canStartUiStatusBar_;
@@ -123,6 +128,7 @@ int AmsConfigurationParameter::LoadAppConfigurationForStartUpService(nlohmann::j
int ret = -1;
if (Object.contains(AmsConfig::SERVICE_ITEM_AMS)) {
canStartLauncher_ = Object.at(AmsConfig::SERVICE_ITEM_AMS).at(AmsConfig::STARTUP_LAUNCHER).get<bool>();
canStartLauncher_ = Object.at(AmsConfig::SERVICE_ITEM_AMS).at(AmsConfig::STARTUP_SETTINGS_DATA).get<bool>();
canStartUiStatusBar_ = Object.at(AmsConfig::SERVICE_ITEM_AMS).at(AmsConfig::STARTUP_STATUS_BAR).get<bool>();
canStartUiNavigationBar_ =
Object.at(AmsConfig::SERVICE_ITEM_AMS).at(AmsConfig::STARTUP_NAVIGATION_BAR).get<bool>();