# Copyright (c) 2022-2024 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("//build/ohos.gni")
import("//foundation/arkui/ace_engine/ace_config.gni")
import(
    "//foundation/arkui/ace_engine/adapter/android/capability/java/capability.gni")

# common java files
common_java_files = [
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AceEnv.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/ALog.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AppModeConfig.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/DumpHelper.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/ExecutorServiceInstance.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/IAceOnCallResourceMethod.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/IAceOnResourceEvent.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/ILogger.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/LibraryLoader.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AceResourceRegister.java",
  "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AceResourcePlugin.java",
]

# build common jar
java_library("ace_platform_common_java") {
  java_files = common_java_files
  java_files += common_capability_java_files

  subsystem_name = "arkui"
  part_name = "ace_engine_cross"
}

# build android jar
java_library("ace_platform_android_java") {
  java_files = [
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AcePlatformCapability.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AceEventProcessorAosp.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AcePlatformPlugin.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AceSurfaceHolder.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AceTextureHolder.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AvoidArea.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/DownloadManager.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/InputConnectionClient.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WantParams.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewSurface.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewTexture.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewCommon.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewInterface.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewAospInterface.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewAospSurface.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewAospTexture.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewAospCommon.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/WindowViewBuilder.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/AccessibilityCrossPlatformBridge.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/DisplayInfo.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/ArkUIXPluginRegistry.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/IPluginRegistry.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/IArkUIXPlugin.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/PluginContext.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/FoldInfo.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/FoldManager.java",
    "$ace_root/adapter/android/entrance/java/src/ohos/ace/adapter/DisplayManagerAgent.java",
  ]

  java_files += android_capability_java_files

  deps = [ ":ace_platform_common_java" ]

  input_jars_paths = [
    "//prebuilts/androidx/core-1.8.0/classes.jar",
    "//prebuilts/androidx/window-1.0.0/classes.jar",
    "//prebuilts/androidx/window-java-1.0.0/classes.jar",
  ]
  subsystem_name = "arkui"
  part_name = "ace_engine_cross"
}