Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04f0cab7 authored by Andreas Huber's avatar Andreas Huber Committed by Android (Google) Code Review
Browse files

Merge "Split AndroidRuntime into AndroidRuntimeBase base-class and the rest."

parents f6475c72 78253349
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ LOCAL_SHARED_LIBRARIES := \
	libutils \
	liblog \
	libbinder \
	libandroid_runtime
	libandroid_runtime_derived

LOCAL_MODULE:= app_process

@@ -30,7 +30,7 @@ LOCAL_SHARED_LIBRARIES := \
	libutils \
	liblog \
	libbinder \
	libandroid_runtime
	libandroid_runtime_derived

LOCAL_MODULE := app_process__asan
LOCAL_MODULE_TAGS := eng
+21 −3
Original line number Diff line number Diff line
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
	AndroidRuntimeBase.cpp \
	android_os_Parcel.cpp \
	android_util_Binder.cpp

LOCAL_SHARED_LIBRARIES:= \
	libbinder \
	libcutils \
	libnativehelper \
	libutils \

LOCAL_MODULE := libandroid_runtime

include $(BUILD_SHARED_LIBRARY)

################################################################################

include $(CLEAR_VARS)

LOCAL_CFLAGS += -DHAVE_CONFIG_H -DKHTML_NO_EXCEPTIONS -DGKWQ_NO_JAVA
LOCAL_CFLAGS += -DNO_SUPPORT_JS_BINDING -DQT_NO_WHEELEVENT -DKHTML_NO_XBL
LOCAL_CFLAGS += -U__APPLE__
@@ -67,7 +86,6 @@ LOCAL_SRC_FILES:= \
	android_os_Debug.cpp \
	android_os_MemoryFile.cpp \
	android_os_MessageQueue.cpp \
	android_os_Parcel.cpp \
	android_os_SELinux.cpp \
	android_os_SystemClock.cpp \
	android_os_SystemProperties.cpp \
@@ -79,7 +97,6 @@ LOCAL_SRC_FILES:= \
	android_nio_utils.cpp \
	android_text_format_Time.cpp \
	android_util_AssetManager.cpp \
	android_util_Binder.cpp \
	android_util_EventLog.cpp \
	android_util_Log.cpp \
	android_util_FloatMath.cpp \
@@ -183,6 +200,7 @@ LOCAL_C_INCLUDES += \

LOCAL_SHARED_LIBRARIES := \
	libmemtrack \
	libandroid_runtime \
	libandroidfw \
	libexpat \
	libnativehelper \
@@ -243,7 +261,7 @@ ifeq ($(WITH_MALLOC_LEAK_CHECK),true)
	LOCAL_CFLAGS += -DMALLOC_LEAK_CHECK
endif

LOCAL_MODULE:= libandroid_runtime
LOCAL_MODULE:= libandroid_runtime_derived

include external/stlport/libstlport.mk
include $(BUILD_SHARED_LIBRARY)
+0 −28
Original line number Diff line number Diff line
@@ -227,9 +227,6 @@ int register_com_android_internal_os_RuntimeInit(JNIEnv* env)

// ----------------------------------------------------------------------

/*static*/ JavaVM* AndroidRuntime::mJavaVM = NULL;


AndroidRuntime::AndroidRuntime() :
        mExitWithoutCleanup(false)
{
@@ -257,15 +254,6 @@ AndroidRuntime::~AndroidRuntime()
    SkGraphics::Term();
}

/*
 * Register native methods using JNI.
 */
/*static*/ int AndroidRuntime::registerNativeMethods(JNIEnv* env,
    const char* className, const JNINativeMethod* gMethods, int numMethods)
{
    return jniRegisterNativeMethods(env, className, gMethods, numMethods);
}

status_t AndroidRuntime::callMain(const char* className,
    jclass clazz, int argc, const char* const argv[])
{
@@ -927,22 +915,6 @@ void AndroidRuntime::onVmCreated(JNIEnv* env)
    // If AndroidRuntime had anything to do here, we'd have done it in 'start'.
}

/*
 * Get the JNIEnv pointer for this thread.
 *
 * Returns NULL if the slot wasn't allocated or populated.
 */
/*static*/ JNIEnv* AndroidRuntime::getJNIEnv()
{
    JNIEnv* env;
    JavaVM* vm = AndroidRuntime::getJavaVM();
    assert(vm != NULL);

    if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK)
        return NULL;
    return env;
}

/*
 * Makes the current thread visible to the VM.
 *
+56 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#define LOG_TAG "AndroidRuntimeBase"
//#define LOG_NDEBUG 0
#include <utils/Log.h>

#include <android_runtime/AndroidRuntime.h>

#include "jni.h"
#include "JNIHelp.h"

namespace android {

/*static*/ JavaVM* AndroidRuntimeBase::mJavaVM = NULL;

/*
 * Get the JNIEnv pointer for this thread.
 *
 * Returns NULL if the slot wasn't allocated or populated.
 */
/*static*/ JNIEnv* AndroidRuntimeBase::getJNIEnv()
{
    JNIEnv* env;
    JavaVM* vm = AndroidRuntimeBase::getJavaVM();
    assert(vm != NULL);

    if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK)
        return NULL;
    return env;
}

/*
 * Register native methods using JNI.
 */
/*static*/ int AndroidRuntimeBase::registerNativeMethods(JNIEnv* env,
    const char* className, const JNINativeMethod* gMethods, int numMethods)
{
    return jniRegisterNativeMethods(env, className, gMethods, numMethods);
}

}  // namespace android
+3 −16
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@
#ifndef _RUNTIME_ANDROID_RUNTIME_H
#define _RUNTIME_ANDROID_RUNTIME_H

#include "AndroidRuntimeBase.h"

#include <utils/Errors.h>
#include <binder/IBinder.h>
#include <utils/String8.h>
@@ -31,7 +33,7 @@

namespace android {

class AndroidRuntime
class AndroidRuntime : public AndroidRuntimeBase
{
public:
    AndroidRuntime();
@@ -44,12 +46,6 @@ public:
        Tool,
    };

    /**
     * Register a set of methods in the specified class.
     */
    static int registerNativeMethods(JNIEnv* env,
        const char* className, const JNINativeMethod* gMethods, int numMethods);

    /**
     * Call a class's static main method with the given arguments,
     */
@@ -104,12 +100,6 @@ public:
    static android_thread_id_t createJavaThread(const char* name, void (*start)(void *),
        void* arg);

    /** return a pointer to the VM running in this process */
    static JavaVM* getJavaVM() { return mJavaVM; }

    /** return a pointer to the JNIEnv pointer for this thread */
    static JNIEnv* getJNIEnv();

    /** return a new string corresponding to 'className' with all '.'s replaced by '/'s. */
    static char* toSlashClassName(const char* className);

@@ -121,9 +111,6 @@ private:
    Vector<JavaVMOption> mOptions;
    bool mExitWithoutCleanup;

    /* JNI JavaVM pointer */
    static JavaVM* mJavaVM;

    /*
     * Thread creation helpers.
     */
Loading