You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 36ed224bac
Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
1 year ago
..
java/src/org/chromium/base Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
javatests/src/org/chromium/base Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_generator Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
junit/src/org/chromium/base Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
library_loader Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
linker Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
orderfile Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
proguard Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
task_scheduler Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
COMMON_METADATA Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
DIR_METADATA Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
README.md Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
android_hardware_buffer_compat.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
android_hardware_buffer_compat.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
android_image_reader_abi.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
android_image_reader_compat.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
android_image_reader_compat.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
android_image_reader_compat_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
apk_assets.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
apk_assets.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
application_status_listener.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
application_status_listener.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
application_status_listener_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
base_feature_list.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
base_features.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
base_features.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
base_jni_onload.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
base_jni_onload.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
build_info.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
build_info.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
bundle_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
bundle_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
callback_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
callback_android.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
child_process_binding_types.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
child_process_service.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
child_process_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
command_line_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
content_uri_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
content_uri_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
content_uri_utils_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cpu_features.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
early_trace_event_binding.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
early_trace_event_binding.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_log.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_log.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
feature_list_jni.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
features_jni.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
field_trial_list.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
important_file_writer_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
int_string_callback.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
int_string_callback.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_exception_reporter.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_exception_reporter.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_handler_thread.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_handler_thread.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_handler_thread_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_heap_dump_generator.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_heap_dump_generator.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_runtime.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
java_runtime.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_android.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_android_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_array.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_array.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_array_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_int_wrapper.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_registrar.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_registrar.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_string.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_string.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_string_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_weak_ref.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
jni_weak_ref.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
locale_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
locale_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
meminfo_dump_provider.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
meminfo_dump_provider.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
meminfo_dump_provider_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
memory_pressure_listener_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
memory_pressure_listener_android.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
native_uma_recorder.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
path_service_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
path_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
path_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
path_utils_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
radio_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
radio_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
radio_utils_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
reached_addresses_bitset.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
reached_addresses_bitset.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
reached_addresses_bitset_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
reached_code_profiler.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
reached_code_profiler.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
reached_code_profiler_stub.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
remove_stale_data.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
remove_stale_data.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
resource_exclusions.gni Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scoped_hardware_buffer_fence_sync.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scoped_hardware_buffer_fence_sync.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scoped_hardware_buffer_handle.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scoped_hardware_buffer_handle.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scoped_java_ref.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scoped_java_ref.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scoped_java_ref_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
statistics_recorder_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sys_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sys_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sys_utils_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
thread_instruction_count.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
thread_instruction_count.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
timezone_utils.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
timezone_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
trace_event_binding.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
trace_event_binding.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
unguessable_token_android.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
unguessable_token_android.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
unguessable_token_android_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago

README.md

//base/android

This directory contains:

  • C++ APIs that are broadly useful and are unique to target_os="android", and
  • Java APIs that are broadly useful, along C++ bindings when necessary.

This directory does not contain Android-specific implementations / extensions to APIs declared directly in //base. Those live in //base/*_android.cc, or behind #ifdefs.

Adding New APIs

The advice laid out in //base/README.md applies to this directory as well. The bars for what APIs should exist and for code quality are generally higher than for other directories. If you find yourself wanting to add a new API, you should expect that code reviews take multiple revisions and that they be met with (respectful) scrutiny.

If you are not sure whether an API would make sense to add, you can ask via java@chromium.org. It is common to add APIs to //chrome (or elsewhere) first, and move them into //base after their usefulness has been proven.

What Uses //base/android?

The main two clients are Chrome and WebView, but it is also used by other Chromium-based apps, such as Chromecast and Chrome Remote desktop. Some //base/android classes are used by //build (this is a layering violation, tracked in crbug/1364192 and crbug/1377351).

Two considerations for WebView:

  1. The application Context is that of the host app's.
  2. The UI thread might be different from the main thread.

New API Checklist

Here is a list of checks you should go through when adding a new API:

  1. The functionality does not already exist in system libraries (Java APIs, Android SDK) or in already adopted third_party libraries, such as AndroidX.
  2. Reasonable effort has been made to ensure the new API is discoverable. E.g.: Coordinate refactorings of existing patterns to it, add a [presubmit check], to recommend it, etc.
  3. Tests (ideally Robolectric) are added.
  4. Thought has been put into API design.
    • E.g. adding @Nullable, or @DoNotMock
    • E.g. adding test helpers, such as ForTesting() methods or TestRules
    • E.g. adding asserts or comments about thread-safety
    • E.g. could usage of the API be made harder to get wrong?

Choosing a Reviewer

All members of //base/android/OWNERS will be CC'ed on reviews through a //WATCHLIST entry. For new APIs, feel free to pick a reviewer at random. For modifying existing files, it is best to use a reviewer from prior changes to the file.