Home | History | Annotate | Download | only in android
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/android/base_jni_registrar.h"
      6 
      7 #include "base/android/animation_frame_time_histogram.h"
      8 #include "base/android/application_status_listener.h"
      9 #include "base/android/command_line_android.h"
     10 #include "base/android/context_utils.h"
     11 #include "base/android/cpu_features.h"
     12 #include "base/android/early_trace_event_binding.h"
     13 #include "base/android/field_trial_list.h"
     14 #include "base/android/important_file_writer_android.h"
     15 #include "base/android/java_exception_reporter.h"
     16 #include "base/android/java_handler_thread.h"
     17 #include "base/android/jni_android.h"
     18 #include "base/android/jni_registrar.h"
     19 #include "base/android/memory_pressure_listener_android.h"
     20 #include "base/android/path_service_android.h"
     21 #include "base/android/record_histogram.h"
     22 #include "base/android/record_user_action.h"
     23 #include "base/android/statistics_recorder_android.h"
     24 #include "base/android/time_utils.h"
     25 #include "base/android/trace_event_binding.h"
     26 #include "base/macros.h"
     27 #include "base/message_loop/message_pump_android.h"
     28 #include "base/power_monitor/power_monitor_device_source_android.h"
     29 #include "base/trace_event/trace_event.h"
     30 
     31 namespace base {
     32 namespace android {
     33 
     34 static RegistrationMethod kBaseRegisteredMethods[] = {
     35     {"AnimationFrameTimeHistogram",
     36      base::android::RegisterAnimationFrameTimeHistogram},
     37     {"ApplicationStatusListener",
     38      base::android::ApplicationStatusListener::RegisterBindings},
     39     {"CommandLine", base::android::RegisterCommandLine},
     40     {"ContextUtils", base::android::RegisterContextUtils},
     41     {"CpuFeatures", base::android::RegisterCpuFeatures},
     42     {"EarlyTraceEvent", base::android::RegisterEarlyTraceEvent},
     43     {"FieldTrialList", base::android::RegisterFieldTrialList},
     44     {"ImportantFileWriterAndroid",
     45      base::android::RegisterImportantFileWriterAndroid},
     46     {"MemoryPressureListenerAndroid",
     47      base::android::MemoryPressureListenerAndroid::Register},
     48     {"JavaExceptionReporter", base::android::RegisterJavaExceptionReporterJni},
     49     {"JavaHandlerThread", base::android::JavaHandlerThread::RegisterBindings},
     50     {"PathService", base::android::RegisterPathService},
     51     {"PowerMonitor", base::RegisterPowerMonitor},
     52     {"RecordHistogram", base::android::RegisterRecordHistogram},
     53     {"RecordUserAction", base::android::RegisterRecordUserAction},
     54     {"StatisticsRecorderAndroid",
     55      base::android::RegisterStatisticsRecorderAndroid},
     56     {"SystemMessageHandler", base::MessagePumpForUI::RegisterBindings},
     57     {"TimeUtils", base::android::RegisterTimeUtils},
     58     {"TraceEvent", base::android::RegisterTraceEvent},
     59 };
     60 
     61 bool RegisterJni(JNIEnv* env) {
     62   TRACE_EVENT0("startup", "base_android::RegisterJni");
     63   return RegisterNativeMethods(env, kBaseRegisteredMethods,
     64                                arraysize(kBaseRegisteredMethods));
     65 }
     66 
     67 }  // namespace android
     68 }  // namespace base
     69