diff --git a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSLogger.java b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSLogger.java new file mode 100644 index 00000000000..44536c46d66 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSLogger.java @@ -0,0 +1,27 @@ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +package com.facebook.csslayout; + +import com.facebook.proguard.annotations.DoNotStrip; + +/** + * Inteface for recieving logs from native layer. Use by setting CSSNode.setLogger(myLogger); + * LOG_LEVEL_ERROR indicated a fatal error. + */ +public interface CSSLogger { + public final int LOG_LEVEL_ERROR = 0; + public final int LOG_LEVEL_WARN = 1; + public final int LOG_LEVEL_INFO = 2; + public final int LOG_LEVEL_DEBUG = 3; + public final int LOG_LEVEL_VERBOSE = 4; + + @DoNotStrip + void log(int level, String message); +} diff --git a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java index 612be246305..9cc47686b68 100644 --- a/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java +++ b/ReactAndroid/src/main/java/com/facebook/csslayout/CSSNode.java @@ -33,6 +33,12 @@ public class CSSNode implements CSSNodeAPI { * Get native instance count. Useful for testing only. */ static native int jni_CSSNodeGetInstanceCount(); + static native void jni_CSSLog(int level, String message); + + private static native void jni_CSSLayoutSetLogger(Object logger); + public static void setLogger(CSSLogger logger) { + jni_CSSLayoutSetLogger(logger); + } private CSSNode mParent; private List mChildren;