page.title=Android 1.1 Version Notes
sdk.version=1.1_r1
sys.date=February 2009
@jd:body

<p>
<em>Date:</em> February 2009<br />
<em>API Level:</em>&nbsp;<strong>2</strong></p>


<p>This document provides version notes for the Android 1.1 system image included in the SDK. 

<ul>
<li><a href="#overview">Overview</a>
<li><a href="#overview">External Libraries</a>
<li><a href="#comp">Device Compatibility</a>
<li><a href="#apps">Built-in Applications</a>
<li><a href="#locs">UI Localizations</a>
<li><a href="#resolved-issues">Resolved Issues</a>
<li><a href="#features">New Features</a>
<li><a href="#api-changes">API Changes</a>
</ul></p>

<h2 id="overview">Overview</h2>

<p>The Android 1.1 system image delivered in the SDK is the development
counterpart to the Android 1.1 production system image, deployable to
Android-powered handsets starting in February 2009. </p>

<p>The Android 1.1 system image delivers an updated version of the framework
API. As with the Android 1.0 API, the Android 1.1 API 
is assigned an integer identifier &mdash; <strong>2</strong> &mdash; that is
stored in the system itself. This identifier, called the "API Level", allows the
system to correctly determine whether an application is compatible with
the system, prior to installing the application. </p>

<p>Applications indicate the lowest system API Level that they are compatible with by adding
a value to the <code>android:minSdkVersion</code> attribute.
The value of the attribute is an integer corresponding to an API Level 
identifier. Prior to installing an application, the system checks the value of 
<code>android:minSdkVersion</code> and allows the install only
if the referenced integer is less than or equal to the API Level integer stored
in the system itself. </p>

<p>If you use the Android 1.1 system image to build an application
compatible with Android-powered devices running the Android 1.1
platform, you <strong style="color:red">must</strong> set the
<code>android:minSdkVersion</code> attribute to "2" in order to specify that your application
is compatible only with devices using the Android 1.1 (or greater) system image.
</p>

<p>Specifically, you specify the <code>android:minSdkVersion</code>
attribute in a <code>&lt;uses-sdk&gt;</code> element as a child of
<code>&lt;manifest&gt;</code> in the manifest file. When set, the
attribute looks like this: </p>

<pre><code>&lt;manifest&gt;
  ...
  &lt;uses-sdk android:minSdkVersion="2" /&gt;
  ...
&lt;/manifest&gt;</code>
</pre>

<p>By setting <code>android:minSdkVersion</code> in this way, you ensure
that users will only be able to install your application if their
devices are running the Android 1.1 platform. In turn, this ensures that
your application will function properly on their devices, especially if
it uses <a href="#apichange">APIs introduced in Android 1.1</a>. </p>

<p>If your application uses APIs introduced in Android 1.1 but does not
declare <code>&lt;uses-sdk android:minSdkVersion="2" /&gt;</code>, then it will
run properly on Android 1.1 devices but <em>not</em> on Android 1.0
devices. In the latter case, the application will crash at runtime when
it tries to use the Android 1.1 APIs.</p>

<p>If your application does not use any new APIs introduced in Android
1.1, you can indicate Android 1.0 compatibility by removing
<code>android:minSdkVersion</code> or setting the attribute to "1". However,
before publishing your application, you must make sure to compile your
application against the Android 1.0 system image (available in the
Android 1.0 SDK), to ensure that it builds and functions properly for
Android 1.0 devices. You should test the application against system
images corresponding to the API Levels that the application is designed
to be compatible with.</p>

<p>If you are sure your application is not using Android 1.1 APIs and
has no need to use them, you might find it easier to keep working in the
Android 1.0 SDK, rather than migrating to the Android 1.1 SDK and having
to do additional testing.</p>


<h2 id="extlibs">External Libraries</h2>

<p>The system image includes these external libraries, which you can
access from your application by adding a <a
href="{@docRoot}guide/topics/manifest/uses-library-element.html">
&lt;uses-library&gt;</a>.</p>
	<ul>
	<li>com.google.android.maps &mdash; gives your
application access to Google Maps data. Note that, to use Google Maps
data, a Maps API Key is required.</li>
	</ul>

<h2 id="comp">Device Compatibility</h2>

<p>The Android 1.1 system image was tested for compatability with the
Android-powered devices listed below:</p>
	<ul>
	<li>T-Mobile G1</li>
	</ul>

<h2 id="apps">Built-in Applications</h2>

<p>The system image includes these built-in applications:</p>
	<ul>
	<li>Alarm Clock</li>
	<li>API Demos</li>
	<li>Browser</li>
	<li>Calculator</li>
	<li>Camera</li>
	<li>Contacts</li>
	<li>Dev Tools</li>
	<li>Dialer</li>
	<li>Email</li>
	<li>Maps (and StreetView)</li>
	<li>Messaging</li>
	<li>Music</li>
	<li>Pictures</li>
	<li>Settings</li>
	</ul>

<h2 id="locs">UI Localizations</h2>

<p>The system image provides localized UI strings for the languages
listed below.</p>
	<ul>
	<li>English, US (en_US)</li>
	<li>German (de) </li>
	</ul>

<p>Localized UI strings match the locales that are displayable in 
the emulator, accessible through the device Settings application.</p>

<h2 id="resolved-issues">Resolved Issues</h2>
<ul>
<li>AlarmClock alert now plays audio/vibe directly, rather than through
AlarmManager. AlarmClock alert starts playing audio/vibe in its
IntentReceiver, rather than on activity start. These changes should
prevent alarms from being blocked by modal dialogs.</li>
<li>Fixes to device sleep. </li>
<li>Single tap no longer opens the in-call dialpad; users now need to
touch and drag it. </li>
<li>Fixes a bug causing approximately 1 in 25 outbound messages to
freeze up the IMAP connection (to a Gmail based server) when transferred
to the Sent folder.</li>
<li>Removes automatic account setup entries that were broken or not
testable. Adds minor fixes to a few of the remaining entries. Makes
improvements to warning dialogs used for a few special cases.	</li>
<li>Changes default mail checking interval to every 15 minutes (instead
of defaulting to "never").</li>
<li>Fixes password-quoting bugs in IMAP, so that users can include
special characters in passwords (e.g. spaces).</li>
<li>Fixes various errors in auto and manual account setup	</li>
<li>Improves reporting for various connection errors, making it easier
for the user to diagnose failed account setups.</li>
<li>Fixes new-mail notifications for POP3 accounts.</li>
<li>Ensures proper auto-checking of accounts marked as "never
check".</li>
<li>Now displays date and time using user preference (e.g. 24 hr vs.
AM/PM).</li>
<li>Now shows cc: in message view.</li>
<li>Improves recovery from POP3 connection failures.</li>
<li>POP3 parser rules loosened, so the application can work with
non-compliant email servers.</li>
</ul>

<h2 id="features">New Features</h2>

<ul>
<li>Maps: Adds details and reviews when a user does a search on Maps and
clicks on a business to view its details.</li>
<li>Dialer: In-call screen timeout default is now longer when using the
speakerphone.</li>
<li>Dialer: Adds a "Show dialpad" / "Hide dialpad" item to the in-call
menu, to make it easier to discover the DTMF dialpad. </li>
<li>Adds support for saving attachments from MMS</li>
<li>Adds support for marquee in layouts.</li>
</ul>

<h2 id="api-changes">API Changes</h2>

<h3>Overview</strong></h3>

<ul>
<li>Adds annotations for test systems, no actual (non-test) API
changes.</li>
<li>Adds a method to allow a process to easily determine its UID.
<li>Adds support for marquee in layouts.</li>
<li>Adds new methods for determining padding in views. Useful if you are
writing your own
subclasses of {@link android.view.View View}.</li>
<li>Adds new permissions that allow an application to broadcast an SMS
or WAP Push message. </li>
<li>API cleanup: removes protected constructor from
SDK-bound system images. </li>
</ul>

<h3>API Change Details</h3>

<table>
<tr>
<th>Module or Feature</th><th>Change Description</th>
</tr>
<tr><td rowspan="4">Annotations for test systems</td></tr>
    <tr><td>Added {@link android.test.suitebuilder.annotation.LargeTest LargeTest} annotation.</td></tr>
    <tr><td>Added {@link android.test.suitebuilder.annotation.MediumTest MediumTest} annotation.</td></tr>
    <tr><td>Added {@link android.test.suitebuilder.annotation.SmallTest SmallTest} annotation.</td></tr>

<tr><td rowspan="2">Allow a process to easily know its UID.</td></tr>
    <tr><td>Added public method {@link android.os.Process#myUid} to class {@link android.os.Process android.os.Process}</td></tr>

<tr><td rowspan="6">Padding in views</td></tr>
    <tr><td>Added public method {@link android.view.View#getBottomPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr>
    <tr><td>Added public method {@link android.view.View#getLeftPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr>
    <tr><td>Added public method {@link android.view.View#getRightPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr>
    <tr><td>Added public method {@link android.view.View#getTopPaddingOffset} to class {@link android.view.View android.view.View}.</td></tr>
    <tr><td>Added public method {@link android.view.View#isPaddingOffsetRequired} to class {@link android.view.View android.view.View}.</td></tr>

<tr><td rowspan="3">Marquee support</td></tr>
    <tr><td>Added public method {@link android.widget.TextView#setMarqueeRepeatLimit} to class {@link android.widget.TextView}</td></tr>
    <tr><td>Added public field {@link android.R.attr#marqueeRepeatLimit android.R.attr.marqueeRepeatLimit}</td></tr>

<tr><td rowspan="3">New permissions</td></tr>
    <tr><td>Added public field {@link android.Manifest.permission#BROADCAST_SMS android.Manifest.permission.BROADCAST_SMS}</td></tr>
    <tr><td>Added public field {@link android.Manifest.permission#BROADCAST_WAP_PUSH android.Manifest.permission.BROADCAST_WAP_PUSH}</td></tr>

<tr><td rowspan="2">API cleanup</td></tr>
    <tr><td>Removed protected constructor java.net.ServerSocket.ServerSocket(java.net.SocketImpl).</td></tr>

</table>






