# Copyright (c) 2021-2026 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("//foundation/ability/ability_runtime/ability_runtime.gni")

abilityms_files = [
  "src/ability_background_connection.cpp",
  "src/ability_cache_manager.cpp",
  "src/ability_connect_manager.cpp",
  "src/ability_debug_deal.cpp",
  "src/ability_event_handler.cpp",
  "src/disposed_observer.cpp",
  "src/ability_manager_service.cpp",
  "src/ability_manager_stub.cpp",
  "src/ability_record.cpp",
  "src/ability_record/ability_record_utils.cpp",
  "src/ability_record/ability_request.cpp",
  "src/ability_record/caller_record.cpp",
  "src/ability_manager_collaborator_proxy.cpp",
  "src/ability_scheduler_proxy.cpp",
  "src/ability_start_with_wait_observer_manager/ability_start_with_wait_observer_manager.cpp",
  "src/ability_token_stub.cpp",
  "src/app_scheduler.cpp",
  "src/app_exit_reason_helper.cpp",
  "src/assert_fault_callback_death_mgr.cpp",
  "src/assert_fault_proxy.cpp",
  "src/connection_record.cpp",
  "src/common_extension_manager.cpp",
  "src/data_ability/data_ability_caller_recipient.cpp",
  "src/data_ability/data_ability_manager.cpp",
  "src/data_ability/data_ability_record.cpp",
  "src/dialog_session/dialog_session_manager.cpp",
  "src/lifecycle_deal.cpp",
  "src/ability_running_info.cpp",
  "src/ecological_rule/ability_ecological_rule_mgr_service_param.cpp",
  "src/ecological_rule/ability_ecological_rule_mgr_service.cpp",
  "src/extension_config.cpp",
  "src/extension_query_event_util.cpp",
  "src/extension_running_info.cpp",
  "src/extension_record/base_extension_record.cpp",
  "src/extension_record/extension_record_manager.cpp",
  "src/extension_running_timeout_monitor.cpp",
  "src/background_user_extension_monitor.cpp",
  "src/extension_record/extension_record.cpp",
  "src/extension_record/extension_record_factory.cpp",
  "src/foreground_app_connection_manager/foreground_app_connection_manager.cpp",
  "src/caller_info.cpp",
  "src/sub_managers_helper.cpp",
  "src/pending_want_record.cpp",
  "src/pending_want_key.cpp",
  "src/pending_want_manager.cpp",
  "src/pending_want_common_event.cpp",
  "src/restart_app_manager.cpp",
  "src/ams_configuration_parameter.cpp",
  "src/recovery_info_timer.cpp",
  "src/modal_system_dialog/modal_system_dialog_ui_extension.cpp",
  "src/hidden_start_observer_manager.cpp",
  "src/interceptor/ability_interceptor_executer.cpp",
  "src/interceptor/block_all_app_start_interceptor.cpp",
  "src/interceptor/control_interceptor.cpp",
  "src/interceptor/crowd_test_interceptor.cpp",
  "src/interceptor/disposed_rule_interceptor.cpp",
  "src/interceptor/ecological_rule_interceptor.cpp",
  "src/interceptor/extension_control_interceptor.cpp",
  "src/interceptor/screen_unlock_interceptor.cpp",
  "src/interceptor/kiosk_interceptor.cpp",
  "src/window_focus_changed_listener.cpp",
  "src/window_visibility_changed_listener.cpp",

  # new ability manager service here
  "src/ui_extension/ui_extension_ability_manager.cpp",
  "src/ui_extension/preload_uiext_state_observer.cpp",
  "src/ui_extension_record/ui_extension_record.cpp",
  "src/ui_extension_record/ui_extension_record_factory.cpp",
  "src/screen_lock/unlock_screen_manager.cpp",
  "src/start_options.cpp",
  "src/user_callback_proxy.cpp",
  "src/call_container.cpp",
  "src/call_record.cpp",
  "src/inner_mission_info.cpp",
  "src/mission/mission_listener_controller.cpp",
  "src/mission/mission_listener_proxy.cpp",
  "src/rdb/ability_resident_process_rdb.cpp",
  "src/rdb/parser_util.cpp",
  "src/rdb/rdb_data_manager.cpp",
  "src/remote_mission_listener_proxy.cpp",
  "src/request_start_ability_callback_proxy.cpp",
  "src/scene_board/status_bar_delegate_manager.cpp",
  "src/scene_board/ui_ability_lifecycle_manager.cpp",
  "src/scene_board/ui_ability_record.cpp",
  "src/deeplink_reserve/deeplink_reserve_config.cpp",

  #connection observer
  "src/connection_observer_controller.cpp",
  "src/connection_state_item.cpp",
  "src/connection_state_manager.cpp",
  "src/dlp_state_item.cpp",

  #free_install
  "src/atomic_service_status_callback_proxy.cpp",
  "src/atomic_service_status_callback_stub.cpp",
  "src/atomic_service_status_callback.cpp",
  "src/free_install_manager.cpp",
  "src/free_install_observer_manager.cpp",

  #remote_intent
  "src/remote_intent_result_callback.cpp",
  "src/remote_intent_result_callback_proxy.cpp",
  "src/remote_intent_result_callback_stub.cpp",

  #erms
  "src/query_erms_manager.cpp",
  "src/query_erms_observer_manager.cpp",

  "src/background_task_observer.cpp",

  #resident_process
  "src/resident_process/resident_process_manager.cpp",

  "src/ability_bundle_event_callback.cpp",

  "src/app_exit_reason_data_manager.cpp",

  "src/ability_auto_startup_data_manager.cpp",
  "src/ability_auto_startup_service.cpp",
  "src/auto_startup_info.cpp",
  "src/insight_intent/insight_intent_db_cache.cpp",
  "src/insight_intent/insight_intent_execute_manager.cpp",
  "src/insight_intent/insight_intent_execute_result.cpp",
  "src/insight_intent/insight_intent_profile.cpp",
  "src/insight_intent/insight_intent_rdb_data_mgr.cpp",
  "src/insight_intent/insight_intent_rdb_storage_mgr.cpp",
  "src/insight_intent/insight_intent_utils.cpp",
  "src/insight_intent/extract_insight_intent_profile.cpp",
  "src/insight_intent/function_call_convert.cpp",
  "src/insight_intent/insight_intent_event_mgr.cpp",
  "src/insight_intent/insight_intent_matcher.cpp",
  "src/insight_intent/insight_intent_param_parser.cpp",
  "src/insight_intent/insight_intent_sys_event_receiver.cpp",

  #skill execution
  "src/skill/skill_execute_callback_proxy.cpp",
  "src/skill/skill_execute_callback_stub.cpp",
  "src/skill/skill_execute_param.cpp",
  "src/skill/skill_execute_result.cpp",
  "src/skill/skill_execute_manager.cpp",

  #sa interceptor
  "src/sa_interceptor_manager.cpp",

  #report data
  "src/report_data_partition_usage_manager.cpp",
  "src/database_write_counter.cpp",

  # keep alive
  "src/keep_alive/ability_keep_alive_data_manager.cpp",
  "src/keep_alive/ability_keep_alive_service.cpp",
  "src/keep_alive/keep_alive_process_manager.cpp",

  "src/ability_manager_event_subscriber.cpp",

  "src/exit_info_data_manager.cpp",

  # preload_manager_service
  "src/preload_manager_service.cpp",

  #utils
  "src/utils/request_id_util.cpp",
  "src/utils/ability_event_util.cpp",
  "src/utils/agent_ability_util.cpp",
  "src/utils/agent_caller_identity_util.cpp",
  "src/utils/ability_permission_util.cpp",
  "src/utils/app_mgr_util.cpp",
  "src/utils/dms_util.cpp",
  "src/utils/dump_utils.cpp",
  "src/utils/exit_reason_util.cpp",
  "src/utils/extension_permissions_util.cpp",
  "src/utils/hmsf_utils.cpp",
  "src/utils/keep_alive_utils.cpp",
  "src/utils/main_element_utils.cpp",
  "src/utils/modal_system_dialog_util.cpp",
  "src/utils/multi_app_utils.cpp",
  "src/utils/multi_instance_utils.cpp",
  "src/utils/oe_extension_utils.cpp",
  "src/utils/start_ability_utils.cpp",
  "src/utils/hidden_start_utils.cpp",
  "src/utils/start_options_utils.cpp",
  "src/utils/state_utils.cpp",
  "src/utils/update_caller_info_util.cpp",
  "src/utils/uri_utils.cpp",
  "src/utils/want_utils.cpp",
  "src/utils/window_options_utils.cpp",
  "src/utils/timeout_state_utils.cpp",
  "src/kiosk_status.cpp",
  "src/kiosk_manager.cpp",
  "src/utils/udmf_utils.cpp",

  #modular_object utils
  "src/modular_object_utils.cpp",
]

if (ability_runtime_graphics) {
  abilityms_files += [
    "${ability_runtime_services_path}/appdfr/src/application_anr_listener.cpp",
    "src/implicit_start_processor.cpp",
    "src/system_dialog_scheduler.cpp",
    "src/ability_first_frame_state_observer_manager.cpp",
    "src/screen_lock/unlock_screen_callback.cpp",
  ]
}

if (include_app_domain_verify) {
  abilityms_files += [ "src/ag_convert_callback_impl.cpp" ]
}