Commit Graph

176 Commits

Author SHA1 Message Date
Nathan Harold
41e2d7494f Merge "Move some members to the "Q blacklist"." am: f5cf9f24ed
am: 13c9e7e2f3

Change-Id: Ia2419cce28d26d9464da2a5172cb332b629e943e
2018-10-24 16:14:06 -07:00
Mathew Inwood
45d2c252b1 Move some members to the "Q blacklist".
Based on some analysis, these fields/methods are likely false positives.
Set maxTargetSdk=P so that any apps using them are required to migrate off
them in future. See the bug for more details.

Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 115609023
Test: m
Merged-In: I719b5c94e5b1f4fa562dd5d655953422958ad37e
Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
(cherry picked from commit 8c854f86a4)
2018-10-22 17:28:24 -07:00
Mathew Inwood
28a4548cbf resolve merge conflicts of 1ddeb9e01f to stage-dr1-aosp-master
am: 08e080c314

Change-Id: I369a362e05923b6113b0c8e8e5c9da3bc122a5ee
2018-08-02 10:37:24 -07:00
Mathew Inwood
1ddeb9e01f resolve merge conflicts of 95f8ca9f74 to stage-aosp-master
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Merged-In: I7fc1162d2c63df8751a4660607e8ce72070efed8
Change-Id: I0e5a5d8fda273644e8c592ce7d059e508870085e
2018-08-02 14:24:12 +00:00
Mathew Inwood
9ebe36c305 Add @UnsupportedAppUsage annotations
For packages:
  android.graphics
  android.graphics.drawable
  android.graphics.drawable.shapes
  android.graphics.fonts
  android.graphics.pdf

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Merged-In: I7fc1162d2c63df8751a4660607e8ce72070efed8
Change-Id: I5d7739d2d1fc7bb12ee059bcc2a9ac9017ca35fb
2018-07-31 14:36:52 +01:00
Laura Davis
42d27af0da Docs: fixed typo
Test: make ds-docs

Bug: 111817624
Change-Id: I908e06419ab56220b41be6f821cff3258691b3b9
2018-07-27 12:07:27 -07:00
Derek Sollenberger
2ad19e5146 Temporarily allow StackView to use a canvas.clipRectUnion
StackView currently expands the clip of the view which is a prohibited
operation in API Level 28.  This CL currently allows this specialized
use case to work in this situation until we can update StackView
to not clip to its bounds and then just intersect with this clip
provided by its parent.

Test: CtsWidgetTestCases
Bug: 77642155
Change-Id: Icc003ad3946bb226368ec2030d4707753f4f55e9
2018-04-18 16:19:59 -04:00
Derek Sollenberger
2d4f01ba7f Restore saveLayer APIs back into the public API.
The saveLayer APIs are restored from @removed but will treat input
as ALL_SAVE_FLAGS and generate exceptions on newer API levels.

We internally used these calls in one situation that now use a
different @hide API to support the previous behavior until we
refactor that code.

Partial revert of "Remove deprecated android.graphics.Canvas APIs"
This reverts commit 7b837616ae.

Bug: 77276963
Bug: 73777445
Test: CtsGraphicsTestCases
Change-Id: I7acd4ffd5ac41a58d2be8b48cf50119c2b896708
2018-03-30 14:40:04 -04:00
Derek Sollenberger
7b837616ae Remove deprecated android.graphics.Canvas APIs
Bug: 73777445
Test: compile
Change-Id: Ie68f2fbe3c3be82f3c20529d535875d4cc204b7c
2018-03-27 14:36:50 +00:00
Mike Reed
322bc57a33 detect api version, and start respecting offsets
Test: make

Bug: 36471624
Change-Id: Ica10c557bf35e8d707fabbafab49d22109916fd3
2018-03-21 17:39:01 +00:00
Stan Iliev
7717e22c85 Draw text with a hairline stroke as if it is fill style
Dew to a side effect of HWUI opengl pipeline, the hairline stroke
is not respected, but it is drawn as a fill style. Implement the
same behaviour for skiagl pipeline with SDK API 27 and older.
On SDK released with Android P, the hairline stroke is respected.

Bug: 72494357
Test: Ran duolingo app
Change-Id: I48bdcf3ddec4bf65b5e93e01c5002177c4e3da90
2018-02-08 23:04:47 +00:00
John Reck
938e884a1f Avoid setting high contrast in every view draw
Test: high contrast text still works
Change-Id: I6674d1aca8dddf7eb9725a5346aed12ef1dbc195
2017-08-24 16:15:58 -07:00
Derek Sollenberger
d70695ee34 Add an O-release targetAPI check for Canvas.setBitmap.
For apps targeting releases earlier than O setBitmap will attempt
to preserve the matrix from the previous bitmap.  It does not however
attempt to reconstruct the save/restore stack or the clip.

Test: manual test of messenger app referenced in the bug
Bug: 37589964
Change-Id: I67f0928a3f84a8be41da38ef1868e79bdeb03e46
2017-05-11 09:28:02 -04:00
Derek Sollenberger
eb69cbbe22 Change behavior of setBitmap to cleanly reset the canvas
- identity matrix
 - no save stack
 - wide-open clip

This reverts commit 4f641d1e45

Test: bit CtsGraphicsTestCases:.CanvasTest
Bug: 36218535
Change-Id: Id11deb06e37d6df61f1f171d424ab150d812a7a8
2017-04-11 14:00:25 -04:00
Tony Mantler
4f641d1e45 Revert "Change behavior of setBitmap to cleanly reset the canvas - identity matrix - no save stack - wide-open clip"
https://buganizer.corp.google.com/issues/36218535

This reverts commit 269f989fbf.

Change-Id: Ib2473e4fce90c9abaa39eea2b77082ae26197b80
2017-03-14 22:40:31 +00:00
Mike Reed
269f989fbf Change behavior of setBitmap to cleanly reset the canvas
- identity matrix
- no save stack
- wide-open clip

Behavior around the new bitmap is the same.

Tests : CtsGraphicsTestCases

Change-Id: Ieaf8c2a1b96262ed33940dd852a86089eb93efdb
2017-03-13 15:39:57 +00:00
Derek Sollenberger
7183b6908b Merge "Deprecate Canvas save/saveLayer flags." 2017-02-14 13:31:21 +00:00
Derek Sollenberger
8c5759624c Deprecate Canvas clipping for arbitrary Region.Ops.
Operations that can expand the clip are difficult to support and
don't fit the parent child model that is used by the view system.

Test: compile
Bug: 14650725
Change-Id: I67e99d3e1a1eb0b231910ee5d277a38e8a953dc4
2017-02-09 14:17:55 -05:00
Derek Sollenberger
b8201195df Deprecate Canvas save/saveLayer flags.
Test: compile
Bug: 14650725
Change-Id: I6424ac46bae0a7a87c4b7743e81319945dfdd087
2017-02-09 13:18:25 -05:00
Chris Craik
bfa0b29883 Use @CriticalNative in Canvas
Bug: 33460152
Test: ViewShowHidePerfTests

Switches non-drawing @FastNative methods to @CriticalNative, except
where out arguments prevent it.

Performance in ViewShowHidePerfTests not significantly impacted.

Change-Id: I3edc963accb4f87f73d175c7b2534868602a7db3
2017-01-23 14:25:06 -08:00
Derek Sollenberger
b29b16e542 Remove clipRegion from the public API.
This API is difficult to support for printing and has other negative
effects as it does not respect the current matrix/clip.

Test: compile
Bug: 14650725
Change-Id: I71f9bd687d446c7ce8910d755421aad8e09458db
2017-01-04 14:57:43 -05:00
John Reck
1ece145e01 Re-order draw methods to make update-api happy
update-api orders methods alhabetically by name, but when
there's multiple methods with the same name it falls back to
the ordering within the file.

Re-order the methods in canvas.java to match what's already in
current.txt to avoid unnecessary changes.

Also auto-formatted the draw methods as some were mis-indented.

Test: No behavior change, just method re-ordering
Change-Id: I2a7d313c8e7a6bd9187c4ed7dbde944b88aa32bb
2016-10-20 17:05:10 +00:00
John Reck
caa08ff5e9 The bigger update to Canvas
All draw* calls in Canvas are regular JNI
All draw* calls in DisplayListCanvas are FastNative
Unifies Canvas JNI on nMethodName naming

CanvasPerf results before:
INSTRUMENTATION_STATUS: basicViewGroupDraw_min=12492
INSTRUMENTATION_STATUS: recordSimpleBitmapView_min=13912

and after:
INSTRUMENTATION_STATUS: basicViewGroupDraw_min=11945
INSTRUMENTATION_STATUS: recordSimpleBitmapView_min=13318

Test: refactor, makes & boots
Change-Id: I06000df1d125e17d60c6498865be7a7638a4a13e
2016-10-17 11:33:28 -07:00
John Reck
5cb74bca88 Canvas fastjni -> @FastNative
Just the basic cleanup first, will follow-up with a more
comprehensive update later
Test: builds & boots, refactor no behavior change

Change-Id: Ie3a7144b5fefdfda085e2ab50da8b0e627a1ecb8
2016-10-10 08:19:15 -07:00
Chet Haase
8b9ed44f8d Various doc cleanups
Issue #6439958  More R.attr breakage
Issue #918412  android.graphics.Paint.FontMetricsInt fields & methods need doc
Issue #917387  javadoc bug: Canvas.EdgeType has minimal documentation
Issue #18948460 [DAC-bug] LinearLayout xml layout_weight parameter is missing description

Change-Id: Idb289ca778b3f316923757405460031ce7a5e1e9
2016-08-26 06:50:21 -07:00
Adrian Roos
f761b41501 Merge \\\"Keyguard: Reapply insets when fitsSystemWindow changes\\\" into nyc-mr1-dev am: 5e0a42848e am: 7c323ce7d7
am: 51fe9421ae

Change-Id: Ia96e1c2c59e83d8d8472a8795fd5998d9f7fe3a2
2016-07-29 01:38:15 +00:00
sergeyv
a6a8557d6e Turn off simplePath optimization then Path object is used as out param
Change-Id: I4d9ae5c756b2ed1ba30483e8685ce1ad6c1f0c03
fixes:30349106
2016-07-27 14:13:34 -07:00
John Reck
41f864ec45 Minor optimizations
Don't save matrix if we just need clip saved
Early-reject the easy-to-reject cases in Canvas
before hitting JNI

Change-Id: I385ef90a31efbda31ce37837152f626aad553ee7
2016-05-12 15:07:49 -07:00
Richard Uhler
0ebdbb4a84 Hold a ClassLoader reference in NativeAllocationRegistry.
So that the native library isn't unloaded before we have a chance to
call the freeFunction.

Bug: 28406866
Change-Id: I889f1ccd91bba70e31fb8d09c0ec6d471fc35841
2016-05-03 13:06:22 -07:00
sergeyv
3d8298e1a8 DisplayListCanvas: throw exception at attempt to draw bitmap with size > 100MB
bug:26943116
Change-Id: If72c9f21ca2d8eb660ea2db4a42c8199f8d02472
2016-04-21 14:48:04 -07:00
Andreas Gampe
f6765f3965 Frameworks/base: Refactor Paint & Canvas native allocation support
Put the native allocation support into a holder class. This allows
statically initializing the classes in the boot image.

Bug: 27265238
Bug: 23130675
Change-Id: I857aebfdbaec39067a5eb58afceb49630176af98
2016-02-29 10:49:01 -08:00
Richard Uhler
775873a66a Use NativeAllocationRegistry for Paint, Canvas, and Bitmap
Bug: 23130675
Change-Id: I3fbd84ba417ac63df75f87ee2c56e3e7f3c9eb46
2016-01-13 16:14:33 -08:00
Chris Craik
7ee860c416 Merge "Add missing @deprecated comments to canvas methods" 2016-01-06 18:32:50 +00:00
Chris Craik
eda57925ca Add missing @deprecated comments to canvas methods
bug:25311154

Change-Id: Ie89e2160969eb7b4187f28ab4b0342804cf67724
2015-12-17 15:42:51 -08:00
Chris Craik
92c11864c7 Correct drawLines annotations
Change-Id: I161e419a3ce427e10d802ba692679ad671e23dde
2015-12-17 15:11:24 -08:00
Sungsoo Lim
0d3d1f825f Fixed typos: when when
Change-Id: I80c0b8817dcbed45071e42d9ffa88bae52a93a81
2015-12-02 14:50:36 +09:00
Derek Sollenberger
4c5efe9290 Add ninePatch support to Canvas.h
Change-Id: Ic095291fe55911c6501c1bdefa4b8da973c77319
2015-08-18 15:32:57 -04:00
John Reck
773bbe0357 Revert "Add ninePatch support to Canvas.h"
This reverts commit edca320a2b.

Change-Id: I30ee93cfc1cac391ce152f03e9e13a1ad24dc91b
2015-08-17 15:24:09 -07:00
Derek Sollenberger
edca320a2b Add ninePatch support to Canvas.h
Change-Id: Ib3202fd7c5b9f35853f286abe84b3ed009df1a81
2015-08-14 14:59:37 -04:00
Derek Sollenberger
6578a98956 Support High Contrast Text for all canvas types
Change-Id: Iee324446798fe1a1cb32cb991f181a4af24aa93c
2015-07-29 16:02:14 -04:00
Chris Craik
749e67438c Revert "Support High Contrast Text for all canvas types"
bug:22820834

This reverts commit 876d56612a.

Change-Id: I4e07a0894095caaaf2fd36bfa6073d033542bfc4
2015-07-29 18:14:46 +00:00
Derek Sollenberger
876d56612a Support High Contrast Text for all canvas types
Change-Id: Ib46ba3d7c67e081872e6a4b11d294fe9a61f5bbd
2015-07-13 15:13:15 -04:00
Derek Sollenberger
94394b3fb0 Move drawRegion from DisplayList to Canvas
Change-Id: I9f401dc5b24732938ac2ca7ed829796e2d7ef3e8
2015-07-13 13:48:08 -04:00
Derek Sollenberger
cc882b6518 Remove unused functions and variables from DisplayListCanvas
This also moves some functions that are only called when creating/completing
a displayList into the appropriate constructors and endRecording calls.

Change-Id: I9f6add156d7f476a52766934af713b0f852c8dea
2015-07-10 19:32:30 +00:00
Keisuke Kuroyanagi
f2122ef549 Improve boundary check for for Paint#DrawTextRun.
Change-Id: I01027ebb9133240cc1c750824a41dd9fca484c1f
2015-06-11 20:46:53 +09:00
John Reck
7c103a36f6 Remove Bitmap#getSkBitmap
Change-Id: Ifb9047b426122d3e5a445eb7a0eb3fce38dedf27
2015-05-01 14:38:44 -07:00
John Reck
3731dc220e A bunch more cleanups
Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
2015-04-30 14:34:55 -07:00
Raph Levien
c6abf5bff6 Expose drawTextRun publicly
For correct low-level drawing of low level text, a method that
includes context for shaping is necessary, and it's similarly useful
to provide the direction explicitly rather than running the BiDi
algorithm on the text. The drawTextRun method (in both char[] and
CharSequence variants) has provided this functionality for several
major releases but has been internal. This patch exposes the
methods publicly, and also improves the doc strings for both
the new method and some related ones.

Bug: 20193553
Change-Id: I9be33ca5ae3e7db2b69a56298400671d5ef8ad05
2015-04-27 15:33:03 -07:00
John Reck
c1b33d665c GraphicsJNI Canvas cleanup
Change-Id: I72e142986a8bc9f464c1951b6b5187919de3462e
2015-04-22 09:34:34 -07:00
John Reck
9d4efdf280 Revert "A bunch more cleanups"
This reverts commit c294d128d0.

Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
2015-04-17 20:47:27 +00:00