Merge "Now we also show all Gradle output, even in successful builds." into idea133
Merge "UI improvements in "Messages" window." into idea133
Now we offer to disable/edit proxy settings if host unknown during project sync.

The use case is the following:
- Enable HTTP proxy settings (go to "Preferences" > "HTTP Proxy") using
  a proxy host that does not exist (e.g. "foo.bar.com")
- In the top-level build.gradle change the version of the Gradle plug-in
  to a version that has not been released yet (to force Gradle to
  look it up on the net.)
- Sync project.
- Project sync fails. Studio offers to enable 'offline mode', but the
  real problem is that the proxy settings are wrong.

In this scenario, Studio will:
- offer to disable "proxy settings"
- offer to open "Proxy Settings" dialog, allowing users to edit
  settings.

Change-Id: Ife2738ba87997b0bf1bb683829f1a42462e43ab1
Merge "Now we offer to disable/edit proxy settings if host unknown during project sync." into idea133
Merge "More flexible Gradle file merging." into idea133
Update all bindings on step progression

Change-Id: Ibcc522a05d70ec30f34d0a40bbc36b9d5aac5b30
Merge "Update all bindings on step progression" into idea133
Speed up platform render resource loading

This changeset speeds up layout rendering initialization, by tweaking the
code which reads in framework resources (where a majority of time in layout
setup is performed). Some simple benchmarks shows this change to speed up
initialization from around 5000ms to around 800ms for the default locale,
and to around 2000ms when rendering platform locales.

This speedup is caused by

(1) Skipping initialization of locale-specific value folders when not
    needed; there are about 140 locale specific folders, and about
    half of those contain a couple thousand strings. We now omit
    locale folders unless you are rendering for a specific locale.

(2) Skipping some other folders we don't need for designtime rendering
    (such as 85 raw- folders and 65 mcc- folders.)

(3) Rewriting the code which processes platform folders; it is no
    longer used for user files, so the various code converting between
    Files and IntelliJ Virtual Files to compare paths is no longer
    needed.

This changeset also fixes the go-to-declaration element order shown
when jumping from XML resources. (This was recently fixed for
references from classes, but XML took a different code path which did
not include sorting.)

Change-Id: I31510b2d9705afe6d967a14fdbbd536702497c3f
Merge "Speed up platform render resource loading" into idea133
Add multiconfiguration preview for API levels

For various reason we use a single layoutlib (and a single set of loaded framework
resources), along with a special implementation of IAndroidTarget which reports an
older API level, but delegates everything else to the new layoutlib. This helps trick
the resource resolver into resolving best-fit resources from the given API level,
it helps the default themes chosen from layouts to reflect the preferred theme of
that API level (e.g. "Theme" for Gingerbread, "Theme.Holo" for IceCreamSandwich),
and so on.

It also adds id's to render preview, which lets you delete a particular preview (say
Nexus S from the device screen previews), and as you switch layouts it remembers
these deleted id's and excludes them there as well.

Change-Id: I7db2db3384f636d7ed26212213d6b02b1b996ac5
Tweak layout editor selection for root nodes

Don't show visual bounds for the root node, unless it's in included context.
Also fix XML preview such that when you click to select a node, the
corresponding node is always selected. (This moves the caret to the beginning
character of the tag, but this is not considered "inside" the tag so in some
cases it leaves the previous node selected if they are adjacent.)

Change-Id: I659330e1f721c77a2098cccb7aec6b3b5b84a863
More small improvements to "Messages" window.

- Usage of Gradle incubating features is shown as warning.
- Usage of Gradle deprecated features is shown as warning.
- Build time is shown as info.
- Build status (e.g. SUCCESSFUL) is shown as info.
- Status message changed from "Gradle invocation completed
  successfully" to "Gradle build finished" (original
  message was confusing when having errors and warnings.)

This CL also refactors/cleans up code a bit.

Change-Id: I53516c252d6ecccf75749477c59dfe077aeab11f
Don't fail test when plugins register new module types.

Take extensions into account when calculating the expected
number of choices in new module wizard.

Change-Id: I77b078f9698a806adfefc85c783963abff934475
Merge "Don't fail test when plugins register new module types." into idea133
Remove testing action

Change-Id: I61de2c0926924f0528bead5ceddfc96718c23a43
Merge "Remove testing action" into idea133
69818: Make sure init() is called from all public ctors

Init was not called from one of the public constructors and thus resulted in
IndexOutOfBoundsException when trying to use the wizard instantiated that way.

Bug: https://code.google.com/p/android/issues/detail?id=69818
Change-Id: Iefa132450100cd83dff4682524cf3825506f596b
Merge "69818: Make sure init() is called from all public ctors" into idea133
69807: Do not add activity to Java Library module

Bug: https://code.google.com/p/android/issues/detail?id=69807
Change-Id: I4de2a2abc36589eafb815e77e9305d1f42fd620c
Merge "More small improvements to "Messages" window." into idea133