Commit Graph

42 Commits

Author SHA1 Message Date
Mukilan Thiyagarajan
d7de206dbd Preliminary Android build support (#31086)
* Android build

* Fixes
* More fixes
  - Still failing in the linking step
* More work on getting linking working

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: use mozjs with ndk r25c. loads servo.org

more android build fixes.

* fix ./mach run for android and make it follow logs

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* add experimental logic for compositor pause/resume

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* pass DPI from android to simpleservo

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* ci: add android workflow

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* switch to ANDROID_SDK_ROOT and ANDROID_NDK_ROOT vars

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* upgrade gradle to 4.10.1

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* upgrade to gradle 5.1.1

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* upgrade to gradle 8 and agp 8

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* make compositing work again with external present

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: improve mach support for non-NixOS and CI

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* fix sampler compilation bug introduced in #30490

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* ci: add android build to main workflow

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* gradle: set MinSdk = targetSdk = 30

NDK requires we compile against the minSdk API level
which is 30 in our case.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* add instructions for android in README.md

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* apk: move servosurface to servoview

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* apk: uncomment the mediasession callbacks on MainActivity

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* apk: fix crash on MainAtivity.onDestroy

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* apk: drop VR, arm 5 and unused code

This commit drops:
* support for google, oculusvr
* support for arm5 architecture

and also removes
* fakeld scripts
* unused java code

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* cleanup shell.nix

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: add FIXMEs for gstreamer code

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* apk: remove commented code and debug logs

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* cleanup ServoView.java

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* mach: comment call to download gstreamer deps for android

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* disable bluetooth for jniapi as blurdroid is broken

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* fixup! README.md

* fixup! remove change in Cargo.toml

* fixup! move shell variables together

* fixup! cleanup jniapi/Cargo.toml comments

* delete commented gstreamer related android code

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* remove unused config variable in servbuild

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: more cleanup

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* force no_static_freetype only for android

* use actions to manage sdk, ndk and java

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* rename embedder event names to be more clear.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* link to startup crash issue

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* fix lint issues

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* upgrade env_logger to 0.10 with duplicate exception

libservo and android_logger can use env_logger 0.10
but quickcheck is still stuck on 0.8 and has not seen
any activity in the last 2 years. This commit adds
a duplicate exception until the quickcheck dependency
can be upgraded (or replaced)

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: fix comments

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* disable jemalloc on android

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* fixup! replace linux with android in cfg

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-01-22 13:00:15 +00:00
Shinichi Morimoto
41ff93eca2 extended android jni with onMediaSessionSetPositionState 2019-12-03 23:16:43 +09:00
Fernando Jiménez Moreno
08f9f17ed3 Send MediaSessionAction from Android 2019-11-20 13:33:51 +01:00
Fernando Jiménez Moreno
3f6569447d MediaSession Android bits 2019-11-20 13:33:15 +01:00
Paul Rouget
f2f8223cf1 UWP: better mouse interaction support 2019-10-29 07:35:50 +01:00
Fernando Jiménez Moreno
11993bb8f5 Allow setting GST_DEBUG on Android through mach 2019-10-14 17:27:29 +02:00
Paul Rouget
3a374b3455 Expose javascript:window.alert() to libsimpleservo 2019-07-19 16:49:26 +02:00
akshitkrnagpal
027514c3e6 Add support for market:// urls 2019-06-28 17:30:42 -04:00
Paul Rouget
8f2390fdff Add transparent padding around ServoSurface 2019-03-25 19:01:39 +01:00
bors-servo
6c161e5037 Auto merge of #22773 - paulrouget:immersive, r=jdm
Support for ExternalVR implementation

This PR adds the hook necessary for the ExternalVR rust-webvr driver.
Waiting on rust-webvr 0.9.3 to be published before landing.

<!-- 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/22773)
<!-- Reviewable:end -->
2019-02-07 00:17:26 -05:00
Paul Rouget
c055b74e13 Support for ExternalVR implementation 2019-02-07 06:15:11 +01:00
Paul Rouget
475756ec2f Remove readfile callback 2019-02-06 07:52:58 +01:00
Paul Rouget
c146653707 Implement ServoSurface::onSurfaceChanged 2019-01-30 07:40:55 +01:00
Manish Goregaokar
82f81fb9fd Stop catching Android click events
Servo already can simulate clicks from multiple tap events

fixes https://github.com/servo/servo/issues/22702
2019-01-16 18:23:07 -05:00
Paul Rouget
799833a94b shutdown synchronously 2018-11-22 11:48:57 +01:00
Manish Goregaokar
3bccb8c387 Add support for touch events on Android
Currently on Android we treat all touch events as scroll events. Servo
is already capable of distinguishing between scroll-touches and regular
touch events (see `on_touch_move` in `components/compositor/touch.rs`),
so we should just be passing touch events through.

Servo however does not natively support fling gestures, so we continue
to use `GestureDetector` for that.
2018-11-20 22:39:47 -08:00
Jan Andre Ikenmeyer
f5ab95786f Update MPL license to https (part 1) 2018-11-19 14:46:43 +01:00
Paul Rouget
6b2d9bf140 Properly cancel looping before triggering another drawing loop 2018-11-12 08:19:59 +01:00
Paul Rouget
549c8c565a Android: proper shutdown mechanism 2018-10-26 12:15:52 +02:00
Josh Matthews
03a75f418e Use a depth buffer when embedding Servo on android. 2018-10-11 16:07:58 -04:00
Sebastian Kaspari
f8a84a763b ServoView: Add default constructor.
Android's `View` has multiple constructors. Currently only `ServoView(Context, AttributeSet)` is available.
This constructor is usually used by Android when inflating a View from a layout XML file. However when
creating the `View` in code no `AttributeSet` is available.
2018-10-08 16:08:31 +02:00
bors-servo
65710bee94 Auto merge of #21871 - paulrouget:servooptions, r=jdm
Make JNI code more robust and introduce antialiasing option

This throws exceptions in various places. Trying to reduce the amount of unwrap/expect.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21306 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- 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/21871)
<!-- Reviewable:end -->
2018-10-06 01:58:22 -04:00
Paul Rouget
5ddb8d577f Disable subpixel text antialiasing for ServoSurface 2018-10-06 07:57:07 +02:00
Paul Rouget
e0ce73abb2 Make JNI code more robust 2018-10-05 13:17:27 +02:00
Josh Matthews
de8fae14b7 android: Do not trigger a composite before Servo has finished compositing. 2018-10-03 03:44:16 +02:00
Paul Rouget
6d543dec28 com.mozilla to org.mozilla 2018-10-02 08:09:35 +02:00
Josh Matthews
4db25fe581 Remove unnecessary thread specification when flushing GL on Android. 2018-10-01 10:22:12 +02:00
Fernando Jiménez Moreno
c7d11b9a1e Remove duplicated context param from Servo constructor 2018-09-25 11:53:27 +02:00
Fernando Jiménez Moreno
e3c98802eb Move GStreamer initialization to a path shared by ServoSurface and ServoView 2018-09-24 15:50:06 +02:00
Fernando Jiménez Moreno
2854847c13 Do not copy gstreamer fonts or certs on Android 2018-09-24 15:14:47 +02:00
Fernando Jiménez Moreno
b27881523c Enable GStreamer support on Android 2018-09-24 15:14:46 +02:00
Paul Rouget
96cf1e2da3 Get the right pixel density on Android 2018-09-24 07:45:15 +02:00
Josh Matthews
f7516f57a7 Enable use of RUST_LOG with mach run --android. 2018-09-20 14:14:41 -04:00
Paul Rouget
77f38a0789 Save initial URI for all loadUri methods 2018-09-10 10:45:10 +02:00
Paul Rouget
6aa653a46d Show animation status 2018-08-16 13:51:57 +02:00
Paul Rouget
296b76070c pinch to zoom 2018-08-16 13:51:57 +02:00
Paul Rouget
ae407e9a65 Behave properly when app is suspended 2018-08-14 16:52:36 +02:00
Paul Rouget
b16b0b4a15 Execute callbacks in proper threads 2018-08-11 16:55:20 +08:00
Paul Rouget
927704b8a3 fix mGLLooperHandler null ref 2018-08-11 16:55:20 +08:00
Paul Rouget
7a14dbf5a1 Add more methods to ServoSurface and relabel the inner surface class name 2018-08-08 11:10:52 +02:00
Paul Rouget
c36b16546e Introduce ServoSurface 2018-08-01 16:35:22 +08:00
Paul Rouget
e8af185a3d Build a AAR archive alongside the APK 2018-08-01 16:15:47 +08:00