/* * Copyright 2017 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ package org.webrtc.native_test; import android.app.Activity; import android.util.Log; import org.chromium.build.NativeLibraries; import org.webrtc.native_test.NativeTestWebrtc; import org.webrtc.ContextUtils; /** * Native unit test that calls ContextUtils.initialize for WebRTC. */ public class RTCNativeUnitTest extends NativeTestWebrtc { private static final String TAG = "RTCNativeUnitTest"; private static final String LIBRARY_UNDER_TEST_NAME = "org.chromium.native_test.NativeTestInstrumentationTestRunner.LibraryUnderTest"; @Override public void preCreate(Activity activity) { super.preCreate(activity); // For NativeActivity based tests, dependency libraries must be loaded before // NativeActivity::OnCreate, otherwise loading android.app.lib_name will fail String libraryToLoad = activity.getIntent().getStringExtra(LIBRARY_UNDER_TEST_NAME); loadLibraries( libraryToLoad != null ? new String[] {libraryToLoad} : NativeLibraries.LIBRARIES); ContextUtils.initialize(activity.getApplicationContext()); } private void loadLibraries(String[] librariesToLoad) { for (String library : librariesToLoad) { Log.i(TAG, "loading: " + library); System.loadLibrary(library); Log.i(TAG, "loaded: " + library); } } }