aboutsummaryrefslogtreecommitdiff
path: root/tools/android
diff options
context:
space:
mode:
authorChris "Koying" Browet <cbro@semperpax.com>2016-02-26 19:30:34 +0100
committerKolja Lampe <razzeee@gmail.com>2016-04-01 16:39:44 +0200
commitbfd07d1e1ef767812493000ed5a4f936b05c83e3 (patch)
tree69d8af4d42002ba15264ee17c43bfd58f20729e4 /tools/android
parent72769f6951f60711d96cc5cd6206baad952ee3ad (diff)
[droid] implement video reference clock
Diffstat (limited to 'tools/android')
-rw-r--r--tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in20
1 files changed, 19 insertions, 1 deletions
diff --git a/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in b/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in
index b78b7bfd15..d7413e097b 100644
--- a/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in
+++ b/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in
@@ -7,6 +7,7 @@ import android.hardware.input.InputManager;
import android.media.AudioManager;
import android.os.Bundle;
import android.util.Log;
+import android.view.Choreographer;
import android.view.View;
import android.view.Surface;
import android.widget.RelativeLayout;
@@ -15,7 +16,7 @@ import android.graphics.PixelFormat;
import android.os.Handler;
import org.xbmc.@APP_NAME_LC@.XBMCVideoView;
-public class Main extends NativeActivity
+public class Main extends NativeActivity implements Choreographer.FrameCallback
{
private static final String TAG = "@APP_NAME_LC@";
@@ -27,6 +28,7 @@ public class Main extends NativeActivity
private Handler handler = new Handler();
native void _onNewIntent(Intent intent);
+ native void _doFrame(long frameTimeNanos);
public Main()
{
@@ -164,6 +166,8 @@ public class Main extends NativeActivity
{
super.onResume();
+ Choreographer.getInstance().postFrameCallback(this);
+
if (android.os.Build.VERSION.SDK_INT >= 19) {
// Immersive mode
@@ -181,6 +185,13 @@ public class Main extends NativeActivity
}
@Override
+ public void onPause()
+ {
+ super.onPause();
+
+ Choreographer.getInstance().removeFrameCallback(this);
+ }
+
public void onDestroy()
{
// unregister the InputDeviceListener implementation
@@ -190,6 +201,13 @@ public class Main extends NativeActivity
getApplicationContext().getContentResolver().unregisterContentObserver(mSettingsContentObserver);
super.onDestroy();
}
+
+ @Override
+ public void doFrame(long frameTimeNanos)
+ {
+ Choreographer.getInstance().postFrameCallback(this);
+ _doFrame(frameTimeNanos);
+ }
private native void _callNative(long funcAddr, long variantAddr);