3576 Commits

Author SHA1 Message Date
Jens Ole Lauridsen
3f6bd481c2 Merge "Support AppBar from Material Design." into mnc-dev 2015-06-12 04:48:51 +00:00
Jeff Brown
e97c9a244b Configure auto-rotation tilt tolerance in config.xml.
This allows for the thresholds to be tuned differently for different
products as needed.

Bug: 18276856
Change-Id: I6c87e683dea6a17cf606203a894c8419e20d3658
2015-06-11 18:53:14 -07:00
Jens Ole Lauridsen
4dfe4d43ce Support AppBar from Material Design.
This CL is a start for making the design able to render the AppBar.
We are still missing support for: system menu and the app icon.

Change-Id: I19600f8ee1e7e6492186a0b7ae7fb38c82e15c02
2015-06-11 13:50:22 -07:00
Adam Lesinski
a1ad4a812a AAPT2: Proguard rules generation added.
Change-Id: Ifbe79516cd9a1ade471e211a259301c63b62ac67
2015-06-09 11:14:24 -07:00
Adam Lesinski
8c831ca87b AAPT2: Add manifest merging
Now that AAPT2 is library-aware, it needs to take care of
all library related work, including merging manifests.
The logic was taken from the current Java ManifestMerger.

Change-Id: Id93f713f27ae8617922bf89e325e45be9f863c06
2015-06-04 18:00:33 -07:00
Adam Lesinski
581cc1ee59 Merge "AAPT2: Change xml file parsing to DOM based" into mnc-dev 2015-06-04 19:40:34 +00:00
Adam Lesinski
75f3a55cc5 AAPT2: Change xml file parsing to DOM based
We modify the XML of layouts and AndroidManifest enough
that it warrants we operate on the tree in memory.
These files are never very large so this should be fine.

Change-Id: I5d597abdb3fca2a203cf7c0b40fcd926aecb3137
2015-06-04 11:37:05 -07:00
Adrian Roos
1ea14d6696 Merge "aapt: add option for stricter symbol generation" into mnc-dev 2015-06-02 19:52:32 +00:00
Adrian Roos
5892248580 aapt: add option for stricter symbol generation
Adds an option that prevents generating java symbols for string
resources that don't have a default localization.

Bug: 21537397
Change-Id: Ifafa942b24d5cdbed93651cde363e859be13d395
2015-06-02 02:55:52 +00:00
Deepanshu Gupta
86caef1892 LayoutLib: Skip classes from java package.
Classes in "java" package can't be defined at runtime anyway. No use
including them in LayoutLib.

Change-Id: I7e7c46f0d74e32c893b23093828569b4fa5e3a73
2015-06-01 14:43:28 -07:00
Deepanshu Gupta
b3e872be9e Skip warnings for some unresolved references.
Some applications rename the newer RTL attributes to the older
attributes in order to target RTL locales, but not need to include two
attributes everywhere it's needed. For example, iosched renames
paddingStart to paddingLeft (among other attributes) for API 17 and
above. This leads to hundreds of warnings about missing attributes.
This change suppresses such warnings.

Also, skip adding unresolved attributes to the typed array. This is more
in line with the actual implementation on device, and prevents
unexpected warnings/errors/crashes later.

Change-Id: Iee616fa6295aa9731ede0cf9dcd6dd2bd1fe8f20
2015-06-01 14:41:38 -07:00
Filip Gruszczynski
8825de1751 Merge "Revert "Revert "Fix build.""" into mnc-dev 2015-06-01 16:07:48 +00:00
Filip Gruszczynski
919f93265d Revert "Revert "Fix build.""
This reverts commit 944a6c937cd3576ecae5c3fdd0dcf265329e6bcf.

Change-Id: I7daa255f331a1e39308eb626580aa00c63c5cb3e
2015-06-01 16:07:36 +00:00
Filip Gruszczynski
99bcc3eee2 Merge "Revert "Revert "resolved conflicts for merge of 47249f2a to mnc-dev""" into mnc-dev 2015-06-01 15:42:42 +00:00
Deepanshu Gupta
996458b76c Fix ParserFactory not initialized error.
Bug: http://b.android.com/175129
Change-Id: I2111673767e0f62ee910560022b559a177d55abd
2015-05-30 01:25:34 +00:00
Deepanshu Gupta
d758e042ce Fix NPE in BridgeContext.obtainStyledAttributes()
Replace direct member access with getter that checks for nullness.

Change-Id: I4a56a0ee903ae7d8c89b91d74b128302e1965586
2015-05-28 14:57:43 -07:00
Deepanshu Gupta
5779ad71ea Fix BridgeTypedArray.getType()
Also includes some fixes for BridgeTypedArray.getInt() - when value is a
color, when value is an octal int, when value is true/false.

Bug: http://b.android.com/162438
Change-Id: I0b985ea3437be8018d0e116e7a599843cc7aacd6
2015-05-28 14:57:43 -07:00
Filip Gruszczynski
2217f61e51 Revert "Revert "resolved conflicts for merge of 47249f2a to mnc-dev""
This includes the fix for the broken dialog windows. The outsets will
only be calculated and applied if the window is full screen, since
they don't make much sense otherwise.

This reverts commit 4bb6b751fbbb218e8a298db4aa008472a0aa8d31.

Change-Id: I977a85a78c990c1840784dc0be0dddd5a6d84e6b
2015-05-27 15:36:10 -07:00
Deepanshu Gupta
bcbe9ba0f9 Merge "Include Shapes in LayoutLib." into mnc-dev 2015-05-26 22:37:27 +00:00
Deepanshu Gupta
a268ae5f51 Merge "LayoutLib: Support getting resource arrays." into mnc-dev 2015-05-26 22:37:09 +00:00
Deepanshu Gupta
c801e91528 Merge "LayoutLib: Change nullity annotations." into mnc-dev 2015-05-26 22:36:29 +00:00
Deepanshu Gupta
642cff50f8 LayoutLib: Support getting resource arrays.
- Don't crash when Resources.get<Type>Array() is called.
- If the IDE supports it, actually return the value.
- Add tests for getArray.
- Update test app to latest gradle plugin version.
- Switch to using AppTheme for tests, since the tests depend on some
  custom theme attributes. The AppTheme now inherits from
  Material.Light.DarkActionBar, so other tests should be unaffected.

Depends on a newer version of sdk-common, which fixes the parsing of
array resource in value files.

Bug: 12372031
Change-Id: I313b61511e98ac1402d75056ebfdeeb005ebb96d
2015-05-26 16:33:10 +00:00
Deepanshu Gupta
59164ec055 Include Shapes in LayoutLib.
Change-Id: Ifb32882c478f8d407ad904e224b67fe2bd65dc08
2015-05-26 16:28:53 +00:00
Deepanshu Gupta
d0acf0627a Merge "Revert "Fix build."" into mnc-dev 2015-05-23 01:21:11 +00:00
Deepanshu Gupta
944a6c937c Revert "Fix build."
This reverts commit 97b3ae1a8766616675ebf2323a97d8adfd41bfdc.

Reverted since 4bb6b751fbbb218e8a298db4aa008472a0aa8d31 reverts
the commit that warranted this change.

Change-Id: I56d0eb8ffba44a673ae357e9543dd18f6c03c54f
2015-05-23 01:20:53 +00:00
Deepanshu Gupta
476e582d2f LayoutLib: Change nullity annotations.
Switch from using tools nullity annotations (com.android.annotations)
to android framework annotations (android.annotation).

A new sdk-common prebuilt is required for LayoutLib tests. The new
sdk-common requires an updated tools-common. The updated tools-common
doesn't have nullity annotations. So, instead of adding the annotation
dependency, just reuse the platform ones. This also paves the way to
include other platform annotations like IdRes etc.

Change-Id: I87b8f767d3681d914abe7d1329e26a87f49f50a7
2015-05-22 17:57:29 -07:00
Dianne Hackborn
4bb6b751fb Revert "resolved conflicts for merge of 47249f2a to mnc-dev"
This reverts commit c7becb7ee78881646251ff4846e63eb6b96bf7ec, reversing
changes made to 8562b08f04c1309cf40db1e749d612b6824f1d12.
2015-05-22 16:34:44 -07:00
Filip Gruszczynski
97b3ae1a87 Fix build.
Cherry picking because automerger is stuck.

Change-Id: I49f669ee8eed53cf2fc30077cf0a066312865733
(cherry picked from commit c1b736a0cdf41ab5863bfe6901e46c95cc396342)
2015-05-22 01:42:32 +00:00
Filip Gruszczynski
91e5b0f598 Merge "resolved conflicts for merge of 47249f2a to mnc-dev" into mnc-dev 2015-05-22 00:02:48 +00:00
Deepanshu Gupta
a5e6298b35 Add LayoutLibDelegate for new Bitmap method.
Original method added in: 721ae5fec5f1fd4f93aa2a361a0ac298e15ce353

Change-Id: Ie14d132459638cf103c390fae3f4c0c02bef2f34
2015-05-21 23:07:15 +00:00
Deepanshu Gupta
6330971ed2 Add documentation about hack in commit: f8ea750455
Change-Id: I9ce871a67fb67e02e0c4df1eb5c3261ea52a914b
2015-05-21 18:51:13 +00:00
Filip Gruszczynski
c7becb7ee7 resolved conflicts for merge of 47249f2a to mnc-dev
This is a merge of chin support.

Change-Id: I436b751b3c4aaa6b46cfcdb475e02eedfa5a5635
2015-05-20 20:15:29 -07:00
Deepanshu Gupta
4d8e078c7c Fix overrides for BridgeResources.
New method overloads have been introduces in android.content.Resources.
Change BridgeResources to overrides the appropriate ones. Also, fix the
implementation to the new behaviour.

Change-Id: I7b83b329f04286512f223c0fafc3f989f1b9a244
2015-05-20 18:49:56 -07:00
Deepanshu Gupta
d5b8284545 Make DatePicker rendering not fail.
Ensures that having a DatePicker in the layout doesn't crash the
complete rendering. The rendering is still not perfect, but at least it
works.

- Return a non-null window token so that ViewPager thinks that it's
  attached to a window and doesn't skip populating the views.
- Fix a style not found issue.

Change-Id: Ied2b71de5b32bcb640bf4ec445e8a39509f800e9
2015-05-20 18:01:48 -07:00
Deepanshu Gupta
10dff451f3 Use non deprecated method for creating ColorStateList
Change-Id: I9fce928276c8a2af55eb0615a4895abb6a973be5
2015-05-20 16:51:22 -07:00
Deepanshu Gupta
719c9b93f1 Fix line breaking.
Essentially moves line breaking measurement later in the process when
character widths have already been computed.

Change-Id: I17c5bc10d373d8906c5caf86604ce8504650cd7f
2015-05-20 16:51:22 -07:00
Deepanshu Gupta
f2049a4fcb Merge "Inject anonymous inner classes of injected classes" into mnc-dev 2015-05-20 23:32:04 +00:00
Deepanshu Gupta
bfc9c3bcbe Inject anonymous inner classes of injected classes
When injecting classes in LayoutLib (eg. CreateInfo), so that LayoutLib
can refer back to the changes, also inject the anonymous inner classes.
Without this, the injected classes are not loadable. Although, LayoutLib
itself doesn't load these classes, but some tests do.

Change-Id: Ib5f6b779ef4d79dec8d614d3dbb26eeac88a1064
2015-05-20 23:31:31 +00:00
Deepanshu Gupta
d45867a498 Merge "Update platformDir search in tests." into mnc-dev 2015-05-20 23:30:14 +00:00
Filip Gruszczynski
47249f2a9e am cb89ac84: Merge "Support for devices with a chin." into cw-d-mr1-dev
* commit 'cb89ac84c621e047d81873428325dfd747b90a6b':
  Support for devices with a chin.
2015-05-20 22:54:14 +00:00
Filip Gruszczynski
3e11bf33a6 Support for devices with a chin.
Information about the chin is now part of the config.xml instead of the
theme. It is retrieved by WindowManagerService and passed to the clients
as insets. Clients can adjust their behavior in a way that makes it
invisible to the user, that part of the surface doesn't actually exist.

Bug: 19908853

Change-Id: Iedf57bf3c848201b854f91ffeb3b59187d375c1f
2015-05-20 14:20:30 -07:00
Deepanshu Gupta
612a05e7e1 Update platformDir search in tests.
When trying to find the SDK Platform Dir for LayoutLib tests, also
test if the dir from which the tests are run is module dir.

Change-Id: Id5c6038d07ebbb122e38f907ad488ed1f2bcde32
2015-05-20 11:28:50 -07:00
Deepanshu Gupta
1c5bf7f1dd Merge "Make Context.getClassLoader() work." into mnc-dev 2015-05-20 03:05:52 +00:00
Deepanshu Gupta
f8ea750455 Make Context.getClassLoader() work.
Context.getClassLoader() is used by the LayoutInflater and can be used
by custom views. However, when called from the LayoutInflater, this
needs to return only the Framework classes. This is so that the IDE gets
a chance to instantiate the custom views, which helps in better error
reporting and better fallback in case of exceptions, like MockView.

To workaround this need of the same method returning different results
based on where it's called from, the method call in LayoutInflater is
renamed to getFrameworkClassLoader() and the new method is injected in
Context. The implementation of getFrameworkClassLoader() maintains the
existing behaviour of getClassLoader().

Context.getClassLoader() is now modified to return classes from both
Framework and the app namespace.

Also, update the list of packages to search for Framework views.

Change-Id: I1a6be4aa1fc5c1c5520b5440a348a52f10b6eb3b
2015-05-19 19:56:20 -07:00
Deepanshu Gupta
5deaa13844 Merge "Fix include tag rendering." into mnc-dev 2015-05-19 19:07:46 +00:00
Deepanshu Gupta
21b5645733 Fix include tag rendering.
A missing catch clause caused rendering to be failed when there is an
include tag that doesn't specify layout_width and layout_height. Also
improve the error messages to make debugging easier next time.

Change-Id: I617762636973a010b34da167c7b5fcd328b7d178
2015-05-19 12:06:22 -07:00
Deepanshu Gupta
9354a3ac00 Merge "Show better error message for color attr not found." into mnc-dev 2015-05-18 22:04:23 +00:00
Deepanshu Gupta
5f1bf49694 Show better error message for color attr not found.
Change-Id: I1ca32989522d30fec336eb607ee81f9e5cb5f48f
2015-05-18 14:46:12 -07:00
Adam Powell
863e65e123 Merge "Add -round and -notround qualifier to android runtime/aapt" into mnc-dev 2015-05-18 21:30:21 +00:00
Deepanshu Gupta
1af9913819 Merge "Fix nav bar spacing for tablets." into mnc-dev 2015-05-18 19:30:58 +00:00