mirror of
https://github.com/RaindropViewer/RaindropViewer.git
synced 2026-07-27 22:11:39 +00:00
36 lines
942 B
C#
36 lines
942 B
C#
#if !UNITY_EDITOR && UNITY_ANDROID
|
|
using UnityEngine;
|
|
|
|
namespace SimpleFileBrowser
|
|
{
|
|
public class FBDirectoryReceiveCallbackAndroid : AndroidJavaProxy
|
|
{
|
|
private readonly FileBrowser.DirectoryPickCallback callback;
|
|
private readonly FBCallbackHelper callbackHelper;
|
|
|
|
public FBDirectoryReceiveCallbackAndroid( FileBrowser.DirectoryPickCallback callback ) : base( "com.yasirkula.unity.FileBrowserDirectoryReceiver" )
|
|
{
|
|
this.callback = callback;
|
|
callbackHelper = new GameObject( "FBCallbackHelper" ).AddComponent<FBCallbackHelper>();
|
|
}
|
|
|
|
public void OnDirectoryPicked( string rawUri, string name )
|
|
{
|
|
callbackHelper.CallOnMainThread( () => DirectoryPickedCallback( rawUri, name ) );
|
|
}
|
|
|
|
private void DirectoryPickedCallback( string rawUri, string name )
|
|
{
|
|
try
|
|
{
|
|
if( callback != null )
|
|
callback( rawUri, name );
|
|
}
|
|
finally
|
|
{
|
|
Object.Destroy( callbackHelper.gameObject );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endif |