2697 Commits

Author SHA1 Message Date
Jeff Sharkey
8b9c97a4e2 Merge changes I10ab0b4a,Id32dcbd5 into lmp-dev
* changes:
  Catch incompatible API regressions.
  Add blame to API lint, some exemptions.
2014-09-04 22:49:22 +00:00
Jeff Sharkey
037458a5ba Catch incompatible API regressions.
Ignore deprecation, synchronized, and throws definitions.  Look
through full inheritance hierarchy to catch refactored classes like
BaseBundle.

Change-Id: I10ab0b4a0ef64e7508f38d0c223f08711293d643
2014-09-04 15:46:23 -07:00
Deepanshu Gupta
cd0bb17d30 Remove warning for null entries in resource array.
Change-Id: I32e0b8129e29f3e1e5a472b26e16f3fd06d4b91b
2014-09-04 12:54:26 -07:00
Jeff Sharkey
1498f9c615 Add blame to API lint, some exemptions.
Now offers to parse the output of git blame, and includes the last
person to modify that API for each reported failure.

Add more exemptions, and check for boolean setFoo() method inside a
separate Builder inner class.

Change-Id: Id32dcbd5edf17d2360e4f782110bc1c445f7936e
2014-09-04 12:45:36 -07:00
Deepanshu Gupta
4ac648e03c am b16739ef: am c9d0cb09: Merge "Remove ANDROID_BUILD_TOP from intelliJ path variables." into lmp-dev
* commit 'b16739efd81f1540ed36cd0f736b8f6d75a77ead':
  Remove ANDROID_BUILD_TOP from intelliJ path variables.
2014-09-04 03:23:54 +00:00
Deepanshu Gupta
655ab01b3d am 332b35fd: am 80899170: Merge "enums in dimension attributes." into lmp-dev
* commit '332b35fdc651dc61bc03fda47e0a98252cf66159':
  enums in dimension attributes.
2014-09-04 03:23:29 +00:00
Deepanshu Gupta
1efd27c310 am 0b95c63a: am 7d931c01: Merge "Null out "@null" attributes." into lmp-dev
* commit '0b95c63a00031dd12e4f4d40239f01eba32793ed':
  Null out "@null" attributes.
2014-09-04 03:23:23 +00:00
Deepanshu Gupta
e7b6efdd4a am 6bb49454: am 8fbaefb0: Merge "LayoutLib: Fix warnings in ResourceHelper." into lmp-dev
* commit '6bb494548f5ea3daaded54659eebb0bdaca801e6':
  LayoutLib: Fix warnings in ResourceHelper.
2014-09-04 03:23:18 +00:00
Deepanshu Gupta
3ff936f333 am b553e8a5: am 02c6c26d: Merge "LayoutLib: Allow \'+\' in float attributes." into lmp-dev
* commit 'b553e8a520d4cda5762b777aee29f80e26f293ed':
  LayoutLib: Allow '+' in float attributes.
2014-09-04 03:23:12 +00:00
Deepanshu Gupta
f0bf13cb45 am 8af5cd51: am 229833c3: Merge "Fix invalid conditional check." into lmp-dev
* commit '8af5cd512a7d71834e8d31b8b7d6240abe334699':
  Fix invalid conditional check.
2014-09-04 03:23:07 +00:00
Deepanshu Gupta
c1b93e47e9 am 3aa86336: am 2d5629df: Merge "Build layoutlib_create tests." into lmp-dev
* commit '3aa86336981b0b6b443b3235f46d3f1104f2849b':
  Build layoutlib_create tests.
2014-09-04 03:23:01 +00:00
Deepanshu Gupta
a780eee462 Merge "Resolve color xml attributes properly. [DO NOT MERGE]" into klp-modular-dev 2014-09-04 01:53:38 +00:00
Deepanshu Gupta
708df7bc45 Merge "Remove ANDROID_BUILD_TOP from intelliJ path variables." into lmp-dev 2014-09-04 01:51:55 +00:00
Deepanshu Gupta
db0b8a1997 Merge "enums in dimension attributes." into lmp-dev 2014-09-04 01:48:24 +00:00
Deepanshu Gupta
351ed32961 Merge "Null out "@null" attributes." into lmp-dev 2014-09-04 01:48:14 +00:00
Deepanshu Gupta
bcbe8fcdb1 Merge "LayoutLib: Fix warnings in ResourceHelper." into lmp-dev 2014-09-04 01:46:58 +00:00
Deepanshu Gupta
a7c2419ec9 Merge "LayoutLib: Allow '+' in float attributes." into lmp-dev 2014-09-04 01:46:42 +00:00
Deepanshu Gupta
d75edc41a6 Merge "Fix invalid conditional check." into lmp-dev 2014-09-04 01:46:14 +00:00
Deepanshu Gupta
8a2ff1ecd9 Merge "Build layoutlib_create tests." into lmp-dev 2014-09-04 01:45:36 +00:00
Deepanshu Gupta
b988c8fa66 Build layoutlib_create tests.
Change-Id: Ia13a090f8ec29b2b2a107825b6a13d7db77e6d61
2014-09-03 12:57:12 -07:00
Deepanshu Gupta
1a12b80569 LayoutLib: Fix warnings in ResourceHelper.
Fix intelliJ warnings in ResourceHelper. Most of them just change
boolean checks "x == false" with "!x".

Change-Id: I278645e2807affd8b3183a4a6f5e4fa2ab7b3d21
2014-09-03 11:59:33 -07:00
Deepanshu Gupta
458f2a7bbb LayoutLib: Allow '+' in float attributes.
Earlier change to fix the invalid conditional check inadvertedly
disallowed '+'.

Change-Id: I75a37926681fe3a496482d6fb75161ac75326109
2014-09-03 11:59:22 -07:00
Jeff Sharkey
4821cc7449 am c232d730: am 1722913f: Merge "More API lint checks." into lmp-dev
* commit 'c232d730ca1a6d1ede9cc79c8f81c77dae999a3c':
  More API lint checks.
2014-08-30 02:59:55 +00:00
Jeff Sharkey
294f0de15b More API lint checks.
When offering a helper Service, etc, all platform provided methods
should be marked final.  Otherwise, if available for developer to
override, they should follow onFoo() style naming.

Catch anyone returning concrete collections types, and look for
overlapping flags.

Change-Id: I29d95f3dff78a4da968a46f10be89eada509648c
2014-08-29 17:41:49 -07:00
Adam Lesinski
05f2119432 am 135fba7e: am c169c888: Change platformBuildVersionCode to name in aapt dump badging
* commit '135fba7ecdf4bb697b004329c6070a2ef544d8e3':
  Change platformBuildVersionCode to name in aapt dump badging
2014-08-29 19:07:34 +00:00
Adam Lesinski
343cabb316 am 60f193fb: am e0cfbb61: Merge "Stamp platform version code into app Apks" into lmp-dev
* commit '60f193fbe905f65750503cdaf8616d31c85016d6':
  Stamp platform version code into app Apks
2014-08-29 18:48:33 +00:00
Adam Lesinski
5283faba4a Change platformBuildVersionCode to name in aapt dump badging
Change-Id: Ie3972105b3f6a727682f91851f7a99b05bb28e1a
2014-08-29 11:27:00 -07:00
Jeff Sharkey
2db944fa30 am f9dfbbf3: am f894a0d3: Merge "Teach API lint about package layering!" into lmp-dev
* commit 'f9dfbbf3c0e2f12a8c712704e43f3dff66beb151':
  Teach API lint about package layering!
2014-08-29 03:58:15 +00:00
Adam Lesinski
b32063822b Merge "Stamp platform version code into app Apks" into lmp-dev 2014-08-29 01:54:15 +00:00
Jeff Sharkey
932a07cefe Teach API lint about package layering!
Now it can identify layering violations, like when something deep in
android.os depends on android.app.

Change-Id: I94606c642195b3ed7558ff6979ed4a181cd85fa2
2014-08-28 16:16:07 -07:00
Jeff Sharkey
894ca05b21 am 2cf50caa: am babbcbb1: Merge "Lint tool for current.txt." into lmp-dev
* commit '2cf50caa54168041f02c8283dfb344463a9edb18':
  Lint tool for current.txt.
2014-08-28 22:57:41 +00:00
Jeff Sharkey
8190f4885b Lint tool for current.txt.
Detects common public API mistakes, making it easy to quickly scan
across all changes in a new API level.

Builds in-memory representation of the current API, then runs various
detectors over the classes.  It collects failures, and can ignore
known failures from a previous API level.

Example usage:

$ python frameworks/base/tools/apilint/apilint.py \
    frameworks/base/api/current.txt \
    prebuilts/sdk/api/21.txt

Change-Id: Ie1f88894baf9f79e4b11e78c47f848ea5e25fc25
2014-08-28 15:31:35 -07:00
Adam Lesinski
ad2d07d2d9 Stamp platform version code into app Apks
The versionCode of theframework resources that an app is built against
gets stamped inside an app's AndroidManifest.xml in the <manifest>
tag as "platformBuildVersionCode" and "platformBuildVersionName"
attributes.

Bug:17207635
Change-Id: Id573c3dffcbca38eec9c0eb3e89f4a547e3361d3
2014-08-27 18:28:49 -07:00
Deepanshu Gupta
ca22ba9eaf Fix invalid conditional check.
The check was always false. This wasn't really a problem since the regex
check later took care of it. But it's just wrong to leave such mistakes
in the code once they are noticed.

Change-Id: I84270a96141428bf15949ce8c881d2e4a2aa95f6
2014-08-26 16:33:14 -07:00
Deepanshu Gupta
bc34eb11f6 enums in dimension attributes.
enums in resources were only read for integer attributes. This change
parses the enums for dimension resources also. This also means that we
don't have to hardcode the resolution for match_parent and wrap_content.

TODO: Fix this for all resource types.

Bug: http://b.android.com/75285
Change-Id: I86752b2322ea017499942a87568ba5c54b8654e4
2014-08-26 14:02:25 -07:00
Adam Lesinski
448c076d33 am 806d4cfb: am 521edf85: Merge "Have R classes generate their own reference rewrite logic" into lmp-dev
* commit '806d4cfb2a06a01be4a58ff25a55797d9140b917':
  Have R classes generate their own reference rewrite logic
2014-08-26 18:42:24 +00:00
Winson Chung
c46977c508 am 77b91f7d: am 319b4b57: Merge "Multiple performance changes to speed recents invocation/app launching time. (Bug 16987565)" into lmp-dev
* commit '77b91f7d87a9994348364a912d3127be2595d5ed':
  Multiple performance changes to speed recents invocation/app launching time. (Bug 16987565)
2014-08-26 18:42:19 +00:00
Adam Lesinski
3aa6076083 Merge "Have R classes generate their own reference rewrite logic" into lmp-dev 2014-08-26 18:23:57 +00:00
Winson Chung
5c1b42e4f5 Merge "Multiple performance changes to speed recents invocation/app launching time. (Bug 16987565)" into lmp-dev 2014-08-26 18:23:10 +00:00
Adam Lesinski
6d41a45679 am 1d3ecf16: am 1c959e92: Merge "Introduce anydpi density resource qualifier" into lmp-dev
* commit '1d3ecf16766d92ef3d847f1420b9a622e871f6cd':
  Introduce anydpi density resource qualifier
2014-08-26 17:23:35 +00:00
Deepanshu Gupta
d4cf391c61 Null out "@null" attributes.
Remove references to the  resourceValue for "@null". This saves needless
checking for "@null" every time an attribute is requested.

Change-Id: I816e78619fa0b1ddcacd1ef5ac90765e30a9a44c
2014-08-25 21:04:10 -07:00
Adam Lesinski
1e466385d4 Have R classes generate their own reference rewrite logic
Change-Id: I0e5b8311fc3479d966a49f9acf0d4c32a6a024d3
2014-08-25 20:04:07 -07:00
Winson Chung
a4ccb86ddc Multiple performance changes to speed recents invocation/app launching time. (Bug 16987565)
- Reverting changes to the existing thumbnail transition to prevent breaking applications
  that currently depend on that transition.  As a result, we need to create a new, hidden,
  aspect-scaled thumbnail transition, and instead use that thumbnail to animate the
  recents header so that we don't have to wait to do that inside the Recents activity.

  In order for this to work, we also have to ensure that the thumbnail surface destruction
  is synchronized with the application that is currently closing (when going down to
  recents) or opening (when coming back up).  The current thumbnail is destroyed when the
  animation ends, but that can be at least 1 frame before the surface for the animating
  window is destroyed.  We change this by deferring destruction of this thumbnail window
  to the animation that is being closed.

  Especially on the way up, not having to wait for us to hide the header before doing the
  transition up can save us the duration of that first animation (> 100ms).

- Other optimizations:
  * No longer creating a new stack view on each transition to calculate the target rect
  * Removing unnecessary call to get the thumbnail when transitioning up/down (the actual
    window does its own animation.
  * We reduced numerous system calls per task by adding a flag to ignore home-stack tasks
    and caching the activity label and icon (and task description icon).  These caches
    follow the same eviction schemes as the thumbnail and icon cache.

- Also tweaked the touch slop for the nav bar swiping gesture to prevent conflicting with
  tapping on home (Bug 17109581)

Change-Id: Ica697aad788051a9203edd9351c583e1cb038a71
2014-08-25 18:52:32 -07:00
Deepanshu Gupta
ffee9b2740 Fix "@null" resource values in LayoutLib. [DO NOT MERGE]
Bug: http://b.android.com/74072
Change-Id: Ib84906d86772ac3df2407e71ad2167797bec4542
(cherry picked from commit c9cd725f1013bed27e6f6594b176c10a6a4c0f16)
2014-08-26 00:48:18 +00:00
Adam Lesinski
31245b4f06 Introduce anydpi density resource qualifier
This is meant to be used with scaleable vector
drawables, and are chosen as the best match unless
there is a configuration that matches the density
requested exactly.

Bug:17007265
Change-Id: Ic3288d0236fe0bff20bb1599aba2582c25b0db32
2014-08-25 17:47:30 -07:00
Deepanshu Gupta
cc7ccc3fc1 Resolve color xml attributes properly. [DO NOT MERGE]
Color attributes were not being converted to int properly. The
conversion to int was a simple string to int using base 16. This change
resolves the colors as per #RGB, #ARGB, #RRGGBB or #AARRGGBB format
depending on the length of the attribute. All values that begin with '#'
are treated as colors.

Bug: http://b.android.com/73845
Change-Id: I8ad089b821af1e290b9b95771b50213fe2fdd784
(cherry picked from commit 81564dfe60020fa977d39d168f682e9d61825660)
2014-08-26 00:26:56 +00:00
Deepanshu Gupta
0774bc4605 Remove ANDROID_BUILD_TOP from intelliJ path variables.
The variable is not actually needed and it makes working with different
API levels a lot easier since everything now depends on $PROJECT_DIR$.

This change also makes the tests more robust by improving the way it
tries to find the SDK.

Change-Id: I3502ad4a0ba85fd88b497e47964fddb2a89e520c
2014-08-25 15:47:28 -07:00
Adam Lesinski
8bff0be090 am fe8c0080: am 8ff6f579: Merge "AAPT: Filtering resource fix" into lmp-dev
* commit 'fe8c0080fc7610dd61cd82ae6cd256011c0d3c44':
  AAPT: Filtering resource fix
2014-08-22 23:48:12 +00:00
Adam Lesinski
a5cc002bfe AAPT: Filtering resource fix
Previously, when filtering resources from an APK using
-c option, if one qualifier matched, we would keep the resource.
However, in the case of something like

-c fr-FR,sw360dp

and with a resource in the APK like so

drawable-fr-FR-sw600dp-v13

we would want this resource to be excluded, as it does not
match the sw360dp qualifier (must be less than or equal to it).

This CL fixed the behavior of the filter to require that all
defined qualifier axis be matched.

Bug:17142358
Change-Id: Ie48f3d516a0e610abc7ba8a7ced4eb3ab52534d4
2014-08-22 16:09:54 -07:00
Adam Lesinski
587133cf2c am b5a92f26: am f064f669: Merge "AAPT: Dump installLocation in badging" into lmp-dev
* commit 'b5a92f26b68b9c35ad9a5a86fdee4e21b489bb92':
  AAPT: Dump installLocation in badging
2014-08-22 21:24:24 +00:00