| # 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", |
| ] |
| } |
| } |