Commit Graph

469 Commits

Author SHA1 Message Date
Florin Malita
05bb5a8b30 [androidkit] Introduce RuntimeShader
- opaque Shader class to act as a Java SkShader wrapper
 - shader slot on Paint
 - RuntimeShaderBuilder utility to enable the same use pattern as native
   Skia:

  RuntimeShaderBuilder builder(sksl_string);
  builder.setUniform("foo", 1);
  builder.setUniform("bar", 2);
  paint.setShader(builder.makeShader());

or, more fluent:

  paint.setShader(
      RuntimeShaderBuilder(sksl_string)
          .setUniform("foo", 1)
          .setUniform("bar", 2)
          .makeShader());


Change-Id: I7cd241a2f64bc54dcae2175ed35040edf6506ed3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399736
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-04-23 14:38:36 +00:00
Florin Malita
7924446c45 [androidkit] Add Canvas.drawColor()
Three flavors:

  - Color
  - rgba float tuple
  - int (legacy SkColor)

Change-Id: I3038e27e433a5d92d4c6c3e3bb80374b63f87b34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398181
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2021-04-21 13:08:32 +00:00
Florin Malita
3397f71098 [androidkit] Simple animation demo
Oscillating rect demo using a dedicated render thread.

At the moment this is using an intermediate Bitmap for rendering, but
should be converted to native GL Surface when it becomes available.

TBR=
Change-Id: I9b4f66598b6d2b56e865e7f1d10139a2bcf1f3e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398536
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-04-21 13:07:27 +00:00
Florin Malita
de89bf0cd7 [androidkit] Start sketching out Paint
Add Color and Paint classes:

  - Color is pure Java (equivalent of SkColor4f)
  - Paint is backed by a native SkPaint

Change-Id: I79dbfae48f9e51254a51bc1c3966930f32cea5c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396020
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-04-16 01:56:04 +00:00
Florin Malita
2a650cc795 [androidkit] Split Canvas backing store into Surface
Add a Surface abstraction to manage the canvas backing store (equivalent
to SkSurface).

This allows relieving Canvas of buffer management duties - we can now
focus solely on rendering APIs at this level.

At the moment, only a Bitmap-backed surface is implemented -- but other
native surface types will be added.

Also relocate native code to 'src'.

Change-Id: I46738472536cf24524428dbd36969f2b99d251e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/395536
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-04-13 13:56:04 +00:00
Florin Malita
062743a859 [androidkit] Bind canvas to native Bitmap
Wrap native Bitmap pixels using JNIGraphis APIs.

Add finalizer to clean up.

Change-Id: I22ba54e65a9cdf498e97afefe8bcc6cd88db0c95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394816
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-04-11 18:08:30 +00:00
Jorge Betancourt
265e3e1c0a [androidkit] initial commit for androidkit
This commit introduces the foundation for android kit.
Included is the ability to make calls to native code through the JNI as well as a wrapper for SkCanvas to be used in the Android view hierarchy.


Change-Id: Id2416776e676210d4600898bada3356a9116eb55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393356
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-04-08 20:21:04 +00:00
Eric Boren
a1db799824 Fix Python3 compatibility
Bug: skia:11768
Change-Id: I6107362457dce380e3fb1647ad58d8e33e453e2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388743
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-03-25 14:15:35 +00:00
Jorge Betancourt
00f1276a7e [SkottieView] call onAnimationEnd listeners after finished repeating
Change-Id: Ia01469b4cec68c781353ff2d5c80d120b19223fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/377861
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-03-02 15:35:03 +00:00
Jorge Betancourt
f1107f7891 [SkottieView] surface methods for adding and removing listeners in SkottieView
Change-Id: Iaa97a5661269c9f725cf44f977fed12c3c994b31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375070
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2021-02-25 21:21:02 +00:00
Jorge Betancourt
c09761f576 [SkottieView] handle calls to setSource after first animation initialization
Change-Id: I8fdb9142e1dd67f9418f8a5fc13518a2c2c11566
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/355662
Reviewed-by: Tyler Freeman <fuego@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-01-21 23:41:28 +00:00
Jorge Betancourt
411ee15c2d clean playback methods and constructors in SkottieView
playback methods would call on mAnimation before checking if it was null
builder constructor created unneeded confusion, as setSource() currently acts a build method

Change-Id: I90a36e39cab1ed76a12c49fb53b4518bba9bf4ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/340521
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-12-10 16:29:38 +00:00
Jorge Betancourt
4867834b85 move SkottieAnimation out of SkottieRunner to top level
This refactor adds a LOG_TAG and SkottieRunner member variable to SkottieAnimation so that it still has access to the EGL member variables.
The private keyword was removed from the SkottieRunner's EGL variables.

Methods in SkottieRunner that were made from private to protected:
getNativeProxy()
runOnGLThread()
Methods in SkottieAnimation that were made from private to protected:
SurfaceView constructor
setSurfaceTexture()

Change-Id: I9ddb167238fbc0e05f4d1cdcee67f6b288019e95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335667
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2020-11-24 19:37:46 +00:00
Stan Iliev
e9783f22db Skottie perf metric improvements
Add 2 lottie files given by wearos.
Measure startup time.
Measure total time for 7 seconds starting from second frame.

Test: Ran tests on wearos and android.
Change-Id: I87ddcd116df0cd39df42636cca518a91c3be0329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300044
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2020-11-13 19:03:15 +00:00
Jorge Betancourt
6330939946 implement SkotieAnimation as an Animator to better work in an Android environment
override getTotalDuration from Animator in SkottieAnimation


add listener support for SkottieView (onStart, onEnd)


Combine functionaity of interface SkottieAnimation and SkottieAnimationImpl to extend Animator

Change-Id: I20091719b08e3e077a5fac399978eda4108ae533
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332722
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-11-11 17:34:15 +00:00
Jorge Betancourt
de48febf8b force drawFrame when new surface is created
Caused by an optimization being made in the native drawFrame function.

Fixes bug introduced in change Ibcd4f0ed468563b22e29d23c7d72b474534d21f3

Change-Id: I3d23e9dec61bb6c193bbaf75202e31ee90259708
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/331016
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-10-31 00:26:31 +00:00
Jorge Betancourt
f31e3d7320 add non-looping option to SkottieViews through xml attributes
stop running animation at the end if not looping


hook looping and background color into SkottieAnimation implementation


add looping attribute to SkottieView

Change-Id: I0c66026429018d61f49ccced1fd5add63619263a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/329816
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Tyler Freeman <fuego@google.com>
2020-10-30 19:24:30 +00:00
Jorge Betancourt
0e24265930 add new DemoActivity to showcase SkottieView xml loading and surface view backing
add resID source as SkottiveView xml attribute

Change-Id: I749dfd320ca0b75cb5fac2a4047442c1b198f07e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327676
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-10-20 15:33:11 +00:00
Jorge Betancourt
f1b53836b7 handle updateAnimationSurface in SkottieView through GL thread
Change-Id: I546a095e340821b11310cec521e476c7ace28e3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326536
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-10-15 21:45:57 +00:00
Jorge Betancourt
d5fec1788c Fix SkottieView demo app by handling branching issues
On some devices, SkottieView would crash on startup.
CL introducing bug: https://skia-review.googlesource.com/c/skia/+/310136

This was introduced in CL:
https://skia-review.googlesource.com/c/skia/+/310136

Change-Id: Ib9010707673e055964d5f0a471338097b3bf9910
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/323596
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-10-09 18:56:03 +00:00
Adlai Holler
731f67cf16 Migrate skottie to GrDirectContext
Almost forgot this one!

Change-Id: I325d25dcfffc872a4931c19ca53a0387c3771496
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/318200
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-09-21 17:13:41 +00:00
Jorge Betancourt
141ec1a151 add SurfaceView support for skottie on android
Change-Id: I62fe20cdaf735d09552349efb9a21b1ea72bd973
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310136
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-08-21 13:24:30 +00:00
Derek Sollenberger
866d2894eb Add android:exported values to all SkQP activities.
This fixes an issue on newer versions of Android where activities
with intent filters need to specify whether or not they are exported
in order to successfully complete installation on a test device.

Bug: b/163792247
Test: successful install on device with AOSP build
Change-Id: Iddeb27af55245e926dbf43c03ab48b257461188d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309980
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2020-08-17 13:33:09 +00:00
Jorge Betancourt
82ac2ddc00 implement and test basic playback features for SkottieView
Change-Id: I46a673b2070d523cd9952179c56461fa61c4c5b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302036
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2020-08-12 14:50:28 +00:00
Jorge Betancourt
a70445f408 reland: configure attributes for SkottieView to be initialized from XML layout
Original CL: https://skia-review.googlesource.com/c/skia/+/301716

Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301716
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Change-Id: I30b782fb6c3edfb6552ed733bd1948bda5f6b0b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308717
2020-08-11 17:31:56 +00:00
Jorge Betancourt
7e74746f7f add terminating file on complete of CorrectnessActivity
Change-Id: I7aa465d482530a112e502974e22b00062be6c9ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308716
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-08-10 15:51:23 +00:00
Jorge Betancourt
749149278c get rid of unused include
Change-Id: I4a93050696b5c474c3accf27f570664939b49552
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308196
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-08-05 18:48:47 +00:00
Leon Scroggins III
577536aa1a Remove "dummy" to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 162536543
Change-Id: I40df639e2f42da6d99d897a02cf05aecff682061
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307226
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-07-31 19:11:23 +00:00
Robert Phillips
d5a7f1f1c4 Revert "configure attributes for SkottieView to be initialized from XML layout"
This reverts commit c7950237e0.

Reason for revert: blocking the G3 roll

Original change's description:
> configure attributes for SkottieView to be initialized from XML layout
> 
> Change-Id: I9eb1702ed11f23873ffe7fbc60d9f9d885d3073c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301716
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>

TBR=djsollen@google.com,stani@google.com,jmbetancourt@google.com

Change-Id: I3be0fd42230d114c8051b01bf39a8726c40fd4ef
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307225
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-31 17:48:44 +00:00
Jorge Betancourt
c7950237e0 configure attributes for SkottieView to be initialized from XML layout
Change-Id: I9eb1702ed11f23873ffe7fbc60d9f9d885d3073c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301716
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-07-31 16:43:53 +00:00
Jorge Betancourt
66d19211aa remove skar_java from skia android projects
Change-Id: I5ffe135c40edf267185b21056b5abef415037f2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305440
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-07-27 16:17:50 +00:00
Jorge Betancourt
fd9f154f82 Reland "implement working CorrectnessActivity to generate lottie keyframe PNGs"
This is a reland of 7f5e99465d

Original change's description:
> implement working CorrectnessActivity to generate lottie keyframe PNGs
> 
> 
> make correctness activity loop through all available lotties
> 
> 
> implement tests for lottie correctness through Android Activity
> 
> Change-Id: I8b5d1dfc0641e3227f23a4d4560faa756b245ede
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305216
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>

Change-Id: I59f4a02acfbddd2c8bbee0adcda1d737c9566c0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305601
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-07-27 14:24:30 +00:00
Robert Phillips
809a99819e Revert "implement working CorrectnessActivity to generate lottie keyframe PNGs"
This reverts commit 7f5e99465d.

Reason for revert: Blocking the Google3 roll

Original change's description:
> implement working CorrectnessActivity to generate lottie keyframe PNGs
> 
> 
> make correctness activity loop through all available lotties
> 
> 
> implement tests for lottie correctness through Android Activity
> 
> Change-Id: I8b5d1dfc0641e3227f23a4d4560faa756b245ede
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305216
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>

TBR=stani@google.com,jmbetancourt@google.com

Change-Id: I307129723f71644186378ca364c278661f128a5c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305723
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-24 15:18:31 +00:00
Jorge Betancourt
7f5e99465d implement working CorrectnessActivity to generate lottie keyframe PNGs
make correctness activity loop through all available lotties


implement tests for lottie correctness through Android Activity

Change-Id: I8b5d1dfc0641e3227f23a4d4560faa756b245ede
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305216
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-07-24 13:21:01 +00:00
Jorge Betancourt
cb41a4bf74 turn skottie view into a view group so we can swap out TextureView and SurfaceView
Change-Id: Iec87cf169c7d013e6727df8a9343b64b9d64243e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300621
Reviewed-by: Stan Iliev <stani@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-07-09 19:19:30 +00:00
Jorge Betancourt
4522f6e82d fix undefined behavior when skipping drawFrames
Bug: skia:10467
Change-Id: I2831938cde36c77129b013173c8a19120077f507
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299919
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
2020-07-06 16:05:02 +00:00
Jorge Betancourt
afaf5d56c5 performance increase by not drawing on do nothing frames
Change-Id: Ibcd4f0ed468563b22e29d23c7d72b474534d21f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299916
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-06-30 18:14:27 +00:00
Jorge Betancourt
ea25120849 Clean up skottielib: modify access to package classes and delete unneeded code
Change-Id: I86bff8efde4bdcd269c0c9940643926f9362dff7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299596
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-06-29 20:04:24 +00:00
Jorge Betancourt
1449d835af Move InputStream handling of SkottieLib to SkottieView
An effort to hide nuts and bolts from developers who wish to use
SkottieLib in their own application.

Change-Id: I2020e73279a53de8852d5b04d90d0e28bdbb5c6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298978
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-06-29 14:08:35 +00:00
Stan Iliev
c0ab92c52f Reland Implement Skottie vs Lottie perf tool
Add PerfActivity to Skottie demo app, which can render
with both Lottie and Skottie players. Create bash script, which
runs 15 lottie files with both renderers, runs perfetto and
outputs performance metrics in json files.

Test: ran run_perf.sh and it outputs perf metrics on WearOS and Android
Change-Id: I6bdd86629284ac5c461cf2f5ee537e0495a72bd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298980
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2020-06-26 16:34:25 +00:00
Michael Ludwig
34878824fc Revert "Implement Skottie vs Lottie perf tool"
This reverts commit 8ee607cbc1.

Reason for revert: proto extension number collision blocking roll into google

Original change's description:
> Implement Skottie vs Lottie perf tool
> 
> Add PerfActivity to Skottie demo app, which can render
> with both Lottie and Skottie players. Create bash script, which
> runs 15 lottie files with both renderers, runs perfetto and
> outputs performance metrics in json files.
> 
> Test: ran run_perf.sh and it outpus perf metrics
> Change-Id: Ibc29d3a9dc7bfe79002bf91472e93883d746c03d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296276
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Stan Iliev <stani@google.com>

TBR=djsollen@google.com,hcm@google.com,stani@google.com

Change-Id: I2de7feadf8ac2a5690c26e4e07b231af62502655
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298680
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-06-24 23:15:20 +00:00
Jorge Betancourt
287c28c047 update gradle version for android projects
When building application from command line, ensure that your
out file has the args:

ndk="[absolute path to ndk]"
ndk_api="[specific ndk api number]"

Then run:
platform_tools/android/bin/android_build_app -C  out/[out dir] [application name]

Change-Id: Ib380e99bf2dc2e6c136388a0653e380c21e180ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298679
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-06-24 18:36:53 +00:00
Stan Iliev
8ee607cbc1 Implement Skottie vs Lottie perf tool
Add PerfActivity to Skottie demo app, which can render
with both Lottie and Skottie players. Create bash script, which
runs 15 lottie files with both renderers, runs perfetto and
outputs performance metrics in json files.

Test: ran run_perf.sh and it outpus perf metrics
Change-Id: Ibc29d3a9dc7bfe79002bf91472e93883d746c03d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296276
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2020-06-24 16:42:53 +00:00
Jorge Betancourt
1fcdcaa0a1 Reland the new module for skia lib for g3
Try to merge change 296417 again with new changes to skottie BUILD in google3
This time, the autoroller shouldn't get upset.

move setupSkiaLibraryBuild call to new lib module
Move shared skottie files we intend to distribute into a library module

Change-Id: I3a86ec611cb38e1940033b60d607fabe6a4b24e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297842
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-06-23 14:19:13 +00:00
Derek Sollenberger
83195191bd Revert "Convert Skottie build instructions to build an Android Library (AAR) instead of app (APK)"
This reverts commit dff4d584ed.

Reason for revert: breaking the google3 roll

Change-Id: I0e26c77e9bad0f48bc726d3b63a97d5aa7fa51ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297190
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2020-06-17 20:35:21 +00:00
Jorge Betancourt
dff4d584ed Convert Skottie build instructions to build an Android Library (AAR) instead of app (APK)
Change-Id: Ib12364792523ac896c74ce2cd563173dd6081e78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296417
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-06-17 18:09:28 +00:00
Derek Sollenberger
2af055b14d Skottie example app to copy InputStreams in Java.
This CL avoids the JNI complexity of reading the Java InputStream in
C++. Instead, the stream is read into memory (or mmap'd) in Java and
the resulting ByteBuffer is passed to the native code to be wrapped
in a SkData object.

Change-Id: Iba4e41999da03481188434ddfbbff2d7bd741edd
Bug: skia:10310
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295820
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-06-12 16:41:19 +00:00
Jorge Betancourt
6c4b67d13b remove arcore from apps project directory
arcore is untouched and impedes builds of other apps in platform-tools

Change-Id: I92b603de318b956c116fa0a065a26d2217755b68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294736
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-06-09 17:46:47 +00:00
John Stiles
7b1355e509 Revert "Reland "Move JavaInputStreamAdaptor into third_party and add a LICENSE file.""
This reverts commit fee069880d.

Reason for revert: google3 roller is glitchy today, try again later

Original change's description:
> Reland "Move JavaInputStreamAdaptor into third_party and add a LICENSE file."
> 
> This is a reland of eac2d518bd
> 
> The aosp folder was added to the google3 roller include_patterns list:
> http://cl/315274044
> 
> Original change's description:
> > Move JavaInputStreamAdaptor into third_party and add a LICENSE file.
> >
> > Change-Id: I723b15fbcf3343559fb5a3fe3015cf3db96e2841
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294696
> > Reviewed-by: Heather Miller <hcm@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
> 
> Change-Id: I27ac16c3ac05fbee1473af886379e95492302d50
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295000
> Reviewed-by: Heather Miller <hcm@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

TBR=djsollen@google.com,hcm@google.com,johnstiles@google.com

Change-Id: I8c620c47a8c6c7f3e081fe786a17396a40236105
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295081
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-08 19:18:15 +00:00
John Stiles
fee069880d Reland "Move JavaInputStreamAdaptor into third_party and add a LICENSE file."
This is a reland of eac2d518bd

The aosp folder was added to the google3 roller include_patterns list:
http://cl/315274044

Original change's description:
> Move JavaInputStreamAdaptor into third_party and add a LICENSE file.
>
> Change-Id: I723b15fbcf3343559fb5a3fe3015cf3db96e2841
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294696
> Reviewed-by: Heather Miller <hcm@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Change-Id: I27ac16c3ac05fbee1473af886379e95492302d50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295000
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-08 16:44:04 +00:00