# 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. import("//build/config/android/rules.gni") import("//build/config/locales.gni") import("//tools/grit/grit_rule.gni") generate_jni("jni_headers") { sources = [ "java/src/org/chromium/components/permissions/PermissionDialogController.java", "java/src/org/chromium/components/permissions/PermissionDialogDelegate.java", "java/src/org/chromium/components/permissions/PermissionUmaUtil.java", "java/src/org/chromium/components/permissions/PermissionUtil.java", "java/src/org/chromium/components/permissions/nfc/NfcSystemLevelSetting.java", ] } android_resources("java_resources") { sources = [ "res/drawable-hdpi/exclamation_triangle.png", "res/drawable-hdpi/infobar_accessibility_events.png", "res/drawable-hdpi/infobar_camera.png", "res/drawable-hdpi/infobar_clipboard.png", "res/drawable-hdpi/infobar_desktop_notifications.png", "res/drawable-hdpi/infobar_geolocation.png", "res/drawable-hdpi/infobar_microphone.png", "res/drawable-hdpi/infobar_midi.png", "res/drawable-hdpi/infobar_nfc.png", "res/drawable-hdpi/infobar_protected_media_identifier.png", "res/drawable-hdpi/infobar_warning.png", "res/drawable-hdpi/permission_cookie.png", "res/drawable-hdpi/settings_nfc.png", "res/drawable-hdpi/vr_headset.png", "res/drawable-mdpi/exclamation_triangle.png", "res/drawable-mdpi/infobar_accessibility_events.png", "res/drawable-mdpi/infobar_camera.png", "res/drawable-mdpi/infobar_clipboard.png", "res/drawable-mdpi/infobar_desktop_notifications.png", "res/drawable-mdpi/infobar_geolocation.png", "res/drawable-mdpi/infobar_microphone.png", "res/drawable-mdpi/infobar_midi.png", "res/drawable-mdpi/infobar_nfc.png", "res/drawable-mdpi/infobar_protected_media_identifier.png", "res/drawable-mdpi/infobar_warning.png", "res/drawable-mdpi/permission_cookie.png", "res/drawable-mdpi/settings_nfc.png", "res/drawable-mdpi/vr_headset.png", "res/drawable-xhdpi/exclamation_triangle.png", "res/drawable-xhdpi/infobar_accessibility_events.png", "res/drawable-xhdpi/infobar_camera.png", "res/drawable-xhdpi/infobar_clipboard.png", "res/drawable-xhdpi/infobar_desktop_notifications.png", "res/drawable-xhdpi/infobar_geolocation.png", "res/drawable-xhdpi/infobar_microphone.png", "res/drawable-xhdpi/infobar_midi.png", "res/drawable-xhdpi/infobar_nfc.png", "res/drawable-xhdpi/infobar_protected_media_identifier.png", "res/drawable-xhdpi/infobar_warning.png", "res/drawable-xhdpi/permission_cookie.png", "res/drawable-xhdpi/settings_nfc.png", "res/drawable-xhdpi/vr_headset.png", "res/drawable-xxhdpi/exclamation_triangle.png", "res/drawable-xxhdpi/infobar_accessibility_events.png", "res/drawable-xxhdpi/infobar_camera.png", "res/drawable-xxhdpi/infobar_clipboard.png", "res/drawable-xxhdpi/infobar_desktop_notifications.png", "res/drawable-xxhdpi/infobar_geolocation.png", "res/drawable-xxhdpi/infobar_microphone.png", "res/drawable-xxhdpi/infobar_midi.png", "res/drawable-xxhdpi/infobar_nfc.png", "res/drawable-xxhdpi/infobar_protected_media_identifier.png", "res/drawable-xxhdpi/infobar_warning.png", "res/drawable-xxhdpi/permission_cookie.png", "res/drawable-xxhdpi/settings_nfc.png", "res/drawable-xxhdpi/vr_headset.png", "res/drawable-xxxhdpi/exclamation_triangle.png", "res/drawable-xxxhdpi/infobar_accessibility_events.png", "res/drawable-xxxhdpi/infobar_camera.png", "res/drawable-xxxhdpi/infobar_clipboard.png", "res/drawable-xxxhdpi/infobar_desktop_notifications.png", "res/drawable-xxxhdpi/infobar_geolocation.png", "res/drawable-xxxhdpi/infobar_microphone.png", "res/drawable-xxxhdpi/infobar_midi.png", "res/drawable-xxxhdpi/infobar_nfc.png", "res/drawable-xxxhdpi/infobar_protected_media_identifier.png", "res/drawable-xxxhdpi/infobar_warning.png", "res/drawable-xxxhdpi/permission_cookie.png", "res/drawable-xxxhdpi/settings_nfc.png", "res/drawable-xxxhdpi/vr_headset.png", "res/drawable/permission_idle_detection.xml", "res/layout/update_permissions_dialog.xml", ] deps = [ ":permissions_strings_grd", "//components/browser_ui/modaldialog/android:java_resources", "//components/browser_ui/strings/android:browser_ui_strings_grd", "//components/browser_ui/styles/android:java_resources", ] } java_strings_grd("permissions_strings_grd") { grd_file = "permissions_android_strings.grd" outputs = [ "values/permissions_android_strings.xml" ] + process_file_template( android_bundle_locales_as_resources, [ "values-{{source_name_part}}/permissions_android_strings.xml" ]) } android_library("java") { sources = [ "java/src/org/chromium/components/permissions/AndroidPermissionRequester.java", "java/src/org/chromium/components/permissions/PermissionDialogController.java", "java/src/org/chromium/components/permissions/PermissionDialogDelegate.java", "java/src/org/chromium/components/permissions/PermissionDialogModel.java", "java/src/org/chromium/components/permissions/PermissionUmaUtil.java", "java/src/org/chromium/components/permissions/PermissionUtil.java", "java/src/org/chromium/components/permissions/nfc/NfcSystemLevelPrompt.java", "java/src/org/chromium/components/permissions/nfc/NfcSystemLevelSetting.java", ] deps = [ ":java_resources", "//base:base_java", "//base:jni_java", "//components/browser_ui/modaldialog/android:java", "//components/content_settings/android:content_settings_enums_java", "//content/public/android:content_java", "//third_party/android_deps:android_support_v4_java", "//third_party/android_deps:androidx_annotation_annotation_java", "//ui/android:ui_java", ] annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] resources_package = "org.chromium.components.permissions" } java_library("components_permissions_junit_tests") { # Platform checks are broken for Robolectric. See https://crbug.com/1071638. bypass_platform_checks = true testonly = true sources = [ "junit/src/org/chromium/components/permissions/nfc/NfcSystemLevelPromptTest.java" ] deps = [ ":java", "//base:base_java_test_support", "//base:base_junit_test_support", "//third_party/android_deps:robolectric_all_java", "//third_party/junit", "//third_party/mockito:mockito_java", "//ui/android:ui_java", ] } source_set("native") { sources = [ "nfc/nfc_system_level_setting.h", "nfc/nfc_system_level_setting_impl.cc", "nfc/nfc_system_level_setting_impl.h", ] deps = [ ":jni_headers", "//base", "//content/public/browser", ] } source_set("test_support") { testonly = true sources = [ "nfc/mock_nfc_system_level_setting.cc", "nfc/mock_nfc_system_level_setting.h", ] deps = [ ":native", "//base", ] }