62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright (c) 2022 Sentry. All Rights Reserved.
 | 
						|
 | 
						|
#include "SentryEventAndroid.h"
 | 
						|
 | 
						|
#include "SentryMessageAndroid.h"
 | 
						|
 | 
						|
#include "Infrastructure/SentryConvertorsAndroid.h"
 | 
						|
#include "Infrastructure/SentryJavaClasses.h"
 | 
						|
 | 
						|
SentryEventAndroid::SentryEventAndroid()
 | 
						|
	: FSentryJavaObjectWrapper(SentryJavaClasses::SentryEvent, "()V")
 | 
						|
{
 | 
						|
	SetupClassMethods();
 | 
						|
}
 | 
						|
 | 
						|
SentryEventAndroid::SentryEventAndroid(jobject event)
 | 
						|
	: FSentryJavaObjectWrapper(SentryJavaClasses::SentryEvent, event)
 | 
						|
{
 | 
						|
	SetupClassMethods();
 | 
						|
}
 | 
						|
 | 
						|
void SentryEventAndroid::SetupClassMethods()
 | 
						|
{
 | 
						|
	SetMessageMethod = GetMethod("setMessage", "(Lio/sentry/protocol/Message;)V");
 | 
						|
	GetMessageMethod = GetMethod("getMessage", "()Lio/sentry/protocol/Message;");
 | 
						|
	SetLevelMethod = GetMethod("setLevel", "(Lio/sentry/SentryLevel;)V");
 | 
						|
	GetLevelMethod = GetMethod("getLevel", "()Lio/sentry/SentryLevel;");
 | 
						|
	IsCrashMethod = GetMethod("isCrashed", "()Z");
 | 
						|
}
 | 
						|
 | 
						|
void SentryEventAndroid::SetMessage(const FString& message)
 | 
						|
{
 | 
						|
	CallMethod<void>(SetMessageMethod, SentryMessageAndroid(message).GetJObject());
 | 
						|
}
 | 
						|
 | 
						|
FString SentryEventAndroid::GetMessage() const
 | 
						|
{
 | 
						|
	auto message = CallObjectMethod<jobject>(GetMessageMethod);
 | 
						|
	return SentryMessageAndroid(*message).ToString();
 | 
						|
}
 | 
						|
 | 
						|
void SentryEventAndroid::SetLevel(ESentryLevel level)
 | 
						|
{
 | 
						|
	CallMethod<void>(SetLevelMethod, SentryConvertorsAndroid::SentryLevelToNative(level)->GetJObject());
 | 
						|
}
 | 
						|
 | 
						|
ESentryLevel SentryEventAndroid::GetLevel() const
 | 
						|
{
 | 
						|
	auto level = CallObjectMethod<jobject>(GetLevelMethod);
 | 
						|
	return SentryConvertorsAndroid::SentryLevelToUnreal(*level);
 | 
						|
}
 | 
						|
 | 
						|
bool SentryEventAndroid::IsCrash() const
 | 
						|
{
 | 
						|
	return CallMethod<bool>(IsCrashMethod);
 | 
						|
}
 | 
						|
 | 
						|
bool SentryEventAndroid::IsAnr() const
 | 
						|
{
 | 
						|
	return CallStaticMethod<bool>(SentryJavaClasses::SentryBridgeJava, "isAnrEvent", "(Lio/sentry/SentryEvent;)Z", GetJObject());
 | 
						|
}
 |