Adds 'import project from repository' feature Project tab.

Modifies the Project tab to include an 'import from repository' option.
Includes an ImportTemplateWizard, similar to the ProjectUploadWizard.
Templates are pre-built projects that can include 0 or more
assets, components, and/or blocks to serve as 'scaffolding'
for lessons and tutorials.

Template repositories may be stored in the build/war directory on
the AppEngine server or may be on any reachable web serer. The
repository must be structured in a particular way and use certain
naming conventions.  These rules are described in TemplatesUploadWizard.java.

If templates are stored on a static website. Your webserver must
implement "Cross-origin Resource Sharing (CORS). With Apache you can
do this by using mod_headers placing a .htaccess file in the templates
directory that contains the one line:

  'Header set Access-Control-Allow-Origin "*"'.

External repositories can be added/removed by the user at runtime.

Change-Id: I3b0e8b57d70a9e1b80ed7ce5d6f21248fa130213
WebViewActivity class is actually used by the Twitter component

Change-Id: I957947a7091483180f3355f812dcb074f24f0ca9
Permit Companion to pass values between screens.

Adds support for "open another screen with start value" and "close
screen with value result" in the Companion.

Change-Id: I2fd733c29597a67af48dfb25fe767cd6beea4baa
Changed clock component category from userinterface to sensors.

Change-Id: I5a3b5866b3bf405138eb7b3471dff77da93120f6
Helper script to create new components

Change-Id: Ie35a1d0d55d0290d2d8756b00034feac9e5e4a9a
Fixed TimePicker to show current time by default.

Change-Id: Iaecf879da3ae59980362152c887bbb22d57e7551
Changes in Player component.

  - Added property PlayInForeground
  - Added phonecall interrupt
  - Fixed onResume with playerState

Change-Id: If06bdfec557c882a0fd5509197dec589d05e848c
Adds new events to PhoneCall Component

  - PhoneCallStarted and PhoneCallEnded
  - IncomingCallAnswered

Change-Id: I52940c65b8f7043cec49847e6dbbd3f51c0f7c0d
Update ContactPickers for later versions of Android

Update ContactPicker, EmailAddressPicker and PhoneNumberPicker for
newer Android versions.

Change-Id: Ie129a361d90e59cae52ab3b07327d7348c2318e6
Notifier: change button order to be yes|no|cancel

Change-Id: I8a32fa2923f32ca3408ae3e31ed8ce94b517f434
Fixed DatePicker to show current date by default

Change-Id: I2b91df41a70b9956c7c4c1f2e0d323ae392b84d3
Update Companion Version to 2.20ai2

Change-Id: Id51d42932315a63370840e6a1d96b40a99935f40
Fixed Time and Date pickers, double setting does not occur

Change-Id: I9081c156e616ae0cb47f55a65917555da4958000
Flag switch to invalid screen during development.

This fixes Trac #530. During development you will now get an error
dialog in the blocks editor when you attempt to open a screen that
doesn’t exist.

Change-Id: I23f649f6db77a63e809ddb01325db6feb0ab84fb
Add delay to Sound Play to wait for Sound to load Requires API level >= 8.

Change-Id: I8d5494317645ec05d86438fad2e4322cd313d16c
Fix Dispatchers in DatePicker and TimePicker.

Call AfterDateSet/AfterTimeSet (which dispatches an App Inventor
event) via the Android handler mechanism to ensure it is called after
the Picker’s event is finished. This permits the App Inventor event to
display another Picker based on the current instance.

Change-Id: Ic1674b778bdd1c8e0f7606752136d5e570f9b2ae
Don’t connect devices/emulator without a Project.

If someone attempts to connect to a device or the emulator while they
have no project selected (most often a new user who has yet to create
a project), provide a dialog box explaining that a project is required
before a connection can be made.

Change-Id: Iff102f8f74f9bd3284c348541969c30889f39b58
Adds support for building apps on API Level 4

   - Increases minSDK to 4 in Compiler.java (takes App Inventor out of
     screen compatibility mode).
   - Adds a checkbox to preview the app on tablet or phone size.
   - Adds correction for resolution of images depending on density of
     device
   - changes pixels for DPs
   - Adds scaleToFit property to Image component

Change-Id: I2938a2254f59eb534785afd37ec8891d9148e190
Companion Upgrades and Cleanup

Arrange for the Companion, when used via the Emulator or USB to be
re-entrant. Now if the Companion is running and a person reloads their
browser, they can reconnect without restarting the Companion.

Removed the “aiphoneapp” (the old USB Repl from AI1). Removed vestiges
of AI1 from the Companion App. Rename some variables to be more
descriptive as well. Cleanup some logging to use Log.d instead of
calling System.err.println(). By using Log.d, we ensure that
information sent to the log is available in the ACRA data.

Change-Id: Ib462fe96aefd0f35af5595e4b3e9b0aba1980634
Fixes incorrect Sensors Documentation url

Change-Id: Id25c0ad7c14eba12a301dfd8ee9d0a56bb3431ba