# Copyright 2014 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. { 'conditions': [ ['OS=="android"', { 'variables': { # These hooks allow official builds to modify the remoting_apk target: # Official build of remoting_apk pulls in extra code. 'remoting_apk_extra_dependencies%': [], # A different ProGuard config for Google Play Services is needed since the one used by # Chromium and Google Chrome strips out code that we need. 'remoting_android_google_play_services_javalib%': '../third_party/android_tools/android_tools.gyp:google_play_services_javalib', # Allows official builds to define the ApplicationContext class differently, and provide # different implementations of parts of the product. 'remoting_apk_java_in_dir%': 'android/apk', }, 'targets': [ { 'target_name': 'remoting_jni_headers', 'type': 'none', 'sources': [ 'android/java/src/org/chromium/chromoting/jni/Client.java', 'android/java/src/org/chromium/chromoting/jni/JniInterface.java', 'android/java/src/org/chromium/chromoting/jni/TouchEventData.java', ], 'variables': { 'jni_gen_package': 'remoting', }, 'includes': [ '../build/jni_generator.gypi' ], }, # end of target 'remoting_jni_headers' { 'target_name': 'remoting_client_jni', 'type': 'shared_library', 'dependencies': [ 'remoting_base', 'remoting_client', 'remoting_jni_headers', 'remoting_protocol', '../ui/events/events.gyp:dom_keycode_converter', '../ui/gfx/gfx.gyp:gfx', ], 'sources': [ 'client/jni/android_keymap.cc', 'client/jni/android_keymap.h', 'client/jni/chromoting_jni_instance.cc', 'client/jni/chromoting_jni_instance.h', 'client/jni/chromoting_jni_runtime.cc', 'client/jni/chromoting_jni_runtime.h', 'client/jni/jni_client.cc', 'client/jni/jni_client.h', 'client/jni/jni_frame_consumer.cc', 'client/jni/jni_frame_consumer.h', 'client/jni/jni_touch_event_data.cc', 'client/jni/jni_touch_event_data.h', 'client/jni/remoting_jni_onload.cc', 'client/jni/remoting_jni_registrar.cc', 'client/jni/remoting_jni_registrar.h', ], 'conditions': [ ['buildtype!="Official"', { 'defines': [ 'ENABLE_WEBRTC_REMOTING_CLIENT' ] }] ], }, # end of target 'remoting_client_jni' { 'target_name': 'remoting_android_resources', 'type': 'none', 'copies': [ { 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/raw', 'files': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/credits.html', 'webapp/base/html/credits_css.css', 'webapp/base/html/main.css', 'webapp/base/js/credits_js.js', ], }, ], 'dependencies': [ 'remoting_client_credits', ], }, # end of target 'remoting_android_resources' { 'target_name': 'remoting_apk_manifest', 'type': 'none', 'sources': [ 'android/java/AndroidManifest.xml.jinja2', ], 'rules': [{ 'rule_name': 'generate_manifest', 'extension': 'jinja2', 'inputs': [ '<(remoting_localize_path)', '<(branding_path)', ], 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/<(RULE_INPUT_ROOT)', ], 'action': [ 'python', '<(remoting_localize_path)', '--variables', '<(branding_path)', '--template', '<(RULE_INPUT_PATH)', '--locale_output', '<@(_outputs)', '--define', 'ENABLE_CARDBOARD=<(enable_cardboard)', 'en', ], }], }, # end of target 'remoting_apk_manifest' { 'target_name': 'remoting_android_client_java', 'type': 'none', 'variables': { 'java_in_dir': 'android/java', 'has_java_resources': 1, 'R_package': 'org.chromium.chromoting', 'R_package_relpath': 'org/chromium/chromoting', 'res_extra_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res' ], 'res_extra_files': [ '