2594 Commits

Author SHA1 Message Date
Adam Lesinski
a80aba7072 Merge "AAPT: Gate v21 resource synthesizing logging behind -v flag" into lmp-dev 2014-10-03 22:06:03 +00:00
Adam Lesinski
f15de2e215 AAPT: Gate v21 resource synthesizing logging behind -v flag
This is verbose information and should be hidden behind the -v flag.

Bug:17822471
Change-Id: I36e2c6beb54669a31cde73416427477a80ded8a6
2014-10-03 14:57:28 -07:00
Deepanshu Gupta
c74a2b3435 Merge "Minor style changes." into lmp-dev 2014-10-03 20:30:45 +00:00
Deepanshu Gupta
3c8140ab4b Minor style changes.
Addressing code review comments on previous change: 171804201dd

Change-Id: I2c9e0ce35e755c23d8292749828d15a87109d6dc
2014-10-02 11:45:07 -07:00
Deepanshu Gupta
7b13c4d8ec Merge "Always resolve enum when resolving resources." into lmp-dev 2014-10-02 03:27:42 +00:00
Andrew Hsieh
c9d32390e5 include direct.h for _mkdir
Bug: 14416410

The new mingw-w64 toolchain x86_64-w64-mingw32-4.8 no longer
declares _mkdir in io.h.

Change-Id: I624b52d2f35db54a7f28df09f997fc883b0f0557
2014-09-30 02:28:05 -07:00
Deepanshu Gupta
171804201d Always resolve enum when resolving resources.
Enums were resolved only for integers and dimensions. This change
resolves enums for all resource types. Well, almost all. For color and
colorStateList, enums are still not referenced.

Bug: http://b.android.com/76091
Change-Id: Ie43bd1b54fb9877655d31773bdf71d9a6a65c473
2014-09-29 12:01:37 -07:00
Deepanshu Gupta
8d5a15b691 Update time in layout preview
Change-Id: Ic32a9cb1f20b472c6898a5f370d8578c011a09bf
2014-09-29 09:38:59 -07:00
Adam Lesinski
978ab9d929 AAPT: Fix issue with synthesized resource not actually showing up
AAPT keeps around a few pieces of state that are disjoint, so
simply adding to a collection won't add the resource to the final
flattened output. Instead, we create the resource from the top
and then copy over the values into the newly created resource.

Bug:17647890
Change-Id: I214263e84c18f9370c6e6a5aa53aa2d833fc842d
2014-09-24 19:02:52 -07:00
Adam Lesinski
2b7ee9a18e Merge "AAPT: Continuation of public/private attribute fix" into lmp-dev 2014-09-22 18:00:31 +00:00
Adam Lesinski
e572c011fe AAPT: Continuation of public/private attribute fix
XML files like layouts are now scanned and checked
for v21 attributes. If those kinds of attributes
are found, then we remove them in the original
version and synthesize a new xml file under the
v21 configuration.

Bug:17520380
Change-Id: Icf984cb96134180a2e35349c1dbf2cef9a8f0bda
2014-09-22 10:51:20 -07:00
Adam Lesinski
b6812b64c4 Merge "Fix backwards compat problem with AAPT public attrs" into lmp-dev 2014-09-19 18:19:58 +00:00
Adam Lesinski
82a2dd8efe Fix backwards compat problem with AAPT public attrs
AAPT has traditionally assigned resource IDs to public attributes,
and then followed those public definitions with private attributes.

--- PUBLIC ---
| 0x01010234 | attr/color
| 0x01010235 | attr/background

--- PRIVATE ---
| 0x01010236 | attr/secret
| 0x01010237 | attr/shhh

Each release, when attributes are added, they take the place of the private
attributes and the private attributes are shifted down again.

--- PUBLIC ---
| 0x01010234 | attr/color
| 0x01010235 | attr/background
| 0x01010236 | attr/shinyNewAttr
| 0x01010237 | attr/highlyValuedFeature

--- PRIVATE ---
| 0x01010238 | attr/secret
| 0x01010239 | attr/shhh

Platform code may look for private attributes set in a theme. If an app
compiled against a newer version of the platform uses a new public
attribute that happens to have the same ID as the private attribute
the older platform is expecting, then the behavior is undefined.

We get around this by detecting any newly defined attributes (in L),
copy the resource into a -v21 qualified resource, and delete the
attribute from the original resource. This ensures that older platforms
don't see the new attribute, but when running on L+ platforms, the
attribute will be respected.

We still need to address this problem in the platform moving forward,
as this will only help us in the transition from pre L to L.

Bug:17520380
Change-Id: Ia2a985798b50006c21c7c3431d30d9598f27cd91
2014-09-18 14:05:24 -07:00
Deepanshu Gupta
bc1944560c Merge "Build LayoutLib tests with Java 6" into lmp-dev 2014-09-16 18:16:21 +00:00
Deepanshu Gupta
0f6e5d2ab7 Build LayoutLib tests with Java 6
Build the layoutlib tests with Java 6, so that we can test LayoutLib on
Java 6 also.

Change-Id: I8ab344af29c880dafdc195d8b061a1d08e724e26
2014-09-16 11:11:36 -07:00
John Spurlock
8d4e6cb060 Saver: PowerManager call to set low power mode.
- Add an explicit power manager call to set the low power mode state,
  instead of trying manage everything around a single setting.
- When low-power mode is triggered by falling below the configured
  threshold, it does not update the setting.
- The "is-enabled" api returns setting || below configured trigger.
- Move the snooze management into the new api call.
- Callers (sysui + settings) updated to use the api instead of the
  setting.
- Handles the case where the level does an unpowered leap out of the
  low battery level. (Possible if powered in-between while the device
  is off)

Bug:17460535
Change-Id: Ic030504c9cad9868a7137abbe837b170da37852b
2014-09-14 14:07:23 -04:00
Marcin Kosiba
a0a9466476 Merge "Don't use reflection when generating the onResourcesLoaded callback." into lmp-dev 2014-09-11 18:34:33 +00:00
Marcin Kosiba
0f3a5a6559 Don't use reflection when generating the onResourcesLoaded callback.
BUG: 17466240
Change-Id: I74608f3d8b3617281639a9d387face97e15fb616
2014-09-11 16:02:13 +01:00
Deepanshu Gupta
820ce63cea Merge "LayoutLib: support font weights." into lmp-dev 2014-09-11 04:54:26 +00:00
Deepanshu Gupta
145bc2d067 LayoutLib: support font weights.
Also fixes a shader delegate method.

Change-Id: I86be80ab55d04760084d5bf39235f2ee4de7be23
2014-09-10 17:01:16 -07:00
Dianne Hackborn
d5adbec527 Merge "Fix build." into lmp-dev 2014-09-10 00:40:55 +00:00
Dianne Hackborn
f5cc3644f6 Fix build.
Change-Id: I92eabc35168acfe58641917179be0d90a14f2f11
2014-09-09 17:38:34 -07:00
Adam Lesinski
e7ad74f070 Merge "AAPT: Don't crash on illegal symbol name" into lmp-dev 2014-09-09 23:15:08 +00:00
Adam Lesinski
3fb8c9b50e AAPT: Don't crash on illegal symbol name
We never checked the return value when adding a nested
symbol, which would be NULL if the symbol name was invalid.

External bug: https://code.google.com/p/android/issues/detail?id=75876

Change-Id: I5211f4d4b87897d52f2b6e5907113d31930bb92d
2014-09-09 16:05:10 -07:00
Deepanshu Gupta
8f92d92a09 Build layoutlib create tests as part of sdk build.
LayoutLib Create tests are now built whenever LayoutLib create is built.

Change-Id: Id215e8690e435019579dba1734090a0d585f37e1
2014-09-08 18:38:57 -07:00
Deepanshu Gupta
8d29a06ad7 Merge "Update IntelliJ project file for IntelliJ 14" into lmp-dev 2014-09-09 00:31:03 +00:00
Deepanshu Gupta
93b828de58 Merge "Add layoutlib tests to DIST_DIR" into lmp-dev 2014-09-09 00:30:24 +00:00
Deepanshu Gupta
fa4e214814 Merge "Remove warning for null entries in resource array." into lmp-dev 2014-09-09 00:30:08 +00:00
Deepanshu Gupta
8c766fea93 Update IntelliJ project file for IntelliJ 14
IntelliJ keeps reordering the options this way each time the project is
opened.

Change-Id: I0e19b5b0a858b3fa9a1134b883ed5180c4ef146e
2014-09-08 14:49:49 -07:00
Winson Chung
2e7f3bdcc9 Removing unnecessary delays, ensuring transition thumbnail is the size of the header. (Bug. 16987565)
Change-Id: Ic104876c5fe16997eca00e0a2b3d8644c927120c
2014-09-07 20:08:40 +00:00
Deepanshu Gupta
a0904bf7aa Add layoutlib tests to DIST_DIR
Add the layoutlib and layoutlib-create tests to DIST_DIR for sdk
targets. These can be used for continuous testing on the build server.

Change-Id: I747dddcddfd8009937668bec4d75cb99bf63235f
2014-09-05 14:01:27 -07:00
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
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
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
5283faba4a Change platformBuildVersionCode to name in aapt dump badging
Change-Id: Ie3972105b3f6a727682f91851f7a99b05bb28e1a
2014-08-29 11:27:00 -07: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
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