blob: 05cf1f1a2c7e48a64f563448498ec5ac5d7f51a0 [file] [log] [blame]
# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
}
if (is_android) {
android_library("internal_java") {
sources = [
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskBroadcastReceiver.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskJobService.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManager.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImpl.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerPrefs.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerUma.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/ExtrasToProtoConverter.java",
]
deps = [
":proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
"$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/background_task_scheduler:public_java",
"//content/public/android:content_main_dex_java",
"//third_party/android_deps:chromium_play_services_availability_java",
"//third_party/android_deps:protobuf_lite_runtime_java",
"//third_party/androidx:androidx_annotation_annotation_java",
]
}
proto_java_library("proto_java") {
proto_path = "proto"
sources = [ "$proto_path/scheduled_task.proto" ]
}
static_library("native_task") {
sources = [
"android/native_task_scheduler.cc",
"android/native_task_scheduler.h",
"android/task_info_bridge.cc",
"android/task_info_bridge.h",
]
deps = [
":jni_headers",
"//base",
"//components/background_task_scheduler:public",
]
}
android_library("native_task_java") {
sources = [
"android/java/src/org/chromium/components/background_task_scheduler/internal/NativeTaskScheduler.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/TaskInfoBridge.java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
deps = [
"//base:base_java",
"//components/background_task_scheduler:factory_java",
"//components/background_task_scheduler:public_java",
"//third_party/androidx:androidx_annotation_annotation_java",
]
}
generate_jni("jni_headers") {
visibility = [ ":*" ]
sources = [
"android/java/src/org/chromium/components/background_task_scheduler/internal/NativeTaskScheduler.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/TaskInfoBridge.java",
]
}
android_library("background_task_scheduler_javatests") {
testonly = true
sources = [
"android/javatests/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImplWithMockTest.java",
"android/javatests/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobServiceTest.java",
"android/javatests/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverterTest.java",
"android/javatests/src/org/chromium/components/background_task_scheduler/internal/MockBackgroundTaskSchedulerDelegate.java",
]
deps = [
":internal_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
"$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/background_task_scheduler:public_java",
"//content/public/test/android:content_java_test_support",
"//third_party/android_support_test_runner:runner_java",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/junit",
]
}
}