| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, update our various project-specific Eclipse compiler settings
configuration files to include the new Eclipse 4 flags.
Second, turn off the "Unchecked conversion from non-annotated type to
@NonNull" warnings; there are hundreds or thousands of these, and
there isn't much we can do about them when they're coming from
platform and library APIs.
Third, make the lint projects warning-clean again by addressing
various warnings Eclipse found (such as some unclosed resources and
some null handling issues; yesterday's null annotation fixes only
addressed errors, not warnings.)
Change-Id: If75f7401a1cbeef1bf58b47ccaa9ad17bede7f91
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Legacy versions uses the old API that doesn't specify the
namespace of the attribute being queried. The implementation
used the namespace of the style as the namespace of the attribute
but this make little sense.
At better implementation searches in the project's namespace
and, if the attribute is not found, then searches in the
framework namespace.
Change-Id: Ief43ecd45f108162de2b1512027d4eedf2c132db
|
|
|
|
| |
Change-Id: I3a939238911ae7c09bb75b27e1ce623777cd4e18
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we just stripped the namespace prefix when reading attribute
names in styles and declare-styleables. This was bad if one created
a declare-styleable mixing platform and app attributes that were
named the same.
This change is Eclipse side only and prevents ADT crashed (due to stack
overflows) but the rendering won't be correct. An updated version of
layoutlib using API 8 is necessary.
Change-Id: I3029f3e06cdd96cd46af511bb029bc5274b935ad
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changeset adds a new @NonNull annotation, to match our existing
@Nullable annotation, and it adds configuration settings for Eclipse
3.8 / Eclipse 4.2 which configures the new null analysis there to use
our own annotations. Note that the annotations only have source
retention so there is no extra size or class-loading overhead. (To use
findbugs you'll need to temporarily change retention to class-level.)
In upcoming CL's I'll use these annotations to clarify the Lint API
and other APIs.
Change-Id: I99096d8b8a7e25ef002624d592da7700195a5872
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changeset makes the SDK codebase compile with source=1.6 (which
means it also requires JDK 6). This means that methods implementing an
interface requires @Override's. It also means we can start using APIs
like the ArrayDeque class and methods like String#isEmpty().
This changeset looks big but the change is trivial: it's basically
adding @Override in all the places that need it, along with some other
automatic Eclipse cleanup in certain files (such as reordering imports
where they were incorrectly ordered (because older versions of Eclipse
didn't always handle inner classes right)), as well as cleaning up
trailing whitespace and removing some $NON-NLS-1$ markers on lines
where there aren't any string literals anymore.
This changeset also sets the source and target JDK level to 6 in the
Eclipse compiler .settings file, and synchronizes this file to all the
other Eclipse SDK projects.
Change-Id: I6a9585aa44c3dee9a5c00739ab22fbdbcb9f8275
|
|
|
|
|
|
|
| |
Also change the layoutlib sample code to properly get the list
of framework attr flag/enum values.
Change-Id: Ie0bf126a0fab574d94d0f86b7b2f8581cf4eaae3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is very basic sample code showing how to render
a layout.
This explains how to load the resources, create Folderconfig,
ResourceResolver, and how to call the LayoutLibrary to do an
actual render.
There are some big limitations:
- can't render custom views because there's nothing
compiling them and generating the compiled R.class
file.
- not all features of ADT are present because there
are things that don't make sense outside of an editor
(render in context, expand empty layouts, etc...)
Change-Id: I0c8676ebfbff27f0e9412bb4b13193ce64082372
|
|
|
|
|
|
|
|
|
|
|
|
| |
I hadn't noticed that LayoutLib actually uses ScrenSize
through the tools-common-prebuilt.jar, so this API is (somewhat*)
frozen.
* Somewhat because LayoutLib.jar actually only uses Density and
ScreenSize but not the other enums (yet?) so the rename of DockMode
is not a problem.
Change-Id: Ida3360b0111abd96d2a27c16833b282706774fb6
|
|
|
|
| |
Change-Id: I9c5ea5183e115582e0b805ca3ec75aad70e4a65c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I ran the latest version of findbugs on our codebase and fixed some
(not all!) of the warnings.
I also ran with Eclipse 3.7 RC3 and updated our compiler warning
settings for the new warnings that are available.
I also fixed some DOS line endings in some files (formatted with CRLF
instead of LF).
Change-Id: I9a9d34a9b60f2cb609245793815d96a4587007b0
|
|
|
|
| |
Change-Id: I2dc79e71521f93d798fd4a9b33aa59979bef379d
|
|
|
|
|
|
|
| |
This is used to make the implementation easier with access to the
XML file path in the ResourceValue.
Change-Id: Iedbb194bdf4b3d17841be1d50c384b62615bae8f
|
|
|
|
| |
Change-Id: I97fedc69644d83801b50d7882bb759db7089d8f0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you open a layout designed for a particular theme in another theme,
you can get many confusing error messages. Instead of "attribute
missing" it may tell you that it failed to convert a resource to a
color or drawable, and so on.
To help guide users to the root problem (wrong theme chosen) this
changeset detects the scenario where theme attributes can't be
resolved, and when these are found the top of the error log will start
with a bold message stating that theme resources were not found and to
check whether the correct theme is chosen.
To do this, the resource resolver emits a new sub-type of the resource
missing tag into the error log, which is used in the IDE to prefix the
errors with the special error message.
Change-Id: Ic29c9af37da4b5cc2c9fb1ca5670c8b8f79bf852
|
|
|
|
| |
Change-Id: I9a990c41c46ce9901a241b18aee00d1fc4c84383
|
|
|
|
|
|
| |
This will make earlier ADT versions force the user to update.
Change-Id: I5331da72306453647f8d48ddb3b5d4cd4e662550
|
|
|
|
|
|
|
| |
Also make it so that older layoutlib that are using API5 return the
value through reflection (done in LayoutLibrary.)
Change-Id: I3a32666e525f0f1d37a13e670d1d1c659b8e2027
|
|
|
|
| |
Change-Id: I316f03a9903e90eac0cb8059469c1de5b679dac5
|
|
|
|
| |
Change-Id: I580dad3b15de028b299a0c75e206bb31b5d6d062
|
|
|
|
| |
Change-Id: Ib1b39938a459627a6ecf70556bdd6a99342ddf93
|
|
|
|
|
|
| |
Also update the IProjectCallback to handle expandableListView.
Change-Id: I36ca8733182bbd9d169fee3e709ebc532fef7b1e
|
|
|
|
| |
Change-Id: Ic59acce7485887b4efde76697a85848e6bf91a97
|
|
|
|
| |
Change-Id: I85be09fd7541da366c858ea04d7c2c4b53948475
|
|
|
|
| |
Change-Id: I9ea9625a839a4dc2c9d03baa5b0d56ddc7f198ee
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I0de48e3519f38a63c3462f5eb0c7f6c2a29d0e6f
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The layout editor is passed a ViewInfo hierarchy by the layout
library. For older versions of the layout library, it can be handed
hierarchies where the view cookies (which point back to XML model
objects corresponding to the rendered views) that are missing or
ambiguous. For that reason, it has various algorithms to try to piece
things back together, and for example handle <merge> scenarios as best
it can.
This isn't necessary with layout lib version 5 and higher, since as of
version 5 these scenarios are handled on the layout lib side and the
layout editor is passed back special cookies like the MergeCookie to
properly handle the various scenarios.
This fix makes the layout editor look up the layoutlib version, and if
dealing with version 5 or higher, it takes a simpler path to build up
the hierarchy.
This is also necessary to deal with the latest version of layoutlib
which passes a new type of view cookie which the older algorithm
couldn't handle.
Change-Id: I98c3ba5d17ad9d639eb118e4709c0b6bbf815b0a
|
|
|
|
| |
Change-Id: Idbb54de6dee6d6b466476a0e3acdd87dd394ee42
|
|
|
|
|
|
|
| |
The Layoutlib_api is changed to allow passing information regarding
adapter content, and querying eclipse to fill the items.
Change-Id: Ie5a047ab9cd0ed7677c13309d95663eae462c3e7
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also fix some makefiles to make sure the notices are
picked up.
- move the makefile outside of the source folder.
- resources are now in the source folder directly instead
of being inside src/resources. It's much simpler.
Change-Id: Ica8ee4c2bc8a9b035d23fc914d4137cdca7e567d
|
|/
|
|
|
|
|
|
| |
This can be a matter of personal taste, but I find it a lot
more readable to write an if {} else {} sometimes, and it's
perfectly valid, so really it shouldn't be marked as a warning.
Change-Id: Iac1b9bd5f9602b5018f7432422e0a083f4836490
|
|
|
|
| |
Change-Id: I9837714c5673d43fa7108b16ab264f1017c4bd3d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change fix the issue that since the simplification of
the resource repository, the resource item for inline ID values
would not be called to generate a ResourceValue since their
list of source file was empty.
This moves the creation of the ResourceValue to the ResourceItem
so that InlineResourceItem can override it.
This required moving findMatchingConfigurable into FolderConfiguration
which is a much better place for it anyway.
Change-Id: I36d6b148528c593ea432c9fd0ac8d542cbe2a26e
|
|
|
|
|
|
|
|
|
|
| |
This lets the session do the measure/layout part and skip
the draw.
This returns the object location through the ViewInfo but
not the rendering.
Change-Id: I8875b4631b5fb00efa7096d804129612d46d9dc9
|
|
|
|
|
|
| |
TRANSPARENT -> CUSTOM_BACKGROUND_COLOR
Change-Id: Iaa521231983de4d1008a7bb86b923f295d295a65
|
|
|
|
|
|
|
|
|
|
|
| |
RenderParams is now a base class. SessionParams extends it
(and contains the layout and the rendering mode which are not
part of the base class).
DrawableParams is used for the new action and adds a reference
to a ResourceValue.
Change-Id: Ieacf4da91fda95df1d25a32ae0953bd9d8028113
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the layoutlib to render system/title/action bars
as a window decor like it would look on the device.
This can be disabled with RenderParams.setForceNoDecor().
(BTW, Params was renamed RenderParams too)
Also minor update to the API by replacing an int with Density
since the enum is now accessible to the API and layoutlib.
Change-Id: Ic37770a9276d12af90c60199a84b04cb64e7c3a1
|
|
|
|
|
|
|
| |
Move all the resource query methods that returned an array of 2 Strings
to return a pair of ResourceType and String.
Change-Id: I6b8447aa27005de786e2defef81ad88a72363523
|
|
|
|
|
|
|
|
|
| |
Move ResourceType into resources.jar so that it's accessible
to layoutlib.jar
This is cleaner and allows us to us more efficient EnumMap objects.
Change-Id: If11cbc69ae3ca8bd6c96e6d0ef402570a07af16f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now only the screen size is needed. We can add more to Params
as needed.
Since we should use the existing enum classes for this, I moved
all the current enum from sdklib into a new jar file called
resources.jar.
ADT, sdklib, layoutlib_api all depend on it.
Changes to resources should always be API compatible and the result
should be copied into the in-dev platform branch in prebuilt, similar
to layoutlib_api. See the README.txt files in layoutlib_api/ and
resources/
Change-Id: I877ba3cad555ec497954bb0866639e51e7751020
|
|
|
|
| |
Change-Id: Iebde7536a0007898387dc7bb5d943e3767140a3c
|
|
|
|
|
|
|
|
|
|
| |
The layoutlib can specify if the image is rendered as a floating
window, and needs alpha.
If it doesn't needed it we do a faster convert discarding the
alpha which will be better when playing animations in the normal
case.
Change-Id: I2dbd2d1ae9190207b51978e4a8d77cdff25f3e45
|
|
|
|
|
|
|
|
|
| |
The build properties are needed to populate android.os.Build
The multi ViewInfo results are needed to access all the top
level children of a merge layout.
Change-Id: I49638ae76aaf9e83dc4a0a73c3e7966d7b0a14a3
|
|
|
|
| |
Change-Id: I6e2f55cf74a683cb936e16b469e1f5abe5a0fd83
|
|
|
|
|
|
|
|
| |
This will allow some widgets to properly behave based on the
minSdkVersion and targetSdkVersion of the project during
rendering.
Change-Id: I96d432b8b92fbc211ce122da51bd18049708c14f
|
|
|
|
|
|
|
|
|
|
|
| |
Also move the LayoutLib API to use a new class for all resource
info instead of 2 maps, one string, and a boolean.
The goal is to move resource resolution code into ADT
so that we can use it to better display resource information
in the UI.
Change-Id: Iad1c1719ab0b08d1a7d0987b92d4be1d3a895adf
|
|
|
|
| |
Change-Id: Iaa82c3647996a9ce7d7d348cdc19dce34b941238
|
|
|
|
|
|
|
| |
Some tags have "categories", for instance "resources.resolve"
I created a new constant that contains "resources."
Change-Id: Ifda535b3378021a275e73d988bcf5707e9ab39ff
|