mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-17 00:44:19 +00:00
Android: Moved more Java code into C++
This commit is contained in:
parent
b2db1f48c1
commit
1b7d30f0f4
14 changed files with 623 additions and 433 deletions
|
|
@ -55,8 +55,6 @@ import java.io.*;
|
|||
import java.net.URL;
|
||||
import java.net.HttpURLConnection;
|
||||
import android.media.AudioManager;
|
||||
import android.media.MediaScannerConnection;
|
||||
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
|
||||
import android.Manifest;
|
||||
import java.util.concurrent.CancellationException;
|
||||
import java.util.concurrent.Future;
|
||||
|
|
@ -302,23 +300,6 @@ public class JuceAppActivity extends Activity
|
|||
private native void resumeApp();
|
||||
private native void setScreenSize (int screenWidth, int screenHeight, int dpi);
|
||||
|
||||
//==============================================================================
|
||||
public native void deliverMessage (long value);
|
||||
private android.os.Handler messageHandler = new android.os.Handler();
|
||||
|
||||
public final void postMessage (long value)
|
||||
{
|
||||
messageHandler.post (new MessageCallback (value));
|
||||
}
|
||||
|
||||
private final class MessageCallback implements Runnable
|
||||
{
|
||||
public MessageCallback (long value_) { value = value_; }
|
||||
public final void run() { deliverMessage (value); }
|
||||
|
||||
private long value;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
private ViewHolder viewHolder;
|
||||
private MidiDeviceManager midiDeviceManager = null;
|
||||
|
|
@ -882,6 +863,38 @@ public class JuceAppActivity extends Activity
|
|||
|
||||
private int[] cachedRenderArray = new int [256];
|
||||
|
||||
//==============================================================================
|
||||
public static class NativeInvocationHandler implements InvocationHandler
|
||||
{
|
||||
public NativeInvocationHandler (long nativeContextRef)
|
||||
{
|
||||
nativeContext = nativeContextRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finalize()
|
||||
{
|
||||
dispatchFinalize (nativeContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object invoke (Object proxy, Method method, Object[] args) throws Throwable
|
||||
{
|
||||
return dispatchInvoke (nativeContext, proxy, method, args);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
private long nativeContext = 0;
|
||||
|
||||
private native void dispatchFinalize (long nativeContextRef);
|
||||
private native Object dispatchInvoke (long nativeContextRef, Object proxy, Method method, Object[] args);
|
||||
}
|
||||
|
||||
public static InvocationHandler createInvocationHandler (long nativeContextRef)
|
||||
{
|
||||
return new NativeInvocationHandler (nativeContextRef);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
public static class HTTPStream
|
||||
{
|
||||
|
|
@ -1185,36 +1198,6 @@ public class JuceAppActivity extends Activity
|
|||
public static final String getDownloadsFolder() { return getFileLocation (Environment.DIRECTORY_DOWNLOADS); }
|
||||
|
||||
//==============================================================================
|
||||
private final class SingleMediaScanner implements MediaScannerConnectionClient
|
||||
{
|
||||
public SingleMediaScanner (Context context, String filename)
|
||||
{
|
||||
file = filename;
|
||||
msc = new MediaScannerConnection (context, this);
|
||||
msc.connect();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMediaScannerConnected()
|
||||
{
|
||||
msc.scanFile (file, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onScanCompleted (String path, Uri uri)
|
||||
{
|
||||
msc.disconnect();
|
||||
}
|
||||
|
||||
private MediaScannerConnection msc;
|
||||
private String file;
|
||||
}
|
||||
|
||||
public final void scanFile (String filename)
|
||||
{
|
||||
new SingleMediaScanner (this, filename);
|
||||
}
|
||||
|
||||
public final Typeface getTypeFaceFromAsset (String assetName)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue