2734 Commits

Author SHA1 Message Date
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
Adam Lesinski
caf797c84a AAPT: Dump installLocation in badging
Bug:17033144
Change-Id: I87dea9af47eef8bcba1465df9b49e355ac6346ec
2014-08-22 13:01:11 -07:00
Adam Lesinski
324d45fa97 am 420a3801: am 247d27d1: Merge "Add better error message for AAPT file conflicts" into lmp-dev
* commit '420a3801d0adc2e68900052b2d06fcfebb5daa98':
  Add better error message for AAPT file conflicts
2014-08-21 22:13:19 +00:00
Adam Lesinski
7ef434b597 am 4a3f39a2: am db2a74d4: Merge "AAPT: mipmaps should not end up in Splits" into lmp-dev
* commit '4a3f39a249adcfcd49b2175c7144524fe159e48d':
  AAPT: mipmaps should not end up in Splits
2014-08-21 22:13:14 +00:00
Adam Lesinski
d255aba093 Merge "Add better error message for AAPT file conflicts" into lmp-dev 2014-08-21 22:00:25 +00:00
Adam Lesinski
27f69f4e06 AAPT: mipmaps should not end up in Splits
Mipmaps are never filtered, and so they will always
end up in the base APK. Make sure they get omitted from
any split.

Change-Id: Id24b082bc9bd2d3f031a58bd0de4d30b4f0de7e0
2014-08-21 13:59:46 -07:00
Adam Lesinski
48f05d29f3 Add better error message for AAPT file conflicts
Some resource directories may be the same even though
their names are different. For instance, the
"smallest width" qualifier was added in API 13,
so the resource directory "values-sw600dp" and
"values-sw600dp-v13" are the same and cause
a conflict. The error reports that this might be the
case.

Change-Id: Ia35f1d670edd48265b3a7fe3d55656128421f612
2014-08-21 20:54:01 +00:00
Adam Lesinski
ee7c873960 am ad876f74: am 3a0a53a9: Merge "Use the correct versionCode for Split APKs" into lmp-dev
* commit 'ad876f7451ca1aa0985404301e45f616ad8dd7b3':
  Use the correct versionCode for Split APKs
2014-08-21 18:42:40 +00:00
Adam Lesinski
6a7d2757a9 Use the correct versionCode for Split APKs
Insert the correct versionCode into the generated
Split AndroidManifest.xml.

Change-Id: I0aec797b5a4ff8bd70f9394b18aee5ad292b37c8
2014-08-21 11:00:09 -07:00
Adam Lesinski
ad2d935763 am c931d0d8: am fcb42104: Merge "AAPT: Fix regression generating dynamic ref table for shared libraries" into lmp-dev
* commit 'c931d0d8540f7648d5bb247fa1b03e492363debb':
  AAPT: Fix regression generating dynamic ref table for shared libraries
2014-08-21 17:48:33 +00:00
Adam Lesinski
6022debdbc AAPT: Fix regression generating dynamic ref table for shared libraries
AAPT stopped generating dynamic reference tables for shared libraries.

Change-Id: Ib0025811bdca1a4756eb21080dd6b6bb3fc1ca3d
2014-08-20 17:55:33 -07:00
Deepanshu Gupta
8292994c20 am 0c64e11d: am 93294c92: Merge "Fix "@null" resource values in LayoutLib." into lmp-dev
* commit '0c64e11d1c9deb6d425be80808372f5bc1730fd7':
  Fix "@null" resource values in LayoutLib.
2014-08-20 00:31:04 +00:00
Deepanshu Gupta
c6ec49e705 am 6cd282f4: am df6d9cd8: Merge "Add time to status bar and fix wifi icon." into lmp-dev
* commit '6cd282f44468ff9143913c2fc9e1e2470c247cfd':
  Add time to status bar and fix wifi icon.
2014-08-20 00:31:00 +00:00
Adam Lesinski
662e3221f7 am f668e0ba: am f3d07927: Merge "Allow enum generated IDs to reuse existing IDs" into lmp-dev
* commit 'f668e0ba54fa836a818807ec6f76600fc97343ae':
  Allow enum generated IDs to reuse existing IDs
2014-08-19 23:44:42 +00:00