translation editor: Validate new keys

This CL changes adds input validation to the new key dialog to ensure
that a newly created key passes all the requirements for a resource
name.

Fixes https://code.google.com/p/android/issues/detail?id=75459

Change-Id: Ib30fa2051209825a2af530049d06a4c0f7845ca5
68539: Validate resource ids in the property sheet

Validate resource names as they are entered in the layout
editor property sheet, and also update test infrastructure
to support checking for invalid attributes and validate
this scenario in the layout editor GUI test.

Also adds focus-on text for a couple of property types
that were missing it.

Change-Id: If293de6827c78c6f2f5ddf0496f480e9f87bfdf9
Fixed regression where Studio required single-module projects to have a settings.gradle file.

When fixing https://code.google.com/p/android/issues/detail?id=72294 (Gradle
sync never ends when settings.gradle is empty) I added a check where the IDE
refuses to perform a Gradle sync if the project has an empty settings.gradle
file.

This check introduced a bug, because empty settings.gradle files (or
settings.gradle files that do not specify sub-projects) are valid for
single-project (or single-module) projects.

This CL fixes the bug:
1. Gradle sync is allowed for single-module projects with settings.gradle
   file that are either empty or do not contain an 'include' identifier.
2. For multi-module projects that have empty settings.gradle, the IDE,
   instead of preventing a Gradle sync, informs the user what would happen
   if she decides to continue, and allows her to either continue with or
   cancel Gradle sync.

This CL also:
1. Adds a "Basic" single-module project for UI testing
2. UI tests that confirm that the regression is fixed

I have informed the Gradle folks about this bug:
https://groups.google.com/forum/#!topic/gradle-dev/JsN-Ku-nArA

Fixes issue:
https://code.google.com/p/android/issues/detail?id=76444

Change-Id: I4b8be8dbc1f0b9e2b15730e18f9b0f6c5971212e
NewFormFactorModulePath: Remove debug print statements

Change-Id: Id9d1639d16a4fe2940a0b2abf1df0de8bc79b811
navigator: Make Android project view the default

The platform hard codes the project view pane that should be shown
by default. This CL just adds a comment indicating that we are referencing
this constant by value in the platform as well.

Change-Id: Iab5ac12d0e1d71c60b04cf5745563e215949ba31
Merge "NewFormFactorModulePath: Remove debug print statements" into idea133
Merge "navigator: Make Android project view the default" into idea133
Add Navigation to Named Steps to Dynamic Wizard Infrastructure

This change allows wizards to "jump" between steps/paths by
navigating to steps of a given name.

Change-Id: I6238b79529b9430f76e87a9be3ee2e85ce535a68
73299: Provide means of disabling layout design view

Adds a new option to the render options menu where you can indicate
that you prefer XML editors instead of design editors.  When set, the
XML tab becomes the first tab (for newly opened files), files opened
on template creation will open in the appropriate tab, etc.

This CL also cleans up the render settings: they used to be per
project but logically should be application global (and were named and
treated that way).

Change-Id: I74087f8a0e2e13e7cf7a4614058965cb9e8ef1c5
Add Android Icons for AVD Manager

This change adds new sizes of the android form factor
icons for use in the AVD manager.

Change-Id: I1e11d111a4a8fa7792fbb1aad3ce9d9e79f81bc0
Add wizard keys for AVD Manager

This change adds key constants for the AVD manager wizard
datastore as well as some datastructures used by the AVD manager.

Change-Id: If8cf4f67c787f66aa370d9104858e327395acbd1
Add wrapper class for AVD manager with convenience functions

This change adds a wrapper class for the SDKlib AvdManager class
which takes care of managing an AvdManager instance and provides
utility methods for common operations.

Change-Id: I480304b85134f06229426483e49f77cee0b3c311
Add DeviceManagerConnection wrapper class

This change adds a class which wraps the SDKlib DeviceManager
and manages a singleton instance. It also provides some utility functions
for common operations.

Change-Id: I49099c8d78db08c9ac6de07264b6280db679b2b3
Merge "Add Navigation to Named Steps to Dynamic Wizard Infrastructure" into idea133
Merge "Add Android Icons for AVD Manager" into idea133
Merge "Add wizard keys for AVD Manager" into idea133
Merge "Add wrapper class for AVD manager with convenience functions" into idea133
Merge "Add DeviceManagerConnection wrapper class" into idea133
Merge "Fixed regression where Studio required single-module projects to have a settings.gradle file." into idea133
Add Device Definition Preview

This change adds a preview component for displaying information about
a device definition. This panel displays the dimensions of the device
(both physical and in pixels) and some information about the screen
size and shape.

Change-Id: I8fcbbde59a9d471d22d7107f7f6ac8d69b91df57