| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |/ / /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: I1b11d5e6650434fd5e57af05ff86b2d66a0a84db
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
Change-Id: Iaa43e2fbbfab8d577ae99f84adc6d45475e1843a
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | | |
Change-Id: I415c42e19573bf733de672625a1200e62204ec77
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
Change-Id: Ie39f5e38f6f457d118e9cd05f4e515a7c4712b15
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I13adb1aa97031185f177a640872c5a98b425e6e8
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ib6b09a1ff85c45b4fc6c407e3404a8a58c6f84ea
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I2d2542a1044b3b1d1682b125b45e223aa3d921fa
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
|\ \ \ \ \ |
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Change-Id: I4b86001374285c9043f816af515ebf3ce2ff233c
|
|/ / / /
| | | |
| | | |
| | | | |
Change-Id: I7ca6454f9a698d2bcd35350e6bd324fd01eaf7d7
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| | |
Plus some nullness annotations.
Change-Id: Ia75c6ffa5d6296c991fc86fec050f285b9143429
|
| |
| |
| |
| | |
Change-Id: Ie4d5d0faa26d554e683d10392db306fc619914e6
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: Ica10b0f9d672a7c7d4087362fa17415602a678cc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: Id2a5b2e73d70d11da9395b84488a75f4f793bf14
|
| |
| |
| |
| | |
Change-Id: I024103c1456a88f230db9b9d5aaf0fe2126a315e
|
| |
| |
| |
| | |
This reverts commit df23dac52a3af6e7e4dd485072a125ab3794d9ac.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| | |
Change-Id: I88d76329ab5f3afa4fda338c170a78bef1939165
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: Iae39e23f6c72f5a2e1444c39da1eb1a78894e9f4
|
|\ \ |
|