aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fix rename package refactoringTor Norbye2012-11-283-35/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset fixes a couple of bugs in the package rename refactoring code, including 34466: Android refactoring participant gives NPE It also fixes a bug in the move type refactoring, and adds unit tests for package rename, move type, and rename type. Change-Id: I4f43aabbcf1aeddc6c27011bfcffbe5a49c42372
* | | Merge "Add sdktestutils package and consolidate some test utility code"Tor Norbye2012-11-285-10/+32
|\ \ \
| * | | Add sdktestutils package and consolidate some test utility codeTor Norbye2012-11-265-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL creates a new project, sdk/testutils, which is added to the test projects for ADT and lint. It contains various test utility code, some from ADT tests, some from lint tests, and some duplicated in both, and some new utility code such as a better diff-er. The CL also updates a bunch of tests; many golden files are updated to the new test file diff output format, and some golden files were out of date, and in a couple of cases I fixed some bugs I noticed in the output. Change-Id: I98c49c929916ae9bad24db45602e10ded6c526da
* | | | Merge "Use unicode escapes in LocaleManager"Tor Norbye2012-11-281-9/+9
|\ \ \ \ | |/ / / |/| | |
| * | | Use unicode escapes in LocaleManagerTor Norbye2012-11-161-9/+9
| |/ / | | | | | | | | | | | | | | | | | | | | | This ensures that when the plugin is built outside of Eclipse (where the source file is marked as being in UTF-8 encoding), the special characters are handled correctly. Change-Id: I94d70bd3fb9d8a6bbf37e83eb30f161a2fc24016
* | | Add resource renaming supportTor Norbye2012-11-2618-86/+2078
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset adds support for renaming resources. There are several new hooks for initiating a resource rename: (1) You can use the same keybinding as in Java files from XML files to initiate refactoring; for example, place the caret somewhere in @+id/foo or @string/bar and hit the refactoring keybinding, and a rename resource refactoring dialog shows up. (2) Invoking Quick Assistant in an XML file (Ctrl/Cmd 1) will offer to rename the resource, if the caret is over a resource name. (3) Renaming an XML or bitmap resource file, such as res/drawable-hdpi/foo.png, will now initiate the same XML resource naming machinery as above to update all resource references, plus it will also update all the other versions of the same file (e.g. in res/drawable-mdpi, res/drawable-xhdpi, etc.). Assuming an R field exists (e.g. the project has been built), it will also optionally update all Java field references. (4) Invoking renaming in the layout editor (via the rename keybinding, or via the context menu, or via the property sheet's "..." button) will also initiate id resource refactoring. Editing the id directly in the inline editor for the id will pop up a dialog asking whether to update references as well, along with a "Do not ask again" checkbox. (5) Finally, there is a renaming participant registered which will discover whether an R field is renamed, so if you go and rename R.layout.foo from Java, this will also kick in all of the above machinery - renaming layout files, updating resource references, etc. If the renamed resource is in a library project, the refactoring will also look at all the including projects and offer to update references there as well. Finally, this CL goes and fixes a few bugs in the existing refactoring operations; in particular, making sure that they not only look at files in layout/ but in all folder configurations containing layout files. It also adds refactoring unit tests. Change-Id: Ie88511a571b414fdc5be048e781fe29a34063cbf
* | | Merge "Add AdtPlugin.getShell()"Tor Norbye2012-11-2618-36/+67
|\ \ \
| * | | Add AdtPlugin.getShell()Tor Norbye2012-11-2018-36/+67
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of SWT and JFace methods require a Shell, and we had a lot of the following calls sprinkled throughout the codebase: AdtPlugin.getDisplay().getActiveShell() However, getActiveShell() can return null in quite a few cases (where it's not necessary), for example during focus transfers. This CL adds a new method, AdtPlugin.getShell(), which first tries the above call, but if that fails, will try harder to find another valid shell (e.g. the first shell in Display.getShells()). Change-Id: I3214ad56042be6eaf9b0fe0843c820e973fba8c0
* | | Fix refresh issue in the AVD Manager.Raphael Moll2012-11-262-15/+13
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In tools 21.0.0, hitting refrehs in the AVD Manager will create the list display to blink rapidly several times in a row. Same happens when a new AVD is created from a device. The issue is that the DeviceManager reparses and rebuilds its internal lists from scratch for every single call to getDevices() and getDeviceStatus(). Each time it notifies the listeners, and consequently the AVD Manager rebuilds its table. 2 fixes for that: - First use a boolean guard to prevent recursive refreshes of the avd manager table in AvdSelector. - Second fix DeviceManager to not rebuilt its lists all the time. This also changes DeviceManager so that callers create one instance that contains all the lists and there no static data shared between the instances. This is more deterministic. It shifts the responsibility to the callers to pass around the same instance if they want the data to remain consistent. Change-Id: Ia0c104395fe599071892e24bc234f8cffde9f635
* | Make hardcoded text detector also check menu filesTor Norbye2012-11-071-7/+5
| | | | | | | | Change-Id: I1b11d5e6650434fd5e57af05ff86b2d66a0a84db
* | Merge "Improve double click handling in the XML editors"Tor Norbye2012-11-071-0/+92
|\ \
| * | Improve double click handling in the XML editorsTor Norbye2012-11-051-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you double click on the name portion of a resource url, it selects just the name. Similarly when you double click on just the class portion of a fully qualified class name, it selects just the class. Finally, when you click on an attribute name consisting of a namespace prefix and a local name, it selects only the local name if you click within the local name region. Change-Id: I050eb1493e570fd94719679e3eef2a40c92db2f8
* | | ADT: Update stat shown on WelcomeWizardSiva Velusamy2012-11-061-1/+1
| | | | | | | | | | | | Change-Id: Iaa43e2fbbfab8d577ae99f84adc6d45475e1843a
* | | Merge "39153: lint shows project folder instead of project name"Tor Norbye2012-11-051-0/+13
|\ \ \
| * | | 39153: lint shows project folder instead of project nameTor Norbye2012-11-051-0/+13
| |/ / | | | | | | | | | Change-Id: I415c42e19573bf733de672625a1200e62204ec77
* | | Merge "Add some more logging."Xavier Ducrohet2012-11-051-7/+6
|\ \ \ | |/ / |/| |
| * | Add some more logging.Xavier Ducrohet2012-11-051-7/+6
| | | | | | | | | | | | Change-Id: Ie39f5e38f6f457d118e9cd05f4e515a7c4712b15
* | | Merge "Update Nexus Rank methods"Tor Norbye2012-11-051-1/+7
|\ \ \
| * | | Update Nexus Rank methodsTor Norbye2012-11-051-1/+7
| | | | | | | | | | | | | | | | Change-Id: I13adb1aa97031185f177a640872c5a98b425e6e8
* | | | Merge "Update known version names constants"Tor Norbye2012-11-051-1/+3
|\ \ \ \ | |/ / / |/| | |
| * | | Update known version names constantsTor Norbye2012-11-051-1/+3
| | | | | | | | | | | | | | | | Change-Id: Ib6b09a1ff85c45b4fc6c407e3404a8a58c6f84ea
* | | | Additional fixes to filter out library project lint warningsTor Norbye2012-11-023-11/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lint already has the concept of whether a project should report lint warnings or not; a project can be included in analysis (e.g. for unused resource checks), but can filter out any warnings local to that project. This is useful when you are using a library, but don't want to see errors from that library which may not be under your control. The way this is handled from the command line is that lint will only report errors for projects you've referenced; e.g. if you run "lint /foo/bar" this will show errors in /foo/bar, but exclude errors found in the library project /foo/bar/../library". However, there were several lint checks which needed additional fixes for this, because (like the unused error detector) they gather data from multiple projects and process and report in the after-project hook. In addition, inside Eclipse, the UI would always automatically include libraries. This is sometimes what you want, and sometimes not what you want, so this CL adds a new toggle menu item to the lint action menu, "Skip Library Project Dependencies", off by default, which you can select to make lint runs from eclipse include or exclude library projects in the report. Change-Id: Idf3167e818931525e0dd7661f5cdf3a3e69b6522
* | | | 21296: Layout editor error when using numColumns attributeTor Norbye2012-11-021-4/+11
| | | | | | | | | | | | | | | | Change-Id: I2d2542a1044b3b1d1682b125b45e223aa3d921fa
* | | | Create new XML files in configuration of selectionTor Norbye2012-10-312-0/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you invoke the New XML File Wizard with a selection which implies a specific configuration (such as -v11 or -port), the New XML File Wizard will now initialize the second page's folder configuration selection with the same configuration. The net result is that right clicking on values-v14 and selecting New XML File will now create the file in that folder. Change-Id: Ia874af628e8fa936700f58d6267b973414c24d6a
* | | Merge "Attempt to set timeout for URL connection"Tor Norbye2012-10-291-7/+25
|\ \ \
| * | | Attempt to set timeout for URL connectionTor Norbye2012-10-261-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The timeout apparently isn't respected on all implementations. Also adds a cache, since this method is called repeatedly for each container (one per project?). Change-Id: I2a818815c706bd1a1ec182e38c52543079dad9e1
* | | | Merge "Template unit tests"Tor Norbye2012-10-292-0/+23
|\ \ \ \
| * | | | Template unit testsTor Norbye2012-10-292-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a plugin test which runs through project creation for all project+activity combinations, across a series of minSdkVersion, targetSdkVersion and build targets, and also varies all the enum and boolean properties (such as the theme setting, the navigation type, etc). For each created project, it runs both ant (to verify that there are no build errors), as well as lint, to verify that there are no lint warnings, except a few allowed ones (such as the is-using-latest-targetSdkVersion, since we are deliberately testing older targetSdkVersions, and the icon checks (disabled because something about the image loading from unit tests hangs Eclipse). It also tests creating all non-activity templates into an existing project. Also fixes a few template issues found by the unit test. Change-Id: Ibe61c47053a7c3ad17e7e1bbb31f9ae3b49c143a
* | | | | Merge "Support theme attributes not explicitly including "attr""Tor Norbye2012-10-292-2/+19
|\ \ \ \ \
| * | | | | Support theme attributes not explicitly including "attr"Tor Norbye2012-10-262-2/+19
| |/ / / / | | | | | | | | | | | | | | | Change-Id: I4b86001374285c9043f816af515ebf3ce2ff233c
* | | | | 38994: UI designer's -> "Edit ID" should allow ID removalTor Norbye2012-10-293-2/+35
|/ / / / | | | | | | | | | | | | Change-Id: I7ca6454f9a698d2bcd35350e6bd324fd01eaf7d7
* | | | Update compiler flags.Tor Norbye2012-10-261-0/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns off the ability to use @SuppressWarnings with optional errors is available, but off by default (see Eclipse issue 392875). This turns that off, makes missing enums in switch statements a warning, and synchronizes the settings file to all projects (except tests.) Change-Id: Iad7060523b6ee2cbbca97e0a6ffedb264b185222
* | | Close file streams used by parsers (and add guava to sdkcommon)Tor Norbye2012-10-253-33/+42
|/ / | | | | | | | | | | Plus some nullness annotations. Change-Id: Ia75c6ffa5d6296c991fc86fec050f285b9143429
* | Avoid inlining the package prefix when adding activitiesTor Norbye2012-10-251-3/+20
| | | | | | | | Change-Id: Ie4d5d0faa26d554e683d10392db306fc619914e6
* | Merge "Guard against a possible NPE."Xavier Ducrohet2012-10-241-1/+4
|\ \
| * | Guard against a possible NPE.Xavier Ducrohet2012-10-241-1/+4
| | | | | | | | | | | | Change-Id: Ica10b0f9d672a7c7d4087362fa17415602a678cc
* | | Make welcome wizard a tiny bit configurable.Siva Velusamy2012-10-242-46/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The welcome wizard has two steps right now: installing an SDK, and opting in to data collection. This change allows the constructor of the WelcomeWizard to select which among those pages ought to be shown. This is useful in the case of the ADT package installation where we know there is an SDK, and hence we don't want to show the installation page. Change-Id: I41a0489c1d0617a4bb2882516f51bd8cd6925c32
* | | Start parsing SDK after the workbench is loaded.Siva Velusamy2012-10-232-28/+35
|/ / | | | | | | | | | | | | | | This CL moves the initial parsing of the SDK to after the workbench has been loaded. This allows early startup code to specify the location of bundled SDK if necessary. Change-Id: I21d98531dc6ddee0a615cbfc78c5aa470a6770ef
* | Prevent potential NPETor Norbye2012-10-231-1/+2
| | | | | | | | Change-Id: Id2a5b2e73d70d11da9395b84488a75f4f793bf14
* | More gracefully handle restarting IDE with deleted filesTor Norbye2012-10-222-1/+7
| | | | | | | | Change-Id: I024103c1456a88f230db9b9d5aaf0fe2126a315e
* | Revert "Don't warn about missing SDK when bundled"Tor Norbye2012-10-222-18/+9
| | | | | | | | This reverts commit df23dac52a3af6e7e4dd485072a125ab3794d9ac.
* | Merge "Ensure that the configuration bar is visible"Xavier Ducrohet2012-10-222-1/+11
|\ \
| * | Ensure that the configuration bar is visibleTor Norbye2012-10-222-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handles a scenario which can come up if you switch the SDK installation area, or start the IDE with a project that does not have a valid project property setting pointing to a valid platform. Change-Id: I645033707a575d9da86b619c2f97787957b1200b
* | | Don't warn about missing SDK when bundledTor Norbye2012-10-222-9/+18
|/ / | | | | | | Change-Id: I88d76329ab5f3afa4fda338c170a78bef1939165
* | SDK Manager: fix SWTMenuBar crash on MacOS X Mountain Lion.Raphaƫl Moll2012-10-221-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug happens when the SDK Manager is open using the embedded class from within Eclipse 4.2 -- the SWT used is then the newer 3.7 which doesn't have the same cocoa interface for menus. The fix is threefold: - If the cocoa enhancer fails, revert to the generic one. This doesn't quite help here since the crash is actually when the native handler is invoked but the setup is fine. - Implement a new enhancer on top of the newer SWT 3.7 APIs that lets us access the About and Preference menus on Mac. That was the whole point of the enhancer workaround since SWT 3.5 an 3.6 don't have access to these menus directly. This new enhancer is used if SWT version 3700+ is used on Mac. - Finally the crash only happens when using the embedded version of the SDK Manager within ADT. When possible this uses the forked standalone version. It will still revert to the embedded one if ADT is started without any tools. The new enhancer for 3.7 on Mac is sub-optimal: since it *adds* a listener to the about/preference Mac menus, that means when it is invoked from within Eclipse these menus will generate 2 events, e.g. bringing both the Eclipse preferences and then the SDK Manager preferences. To support this case properly, we should detect this runs from within Eclipse, not change the about menu and instead integrate the sdk manager pref as a panel in eclipse's prefs. A cheaper workaround is to revert to the default generic enhancer that will create an options menu. Maybe for a later CL. SDK Bug: 38640 Change-Id: Ib1588e401616548a5dc9eb216d3c35b579d3950b
* | Only format Android projects with our formatterTor Norbye2012-10-221-2/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When formatting, peek at the model base location, if known, and if a corresponding file is found which isn't in an Android project, use the builtin Eclipse formatter instead. This should reduce the impact of the Android XML editor registering itself for the xml content type and affecting unrelated projects, at least in terms of formatting (which is more severe than say additional completion options or extra go to declaration targets.) See issue 38747: Android Tools XML formatter with pom.xml Change-Id: Ifa0e8527b7020c2ca4f477d6e0be6397d2dbdeff
* | Automatically pick the best render targetTor Norbye2012-10-223-22/+89
| | | | | | | | | | | | | | | | | | | | This changeset adds a new option, on by default, which causes the layout editor to always pick the best rendering target. The best rendering target is typically the most recent one. This option can be toggled in the rendering target drop down menu (but it applies globally), and choosing a specific rendering target turns it off. Change-Id: I53e48a38741f364f2b68525a4898aca69b1ae7b1
* | Multi-configuration editing bug fixesTor Norbye2012-10-2220-548/+1301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset fixes a number of bugs with multi configuration editing; especially around configuration switching and inheritance, as well as some memory improvements. It also synchronizes values between layout variations. If you for example have layout-land/foo.xml and layout-port/foo.xml and you change the Theme to Theme.Holo or the device to Galaxy Nexus, the configurations for both files will be updated (whether or not the files are open), and provided of course the layout folder doesn't contradict it; layout-xlarge/foo.xml would be unaffected by the above edit since Galaxy Nexus doesn't match the layout-xlarge folder. Change-Id: I5c01555aad8339f68788d8aed1f707d30993ae1b
* | Move HardwareConfigHelper to sdk_common.Xavier Ducrohet2012-10-182-153/+1
| | | | | | | | Change-Id: Iae39e23f6c72f5a2e1444c39da1eb1a78894e9f4
* | Merge "Update Layoutlib_api to use a class for h/w config."Xavier Ducrohet2012-10-1711-238/+222
|\ \