aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Fix bug related to suppressing attributes in elements"Tor Norbye2012-03-231-6/+4
|\
| * Fix bug related to suppressing attributes in elementsTor Norbye2012-03-221-6/+4
| | | | | | | | | | | | What was I thinking? Change-Id: I7f45703733ab593a477b7671028fec861acbc888
* | Merge changes I4761e118,I1170cff4Tor Norbye2012-03-2320-94/+124
|\ \ | | | | | | | | | | | | | | | * changes: Speed up loadPublicResources() Change AttributeInfo.getFormats() to returning an EnumSet<Format>
| * | Speed up loadPublicResources()Tor Norbye2012-03-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Change AttributeInfo.getFormats() to returning an EnumSet<Format>Tor Norbye2012-03-2219-94/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Speed up Android Target Data loading"Tor Norbye2012-03-2323-234/+278
|\ \ \ | |/ /
| * | Speed up Android Target Data loadingTor Norbye2012-03-2223-234/+278
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Turn off warnings in the command-line plugin build"Tor Norbye2012-03-231-1/+1
|\ \
| * | Turn off warnings in the command-line plugin buildTor Norbye2012-03-221-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | 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
* | Fix build: Entirely disable the SDK Monitor RCP.Raphael Moll2012-03-231-39/+39
| | | | | | | | | | | | Apparently removing from the SDK build it not enough. Change-Id: I3aee0ee0eb05d83ea91d3ad75493185c5d756e38
* | Build Monitor RCP as part of SDK (Mac, Linux and Win)Raphael Moll2012-03-214-28/+179
|/ | | | | | | | | | | | | | | | 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
* Merge "Add plain XML editor for typeless XML files"Tor Norbye2012-03-212-4/+55
|\
| * Add plain XML editor for typeless XML filesTor Norbye2012-03-212-4/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | 27256: ADT XML Formatter Replaces &gt;Tor Norbye2012-03-202-1/+38
|/ | | | Change-Id: I837371e862c596e1b9afc16ddfcac638bc92232a
* Properly support attr ns when used in styles.Xavier Ducrohet2012-03-161-0/+3
| | | | | | | | | | | | | 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
* Add info about when qualifiers were added to the platform.Xavier Ducrohet2012-03-161-1/+4
| | | | | | | | 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
* Use XML outline in the layout editor when editing textTor Norbye2012-03-1511-68/+565
| | | | | | | | | | | | | | | | | | | | | | 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
* Merge "Update welcome wizard to suggest 2.2 instead of 2.1 as base sdk"Tor Norbye2012-03-142-2/+2
|\
| * Update welcome wizard to suggest 2.2 instead of 2.1 as base sdkTor Norbye2012-03-142-2/+2
| | | | | | | | Change-Id: I48867b91174dcc6b061a13dfaa10538756a80957
* | Merge "gltrace: Launch activity using am start --opengl-trace"Siva Velusamy2012-03-141-41/+34
|\ \
| * | gltrace: Launch activity using am start --opengl-traceSiva Velusamy2012-03-121-41/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "gltrace: Display state transformation errors in a console."Siva Velusamy2012-03-1417-35/+185
|\ \ \ | |/ /
| * | gltrace: Display state transformation errors in a console.Siva Velusamy2012-03-0617-35/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | 26762: Add support library shouldn't add it to the classpathTor Norbye2012-03-122-82/+13
| |/ |/| | | | | Change-Id: I630e92d36ca44fc4178269e52e5d5995f99df45b
* | Merge "NPW: Find samples in extras."Raphael2012-03-094-37/+147
|\ \
| * | NPW: Find samples in extras.Raphael2012-03-094-37/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Minor reorder in list modificationTor Norbye2012-03-081-2/+3
| | | | | | | | | | | | Change-Id: I00314caf61f5068774d5e3b0bb487ce982890ece
* | | Merge "Make GridLayout support work with the support library"Xavier Ducrohet2012-03-0818-219/+387
|\ \ \
| * | | Make GridLayout support work with the support libraryTor Norbye2012-03-0818-219/+387
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix the paste operation to target the parent if the paste target does not accept children. Change-Id: Id084db376e5ff9b4a374e6d2145bc890a925a078
* | | | Merge "Handle the android support gridlayout library automatically"Xavier Ducrohet2012-03-0814-87/+643
|\ \ \ \ | |/ / /
| * | | Handle the android support gridlayout library automaticallyTor Norbye2012-03-0814-87/+643
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | am af6d1e01: am c1a04bc8: am 785d57bd: Merge "fixes a bug that Working Set ↵Tor Norbye2012-03-081-2/+3
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 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.
| * | | am 785d57bd: Merge "fixes a bug that Working Set specified in "New Android ↵Tor Norbye2012-03-071-2/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * \ \ Merge "fixes a bug that Working Set specified in "New Android Project" ↵Tor Norbye2012-03-071-2/+3
| | |\ \ \ | | | |/ / | | |/| | | | | | | wizard is ignored in some cases."
| | | * | fixes a bug that Working Set specified in "New Android Project" wizard is ↵YAMAZAKI Makoto2012-03-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | Merge "ADT: Use file path to find which editor to use."Raphael2012-03-071-5/+14
|\ \ \ \ \
| * | | | | ADT: Use file path to find which editor to use.Raphael2012-03-071-5/+14
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Fix issue with proguard and resource files.Xavier Ducrohet2012-03-073-29/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge "Figure out DX input path based on actual classpath."Xavier Ducrohet2012-03-075-298/+166
|\ \ \ \ \
| * | | | | Figure out DX input path based on actual classpath.Xavier Ducrohet2012-03-075-298/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "Only add Java project to the dependencies if they are exported."Xavier Ducrohet2012-03-071-61/+82
|\ \ \ \ \ \ | |/ / / / / | | | / / / | |_|/ / / |/| | | |
| * | | | Only add Java project to the dependencies if they are exported.Xavier Ducrohet2012-03-061-61/+82
| |/ / / | | | | | | | | | | | | Change-Id: Ieae3414762d062b745b9b47bdea8c31a6593e34f
* | | | Merge "Misc Lint Fixes"Xavier Ducrohet2012-03-075-0/+47
|\ \ \ \ | |/ / / |/| | |
| * | | Misc Lint FixesTor Norbye2012-03-065-0/+47
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Only add Java project's jar file if they are exported.Xavier Ducrohet2012-03-061-1/+7
|/ / | | | | | | Change-Id: Ia44fab93718ac83aee1783e08c606d234c7afcfe
* | Make the library container be exported.Xavier Ducrohet2012-03-021-5/+8
|/ | | | | | | This allows test projects that reference the app project to have access to the library(ies) and associated jar files. Change-Id: I7bebe3e1d2e2265a95b23f65e6f1f0c5e51271bb
* Fix issue with automatic jar dependency.Xavier Ducrohet2012-03-022-19/+107
| | | | | | | | | | | | | 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
* Merge changes Ie13842c1,Ic2b10107Xavier Ducrohet2012-03-026-121/+327
|\ | | | | | | | | | | * changes: More fixes to the test projects. Automatically add dependencies to Eclipse project.
| * Automatically add dependencies to Eclipse project.Xavier Ducrohet2012-03-026-121/+327
| | | | | | | | | | | | | | | | | | 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
* | Merge "Handle attributes in the res-auto namespace in the layout editor"Xavier Ducrohet2012-03-021-0/+11
|\ \