| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I907004c9f3c55a7e454e0bca644fa4efe200f15b
|
| |/
| |
| |
| | |
Change-Id: I8ea1a31fd7db849fffb9043c58a91f82444d98d4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for loading 3rd party .jars providing additional layout
rules. This can be configured by adding a property referencing the
jars to be loaded as part of your build.properties, like this:
default.properties:
...
layoutrules.jars=chart-rules.jar:graph-rules.jar
...
This will create a class loader referencing chart-rules.jar and
graph-rules.jar (as well as the visual editor's plugin class loader as
a fallback), and this class loader is used to load IViewRule
implementations.
In addition, this plugin rips out the various remaining Groovy hooks
and references that were earlier used to load Groovy scripts as layout
rules, and removes groovy from the load path and build symlinking
scripts.
Change-Id: Ia17a60259559ec86270726add258382a879117dc
|
| |
| |
| |
| |
| |
| |
| | |
Add layout unit tests, and some infrastructure for testing. Also fix
some formatting errors (>100 column lines) in the previous commit.
Change-Id: I3eabf30998ab7deb84df57e4d0c10cf57ee399d5
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had a number of layout implementations in the tool written in
Groovy; these were hard to deal with because of lack of good tool
support (debugging didn't work, refactoring didn't work, code
completion didn't (always) work, go to declaration didn't work,
semantic checks like unused code didn't work, etc. etc.)
Since these layout helpers are only getting larger, replace them by
equivalent Java code to make development easier.
This checkin also moves the API classes formerly used by Groovy
scripts into a new package (next to the Java layout rules) under
com.android.ide.common (api and layout) since this code isn't Eclipse
specific and could be used by other IDE vendors.
These interfaces were left identical (only the package statements and
directory location changed), with two exceptions: I added a new method
called "in" to IAttributeInfo.java, and I added a parameter to
IViewRule's onInitialize method.
The Groovy code was kept as close to the original as possible; I
copied in the Groovy code, and then replaced the Groovy-specific
constructs (closure-iteration on collections, literal map syntax, etc)
with equivalent Java code. The only tricky part was ensuring that
Groovy's handling of the == and != operators were translated into
.equals calls.
Change-Id: Idf7660ddea3766eac0a4a65ce6524d3f5119f7b2
|
|
|
|
|
|
| |
We'll try to fix it in another CL later.
Change-Id: I3a0c5131e6e9398a657081a639fbfd6aa670ba97
|
|
|
|
|
|
|
|
|
| |
There isn't as much as would want to here.
I need to refactor the RulesEngine to make it more testable,
the major block is that it uses the static AdtPlugin to find
the groovy files path and that doesn't exist in the UT.
Change-Id: I96c0821252d5b777665ed68153fde63d140d0ee5
|
|
|
|
| |
Change-Id: I33039b0be05f0eca51f1fd5c6f616d01f46a59b7
|
|
|
|
| |
Change-Id: I231b272363bf1d9652093c747fd2db865f1658c7
|
|
|
|
|
|
|
|
|
|
| |
testQualifierList() checks the number of qualifiers
against FolderConfiguration.INDEX_COUNT except there's
a mismatch since there was no index 13.
ConfigMatchTest was missing the new dock/night and nav state.
Change-Id: I5df0b1375a209cca5a39d93946b62b88f2688fb2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added proper support for qualifiers that have fake values
like "__" for language/region or "none" for dock mode. Those
are used by ADT internally but do not represent valid values, so
some UI (like the config creator) must handle them.
They didn't do it before which led to some weird UI behavior such
as a language or region qualifier with "__" value.
Added some missing icons.
Clean-up some qualifiers by moving similar code into a base class
for enum based qualifiers
Removed dependency on the current IAndroidTarget to get the
folder segment corresponding to a qualifier as it's not needed
anymore now that targets use recent versions of aapt (and will
move to using the most recent one soon).
Change-Id: I29c7bb5a7783db1696f53d0e38f46f64671e5e0d
|
|
|
|
| |
Change-Id: I64959e27f2c08c459e15323d7c8d2cdb041ba9dd
|
|
|
|
| |
Change-Id: I7b494743c2b7e8c2bfd6a89cc031f7eb3989ea6c
|
|
|
|
|
|
|
|
| |
Change the IDragElement to not carry the original INode, since
this is not available when crossing Eclipse instances. Instead
encode the info we need in the transfer.
Change-Id: I90a1e71171af61e51e8aaded31e05300fa85c014
|
|
|
|
| |
Change-Id: Ica08b71b4d3280fefad2388780849d307a515d5a
|
|
|
|
| |
Change-Id: Id6f4b58c5a811b0b7e32b40162c8bd6680f2fc67
|
|
|
|
|
|
| |
This is so that other code (like the manifest parser) can use them.
Change-Id: I53be59bbe752e77752e90cedb528f25cf3b3792f
|
|
|
|
|
|
|
|
| |
And don't make it use the Parser Helper that's eclipse specific.
Also fixed the versionCode parsing (bug introduced in previous CL)
Change-Id: Ie472d7d6c4847e3fae660873cca7d71e801a2a34
|
|
|
|
|
|
| |
Also started added new data parsing (screen support)
Change-Id: I783e973fa16598a777eec4536746e6e5b9cb3e74
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
API change to make it use IFileWrapper instead of IFile.
Old AndroidManifestParser changed to AndroidManifestHelper which
is now mostly wrapper methods to add Eclipse specific parameters.
Also moved ADT...AndroidConstants.CLASS_* to sdklib...SdkConstants
(needed by the parser) and removed AndroidConstants.FN_ANDROID_MANIFEST
since SdkConstants.FN_ANDROID_MANIFEST_XML existed too.
Moved the Eclipse implementation of IAbstractFile/Folder
Change-Id: I59bdbe90ba9a4c0b5bb2c4c68945b8877d4eed3d
|
|
|
|
|
|
|
|
|
|
|
| |
This is only needed for the layout rendering so we restrict this
to getConfiguredResources since it's called for every rendering
anyway (and only there).
Still need to trigger new rendering when a library resource
changed.
Change-Id: I2241c84626cbafaefc51db3718be54a4937d0657
|
|
|
|
|
|
|
| |
Some other "public" API (AndroidManifest) depends on it
so it should be public too.
Change-Id: I88cd299bbd60df8f4dac5fe029bb52c0c0c2f16c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step in the library support.
For each library, create a source folder in the main project that
is linked to the source folder of the library project.
The linked resources use a path variable named after the library
in the format: _android_<library name>.
These variables are always created when the link is created.
For now the link is recreated all the time, but we could
do a check and not redo it if it's already done.
Additionally, the pre-compiler creates the R class from
the res folders of the main and library projects.
Some misc fixes/clean-ups:
* Fix an issue with the new ProjectState where opening a
project would not trigger a load of its target data.
* Changed the lock for all SDK operation:
- moved the lock in Sdk accessible as Sdk.getLock()
- made the few Sdk method that used their own synchronize
block use the same lock as all others.
* removed the builders project and moved its content to sdklib
This was meant as a way to share code between the Eclipse
builders and the Ant tasks but sdklib is already used by
both, so it's better to put the code in sdklib than
have yet another project.
Change-Id: Ibfa449c7a809f28e428c03bbda8215969717ecde
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new project will contain build specific code used by both
the custom Ant tasks and the Eclipse builders.
The first code to go in there, is the IAbstractFile/Folder classes
already used by Eclipse as an abstraction layer for file/folder
access when some code needs to use both the Java IO API and the
Eclipse resources API.
The builders project include the implementation for the Java IO,
while the Eclipse implementation is in ADT.
Change-Id: I93d07117678000531bd17540b1ccddca8edb86ad
|
|
|
|
|
|
| |
ExplodedRenderingHelper
Change-Id: I987004d3869f9e2f94efb0bec1f92f55a8c42501
|
|
|
|
|
| |
Bug: 2391888
Change-Id: Id4076bed2d1c78896ccdd3872debdc84d9487aee
|
|
|
|
|
|
| |
It has a non-java namespace we don't want to use.
Change-Id: I67f247b38df16e1a62957e84ce9e03c449ffae5a
|
|
|
|
|
|
| |
Bug: #2361749.
Change-Id: I7a75cd7f0887dd8135c43f71d1b15165306bfa9b
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds the new "Groovy Rules Engine" (GRE) to the GLE2.
The rules engine can load groovy files located in the ADT
namespace or the project associated with the current GLE2.
Each groovy file defines a class with callbacks invoked
by the LayoutCanvas.
Project rules are reloaded when they change.
Change-Id: I168234da739b2120374d3eb4552169f7dd36439d
|
|
|
|
| |
Change-Id: Ief3c7bf7fddc6a91fb1c00b5cffcc7778b12815b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Override padding values on layout when sent to the layoutlib rendering.
Either set a 10px padding, or add 10px to the current padding (resolving
values in dip, sp, pt, in, mm)
- Screen size is increased to match the new padding. this is a work
in progress and a lot of logic for each layout still needs to be done
- Display a white outline for the exploded layouts in the GLE1.
GLE2 support to come.
All of this is currently on the same toggle as the clipped rendering.
Need to add a new toggle button for it (and map it to a key shortcut)
Change-Id: If49c1e1a07923aeeca9dbc76f978afff2d106b51
|
|
|
|
|
|
| |
- Remove reference to ADT from sdklib tests.
- Move ADT test data to be closer to their test classes, and to make it obvious
this data is only for ADT unit tests.
|
|
|
|
|
|
|
|
|
|
| |
Temporarily remove SampleProjectTest from continuous, since its failing at
every CL.
Adjust ApiDemosRenderingTest to use the SDK loaded by ADT.
Remove SdkEnvTestCase since it doesn't work in all situations.
Fix test data lookup for NinePatchTest and BridgeXmlBlockParserTest.
Bugs 2222616, 2218682
|
|
|
|
|
|
|
| |
While the test is in the java package as the parser, it's in a different
plug-in and this prevents accessing package-protected methods.
Change-Id: Ib17765095e4da518d62ee65cb9e1987d0e22be6e
|
|
|
|
| |
Change-Id: Ib6109c1bb76dadddeef24aec3af16e178a931651
|
|
|
|
|
| |
UI will come later.
BUG: 2048256, 2048264
|
|
|
|
| |
First behavior change: \d{3}dpi replaced with hdpi/mdpi/ldpi/nodpi
|
|
|
|
|
|
|
|
|
|
|
|
| |
Basically:
editors.resources.manager -> resources.manager
editors.resources.configurations -> resources.configurations
This is to make it less confusing between the "Resources editors" and the
class parsing/handling Android resources (either in a project or in the
framework).
Also moved the ResourceExplorerView out of the resources editors, and clean
up a few other misc classes.
|
|
|
|
|
|
|
| |
editors -> adt.internal.editors.
This also marks the final refactoring of combining previous editors/common
plugin under the adt package.
|
|
|
|
|
|
|
| |
common.project -> adt.internal.project
adt.resources -> adt.internal.resources
adt.wizards.* -> adt.internal.wizards
adt.ui -> adt.internal.ui
|
|
|
|
|
|
|
|
| |
project.*
refactorings.*
Also: moved the export wizard from project.export to wizards.export, moved some
actions out of project into the new internal package actions.
|
| |
|
|
|
|
|
|
|
|
|
| |
Android JUnit
Original author: brettchabot
Merged from: //branches/cupcake/...
Automated import of CL 144322
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|