mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Auto merge of #21385 - paulrouget:crowSupport, r=jdm
Few fixes to support Crow With these fixes, the published AAR works for both Android and Crow. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21385) <!-- Reviewable:end -->
This commit is contained in:
commit
cabf47bfc6
5 changed files with 22 additions and 9 deletions
|
@ -48,7 +48,6 @@ android {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main {
|
main {
|
||||||
java.srcDirs = ['src/main/java']
|
java.srcDirs = ['src/main/java']
|
||||||
assets.srcDirs = ['../../../../resources']
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,9 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
|
main {
|
||||||
|
assets.srcDirs = ['../../../../resources']
|
||||||
|
}
|
||||||
armDebug {
|
armDebug {
|
||||||
jniLibs.srcDirs = [getJniLibsPath(true, 'arm')]
|
jniLibs.srcDirs = [getJniLibsPath(true, 'arm')]
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,15 +126,17 @@ public class Servo {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void flush() {
|
public void flush() {
|
||||||
mRunCallback.inUIThread(() -> mGfxCb.flushGLBuffers());
|
// Up to the callback to execute this in the right thread
|
||||||
|
mGfxCb.flushGLBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void makeCurrent() {
|
public void makeCurrent() {
|
||||||
mRunCallback.inUIThread(() -> mGfxCb.makeCurrent());
|
// Up to the callback to execute this in the right thread
|
||||||
|
mGfxCb.makeCurrent();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onAnimatingChanged(boolean animating) {
|
public void onAnimatingChanged(boolean animating) {
|
||||||
mRunCallback.inUIThread(() -> mGfxCb.animationStateChanged(animating));
|
mRunCallback.inGLThread(() -> mGfxCb.animationStateChanged(animating));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onLoadStarted() {
|
public void onLoadStarted() {
|
||||||
|
@ -165,7 +167,7 @@ public class Servo {
|
||||||
stream.close();
|
stream.close();
|
||||||
return bytes;
|
return bytes;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.e(LOGTAG, e.getMessage());
|
Log.e(LOGTAG, "readfile error: " + e.getMessage());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
package com.mozilla.servoview;
|
package com.mozilla.servoview;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
@ -23,6 +28,7 @@ import static android.opengl.EGL14.EGL_CONTEXT_CLIENT_VERSION;
|
||||||
import static android.opengl.EGL14.EGL_OPENGL_ES2_BIT;
|
import static android.opengl.EGL14.EGL_OPENGL_ES2_BIT;
|
||||||
|
|
||||||
public class ServoSurface {
|
public class ServoSurface {
|
||||||
|
private static final String LOGTAG = "ServoSurface";
|
||||||
private final GLThread mGLThread;
|
private final GLThread mGLThread;
|
||||||
private final Handler mMainLooperHandler;
|
private final Handler mMainLooperHandler;
|
||||||
private Handler mGLLooperHandler;
|
private Handler mGLLooperHandler;
|
||||||
|
@ -108,8 +114,6 @@ public class ServoSurface {
|
||||||
}
|
}
|
||||||
|
|
||||||
static class GLSurface implements GfxCallbacks {
|
static class GLSurface implements GfxCallbacks {
|
||||||
private static final String LOGTAG = "ServoSurface";
|
|
||||||
|
|
||||||
private EGLConfig[] mEGLConfigs;
|
private EGLConfig[] mEGLConfigs;
|
||||||
private EGLDisplay mEglDisplay;
|
private EGLDisplay mEglDisplay;
|
||||||
private EGLContext mEglContext;
|
private EGLContext mEglContext;
|
||||||
|
@ -155,7 +159,7 @@ public class ServoSurface {
|
||||||
throw new RuntimeException("Error: createWindowSurface() Failed " + GLUtils.getEGLErrorString(glError));
|
throw new RuntimeException("Error: createWindowSurface() Failed " + GLUtils.getEGLErrorString(glError));
|
||||||
}
|
}
|
||||||
|
|
||||||
flushGLBuffers();
|
makeCurrent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -194,13 +198,16 @@ public class ServoSurface {
|
||||||
|
|
||||||
final boolean showLogs = true;
|
final boolean showLogs = true;
|
||||||
String uri = mInitialUri == null ? null : mInitialUri.toString();
|
String uri = mInitialUri == null ? null : mInitialUri.toString();
|
||||||
mServo = new Servo(this, surface, mClient, mActivity, mServoArgs, uri, mWidth, mHeight, showLogs);
|
|
||||||
|
|
||||||
mGLLooperHandler = new Handler() {
|
mGLLooperHandler = new Handler() {
|
||||||
public void handleMessage(Message msg) {
|
public void handleMessage(Message msg) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inUIThread(() -> {
|
||||||
|
mServo = new Servo(this, surface, mClient, mActivity, mServoArgs, uri, mWidth, mHeight, showLogs);
|
||||||
|
});
|
||||||
|
|
||||||
Looper.loop();
|
Looper.loop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,9 @@ public class ServoView extends GLSurfaceView
|
||||||
}
|
}
|
||||||
|
|
||||||
public void flushGLBuffers() {
|
public void flushGLBuffers() {
|
||||||
|
inUIThread(() -> {
|
||||||
requestRender();
|
requestRender();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scroll and click
|
// Scroll and click
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue