| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| | |
What was I thinking?
Change-Id: I7f45703733ab593a477b7671028fec861acbc888
|
|\ \
| | |
| | |
| | |
| | |
| | | |
* changes:
Speed up loadPublicResources()
Change AttributeInfo.getFormats() to returning an EnumSet<Format>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The FrameworkResources method which loads in the public resources
takes about ~500ms of the target loading time.
This changeset optimizes this down to < 50ms using the following
three optimizations:
1) Precompute a map from names to ResourceItems before processing the
public names. Before this, it would search sequentially through the
name list, which when done n times meant O(n^2); we can construct
the map in O(n) and then perform n lookups in O(1) => O(n).
Also, be smart about which maps we precompute names for: the
ResourceType.PUBLIC and ResourceType.DECLARE_STYLEABLE types have
about 2,000 items, none of which are public, so skip precomputing
maps for these two. (However, keep the linear search around such
that if any are exported in the future the code will work
correctly.
Similarly, we know "roughly" the size of the final public maps, so
initialize them in the right size range such that they don't have
to do any internal resize+copy operations as we insert into them.
2) In android-15 there are 1500 new <java-symbol> elements in the
public xml file, which were being processed, doubling the number of
exported symbols. Limit the processing to only the <public> tags.
3) Switch from DOM parsing to pull parsing. This helps since more than
half the file consists of <java-symbol> elements, and we can ignore
whitespace and id attributes etc, so there is much less object
creation involved.
Change-Id: I4761e1182b9bc0c50fe94aea7dcd9690754c7908
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This changeset changes the signature of AttributeInfo.getFormats()
from returning a Format[] to returning an EnumSet<Format>.
Furthermore, it defines a number of constants for the various common
format sets such that they can be reused.
Nearly all uses of the getFormats() method was really just trying to
see "is format X among the formats", so using enumsets is more natural
since it has a contains method. This also lets us replace some
attribute init code which was building up a set from the array for
this exact same purpose just reuse the format set directly.
In the attribute parser, rather than computing the uppercase version
of each format string ("dimension"=>"DIMENSION") and then doing a
Format.valueOf("DIMENSION"), we now compute a map for all the format
constants as lowercase to the corresponding format instance, and use
that map when parsing the attrs.xml file.
Note that there is a small semantic change from having an array of
formats to using an enumset: The format specified an
ordering. However, it does not look like any code depended on this,
and it's also not clear that the ordering in attrs.xml is
intentional. For example, it contains both "color|reference" and
"reference|color", and in both cases the intent is that the attribute
can specify an actual color or a reference to a color. Now with an
enum set, the order used when traversing the formats will always be in
their natural order, and for this purpose the REFERENCE type is moved
to the end since it's the least specific.
Change-Id: I1170cff48086f5cc13e4b70a35deea1f9979c883
|
|\ \ \
| |/ / |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changeset optimizes the handling of AttributeDescriptors during
the SDK target loading phase. From some simple benchmarks, this
speeds up target loading about 40%. (On an low-load machine, loading
two targets took on average 9.11s with standard deviation 1.86 for 13
runs; after the fix the same target loading took on average 6.359s
with standard deviation 0.944s for 17 runs -- so the speedup is 1.43).
The most important fix is to make the computation of the tooltip text
and the UI name (which performs various lowercase to uppercase
conversions, in some cases involving regular expressions, and many
string concatentations) be evaluated lazily. This is a big win since
most attributes never have their UI names or tooltips displayed, and
when they are, usually just a small number.
Since tooltips and UI names are now computed lazily from the
AttributeInfo, the constructor for the TextAttributeDescriptor and its
subclasses no longer take a UI name or tooltip; instead, there is an
explicit setter for the cases where you have a specific tooltip you
want to hardcode (as with the builtin descriptors such as the ones for
drawables).
The actual formatting method for UI names was also optimized a bit,
such as avoiding regexp replacements except for cases where they are
likely needed, preallocating a larger character buffer, etc.
Change-Id: I7004e403fcf696e18bd89a29c6cfd27b61c1e9f8
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The command line build of the plugin displays all warnings in all
plugins: thousands. This makes it harder to find the actual error
breaking the build, and we don't need the warnings in these logs:
it's easier to process and fix warnings within Eclipse when
developing the plugins. So, this changeset turns off warnings for
the command line build configuration.
Change-Id: Id469ad9d6f8357bb331f38562bb0aaa253849f4b
|
| |
| |
| |
| |
| |
| | |
Apparently removing from the SDK build it not enough.
Change-Id: I3aee0ee0eb05d83ea91d3ad75493185c5d756e38
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new SDK/tools/monitor[.bat] wrapper
as well as SDK/tools/lib/monitor-x86[_64]/ directories
that contain the actual RCP application.
The monitor shell wrappers + bat have not been properly tested yet.
The goal of this CL is just to build the RCP. In a following
CL we'll adjust the wrapper and the actual binary location
in the SDK.
Cross-dependency: Requires build.git change Ifb31e2e3.
Change-Id: I7afbd63badfb81fd5d3d899de672e02525a49bc2
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changeset adds a new editor delegate, "PlainXmlEditorDelegate",
which is used for XML files that have no associated resource
type. This is used instead of the OtherXmlEditorDelegate, which is
intended for resource files.
This changeset means that if you open the lint.xml file in the root of
the project, you no longer get a form (which wasn't helpful since we
don't have descriptors for that filetype).
Change-Id: I776f7dbe2b9fc994993b26524cc2965d014496aa
|
|/
|
|
| |
Change-Id: I837371e862c596e1b9afc16ddfcac638bc92232a
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 is a first step where we setup the info. Next step
is to actually use the info when calling
ResourceRepository.getConfiguredResources
Change-Id: I03c20ad0ec7a53ec8219316cc4af7a59155ef34a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changeset adds an XML outline in the layout XML editor when
editing text, and the graphical outline when the graphical layout
editor tab is shown. This is complicated because it's not really
supported in Eclipse:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=1917
See the long comment in LayoutEditorDelegate.delegateGetAdapter for an
explanation of the two tricks involved:
- Using a multiplexing outline implementation to switch outlines,
triggered by editor page switch notifications
- Using a selection listener to anticipate when the XML outline is
attempting to react to editor selection events and return the
non-multiplexing outline from getAdapter in that specific scenario
While I was at it I also made the outline customized to handle our
icons, similar to how the quick outline already handles it, and fixed
the quick outline to work with the new delegated editors.
Change-Id: I0b7ea8c8d8c09d2ecc1500689f9dda4b5db2b492
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I48867b91174dcc6b061a13dfaa10538756a80957
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch changes the way the app is launched for OpenGL Tracing
to use the newly added --opengl-trace option to am start.
It also makes sure that any errors that occur during launching
are reported back to the user.
Change-Id: I0fc308f7309b79ec33096678d4d33077a59724f0
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch adds a Eclipse Message Console for GLTrace View.
Errors that occur during creation of state transformations,
and during application of these transformations are displayed
in this console.
Change-Id: If8686217f7809efeea39d088d70ab665af674930
|
| |/
|/|
| |
| | |
Change-Id: I630e92d36ca44fc4178269e52e5d5995f99df45b
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Changes:
- the SdkManager can now list extras that
contain a "samples" directory.
- The NPW uses that to list samples from extras
that match the requested API level. The name
of the sample in the list also indicates the
extra's display name.
Change-Id: Id6609f53b9ba84126e36bc33e5675ec6a0284814
|
| | |
| | |
| | |
| | | |
Change-Id: I00314caf61f5068774d5e3b0bb487ce982890ece
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also fix the paste operation to target the parent if
the paste target does not accept children.
Change-Id: Id084db376e5ff9b4a374e6d2145bc890a925a078
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This changeset adds support for the android support library's
GridLayout library project.
When you create a new layout with the GridLayout, or when you drop a
GridLayout, the IDE checks whether you need the compatibility version
of GridLayout (e.g. min sdk < 14), and if so, offers to install it.
This will then first run the SDK manager to install the android
support package into extras, and then it creates a local library
project in the Eclipse workspace, and updates the library dependency
to reference it.
Finally, it rewrites tags such that the layout will use the
compatibility package for the <GridLayout> and <Space> tags. This is
done in the node handler, so client rule code will automatically get
the right compatibility tag; they don't need to handle it there.
Change-Id: I6da926eee7ffa956832ddd311d4180e8ff38ae07
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
specified in "New Android Project" wizard is ignored in some cases."
* commit 'af6d1e01e84f2f30b8dc8a82cf343a3636e7e2b9':
fixes a bug that Working Set specified in "New Android Project" wizard is ignored in some cases.
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Project" wizard is ignored in some cases."
* commit '785d57bd7555cbbd2451be02079dac77b3280aee':
fixes a bug that Working Set specified in "New Android Project" wizard is ignored in some cases.
|
| | |\ \ \
| | | |/ /
| | |/| |
| | | | | |
wizard is ignored in some cases."
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
ignored in some cases.
In original code, specified Working Set data is set to mValues in ProjectNamePage#canFlipToNextPage(). This hack works in some cases, but not always.
canFlipToNextPage is invoked when user changes the name of project, but is not invoked when user changed the data of Working Set. So, if user changes WorkingSet as last action of this page, it is ignored.
I moved "mValues.workingSets = getWorkingSets();" from canFlipToNextPage() to getNextPage() because getNextPage() is alwasys invoked at the end of ProjectNamePage.
http://code.google.com/p/android/issues/detail?id=21508
Change-Id: I336fe449703144ac7a053cce6a946f931e97bb9f
Signed-off-by: YAMAZAKI Makoto <makoto1975@gmail.com>
|
|\ \ \ \ \ |
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In case we don't have any ResourceFolder information
when opening a file using the CommonXmlEditor, we can
fallback on the foldername to find which delegate to use.
Change-Id: Id83f0c70ddfdc81de867cd8489135eaec45aa2c3
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When using proguard, use the obfuscated jar file as source
of Java resources in case proguard renamed them.
(there are some options for that although I couldn't make them
work).
Change-Id: I63ed2c4f616a84180f03eb682691c02f0f28776c
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This synchronizes the previous work on figuring out the actual
classpath for the library container and reuse this to figure out
what goes into dex.
Also use the classpath to figure out the java resources that should
be packaged in the apk. Additionally, only add java resources by
reading the output folder instead of the source folders as this
ensure that exclusion patterns are respected.
Change-Id: Iac742f4bdefab370ec3cf7d955736e84d58ead9c
|
|\ \ \ \ \ \
| |/ / / / /
| | | / / /
| |_|/ / /
|/| | | | |
|
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: Ieae3414762d062b745b9b47bdea8c31a6593e34f
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This changeset contains fixes for several unrelated reported lint
bugs:
26505: Default disabled rules that are explicitly enabled do not
activate
26467: Lint says ByteBuffer.array is API 9+ but it's really API 1+
26501: Warning "This tag and its children can be replaced by one
<TextView/> and a compound drawable" is not always correct
(Partially fixed)
It also fixes the following bugs:
- The quickfix for the typography detector did not work for the
fraction warning (replacing 1/2 with the half unicode symbol etc)
- A couple of XML detectors did not check for SuppressLint on the
associated root node
- Add a --exitcode flag, and only set the exit code to non-zero if
that flag is specified. Also fix the code such that non-fatal errors
also contribute to the exit code.
- Make the HTML reporter classes public to help Maven integration.
Change-Id: I60f5fdcb2a465d51fa58bb918a195b373096d54b
|
|/ /
| |
| |
| | |
Change-Id: Ia44fab93718ac83aee1783e08c606d234c7afcfe
|
|/
|
|
|
|
|
| |
This allows test projects that reference the app project
to have access to the library(ies) and associated jar files.
Change-Id: I7bebe3e1d2e2265a95b23f65e6f1f0c5e51271bb
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous commit relied on a cached version of the Android container
to add jar in to the list. This properly look for inside the libs folder
for jar file, and restrict looking at project classpathes to only
Java-only projects.
Also hooked into the file change listener of the Sdk class to
update the project container when a file is added to removed
to a libs folder.
Change-Id: Ia7d13b5544a27d0e8baab4873654a74b0a7889e6
|
|\
| |
| |
| |
| |
| | |
* changes:
More fixes to the test projects.
Automatically add dependencies to Eclipse project.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
add libs/*.jar from Library Projects, add Java-only projects
only that referenced in Library Projects (recursively so that
Java projects that reference other Java projects pull those in
too). Also add jar files referenced by Java-only projects.
Change-Id: Ic2b10107153e0576f5e6ba34d50bd3fef95c3fea
|
|\ \ |
|