IDEA-127457 rename android-gradle-compiler-settings node in IntelliJ, because it already contains "Compiler" node
accept @Nullable scope EA-58099 - NPE: RefManagerImpl.findAllDeclarations
IDEA-126757 fix NPE
IDEA-125076 correctly handle "provided" dependencies when running proguard
browse: it is better to pass project
move popup UI logic to NavigationUtil
Fix module import UI.

It is now possible to rename modules to import, including the
capability to use hierarchical Gradle names.
JTable was replaced with a custom UI to make the UI more detailed
and easier to navigate. Module-specific statuses are now always
shown, as opposed to tooltips used before.
Controller layer was refactored to make it more testable and to
handle edge cases better.

Change-Id: Ib7de2a5c662dc20470e773c914683762cbe64e3a
fix red color for Darcula
IDEA-127046 Gradle: processing resources
maven: merge of https://github.com/JetBrains/intellij-community/pull/174
Change version to 0.8.6

Change-Id: I61005860184d47b0a2d10366fdce482adce3be16
Merge "Change version to 0.8.6" into idea133
IDEA-128337 / 4
Fixed test failures in AndroidProjectWizardTest

The tests in AndroidProjectWizardTest depended on some code in JetBrain's
version of the Android plugin that we didn't have, possibly due to a bad
merge earlier. I copied over the minimal changes required to get the tests
working again. In this case, JetBrain's version of a class that constructs
an Android module handled the creation of empty modules slightly differently
than ours did.

Change-Id: Ie479a4a24b314bf88e3731ebaab47e0bfbae5127
Merge "Fixed test failures in AndroidProjectWizardTest" into idea133
Fixed bug 73640 in JPS builder.

The bug is about the IDE invoking "assemble" Gradle
task for modules that are of "local AAR" type. This
type of module do not have the "assemble" task and
when building the project the IDE should just skip
them.

This bug was already fixed in the GradleInvoker
strategy (in-process build) in
https://android-review.googlesource.com/103541
but it was not fixed in the JPS build (out-of-process
build.)

The solution to the problem is to carefully
add the "Java" facet only to the non-Android modules
that have the "compileJava" task. Then we would only
build the modules with either the Android or Java
facet. The main problem with this solution is that
we need a "Java facet" counterpart in the JPS world.
When dealing with JPS each facet needs to have 2
copies: one for the IDE and one for JPS.

The need for the facets is to be able to figure out
which Gradle tasks to call. We were doing this on
both GradleInvoker and JPS, duplicating the logic on
both sides.

This CL introduces a better solution: all the Gradle
tasks to invoke are figured out in one place: the IDE.
Then the IDE will pass the list of tasks to JPS via
Java properties. This way, we have only one place
where this logic lives, and we can remove a lot of
duplicated code in the JPS side.

Finally fixes issue
https://code.google.com/p/android/issues/detail?id=73640

Change-Id: Ib22de9b654ca975f9ce66bcf80899ce2936b9a37
Merge "Fixed bug 73640 in JPS builder." into idea133
Makes string resources editable from strings editor.

All code that touches the string resource data now lives in
StringResourceDataController. The editor can call the updateData() method
of the controller to retrieve the most current data from the local resource
repository, and on successful data retrieval,
StringResourceEditor.onDataUpdated() is called so that the editor can
refresh the table view, etc.  When the user makes a change within the
editor, StringResourceDataController.doEdit(...) changes the data in the
appropriate file(s) and calls updateData().

Known issues: We do not check that the key the user enters is unique, and
we use the deprecated method AndroidFacet.getPrimaryResourceDir().

(1) How the editing works:
  (a) When the translatable attribute of a key is changed, updates the
      attribute in every locale for which the key has a value. Setting
      translatable to true causes the attribute to be deleted.
  (b) When the name of a key is changed, updates the name in every
      locale for which the key has a value. Setting the name to ""
      (after trimming) causes the key to be deleted. (We may want to
      warn the user before this happens.)
  (c) When a non-empty default value or translation is edited to a non-
      empty value, updates the text of the resource item accordingly.
  (d) When a default value or translation goes from empty to non-empty,
      creates a resource item with the appropriate values for the text
      and the translatable attribute.
  (e) When a default value or translation goes from non-empty to empty,
      deletes the corresponding resource item.
  (f) Creates values directories and string resource files as necessary,
      although the editor does not currently use this functionality.

(2) Change to the cell detail panel (renamed to the edit panel): The Key
and Default Value text components are editable when a table cell is
selected, and the Translation text component is editable when a
translation table cell is selected.

(3) Misc: Uses AndroidResourceUtil.getDefaultResourceFileName(ResourceType)
to slightly simplify the way we check for a string resource file.

Change-Id: I6c8c1ccf01e9f09173125a8fcedae76588cbbbd9
Signed-off-by: Rebecca Chen <rechen@google.com>
Merge "Makes string resources editable from strings editor." into idea133
notnull to find cause of IDEA-124540