| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: I2d34f5a4ebeaff0a75abc7cdbb41132d860c95eb
|
|\ \ \ \
| |/ / /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When exceptions are encountered during layout rendering, the user
experience isn't very good - the exceptions are sent to the IDE log,
and the layout editor view adds the error message from the exception
(which can sometimes be something like just "2", which is the case for
an ArrayIndexOutOfBoundsException for example).
This changeset improves this a bit:
* First, when the error message is just an exception error message,
it's prefixed by a message stating that an exception was raised
during layout rendering.
* Second, the first exception encountered is now shown in the layout
editor itself. Only the frames that are part of the android view
hierarchy is shown; all the frames from layoutlib and on down into
the IDE are omitted. Frames that are probably part of the user's
code (meaning they're not in the android.* or java.* namespaces) are
hyperlinkable.
* This also includes exceptions encountered during class
initialization. In this case, the tip message that View#isInEditMode
can be used to do conditional code is displayed in bold.
This changeset also fixes some bugs in the SourceRevealer such that it
can handle constructors, and such that it will use the line number to
pinpoint a line within a method (as long as the line number is in the
correct range).
Change-Id: I43b635eb24b8e0e64988958c56bdb7dbc1af7221
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When using switch statements on enums, the compiler will generate
extra code to make the switch invocation efficient. For example, it
generates a method which looks up all the values in the enum, calls
ordinal() on each, and then creates an array which has all the enum
values indexed by ordinal.
The problem is that this helper code will end up referencing fields
which may have a higher API requirement than is currently being used,
and Lint would flag these as illegal API references. That's not
correct in this case; as long as the corresponding jump table does not
actually use these references, there's no problem.
This changeset makes lint aware of this pattern, and when it
encounters an invalid field reference inside one of these synthetic
switch constant lookup methods, it will search for the corresponding
table lookup, check whether the actual key is used, and only in that
case complain.
It also makes error messages associated with enums in general a bit
better, when the whole enum class itself requires a higher API. (This
would generate a message related to invocation of ordinal() which
might not be obvious to everybody.) Finally, it cleans up class name
formatting such that we never reference inner classes using "$" in
error messages.
Change-Id: I28a14084c160866e69f63f62b5bc8f21ee50215c
|
|\ \ \ \ |
|
| | |/ /
| |/| |
| | | |
| | | | |
Change-Id: Iffd270a227a8a76636cbfa5d19c6e0330a8391fb
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| |/ /
| | |
| | |
| | | |
Change-Id: I4286930a2d36d21d9eb60a1c96c70276b77b9d4a
|
|\ \ \
| |/ /
|/| | |
|
|/ /
| |
| |
| | |
Change-Id: I5996187d0ccd002d9ec3fe8c0fa5d17a96671431
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We have some code which runs asynchronously to add or clean up
error markers. In some cases this code runs after a project has
been closed or deleted, which results in errors. Guard these
marker access points with an IResource.isAccessible() check
(which performs both exists(), and for projects, isOpen()).
Change-Id: Ie4884db13b1e00236c1c219d95c3544fcdee9610
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The existing hooks for closing the editor when the underlying file is
deleted was not working correctly, and was inefficient (since each
editor added their own global resource listener, so every editor would
find out about every other editor's file changes).
Instead, this generalizes the single editor listener which was used to
initialize editor types such that it also listens for deletion, and
then finds any open editor mapped to that file. It also hooks up to
the pre-close events for projects and closes all files related to the
project as well.
This will hopefully fix this issue as well:
20836: Can't delete a layout XML via Package Explorer > Delete if it
has an error
Finally, it removes a bunch of now obsolete logging code for an issue
which seems to be permanently fixed.
Change-Id: I90b38984639a605755f2d67ca2413cc925f730d1
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
Change-Id: I54e99cff338a62147af3247446148d88a73a4ddb
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This CL adds a dialog to the locale menu in the configuration chooser
which makes it easy to add a new language into the set of languages
used by the project.
Also add some null annotations.
Change-Id: I70ea2f623e6c56684e7b2a51b391f472bf31529b
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: I95bf3bc87e4378af6ef866df0a1ffb69f8fd7a41
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This changeset expands on the lint check for calling String
convenience methods that are locale sensitive without an explicit
locale (issue 36822). It checks whether a SimpleDateFormat constructor
that uses the default locale is called, and if so suggests either
specifying a locale or using one of the pre-configured locale
sensitive instances of SimpleDateFormat.
Change-Id: Ic4fcb72c2ee6b31d1534b4d909493fef7dcff867
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Unbind the text editor keybindings when any page other
than the text editor itself is shown.
Change-Id: I1681de20113b3c0627a23872100632f8d28bb698
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I7e565ebec48a489f880f556c5f990ff0d0380334
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This helps catch errors like
http://code.google.com/p/android/issues/detail?id=36821
Change-Id: I1ceda3183d8b1e29510ba0be2523dc6eb9c7a23b
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | | |
Change-Id: I320af69286e7f0bcee395419acfeea7ed8f8d384
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: I46630c51a4f055222fb614d73419cb28272b87de
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | | |
Change-Id: Ia51e3e2280c3d360496550df50a540571b9b7582
|
|\ \ \ \ |
|
|/ / / /
| | | |
| | | |
| | | | |
Change-Id: I1d1aa146fad375e06a26c4c60eb203588e7ca542
|
|\ \ \ \
| |/ / /
|/| | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Also add a simple unit test.
Change-Id: I8ed3dfbea07578528036f1dabd75c18f3161819c
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This changeset adds a lint rule which looks for potential
leaks when using View#setTag(int, Object) where the Object
is likely to contain a strong reference to the context,
such as views and view holders.
http://code.google.com/p/android/issues/detail?id=26984
Change-Id: Ib606485d2b875d2129c339b9b89be0e444629408
|
|\ \ \ \
| |/ / /
|/| | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix the commit prefs lint check such that it correctly identifies
scenarios where the innerclass "Editor" is referenced without its
qualifying top level class, SharedPreferences.
Change-Id: I3a22738508b66ce0b3e836feff91f816b2c368e8
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since the first page is getting too large, rather than add
one more, split some of the contents into a second page.
In addition, the new project dialog was missing a workset
chooser like the old wizard had, so add one in on the new
page now that we have plenty room for it. Some other tweaks
as well based on input from Xav.
Change-Id: I4dd2334b2f5af623cba4bbb3a6d2d0b053d1763f
|
|\ \ \ \
| |/ / /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The SdkManager.hasChanged method was supposed to
only look at direct folders in platforms and
add-ons, not regular files.
Change-Id: I87c3d51bfd7bd2578285f957a9838fadec703401
|
|\ \ \ |
|