1b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall/* 2b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * Copyright 2016 The Android Open Source Project 3b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * 4b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * Licensed under the Apache License, Version 2.0 (the "License"); 5b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * you may not use this file except in compliance with the License. 6b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * You may obtain a copy of the License at 7b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * 8b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * http://www.apache.org/licenses/LICENSE-2.0 9b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * 10b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * Unless required by applicable law or agreed to in writing, software 11b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * distributed under the License is distributed on an "AS IS" BASIS, 12b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * See the License for the specific language governing permissions and 14b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * limitations under the License. 15b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall */ 16b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 17b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall#define LOG_TAG "GraphicsEnvironment" 18b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 19354ac499944445eea3130cc6dc275332357f09f0Jiyong Park#include <graphicsenv/GraphicsEnv.h> 20b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall#include <nativehelper/ScopedUtfChars.h> 21b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall#include "core_jni_helpers.h" 22b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 23b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallnamespace { 24b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 25b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallvoid setDriverPath(JNIEnv* env, jobject clazz, jstring path) { 26b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall ScopedUtfChars pathChars(env, path); 27b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall android::GraphicsEnv::getInstance().setDriverPath(pathChars.c_str()); 28b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall} 29b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 30b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallconst JNINativeMethod g_methods[] = { 31b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall { "setDriverPath", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDriverPath) }, 32b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall}; 33b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 34b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallconst char* const kGraphicsEnvironmentName = "android/os/GraphicsEnvironment"; 35b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 36b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall} // anonymous namespace 37b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 38b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallnamespace android { 39b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 40b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallint register_android_os_GraphicsEnvironment(JNIEnv* env) { 41b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall return RegisterMethodsOrDie(env, kGraphicsEnvironmentName, g_methods, NELEM(g_methods)); 42b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall} 43b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall 44b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall} // namespace android 45