4349 Commits

Author SHA1 Message Date
Siyamed Sinir
c56ad2badb Temporarily disable emoji availability check
On builds where SMALLER_FONT_FOOTPRINT environment variable is set, some
of the fonts are not included in the build which causes emoji checks to
fail. This CL temporarily disables emoji checks.

Bug: 27785690
Change-Id: Ie32f0aa630c84347588fc87630467c14e985940a
2016-03-22 17:50:58 -07:00
Chong Zhang
3db51d1999 Merge "Don't change geometry in relayout if preserve geometry is requested" into nyc-dev 2016-03-22 18:05:33 +00:00
Diego Perez
21412f09b9 Merge "Remove BufferedImage allocation from PorterDuff filter" into mnc-ub-dev
am: ebf3261

* commit 'ebf3261aa6d80ad4ca1df0fd0509961ff7a1914e':
  Remove BufferedImage allocation from PorterDuff filter
2016-03-22 17:40:20 +00:00
Diego Perez
ebf3261aa6 Merge "Remove BufferedImage allocation from PorterDuff filter" into mnc-ub-dev 2016-03-22 17:33:05 +00:00
Chong Zhang
6136273888 Don't change geometry in relayout if preserve geometry is requested
This causes scaling to be applied in the relayout window since the
requested size won't match the window size. Apply the requested size
in repositionChild instead.

bug: 27676101
Change-Id: I03beee2b9fe118a6be329b5fd1338d54e48d9a22
2016-03-22 10:28:27 -07:00
Deepanshu Gupta
a96d258fdf Merge "Add guard around getXmlFileParser() call" into nyc-dev 2016-03-21 22:45:14 +00:00
Deepanshu Gupta
cd6e47e445 Add guard around getXmlFileParser() call
Prevents the need to update the LayoutLib API level.

Bug: http://b.android.com/202942
Change-Id: I507239148ab8d6d45406624dba569c8b7197f979
2016-03-21 14:07:20 -07:00
Deepanshu Gupta
86621737fc Merge "Add guard around getXmlFileParser() call" into mnc-ub-dev 2016-03-21 18:53:57 +00:00
Matt Sarett
d126b1ed5d Merge "Work-around paletted image decoding bug in SDK_JELLYBEAN" into nyc-dev 2016-03-21 18:26:19 +00:00
Deepanshu Gupta
13d2e2e10b Add guard around getXmlFileParser() call
Prevents the need to update the LayoutLib API level.

Bug: http://b.android.com/202942
Change-Id: I507239148ab8d6d45406624dba569c8b7197f979
2016-03-21 08:53:13 -07:00
Diego Perez
38735b0026 Merge "Account for parent scroll position" into nyc-dev 2016-03-21 11:20:14 +00:00
Yohei Yukawa
1064d35307 Merge "Tell IMS about missing InputConnection methods." into nyc-dev 2016-03-19 00:36:22 +00:00
Tony Mantler
4f29d45ad4 Merge "Fix build" into nyc-dev 2016-03-18 21:20:49 +00:00
Tony Mantler
86b66c5ef6 Fix build
Change-Id: I590db57366a40aa011ee02e6e34e64cd2e7d1115
2016-03-18 13:06:56 -07:00
Diego Perez
d15459197f Account for parent scroll position
When calculating the ViewInfo bounding box, account for the parent
scroll position.
Also make renderAndVerify return a RenderResult to verify some data
about the result layout.

Change-Id: I965e393c49b5030c80083daf5e058fa31400ce93
2016-03-18 16:52:39 +00:00
Roozbeh Pournader
1169f65234 Merge "Add more emoji-related tests" into nyc-dev 2016-03-17 22:18:51 +00:00
Jeff Sharkey
8a372a0a28 Refactoring FBE APIs based on council feedback.
Mostly consists of removing the word "encryption" from most APIs,
since we can't actually make promises about the data being encrypted.

Bug: 27531029
Change-Id: Iace9d7c4e64716abf86ed11847c40f3947e1d625
2016-03-17 14:49:08 -06:00
Roozbeh Pournader
7b822e5fc1 Add more emoji-related tests
1. Check that dual-use text/emoji character that default to text
style are available in a font before the emoji font. (Exceptions are
Unicode 7.0 characters that Noto Symbols doesn't support yet and four
odd characters that should be added to the Noto Symbols subset.)

2. Remove previous workaround for default emoji-style characters that
were in the Noto CJK fonts, since they are now subsetted out from
Noto CJK.

Bug: 26113320
Bug: 26187231
Change-Id: Ib9ea2f4f7e6ca0cd8d291f1dc3d7ee5053d4928e
2016-03-17 08:50:43 -07:00
Benjamin Franz
f9124ecad9 Merge "Flush package restriction changes for a user." into nyc-dev 2016-03-16 23:51:44 +00:00
Matt Sarett
48efde4fb1 Work-around paletted image decoding bug in SDK_JELLYBEAN
Because there is a bug decoding paletted images in SDK_JELLYBEAN,
we need to avoid encoding paletted images for apps that support
SDK_JELLYBEAN and earlier.

BUG=27643907

Change-Id: Ib7d51ed87435cd36507915d62b0057c06f18b2b6
2016-03-16 18:36:06 -04:00
Roozbeh Pournader
fa1facc0fd Add emoji-related tests for the font chain
1. Check that all emoji characters are supported in emoji fonts.

2. Check that no default-emoji characters are included in any font
that can get a higher score then the color emoji font, either by
being before it or by having a language/script assigned.

Bug: 26187231

Change-Id: Ic76bf59f1c6f9d2d290b1b64128d725ae08dcb5c
2016-03-16 13:57:22 -07:00
Sudheer Shanka
bbb3ff2b2a Flush package restriction changes for a user.
Change-Id: I7c4481f820b6b368487d00de6c783e64cec99f4b
2016-03-16 01:42:23 +00:00
Yohei Yukawa
19a80a1e80 Tell IMS about missing InputConnection methods.
Summary:
  This CL introduces a unified mechanism to deal with the situation
  where the application directly implements InputConnection but some of
  methods are not implemented.  Note that there should be zero overhead
  when the application extends BaseInputConnection or
  InputConnectionWrapper.

Background:
  When ever we add a new method to InputConnection, there has been a
  risk that existing applications that directly implement
  InputConnection can get java.lang.AbstractMethodError exception at
  runtime, because older SDKs do not require the application developer
  to implement the methods that are newly added in later SDKs.  Because
  of this we strongly discouraged developers to directly implement
  InputConnection interface, and encouraged them to subclass
  BaseInputConnection or InputConnectionWrapper instead.  That said, as
  requested in Bug 26945674, there is a certain demand to be able to
  implement InputConnection without depending on BaseInputConnection.
  The goal of this CL is to provide a reliable and sustainable solution
  to above missing method scenario in InputConnection.

  One of the reasons why dealing with missing InputConnection methods is
  so difficult is that what InputMethodService receives to communicate
  with the target application is actually a proxy class
    com.android.internal.view.InputConnectionWrapper
  that runs in the IME process and immediately returns true for most of
  methods in InputConnection such as #commitText() and
  #finishComposingText().  Because of this asynchronous nature, it is
  too late to change the actual return value that the IME receives when
  the application receives those one-way asynchronous IPC calls.

Solution:
  To handle those cases, this CL checks the availability of
  InputConnection methods that did not exist in the initial release
  before the target application calls startInput(), and let the
  application to send its availability bits to IMMS so that
  InputConnectionWrapper running in the IME process can be initialized
  with such availability bits.  Note that we do know that
  BaseInputConnection and its subclasses support all the InputConnection
  methods, hence for most of applications we can just assume that all
  the methods are available without reflection.

  With such availability bits, InputConnectionWrapper is now able to
  gracefully return failure code to the IME because the availability of
  those methods is immutable, except for a tricky case where the
  application relies on a proxy object that dynamically changes the
  dispatch target.

  Here is the list of APIs that we start checking the availability in
  this CL.
    [API Level 9+]
     - InputConnection#getSelectedText(int)
     - InputConnection#setComposingRegion(int, int)
    [API Level 11+]
     - InputConnection#commitCorrection(CorrectionInfo)
    [API Level 21+]
     - InputConnection#requestCursorUpdates(int)}
    [API Level 24+]
     - InputConnection#deleteSurroundingTextInCodePoints(int, int)
     - InputConnection#getHandler()

Ideas alternatively considered: Default methods in InputConnection
  We once considered having default methods in InputConnection but
  abandoned this idea because it does not directly solve the problem
  about how to tell the that the API does not take effect.
  Also having default methods would make it difficult for application
  developers to be aware of newly added methods in InputConnection.

Bug: 27407234
Bug: 27642734
Bug: 27650039
Change-Id: I3c58fadd924fad72cb984f0c23d3099fd0295c64
2016-03-15 06:43:39 +00:00
Adrian Roos
7400f82699 Merge "Don't show wallpaper when backdrop is visible" into nyc-dev 2016-03-15 03:26:02 +00:00
Adrian Roos
d5c2db630f Don't show wallpaper when backdrop is visible
Hides the wallpaper when it's not needed and fixes
the unlock animation to not unnecessairly show the
wallpaper if neither the Keyguard nor the underlying
app need it.

Also fixes a bug where the enter animation had a background
set, which led to uglyness when no wallpaper is involved.

Bug: 27533740
Change-Id: I667c6f7ca6c0e1ff7e9f793c6ddc13f6da8387b1
2016-03-14 18:55:41 -07:00
Diego Perez
adf62b3ebc Do not deallocate on Bitmap.recycle
Layoutlib only disposes the bitmap and doesn't recycle them. This causes
a double deallocation that triggers an assertion.
This change makes Bitmaps to be only freed when the finalizer is called.

Bug: http://b.android.com/203129
Change-Id: Ieabc1443544cfd2b4bf8ba9c8f9a4df8dd6e8220
2016-03-14 09:31:07 +00:00
Adam Lesinski
52db414176 Merge "AAPT2: statically link protobuf library" into nyc-dev 2016-03-11 21:33:34 +00:00
Roozbeh Pournader
e3dedf9f44 Merge "Add test script for sanity of font fallback chain" into nyc-dev 2016-03-11 20:36:01 +00:00
Jorim Jaggi
95b69f8231 Merge "Add ability to swap docked/fullscreen stack" into nyc-dev 2016-03-11 12:02:38 +00:00
Adam Lesinski
330c57dbd1 Merge "AAPT2: Add descriptions of Attributes in Styleables for R.java" into nyc-dev 2016-03-11 09:16:44 +00:00
Adam Lesinski
7656554f91 AAPT2: Add descriptions of Attributes in Styleables for R.java
Change-Id: I69e7b73cbdfe4baf502348397435c501ae29ff5e
2016-03-11 00:22:52 -08:00
Adam Lesinski
f4ab612684 AAPT2: statically link protobuf library
Change-Id: I0bce42dfef2f11181c6407839875c97f88445dbd
2016-03-11 07:20:49 +00:00
Roozbeh Pournader
0e969e2c0b Add test script for sanity of font fallback chain
Various tests have been added:

1. Availability of hyphens: Make sure that every font used for
rendering a language that is automatically hyphenated includes either
of Unicode hyphen characters U+2010 HYPHEN or U+002D HYPHEN-MINUS.

2. Range of values: Make sure that styles, weights, and styles belong
to certain limited sets.

Bug: 26187231
Bug: 21570828
Bug: 21815394
Change-Id: Ia63d63cc8da4f2d6bc81fe5619ccac6cfcd9a54e
2016-03-10 18:07:15 -08:00
Jorim Jaggi
d47e7e1176 Add ability to swap docked/fullscreen stack
Adds tap affordance that moves all tasks of the docked
stack into the fullscreen stack as well as moves the top task
of the fullscreen stack into the docked stack.

Also make sure not to trigger focus switch when tapping the divider
handle. For that, add a method so SysUI can specify the touchable
region which then gets excludes for the focus switch touch region.

Bug: 27358134
Change-Id: I34f39c53cacc0b9c00f87a792b88c3f64a5f61e1
2016-03-10 19:49:45 +01:00
Diego Perez
f2af68312b Merge "DO NOT MERGE: Initialize layoutlib variables before using them" into mnc-ub-dev 2016-03-10 16:06:41 +00:00
Adam Lesinski
96917c25f0 AAPT2: Fix file::mkdirs when given absolute paths
file::mkdirs would try to extract the first part of the
path '/path' which would be the empty string ''. Mkdir would
fail creating the empty string directory.

Change-Id: Ice8ba92135f145f52f3663499a2c49eebe797328
2016-03-09 13:23:12 -08:00
Siva Velusamy
f1c6e0bd7b BridgeContext: Fix typo in attr name (toLeft -> toLeftOf)
am: af0f3bda17

* commit 'af0f3bda17ee3de4ad3560c9a675527b20e2af5f':
  BridgeContext: Fix typo in attr name (toLeft -> toLeftOf)
2016-03-08 13:58:52 +00:00
Siva Velusamy
af0f3bda17 BridgeContext: Fix typo in attr name (toLeft -> toLeftOf)
Change-Id: I214ddf066bd69d56275477712419745cf781cee3
2016-03-08 13:52:02 +00:00
Diego Perez
39b205cc92 Add missing references to VNativeObject
Change-Id: I2db4ad94009c0daff4649da6f85e5c084f4c01ea
2016-03-07 22:12:01 +00:00
Xavier Ducrohet
7ba6dc0fcc Merge "Change BridgeResources to Resources_Delegate" into nyc-dev 2016-03-07 20:28:14 +00:00
Xavier Ducrohet
5b5b1c0c5d Merge "Animated vector drawable support" into nyc-dev 2016-03-07 20:26:56 +00:00
Diego Perez
2591346546 DO NOT MERGE: Initialize layoutlib variables before using them
Change-Id: I0d2059423b46f5eb9eb50eb226cbe9a15e57fe02
2016-03-07 15:00:10 +00:00
Diego Perez
566b303365 Add support for GradientColor in layoutlib
Change-Id: Ia9a55a9e00d7ddb5263f3dbe46b5da8dde457526
2016-03-07 09:11:11 +00:00
Deepanshu Gupta
e05f1c4684 Change BridgeResources to Resources_Delegate
This is a very hacky fix to make layoutlib work with the latest support
lib. Inject a couple of fields in android.content.res.Resources to
allow using most of the earlier code as is.

Bug: 27403642
Bug: http://b.android.com/201934
Change-Id: Ia96a1b4642a1907a77d9ca7a2392f78809b92e38
2016-03-07 09:09:02 +00:00
Adam Lesinski
c53244db5e Remove accidentally committed core dump file
Change-Id: I610abfbce62585c25e98b5c36ac9f496861e66e7
2016-03-04 22:30:32 -08:00
Adam Lesinski
74605cd402 AAPT2: Emit proper doclava comments in R.java
Bug:25958912
Change-Id: I663f2eb5bd54e3c3288ce9bc186c928f0a014f93
2016-03-04 20:06:05 -08:00
Adam Lesinski
626a69f345 AAPT2: Support --no-version-vectors
Change-Id: I8029b2f9e2f7ab8e37a49565f95210f47a7be609
2016-03-04 17:02:42 -08:00
Adam Lesinski
8b030cce34 Merge "AAPT2: Support building, linking, and merging static libraries" into nyc-dev 2016-03-04 23:46:49 +00:00
Adam Lesinski
64587af817 AAPT2: Support building, linking, and merging static libraries
Android static libraries are like APKs but they contain much more debugging
and source information. We need to treat them differently in 3 ways:

1) When building a static library, we skip things like ID assignment and
   product/config stripping. Source information is emitted as well.
2) When building a static library and linking against another
   static library, we don't want to merge, we want to simply reference.
3) When building an app that uses static libraries, we want to merge
   the static library under the same package with or without mangling.

Bug:25958912
Change-Id: I425e032857936a3e83173c1edc2a6cdc6020b842
2016-03-04 14:39:01 -08:00
Deepanshu Gupta
9b137e27d3 Change BridgeResources to Resources_Delegate [DO NOT MERGE]
Do not merge because the resource implementation has changed in N and
the change is no longer valid there.

This is a very hacky fix to make layoutlib work with the latest support
lib. Inject a couple of fields in android.content.res.Resources to
allow using most of the earlier code as is.

Bug: 27403642
Bug: http://b.android.com/201934
Change-Id: I186cad32b1b4de64164fbad937d989e0110c6976
2016-03-04 20:18:23 +05:30