/* * Copyright (c) AppDynamics, Inc., and its affiliates * 2023 * All Rights Reserved * THIS IS UNPUBLISHED PROPRIETARY CODE OF APPDYNAMICS, INC. * The copyright notice above does not evidence any actual or intended publication of such source code */ package com.appdynamics.eum.reactnative import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.Promise import com.facebook.react.bridge.Callback import com.facebook.react.bridge.ReadableMap import com.facebook.react.bridge.ReadableArray import com.facebook.react.bridge.ReactMethod class ReactNativeAppdynamicsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { private val impl = ReactNativeAppdynamicsModuleImpl(reactContext) override fun getName(): String { return ReactNativeAppdynamicsModuleImpl.NAME } override fun getConstants(): Map { return impl.getConstants() } @ReactMethod fun setCrashReportCallback(cb: Callback) { impl.setCrashReportCallback(cb) } @ReactMethod fun start(properties: ReadableMap, hybridAgentType: String?, hybridAgentVersion: String?, promise: Promise) { impl.start(properties, hybridAgentType, hybridAgentVersion, promise) } @ReactMethod fun changeAppKey(appKey: String, promise: Promise) { impl.changeAppKey(appKey, promise) } @ReactMethod fun reportMetric(name: String, value: Double, promise: Promise) { impl.reportMetric(name, value, promise) } @ReactMethod fun reportError(hybridExceptionData: String, severityLevel: Double, promise: Promise) { impl.reportError(hybridExceptionData, severityLevel, promise) } @ReactMethod fun createCrashReport(hybridExceptionData: String, promise: Promise) { impl.createCrashReport(hybridExceptionData, promise) } @ReactMethod fun startTimer(name: String, promise: Promise) { impl.startTimer(name, promise) } @ReactMethod fun stopTimer(name: String, promise: Promise) { impl.stopTimer(name, promise) } @ReactMethod fun shutdownAgent(promise: Promise) { impl.shutdownAgent(promise) } @ReactMethod fun restartAgent(promise: Promise) { impl.restartAgent(promise) } @ReactMethod fun trackScreenStart(trackedScreen: ReadableMap, promise: Promise) { impl.trackScreenStart(trackedScreen, promise) } @ReactMethod fun trackScreenEnd(trackedScreen: ReadableMap, promise: Promise) { impl.trackScreenEnd(trackedScreen, promise) } @ReactMethod fun beginCall(className: String?,methodName: String?,args: ReadableArray,isStaticMethod: Boolean,promise: Promise) { impl.beginCall(className,methodName,args,isStaticMethod,promise) } @ReactMethod fun endCallWithSuccess(callId: String?, data: ReadableMap, promise: Promise) { impl.endCallWithSuccess(callId, data, promise) } @ReactMethod fun endCallWithError(callId: String?, error: ReadableMap, promise: Promise) { impl.endCallWithError(callId, error, promise) } @ReactMethod fun leaveBreadcrumb(breadcrumb: String, mode: Double, promise: Promise) { impl.leaveBreadcrumb(breadcrumb, mode, promise) } @ReactMethod fun unblockScreenshots(promise: Promise) { impl.unblockScreenshots(promise) } @ReactMethod fun blockScreenshots(promise: Promise) { impl.blockScreenshots(promise) } @ReactMethod fun screenshotsBlocked(promise: Promise) { impl.screenshotsBlocked(promise) } @ReactMethod fun takeScreenshot(promise: Promise) { impl.takeScreenshot(promise) } @ReactMethod fun setUserData(key: String, value: String, promise: Promise) { impl.setUserData(key, value, promise) } @ReactMethod fun removeUserData(key:String, promise:Promise) { impl.removeUserData(key, promise) } @ReactMethod fun setUserDataNumber(key: String, value: Double, promise: Promise) { impl.setUserDataNumber(key, value, promise) } @ReactMethod fun removeUserDataNumber(key: String, promise: Promise) { impl.removeUserDataNumber(key, promise) } @ReactMethod fun setUserDataBoolean(key: String, value: Boolean, promise: Promise) { impl.setUserDataBoolean(key, value, promise) } @ReactMethod fun removeUserDataBoolean(key: String, promise: Promise) { impl.removeUserDataBoolean(key, promise) } @ReactMethod fun setUserDataDate(key: String, valueStr: String, promise: Promise) { impl.setUserDataDate(key, valueStr, promise) } @ReactMethod fun removeUserDataDate(key: String, promise: Promise) { impl.removeUserDataDate(key, promise) } @ReactMethod fun startNextSession(promise: Promise) { impl.startNextSession(promise) } @ReactMethod fun startSessionFrame(sessionFrameName: String, promise: Promise) { impl.startSessionFrame(sessionFrameName, promise) } @ReactMethod fun updateSessionFrameName(id: String, name: String, promise: Promise) { impl.updateSessionFrameName(id, name, promise) } @ReactMethod fun endSessionFrame(id: String, promise: Promise) { impl.endSessionFrame(id, promise) } @ReactMethod fun trackUIEvent(eventInfo: ReadableMap, promise: Promise) { impl.trackUIEvent(eventInfo, promise) } @ReactMethod fun getServerCorrelationHeaders(promise: Promise) { impl.getServerCorrelationHeaders(promise) } @ReactMethod fun getRequestTrackerWithUrl(urlString: String, promise: Promise) { impl.getRequestTrackerWithUrl(urlString, promise) } @ReactMethod fun setRequestTrackerErrorInfo(trackerId: String, errorDict: ReadableMap, promise: Promise) { impl.setRequestTrackerErrorInfo(trackerId, errorDict, promise) } @ReactMethod fun setRequestTrackerStatusCode(trackerId: String, statusCode: Double, promise: Promise) { impl.setRequestTrackerStatusCode(trackerId, statusCode, promise) } @ReactMethod fun setRequestTrackerResponseHeaders(trackerId: String, responseHeaders: ReadableMap, promise: Promise) { impl.setRequestTrackerResponseHeaders(trackerId, responseHeaders, promise) } @ReactMethod fun setRequestTrackerRequestHeaders(trackerId: String, requestHeaders: ReadableMap, promise: Promise) { impl.setRequestTrackerRequestHeaders(trackerId, requestHeaders, promise) } @ReactMethod fun requestTrackerReport(trackerId: String, promise: Promise) { impl.requestTrackerReport(trackerId, promise) } @ReactMethod fun setRequestTrackerUserData(trackerId: String, key: String, value: String, promise: Promise) { impl.setRequestTrackerUserData(trackerId, key, value, promise) } @ReactMethod fun setRequestTrackerUserDataNumber(trackerId: String, key: String, value: Double, promise: Promise) { impl.setRequestTrackerUserDataNumber(trackerId, key, value, promise) } @ReactMethod fun setRequestTrackerUserDataBoolean(trackerId: String, key: String, value: Boolean, promise: Promise) { impl.setRequestTrackerUserDataBoolean(trackerId, key, value, promise) } @ReactMethod fun setRequestTrackerUserDataDate(trackerId: String, key: String, value: Double, promise: Promise) { impl.setRequestTrackerUserDataDate(trackerId, key, value, promise) } }