android: delay rendering start by 500 ms to avoid blackscreen at startup

helps for some devices
This commit is contained in:
Flyinghead 2019-03-05 04:47:31 +01:00
parent ee0161e9c4
commit a93c340f8c
2 changed files with 24 additions and 5 deletions

View File

@ -147,6 +147,18 @@ public final class NativeGLActivity extends BaseNativeGLActivity implements Acti
return super.onKeyDown(keyCode, event); return super.onKeyDown(keyCode, event);
} }
@Override
protected void onPause() {
super.onPause();
mView.pause();
}
@Override
protected void onResume() {
super.onResume();
mView.resume();
}
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();

View File

@ -8,6 +8,7 @@ import android.content.res.Configuration;
import android.os.Build; import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.os.Handler; import android.os.Handler;
import android.os.SystemClock;
import android.os.Vibrator; import android.os.Vibrator;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.util.AttributeSet; import android.util.AttributeSet;
@ -98,8 +99,9 @@ public class NativeGLView extends SurfaceView implements SurfaceHolder.Callback
private void startRendering() { private void startRendering() {
// Continuously render frames // Continuously render frames
//Log.i("reicast", "NativeGLView.startRendering in 500 ms");
handler.removeCallbacksAndMessages(null); handler.removeCallbacksAndMessages(null);
handler.post(new Runnable() { handler.postAtTime(new Runnable() {
@Override @Override
public void run() { public void run() {
if (!paused) if (!paused)
@ -108,7 +110,7 @@ public class NativeGLView extends SurfaceView implements SurfaceHolder.Callback
handler.post(this); handler.post(this);
} }
} }
}); }, SystemClock.uptimeMillis() + 500);
} }
private void reset_analog() private void reset_analog()
@ -441,17 +443,22 @@ public class NativeGLView extends SurfaceView implements SurfaceHolder.Callback
public void surfaceDestroyed(SurfaceHolder surfaceHolder) { public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
//Log.i("reicast", "NativeGLView.surfaceDestroyed"); //Log.i("reicast", "NativeGLView.surfaceDestroyed");
JNIdc.rendinitNative(null, 0, 0); JNIdc.rendinitNative(null, 0, 0);
paused = true;
} }
public void pause() { public void pause() {
paused = true; paused = true;
JNIdc.pause(); JNIdc.pause();
//Log.i("reicast", "NativeGLView.pause");
} }
public void resume() { public void resume() {
paused = false; if (paused) {
JNIdc.resume(); //Log.i("reicast", "NativeGLView.resume");
startRendering(); paused = false;
JNIdc.resume();
startRendering();
}
} }
private class OscOnScaleGestureListener extends private class OscOnScaleGestureListener extends