| # 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/AndroidPermissionRequester.java", |
| "java/src/org/chromium/components/permissions/BluetoothChooserDialog.java", |
| "java/src/org/chromium/components/permissions/BluetoothScanningPermissionDialog.java", |
| "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/PermissionsAndroidFeatureList.java", |
| "java/src/org/chromium/components/permissions/nfc/NfcSystemLevelSetting.java", |
| ] |
| } |
| |
| android_resources("java_resources") { |
| sources = [ |
| "res/color/item_chooser_row_background.xml", |
| "res/color/item_chooser_row_icon_color.xml", |
| "res/color/item_chooser_row_text_color.xml", |
| "res/drawable-hdpi/exclamation_triangle.png", |
| "res/drawable-hdpi/infobar_accessibility_events.png", |
| "res/drawable-hdpi/infobar_downloading.png", |
| "res/drawable-hdpi/infobar_protected_media_identifier.png", |
| "res/drawable-hdpi/infobar_warning.png", |
| "res/drawable-hdpi/permission_cookie.png", |
| "res/drawable-mdpi/exclamation_triangle.png", |
| "res/drawable-mdpi/infobar_accessibility_events.png", |
| "res/drawable-mdpi/infobar_downloading.png", |
| "res/drawable-mdpi/infobar_protected_media_identifier.png", |
| "res/drawable-mdpi/infobar_warning.png", |
| "res/drawable-mdpi/permission_cookie.png", |
| "res/drawable-xhdpi/exclamation_triangle.png", |
| "res/drawable-xhdpi/infobar_accessibility_events.png", |
| "res/drawable-xhdpi/infobar_downloading.png", |
| "res/drawable-xhdpi/infobar_protected_media_identifier.png", |
| "res/drawable-xhdpi/infobar_warning.png", |
| "res/drawable-xhdpi/permission_cookie.png", |
| "res/drawable-xxhdpi/exclamation_triangle.png", |
| "res/drawable-xxhdpi/infobar_accessibility_events.png", |
| "res/drawable-xxhdpi/infobar_downloading.png", |
| "res/drawable-xxhdpi/infobar_protected_media_identifier.png", |
| "res/drawable-xxhdpi/infobar_warning.png", |
| "res/drawable-xxhdpi/permission_cookie.png", |
| "res/drawable-xxxhdpi/exclamation_triangle.png", |
| "res/drawable-xxxhdpi/infobar_accessibility_events.png", |
| "res/drawable-xxxhdpi/infobar_downloading.png", |
| "res/drawable-xxxhdpi/infobar_protected_media_identifier.png", |
| "res/drawable-xxxhdpi/infobar_warning.png", |
| "res/drawable-xxxhdpi/permission_cookie.png", |
| "res/drawable/gm_filled_bluetooth_searching_20.xml", |
| "res/drawable/gm_filled_bluetooth_searching_24.xml", |
| "res/drawable/gm_filled_cardboard_20.xml", |
| "res/drawable/gm_filled_cardboard_24.xml", |
| "res/drawable/gm_filled_content_paste_20.xml", |
| "res/drawable/gm_filled_content_paste_24.xml", |
| "res/drawable/gm_filled_devices_20.xml", |
| "res/drawable/gm_filled_devices_24.xml", |
| "res/drawable/gm_filled_location_on_20.xml", |
| "res/drawable/gm_filled_location_on_24.xml", |
| "res/drawable/gm_filled_mic_20.xml", |
| "res/drawable/gm_filled_mic_24.xml", |
| "res/drawable/gm_filled_nfc_20.xml", |
| "res/drawable/gm_filled_nfc_24.xml", |
| "res/drawable/gm_filled_notifications_20.xml", |
| "res/drawable/gm_filled_notifications_24.xml", |
| "res/drawable/gm_filled_piano_20.xml", |
| "res/drawable/gm_filled_piano_24.xml", |
| "res/drawable/gm_filled_usb_20.xml", |
| "res/drawable/gm_filled_usb_24.xml", |
| "res/drawable/gm_filled_videocam_20.xml", |
| "res/drawable/gm_filled_videocam_24.xml", |
| "res/drawable/ic_bluetooth_connected.xml", |
| "res/drawable/ic_signal_cellular_0_bar.xml", |
| "res/drawable/ic_signal_cellular_1_bar.xml", |
| "res/drawable/ic_signal_cellular_2_bar.xml", |
| "res/drawable/ic_signal_cellular_3_bar.xml", |
| "res/drawable/ic_signal_cellular_4_bar.xml", |
| "res/layout/bluetooth_scanning_permission_dialog.xml", |
| "res/layout/bluetooth_scanning_permission_dialog_row.xml", |
| "res/layout/device_item_list.xml", |
| "res/layout/item_chooser_dialog.xml", |
| "res/layout/item_chooser_dialog_row.xml", |
| "res/layout/update_permissions_dialog.xml", |
| "res/values/styles.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", |
| "//components/strings:components_strings_grd", |
| ] |
| } |
| |
| 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/BluetoothChooserAndroidDelegate.java", |
| "java/src/org/chromium/components/permissions/BluetoothChooserDialog.java", |
| "java/src/org/chromium/components/permissions/BluetoothScanningPermissionDialog.java", |
| "java/src/org/chromium/components/permissions/BluetoothScanningPromptAndroidDelegate.java", |
| "java/src/org/chromium/components/permissions/DeviceItemAdapter.java", |
| "java/src/org/chromium/components/permissions/DeviceItemRow.java", |
| "java/src/org/chromium/components/permissions/ItemChooserDialog.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/nfc/NfcSystemLevelPrompt.java", |
| "java/src/org/chromium/components/permissions/nfc/NfcSystemLevelSetting.java", |
| ] |
| deps = [ |
| ":core_java", |
| ":java_resources", |
| "//base:base_java", |
| "//components/browser_ui/modaldialog/android:java", |
| "//components/content_settings/android:content_settings_enums_java", |
| "//components/location/android:location_java", |
| "//components/omnibox/browser:browser_java", |
| "//content/public/android:content_java", |
| "//third_party/android_deps:android_support_v4_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_appcompat_appcompat_resources_java", |
| "//third_party/androidx:androidx_vectordrawable_vectordrawable_java", |
| "//ui/android:ui_java", |
| ] |
| annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] |
| resources_package = "org.chromium.components.permissions" |
| } |
| |
| # Contains sources that do no depend on //content. |
| android_library("core_java") { |
| sources = [ |
| "java/src/org/chromium/components/permissions/PermissionUtil.java", |
| "java/src/org/chromium/components/permissions/PermissionsAndroidFeatureList.java", |
| ] |
| deps = [ |
| "//base:base_java", |
| "//components/content_settings/android:content_settings_enums_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_core_core_java", |
| ] |
| annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] |
| } |
| |
| 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", |
| ] |
| } |