49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright (c) 2022 Sentry. All Rights Reserved.
 | 
						|
 | 
						|
#include "SentryAttachmentAndroid.h"
 | 
						|
 | 
						|
#include "Infrastructure/SentryConvertorsAndroid.h"
 | 
						|
#include "Infrastructure/SentryJavaClasses.h"
 | 
						|
 | 
						|
SentryAttachmentAndroid::SentryAttachmentAndroid(const TArray<uint8>& data, const FString& filename, const FString& contentType)
 | 
						|
	: FSentryJavaObjectWrapper(SentryJavaClasses::Attachment, "([BLjava/lang/String;Ljava/lang/String;)V",
 | 
						|
		SentryConvertorsAndroid::ByteArrayToNative(data), *GetJString(filename), *GetJString(contentType))
 | 
						|
{
 | 
						|
	SetupClassMethods();
 | 
						|
}
 | 
						|
 | 
						|
SentryAttachmentAndroid::SentryAttachmentAndroid(const FString& path, const FString& filename, const FString& contentType)
 | 
						|
	: FSentryJavaObjectWrapper(SentryJavaClasses::Attachment, "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
 | 
						|
		*GetJString(path), *GetJString(filename), *GetJString(contentType))
 | 
						|
{
 | 
						|
	SetupClassMethods();
 | 
						|
}
 | 
						|
 | 
						|
void SentryAttachmentAndroid::SetupClassMethods()
 | 
						|
{
 | 
						|
	GetDataMethod = GetMethod("getBytes", "()[B");
 | 
						|
	GetPathMethod = GetMethod("getPathname", "()Ljava/lang/String;");
 | 
						|
	GetFilenameMethod = GetMethod("getFilename", "()Ljava/lang/String;");
 | 
						|
	GetContentTypeMethod = GetMethod("getContentType", "()Ljava/lang/String;");
 | 
						|
}
 | 
						|
 | 
						|
TArray<uint8> SentryAttachmentAndroid::GetData() const
 | 
						|
{
 | 
						|
	auto data = CallObjectMethod<jobject>(GetDataMethod);
 | 
						|
	return SentryConvertorsAndroid::ByteArrayToUnreal(static_cast<jbyteArray>(*data));
 | 
						|
}
 | 
						|
 | 
						|
FString SentryAttachmentAndroid::GetPath() const
 | 
						|
{
 | 
						|
	return CallMethod<FString>(GetPathMethod);
 | 
						|
}
 | 
						|
 | 
						|
FString SentryAttachmentAndroid::GetFilename() const
 | 
						|
{
 | 
						|
	return CallMethod<FString>(GetFilenameMethod);
 | 
						|
}
 | 
						|
 | 
						|
FString SentryAttachmentAndroid::GetContentType() const
 | 
						|
{
 | 
						|
	return CallMethod<FString>(GetContentTypeMethod);
 | 
						|
} |