3050 Commits

Author SHA1 Message Date
Seigo Nonaka
0763650a13 Notify caller if none of settings are effective.
Now setFontVariationSettings returns false if the given settings is not
effective.

Bug:35764323
Test: ran TextViewTest and PaintTest in cts
Change-Id: Ic31d9e47ec006c8e7bb2c907ff0ea2936bd71d01
2017-03-15 14:05:37 -07:00
TreeHugger Robot
2bd530e156 Merge "Pass advances to Minikin for calculating getTextRunCursor" 2017-03-15 19:53:16 +00:00
TreeHugger Robot
aa0b3a8da1 Merge "Modify createBitmap w/ crop and matrix to not rely on Canvas.setBitmap" 2017-03-15 19:23:08 +00:00
Clara Bayarri
ff221613ec Provide ApplicationContext to Typeface for font requests
We were using a generic context that caused crashes for
the content providers.

Bug: 34657204
Test: manual, calling getCallingPackage() from the provider
doesn't crash anymore.

Change-Id: I2b61e6510d8c6647007987373d03ee5dc97c0889
2017-03-15 17:38:56 +00:00
Seigo Nonaka
ac873c9f25 Clean up public FontConfig APIs
This CL contains following clean up:

- Hide unnecessary constructors.
- Change List<XX> to XX[] since actually all fields are immutable.
- Change font's variant type from String to int.
- Decouple resource related members to FontResourcesParser.
- Add NonNull/Nullable to all fields.

Test: ran android.content.res.FontResourcesParserTest

Change-Id: If456266ffff86d41342572a19662cc8f3cd13181
2017-03-15 10:16:55 -07:00
Derek Sollenberger
29cd3e9226 Modify createBitmap w/ crop and matrix to not rely on Canvas.setBitmap
Test: CtsGraphicsTestCases BitmapTest
Bug: 36218535
Change-Id: I972f3ed6d037f6cae7a36fd2e612df9ab40a8b2d
2017-03-15 11:28:50 -04:00
Chris Craik
95e8afbb5e Merge "Revert "Change behavior of setBitmap to cleanly reset the canvas - identity matrix - no save stack - wide-open clip"" 2017-03-14 23:35:29 +00: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 269f989fbf198b17994baf9141c4640aeaf34b4e.

Change-Id: Ib2473e4fce90c9abaa39eea2b77082ae26197b80
2017-03-14 22:40:31 +00:00
Romain Guy
5ccb12294e Merge "Use d=0.039 for Display P3 instead of sRGB's 0.04045" 2017-03-14 22:28:08 +00:00
Roozbeh Pournader
5d74b1c76f Pass advances to Minikin for calculating getTextRunCursor
Previously, the getTextRunCursor() implementation in Minikin ignored
the font and just used the characters in the buffer in order to
determine cursor positions. Now we calculate the advances beforehand
in order to find potential Indic clusters.

Test: Manually tested some Tamil sequences
Bug: 35721792
Change-Id: I2500bd4c2c9d07bb6c965b2d41e04853886a7391
2017-03-14 13:11:40 -07:00
Romain Guy
494f784e47 Use d=0.039 for Display P3 instead of sRGB's 0.04045
Bug: 32984164
Test: ColorSpaceTest
Change-Id: I4dd38a660e5130f36e424a3e7eb62e3d65ef2d2f
2017-03-13 14:12:57 -07:00
Chris Craik
00128ab0b5 Merge "Fix ShapeDrawable#mutate" 2017-03-13 17:34:40 +00:00
TreeHugger Robot
1965d2898c Merge "Change behavior of setBitmap to cleanly reset the canvas - identity matrix - no save stack - wide-open clip" 2017-03-13 17:33:05 +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
Chris Craik
957b3372f2 Add comment to Shader#mLocalMatrix
Test: just comments, none

Change-Id: Idd337deef5fa796f3d83ffbddca58949b27d5169
2017-03-10 16:54:39 -08:00
Chris Craik
374347a5fe Fix ShapeDrawable#mutate
Fixes: 35940396
Test: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases --test android.graphics.drawable.cts.ShapeDrawableTest

Change-Id: I5731ce131785ded07bcde9e54ecb9d4f5dcfa96b
2017-03-10 16:39:09 -08:00
TreeHugger Robot
a2b2a29078 Merge "Allow Font providers to return status codes" 2017-03-10 18:10:43 +00:00
Clara Bayarri
bacf2352ab Allow Font providers to return status codes
This was requested by the current users, need to state
that a font is unavailable (needs downloading) or that
the query is unsupported.

Also add tests :)

Test: runtest --path frameworks/base/core/tests/coretests/src/android/provider/FontsContractTest.java
Also CTS attached to topic
Bug: 35097775
Change-Id: Ib15bf4c70185d81a4c20426722eb44c4210771c2
2017-03-10 16:24:04 +00:00
Chris Craik
b20f320954 Merge "Support for shader mutation" 2017-03-10 01:46:08 +00:00
Chris Craik
b581e6704f Support for shader mutation
Bug: 36025103

Test: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases
Test: cts-tradefed run singleCommand cts-dev --module CtsUiRenderingTestCases
Test: manually inspected for leaks via SK_TRACK_SHADER_LIFETIME and forcing a GC after ComposeShaderTest

Change-Id: Ib5d33a80d2f9f468705806b05832e753508143cc
2017-03-09 15:19:46 -08:00
TreeHugger Robot
7cf9be0246 Merge "Make Bitmap.get/setPixel[s] color space aware" 2017-03-09 02:06:10 +00:00
Romain Guy
ce217faddb Make Bitmap.get/setPixel[s] color space aware
Bug: 32984164
Test: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases --test android.graphics.cts.BitmapColorSpaceTest
Change-Id: Iee8c4abb264f0d2a44bae59788fbf4dcb2d0fdf7
2017-03-08 16:45:20 -08:00
TreeHugger Robot
dfcebf672d Merge "Write Bitmap's color space in parcel" 2017-03-08 02:06:49 +00:00
TreeHugger Robot
6587430d6f Merge "AdaptiveIconDrawable should handle all usage cases of setBounds Test: runtest --path=frameworks/base/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java" 2017-03-08 00:02:44 +00:00
Romain Guy
5acc476878 Write Bitmap's color space in parcel
This change also resets the cached color space field in Bitmap.java
when reconfigure() is called or when a bitmap is reused by the
bitmap factory.

Bug: 32072280
Test: CtsGraphicsTestCases.BitmapColorSpaceTest
Change-Id: I232b729b7a29e65bfff21dc749570c3c80adf855
2017-03-07 15:41:07 -08:00
Hyunyoung Song
0bbf4f5974 AdaptiveIconDrawable should handle all usage cases of setBounds
Test: runtest --path=frameworks/base/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java

b/35950873
b/35673169
b/34902453

adb  shell am instrument -e class 'android.graphics.drawable.AdaptiveIconDrawableTest' -w 'com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner'
android.graphics.drawable.AdaptiveIconDrawableTest:..

Time: 1.241

OK (2 tests)


Change-Id: I6498f6acc782a30188fc2afc50781cef83e4747b
2017-03-07 11:42:29 -08:00
TreeHugger Robot
7ef25b7894 Merge "Add ColorSpace information on Bitmap" 2017-03-07 18:37:13 +00:00
Clara Bayarri
3c4be77db9 Support non-system Font Providers
To do this, the developer must specify the set of certificate
hashes that represent the authority's app. This allows us to
verify that the authority we find is indeed the one intended
by the developer.

Bug: 35025705
Test: runtest --path frameworks/base/core/tests/coretests/src/android/provider/FontsContractTest.java
runtest --path frameworks/base/core/tests/coretests/src/android/content/res/FontResourcesParserTest.java
CTS attached to topic
Change-Id: I605f9a93bbca8705936ead08efb4a5b4fdcc4882
2017-03-07 14:59:33 +00:00
Romain Guy
efb4b06493 Add ColorSpace information on Bitmap
This is the first step toward interpreting color spaces at render time.

Bug: 32984164
Test: BitmapColorSpaceTest in CtsGraphicsTestCases

Change-Id: I0164a18f1ed74a745874fe5229168042afe27a04
2017-03-06 19:33:25 -08:00
Roozbeh Pournader
b85f02e9ad Merge "Frameworks support for hyphenation for various complex cases" 2017-03-06 19:19:11 +00:00
Roozbeh Pournader
46c6f4c5ea Frameworks support for hyphenation for various complex cases
This adds better support for Arabic script languages, Armenian,
Catalan, Hebrew, Kannada, Malayalam, Polish, Tamil, and Telugu by
adding various hyphenation types and edits appropriate for the
locales.

The actual implementations are in Minikin. This CL takes care of the
changes needed in frameworks, to support different end-of-line and
start-of-line hyphen edits.

Two bugs in TextLine.java are also fixed:

1. Where hyphen edits on non-spanned texts were not eliminated in
handleRun() when they should have. This had manifested itself in
double hyphenation in some bidi paragraphs.

2. Some no op assignments and comparions around the change for the
above bug are removed.

Test: thorough manual testing for various cases
Bug: 19756624
Bug: 19950445
Bug: 19955011
Bug: 25623243
Bug: 26154469
Bug: 26154471
Bug: 33387871
Bug: 33560754
Bug: 33752592
Bug: 33754204
Change-Id: I48c047d1f6a75c39a78a6ea38a0a3282f63326ec
2017-03-03 15:34:42 -08:00
Hyunyoung Song
e4179e2c4e Change MaskableBitmap to AdaptiveBitmap
Test: $ make dist -j30
b/35399620

Change-Id: I96d6eaceaf7ce9dec7de21634a5fa2bd40b0deba
2017-03-01 15:14:02 -08:00
TreeHugger Robot
5d8caaafa6 Merge "Fix ShapeDrawable mutate, add clone() support to ArcShape, OvalShape" 2017-02-27 19:34:13 +00:00
TreeHugger Robot
d41189339b Merge "Make Half look like and behave like a boxed instance" 2017-02-27 17:19:10 +00:00
Romain Guy
95b52fd187 Make Half look like and behave like a boxed instance
Bug: 35765416
Test: HalfTest
Change-Id: I7ef52428f8b4e2c05b91d7eb37cc4cb5ecc5c6b9
2017-02-26 09:37:52 -08:00
Alan Viverette
446d988b44 Fix ShapeDrawable mutate, add clone() support to ArcShape, OvalShape
Also cleans up stray white space and fixes docs. Adds getters to ArcShape
properties so that we can write proper CTS tests.

Fixes: 35419960
Test: ArcShapeTest, OvalShape#testClone, ShapeDrawableTest
Change-Id: Icf1bae7f79f9294b2a60c49b85ce8749473ed61e
2017-02-24 11:14:24 -05:00
Romain Guy
4db2c229be Add CIECAT02 chromatic adaptation transform
Bug: 32984164
Test: CtsGraphicsTestCases
Change-Id: Id13ff88ab7a21901bd914ed740f859588099a18e
2017-02-23 15:23:55 -08:00
Andreas Gampe
a7993241a9 Graphics: Make SurfaceTexture compile-time initializable
Ensure that all static initializer code can be executed in the
compiler. Move native field caching into the native method
registration function.

Bug: 34956610
Test: m
Test: Device boots (Pixel)
Change-Id: Icf68c8fbadcaaa133a152942a3a7ba7aba84a1df
2017-02-20 16:18:24 -08:00
TreeHugger Robot
d89cf81f80 Merge "Change MaskableIconDrawable to AdaptiveIconDrawable" 2017-02-18 01:04:59 +00:00
Hyunyoung Song
be8835e86b Change MaskableIconDrawable to AdaptiveIconDrawable
Test: $ make -j31 dist

Bug: 35399620
Change-Id: I5e54f75b3df21ffe546e0e54dbd7ea29499d1789
2017-02-17 12:13:22 -08:00
Romain Guy
172873f5e6 Merge "Add RGBA 10:10:10:2 format for surfaces" 2017-02-17 19:25:08 +00:00
Clara Bayarri
b44abf2901 Use weight & style data for fonts from xml source
Bug: 34916944
Test: manual tests
Change-Id: I1d6e1c4c52859c5e9d7a8b0a247e4d0581935833
2017-02-16 18:21:23 +00:00
Romain Guy
8ec21062de Add RGBA 10:10:10:2 format for surfaces
Bug: 2984164
Test: CtsHardwareTestCases
Change-Id: I4a42cb9002d8f1f1362999f2739d06c712157620
2017-02-15 18:29:50 -08:00
Hyunyoung Song
966ad0b2f5 Remove color attribute from MaskableIconDrawable foreground/background tag
Test: manual test

Change-Id: Ia8426051aed8c4451b10cf415e179930caede974
2017-02-14 10:23:06 -08:00
TreeHugger Robot
02761acc67 Merge "Declarative downloadable fonts" 2017-02-14 15:39:04 +00:00
Clara Bayarri
4b5a4d221f Declarative downloadable fonts
Implement support for downloadable font requests in xml. Given the
xml fonts feature in O, this adds support to not only declare
local font files as font resources, but also Downloadable fonts
from a fonts provider.

A provider returns a font family (of one or more files) given a
query, so the new attributes are added to the font-family tag.

Additionally, add support to pre-declare downloadable font resources
in the Android Manifest. These will then be fetched at app startup
time so they are available to use from the Typeface cache asap.

When retrieving downloadable fonts via resources, the cache is
checked to see if the font is already there and is used, otherwise
a request is sent to the provider and the default font is returned
as we need a result synchronously.

To do this, the developer declares an additional fonts xml resource
file with the list of fonts to preload and links it in the manifest
with a meta-data tag.

E.g.:

res/font/mydownloadedfont.xml

<font-family xmlns:android="http://schemas.android.com/apk/res/android"
        android:fontProviderAuthority="com.example.test.fontprovider"
        android:fontProviderQuery="myrequestedfont">
</font-family>

res/font/preloaded_fonts.xml

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font android:font="@font/mydownloadedfont" />
</font-family>

and in the AndroidManifest.xml

<meta-data android:name="preloaded_fonts"
    android:resource="@font/preloaded_fonts" />

Bug: 34660500, 34658116
Test: WIP, need to add more
Change-Id: I1d92555e115e241bf23b59e6f5c6cca6c7361de7
2017-02-14 13:32:41 +00:00
Derek Sollenberger
7183b6908b Merge "Deprecate Canvas save/saveLayer flags." 2017-02-14 13:31:21 +00:00
Hyunyoung Song
4d20ee8c46 Merge "Icon class should support Maskable bitmap type" 2017-02-13 23:36:15 +00:00
Derek Sollenberger
427acd7c77 Merge "Deprecate Canvas clipping for arbitrary Region.Ops." 2017-02-13 20:16:26 +00:00
Hyunyoung Song
9ee90a42dc Icon class should support Maskable bitmap type
Test: Unit test on IconTest
$ runtest --path=frameworks/base/graphics/tests/graphicstests/src/android/graphics/drawable/IconTest.java

b/34196580

Change-Id: I321c4b02f17ad9426c053216c4c88616a605aacf
2017-02-13 09:56:05 -08:00