aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins/com.android.ide.eclipse.tests
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge "Move some utility functions from AdtUtils to common"Siva Velusamy2012-09-211-65/+2
|\
| * Move some utility functions from AdtUtils to commonSiva Velusamy2012-09-201-65/+2
| | | | | | | | Change-Id: Ia6f5c55e07c7f60712472c8e850b7c4595c46671
* | Merge "Validate user edits in XML files"Tor Norbye2012-09-205-4/+397
|\ \
| * | Validate user edits in XML filesTor Norbye2012-09-205-4/+397
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Around ADT 15 or so we introduced a bunch of optimizations to run AAPT much less frequently, since with large projects it can take a long time, and end up blocking the UI if you try to save twice. Unfortunately, one side effect of this change is that if you edit only the *value* of an attribute, we will not re-run aapt, which means that if you set the value to a bogus value, you will get no error message until the next time AAPT runs (usually when you try to run). This changeset fixes this. We already have the attribute metadata which aapt uses, so now, when an XML file is changed and saved, we process it with an XML pull parser, and validate all the Android namespace attributes. If any are found to not be correct, then we request a full AAPT process, which will then display errors as appropriate. Change-Id: I374c19648e29c27c6d82616b3ee602cb2343cd3a
* | 37497: Templates should escape string literals in resource filesTor Norbye2012-09-184-0/+208
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | If the user enters an activity title like "Android's Tools" in the new template wizard, an invalid strings.xml file is generated, since the apostrophe is not properly escaped. To fix this, there's a new string conversion method in the template engine, "escapeXmlString", which will perform all the necessary conversions. It also adds two other XML escaping functions: one to escape text to be suitable for XML attribute values, and one to be suitable for XML text values. Finally, when verifying this, I discovered that if I inserted ampersands in the MasterDetail template, I ended up with errors in various places there a filename was derived from the input string. To help make this work better, there's also a new "extractLetters" method which pulls all the characters out of a string (effectively stripping whitespace and punctuation). In addition to the above 4 new string conversion methods, the templates have been updated to use them, and the template format documentation updated. Change-Id: I4d4e854ab78d63bc86b8eb0fb9d92246534615e7
* 37546: Graphical layout in Eclipse does not render unicode charactersTor Norbye2012-09-181-0/+13
| | | | Change-Id: I1fd07245e68b39af16a38bcec8a711867e87e5c6
* Rename ide_common to sdk_commonSiva Velusamy2012-09-181-1/+1
| | | | Change-Id: I1b39ee439a532f3f6758be35b569948e2e906665
* Merge "Manifest Editor: class selector for <application backupAgent>."Raphael Moll2012-09-171-0/+4
|\
| * Manifest Editor: class selector for <application backupAgent>.Raphael Moll2012-09-171-0/+4
| | | | | | | | | | | | | | <application android:backupAgent> needs a class selector that accepts classes deriving from BackupAgent. Change-Id: Id2e72e85967bc31a67d1eff2c342bcf7acc2cb3c
* | Support separate layout editors for a single layout resourceTor Norbye2012-09-172-0/+160
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset changes the "reuse" behavior of the layout editor to no longer reuse the same layout editor when you are switching between alternate layout files for the same layout resource, such as layout/foo.xml and layout-land/foo.xml. This lets you more quickly switch back and forth and inspect differences between the layouts, etc. There is also an option in the Android > Editors panel to turn on single editor sharing again. The biggest part of the changeset, by far, is a cleanup of the ConfigurationComposite class and associated code. This was necessary not just to support the above feature (where we need to "back out" UI changes when you've made a configuration edit which results in a different file getting opened), but it's also an important preparation for multi configuration editing, where we need to be able to switch configuration settings in and out of a single configuration editor, etc. The configuration data itself is now in a separate Configuration class; the UI is in ConfigurationChooser, and the configuration matching code is in ConfigurationMatcher. There's also a new Locale class to track language/region pairs instead of using 2-element ResourceQualifier arrays. The various menu listeners are also in separate UI classes now. While there are new classes, most of the configuration matching algorithm is unchanged, just moved to a new class and the UI syncing and configuration data lookup replaced. Bitmasks are used to handle configuration changes, such that updating multiple related attributes (e.g. a rendering target change also causes a theme change if say Holo isn't available) can now be processed just once with a single change call. (Various other cleanup too.) Change-Id: I04ac969f46824321be3db0c487ef077c03cc6012
* Constants refactoring.Tor Norbye2012-09-1323-57/+56
| | | | | | | | | | | | | | | | This changeset moves most constants into the SdkConstants class, and gets rid of AndroidConstants and LintConstants. It also migrates all non-ADT specific constants from AdtConstants into SdkConstants. It furthermore moves various other constants (such as those in XmlUtils and ValuesDescriptors) into the constants class. It also fixes the modifier order to be the canonical modifier order (JLS 8.x). Finally, it removes redundancy and combines various constant aliases such that we don't have both NAME_ATTR and ATTR_NAME pointing to "name", etc. Change-Id: Ifd1755016f62ce2dd80e5c76130d6de4b0e32161
* Add class to resource name conversion for templatesTor Norbye2012-09-126-0/+336
| | | | | | This is to support a template name update in issue 36890. Change-Id: I47458c094c8dd601e086da0cb1c6fafb7680b58c
* Default action for view rules.Tor Norbye2012-09-041-0/+11
| | | | | | | | For now, text-oriented widgets declare their default action to be to set the text attribute. Also hook up the default rename keybinding to setting the id. Change-Id: I14e8e06d0842759b1ac05e7e9494deb30b3cc40f
* Fix property sheet value completionTor Norbye2012-08-271-0/+151
| | | | | | | | | | | | | | | This changeset fixes the value completion such that you can add custom values into properties that also have enum fields. Rather than have separate completion routines for properties based on whether they contain an enum, a flag, a reference, etc., have a single completer which considers all the various formats and combines the results. In addition to combining results, this now also offers completion on dimensions, and offers theme attribute values for references as well. Change-Id: Idbc1799a34b3a3f14ea567654953925bf12afb8f
* Unify all loggers in the sdk tools.Xavier Ducrohet2012-08-171-2/+8
| | | | | | | | | | Removed ILogger from ide_common Removed ISdkLog (and implementations) from sdklib Moved all existing code to com.android.utils.ILogger which is located in common. Change-Id: Icd674d4b8d10f6ae8b60a83acb43cc53c7a52137
* More refactoring.Xavier Ducrohet2012-08-1313-15/+15
| | | | | | | Move stuff out of sdklib into common and ide_common. Remove androidprefs and move the one class into common. Change-Id: I71d126a13cf2ba413692e29616f4968a37d7b33a
* Move kxml and layoutlib_api from plugin-adt up to plugin-baseTor Norbye2012-08-081-1/+0
| | | | | | | | Without this there are runtime class loading failures in the layout editor since sdklib is in base and it refences layoutlib_api which in turn references kxml. Change-Id: I65a76a01266fe3608db9752104d3ae4e2a9d48b7
* Improvements to relative layout move and delete operationsTor Norbye2012-08-082-1/+491
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset improves the way the RelativeLayout editing support in the layout editor handles deletions and moves. First, during a move, if the move is simply within the same layout, then the layout constraints are left alone such that if you for example have A v B < C < D and you move B up to be next to A, you end up with A < B < C < D (It will however remove cycles if the move would result in them.) Second, it now handles deletion better where deleting a view will cause all references to any deleted views to be replaced by transitive constraints. For example, if you hve A < B < C < D and you delete B and C, you end up with A < D Change-Id: Icb9d3552e60aee20192f7941fe52be71ba52557f
* Refactor common.jarXavier Ducrohet2012-08-0711-15/+16
| | | | | | | | | | | | | | | Move resources and com.android.util.Pair into layoutlib_api where they belong since layoutlib depends on them and we need to control the API. Made a copy of Pair to stay in common.jar but moved it to com.android.utils.Pair (the one in com.android.util.Pair is marked as deprecated to prevent usage where applicable). Also moved XmlUtil and PositionXmlParser to com.android.utils to match Pair. Change-Id: I21d7057d3f2ce604f86a3bb1fa3c130948c93b89
* Allow lint cli --sources to specify a path, and use from ant lintTor Norbye2012-08-061-28/+0
| | | | | | | | | | | | | | | First, this changeset allows the arguments passed to --sources and --classpath (renamed from --classes) to specify not just a directory, but to specify a path as well. This might make it easier to invoke lint from scripts if you have a path variable, so you don't have to split it into multiple arguments. Second, it makes the lint task in ant use these, such that any build.xml customizations to the source paths or class paths are automatically used rather than relying on lint's default structure check. Change-Id: Id8e4caf0010d7fd7245844b3099b5dc0607f0aba
* Remove attributes from descriptors that are marked @hideTor Norbye2012-08-015-7/+3
| | | | | | | | | | Certain attributes in the attrs.xml file are marked as @hide via a preceding XML comment. These should be removed from the ElementDescriptors and the AttributeDescriptors such that they don't show up in code completion etc. Change-Id: I3a7428e86afe04795939d7de1a27fd1cbb2c76cb
* Build fix attemptTor Norbye2012-07-301-1/+1
| | | | Change-Id: I9121bfda320c6af123709672a0043aeda42590f9
* ADT 20.0.0 => 21.0.0 devTor Norbye2012-07-301-3/+3
| | | | Change-Id: Idde24b6b893d1029d48ba32766110a6a3cdf73c6
* Clear lint warnings when the min/target SDK levels changeTor Norbye2012-07-301-3/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you edit Java files, we automatically mark API errors - calling an API which requires a higher minSdkVersion than the current one specified in the manifest. If you then switch to the maniest editor, change the value to the new desired API level, save the file and come back, the API errors are still marked in the Java file. The reason this happens is that the API checker runs incrementally on Java files, but it's affected by manifest values. This has been reported by multiple users. We can't easily perform incremental analysis in this case, and we don't want to kick off a global rescan of lint, but to avoid confusion, we can *clear* all lint markers when the minSdkVersion or targetSdkVersion change. This will make confusing errors go away, and incremental warnings will be shown when the user next edits the file. It has the downside that a user who runs Lint on the whole project, then edits the SDK version and saves the file will suddenly find all the lint errors cleared, but they can just re-run lint, which is hopefully a smaller problem than seeing confusing error messages (at least two users reasonably did not realize that these were stale errors and thought there was a remaining problem). Finally, tweak the ManifestInfo class a bit; add nullness annotations, fix an incorrect usage from the project wizard, fix bug in version name computation and add a getter to return the code name of the version name. Change-Id: I5872733d2f12a4950264d08e689c7c0c025c586e
* 26501: Handle padding between image and textTor Norbye2012-07-279-32/+154
| | | | | | | | | | The visual refactoring for converting a LinearLayout with a <TextView> and an <ImageView> adjacent into a single <TextView> using a compound drawable, needed to properly handle spacing between the two widgets. This changeset updates it to convert margins between the views into a single drawablePadding attribute. Change-Id: Idb077e3324c279d41fdc0baa68008fe862d8181a
* Add code completion and API checks for theme references (?attr)Tor Norbye2012-07-166-1/+55
| | | | | | | | | | | | | This checkin improves the handling of ?attr and ?android:attr theme references, such that (1) The API check considers theme references, and for example flags usage of ?android:attr/dividerHorizontal if your minSdkVersion is lower than 11 (2) Adds theme reference completion to the XML code completion. Change-Id: I2049b828e413802ac81579294f515fb0a4faccdf
* Add locale dataTor Norbye2012-07-161-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This checkin adds a new LocaleManager which provides data related to locales and regions, such as (1) The right flag icon to use for a given language and region combination (2) The full name of a language code (3) The full name of a region code Before this CL, the flag icons were determined by looking at the Locale instances installed on the machine, and matching up the language codes with the corresponding country codes. However, that only works for the locales you have installed -- and on a typical Linux installation I tried, there were no other locales, and on a Mac OSX install, many common locales (such as those referenced by standard Android apps) were not included. Instead, we now have a static map of bindings from language to region (though if the language matches the default locale on the system, it will use the associated country of that locale). The full names of the languages and regions are also provided. This allows us to display the corresponding name of a language in the locale menu, such that users don't for example confuse country codes and locales; "ca" isn't Canadian but Catalan, and so on. This checkin also adds all the known language codes into the Language dropdown for the configuration selector, and displays the corresponding language name next to the selection. Similarly, it also sets the relevant flag icon as the page icon for the value XML files. Change-Id: I2a3a6f037a745a6c56aedb38ecd71ba25324f6fb
* Removing LayoutDevice and associated classesMichael Wright2012-06-252-469/+0
| | | | Change-Id: Id860688785157c7e3921e1a2f4f2260fdd78fd3f
* 28860: Default proguard.config invalid on WindowsTor Norbye2012-06-131-0/+29
| | | | | | | | Attempt to work with ambiguous ProGuard path definitions (e.g. where : is used both as a path separator and in paths like D:\foo\bar) Change-Id: I63c3488b59ebfeb44e92ab84ec302932947ab909
* Migrate Fragment and ListView metadata to the tools namespaceTor Norbye2012-06-122-13/+43
| | | | | | | | | | | | | | | | | | | | The persistent metadata storing AdapterView and Fragment bindings predates the new tools namespace handled by aapt, and uses XML comments. This changeset updates the code to using tools: attributes instead. Note that it doesn't migrate old settings; I could not find a way to do that performantly (and in some cases the code which reads a setting has no access to the document containing the metadata, only to parsed XML nodes, so it cannot mutate it on demand to the new format.) However, this shouldn't be a big deal; for fragments for example the fragment message states what needs to be done to set up a binding. This CL also fixes a couple of bugs around setting up these views which should make switching views faster (it used to do the work twice), and avoids a rare concurrent modification exception. Change-Id: Id6a8a9a1649c1b9f6f5fc6a9fbc3a6e5b0512dd6
* GridLayout support workTor Norbye2012-06-124-14/+1084
| | | | | | | | | | | Lots of miscellaneous fixes to the GridLayout support in ADT. The changes include using the GridLayout state (via reflection) to populate the model; caching the grid model for performance, and a bunch of fixes to the code which handles insertions and removals. There are also some new unit tests. This is not done, but is an improvement over the current state. Change-Id: I4851153d3e409630c2d2024c4894d1ad1535fb47
* Add isSame on IDragElement, and sort primary to frontTor Norbye2012-06-071-1/+5
| | | | Change-Id: I7121b5f0e3714fec705387603f641bc14ed0ab3e
* 32745: Lack of warning of using duplicated IDs for element.Tor Norbye2012-06-052-2/+29
| | | | | | | | | | | | This changeset adds a validator to the assign/edit id dialog used in the layout editor such that the user gets a warning if picking an id which is already defined within the same layout. Also cleans up the Rules API for adding a validator and makes the generic resource validator handle both the case of requiring a unique name and requiring an existing name. Change-Id: Id9642c3bcd326f9734cf98c98f6799b67e11a4ae
* Fix XML formatter to handle complex HTML strings betterTor Norbye2012-06-051-3/+25
| | | | | | | | | | The XML formatter did not handle <string> definitions where the content contained nested HTML (where the tags included other tags than <u>, <i> and <s>). An exmaple of a string which formats poorly is in the testcase for issue 32619 (which is an issue unrelated to formatting). Change-Id: Ie70a0f0097aca99c40953a6e5dd4408f903d19e2
* Fix nullness annotationsTor Norbye2012-05-308-65/+87
| | | | | | | | | | | | | | | | | | | Eclipse 4.2 includes analysis support for @Nullable and @NonNull annotations. However, it requires these annotations to be *repeated* on every single method implementing or overriding a superclass or interface method (!). This changeset basically applies the quickfixes to inline these annotations. It also changes the retention of our nullness annotations from source to class, since without this Eclipse believes that a @NonNull annotation downstream is a redefinition of a @Nullable annotation. Finally, the null analysis revealed a dozen or so places where the nullness annotation was either wrong, or some null checking on parameters or return values needed to be done. Change-Id: I43b4e56e2d025a8a4c92a8873f55c13cdbc4c1cb
* Make Go To Declaration work for theme referencesTor Norbye2012-05-293-2/+14
| | | | | | Also fix a couple of NPEs. Change-Id: Iab4544d3538d370dd76d96e3a97d49555b7c6359
* Merge "Include release names in minSdkVersion code completion"Tor Norbye2012-05-251-15/+15
|\
| * Include release names in minSdkVersion code completionTor Norbye2012-05-251-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix the code completion in manifest files such that when completing the minSdkVersion value, it lists not just the API numbers but the Android version and code names for all versions. This takes advantage of the new version name table, where the previous versions only listed names it could look up from the installed SDKs. This changeset also uses the same mechanism for completing targetSdkVersion. Change-Id: I61f06047ba4bf112da3b980c0e85325e9f9ab7c5
* | Fix style resource completion, and update unit testsTor Norbye2012-05-2411-57/+52
|/ | | | | | | | | | | | | | | | This changeset fixes code completion in style definitions (which did not work when the attribute being completed was not a known Android attribute, but was referencing one). It also updates the various code completion unit tests, which were no longer passing because the golden files contained the attribute types in a different order (it now deliberately lists references after other types, like colors). It also changes the default editors used in completion unit tests from the legacy editor types to the new common editor type, and closes the editors after each completion, to avoid out-of-memory scenarios. Change-Id: I5f947c9175524f12cb4d0a5590b0bab23a4a07dc
* New Template Wizard supportTor Norbye2012-05-221-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset adds several new templates, to create a new project, a new activity, a new custom view, etc. More importantly, it contains support for these wizards (and the corresponding code generation) to be driven by templates. A wizard contains metadata which provides a name, description and icon for the template, as well as a list of parameters, along with type and constraint metadata for those parameters. When a wizard is created for this template, it automatically adds UI elements to input the parameters and to validate the input. Parameters can also specify their default values as templated expressions using the other variables on the page, so in the New Blank Activity wizard for example, editing the activity name automatically updates the suggested layout name, by repeatedly evaluating a template expression to compute a layout name from an activity name. There's a recipe file for each template which states what actions to take to create the template. In addition to obviously copying resources (such as icons and jar files) and instantiating templates (to rewrite text using variables and FreeMarker logic), it can also merge XML contents (to for example insert activity registration metadata into the manifest file, or add string definitions to the strings.xml file), and it can cause files to be opened when the template is created. Tne new wizards also use JFace's decorator support to provide help and to mark text fields that contain errors, when one or more of the page fields do not validate, as well as to show tip text along the bottom of the page. One example of this is that it explains what a "package name" is when the package field has focus. This changeset also contains a "Template Development Wizard" which lets you point to a local directory containing a template definition, and run a test wizard from there. This is useful for developing, debugging and testing templates. Change-Id: I08e7d2464a1ef00d09517f0154c42681249a7ff6
* Merge "Move XML code to the common library"Tor Norbye2012-05-2111-73/+17
|\
| * Move XML code to the common libraryTor Norbye2012-05-2011-73/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ManifestMerger library needs to look up the prefix to use for the Android namespace, and the Document.lookupPrefix method is not implemented by the Eclipse DOM implementation (which throws an exception). However, we have an implementation of this in the ADT plugin. This changeset creates a new XmlUtils class in the common/ library (which is accessible by both ADT and the manifest merger, and the anttasks where the manifest merger is used), and moves the namespace prefix lookup code in there. It also moves the XML escape methods into that class. It also adds a new method to the ManifestMerger for merging directly from documents (rather than files), and makes sure that all the merging code goes via the prefix utility method rather than calling the document.lookupPrefix method. Finally, it moves the various string constants associated with XML namespaces into the single XmlUtils class, since these were spread across several different classes before (and many of them are needed in the XmlUtils class). The vast majority of the diffs in this changeset are related to simple import statement changes to reflect the new locations of these constants. Change-Id: Ib8f3d0e5c89e47e61ea509a23925af7b6580abee
* | Fix resource validator for style resourcesTor Norbye2012-05-181-1/+5
|/ | | | | | | | | | This fixes issue 31414: Extract style from XML layout doesn't allow . (dot) in the name The root issue is that in value files, you can use "." as part of the resource name; it gets remapped to _ in the R file. Change-Id: I59bf9d7ceb36be832dde64f557d023dd6d1d29e0
* ADT Junit test: Check for array size before accessing itemsSiva Velusamy2012-05-171-18/+20
| | | | Change-Id: Ia6682382a445ca770691771f620a10b7d408c152
* New Configuration ChooserTor Norbye2012-05-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset replaces the configuration chooser with a new UI. First, the two lines of comboboxes have been replaced by a toolbar, which will wrap to two lines if it cannot fit on a single line. However, it tries hard to avoid this scenario by using icons and brief labels. For example, the rendering target is displayed as an Android icon along with just "4.0" instead of "Android 4.0". Similarly, the "Other" locale is just shown as a globe icon, and for example in the Device list "4.65in 720p (Galaxy Nexus)" is display as just "Galaxy Nexus". Second, the "current configuration" label is now a dropdown instead. The text of the label displays the current configuration as before (though using the brief name, e.g. "layout-land" instead of "Landscape Configuration". In addition, it's a dropdown, and opening the menu will display all other available configurations for this file. Thus, if you have a special landscape version and a special tablet version of a particular layout, the menu will contain default, landscape and tablet (where the menu items display the full configuration names such as "Landscape Orientation"). In addition, the configuration menu also contains "Create New...", which is the new location for the Create button which used to be in the toolbar itself. Third, there is a new "Activity" dropdown. This displays the current activity associated with this layout, next to an Eclipse "class" icon. It is initially populated with our best guess of what the activity is. The chosen activity determines which theme is initially assigned to a layout (for example when there is a Manifest registration of a theme to an activity). In the future we will use this facility to drive other features as well, such as preview rendering the action bar (where we need to know the associated activity) or assisting with creating click handlers. The Activity dropdown menu also contains a "Open <Activity class>..." action for jumping to the associated Java code. The chosen activity is persisted as an XML attribute in the layout so it should be preserved across IDE sessions and shared among developers. Fourth, all the dropdown menus are now native SWT menus rather than dropdown menus, which means we can use icons, proper separators, and nesting. The locale menu now shows flag icons next to each region (and when a locale is chosen the corresponding icon is shown in the configuration toolbar). In the Theme menu we no longer need to use "-------" ASCII separators, we can use proper native menu separators instead. And the Theme menu is now nested; rather than a really long list of options, the menu is grouped into related sections: * Currently selected theme * Project Themes > * Manifest Themes > * Holo Themes > * Holo.Light Themes > * DeviceDefault Themes > ... * All > * Open "<current theme>" Declaration... Fifth, the device configuration combobox has been replaced by three inline icon radiobuttons, showing portrait, landscape and (if enabled) square. This makes it easy to switch orientation through a single click. Sixth, the UI mode (Normal/Car/Dock) and Night mode (Day/Night) are no longer directly shown in the configuration chooser since they are not used frequently enough to warrant persistent space in the always visible toolbar. Instead, there is an "Edit Configuration" icon on the left you can click which brings up a full editor dialog where all the previous combo boxes appear, along with the generic configuration qualifier selection dialog. Here you can make more specific edits to the current configuration state. There are various fixes as well. For example the whole toolbar is hidden during platform data loading and made visible at the end. When creating a new configuration file, that new configuration file is opened after creation. We now track whether the current theme (stored in the IDE persistent property) is a project theme or a framework theme. Change-Id: Ic8d9817c7bc4dbcae4535b6b9222393fb49cfde9
* Make XML code completion work for custom views & attributesTor Norbye2012-04-271-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | This changeset improves the custom view handling such that XML code completion offers any custom attributes (along with documentation tooltips and type information). This is done by finding any declare-styleable attributes defined in the project defining the custom view. In particular, this will also work for the GridLayout library project shipped as part of the android.support package. The fix is not tied to completion; it's improving the metadata descriptors computed for custom views, so this fix for example also makes these custom attributes show up in the property sheet in the layout editor. Finally, this changeset fixes a couple of bugs in this area: - One initialization path was not looking up custom views for unknown descriptors, this might be the fix for http://code.google.com/p/android/issues/detail?id=23020 - There was a bug in the code which looks up the namespace prefix to use for a given namespace URI: it would return the default Android prefix for some non-Android URIs. - Small performance tweak to avoid regexp construction in a loop where it's not needed Change-Id: I55dfcea6e6ea9d7c38e18a47b757678176facbd2
* Test fix: The image parameter is mandatoryTor Norbye2012-04-251-6/+0
| | | | Change-Id: I9b8ca8e0384f1cb2343d13e8e43b268c63ed4dcb
* Improve XML CData formattingTor Norbye2012-04-231-1/+41
| | | | | | | | | | | | | | | Fix 29277: Strings XML formatter: unwanted whitespaces inserted when using CDATA section http://code.google.com/p/android/issues/detail?id=29277 This changes the XML formatter to keep CDATA sections not containing newlines to keep the CDATA on the same line without indentation or newlines, and multi-line CDATA sections to be separated on their own line and flushed left. Change-Id: I8576cff87e2880b0264479cc24c54cecc7841340
* Move tools to r20Xavier Ducrohet2012-04-131-2/+2
| | | | Change-Id: I3877a7418da193cbe3759f25daafa3309bb8c05a
* Add support for the WindowBuilder Property SheetTor Norbye2012-04-053-0/+61
| | | | | | This reverts commit 27dac06bfc4297dc9a018edc534f44ecf96cd724. Change-Id: I6708bd4091f0cb677484669479357d479b9db5fa