From a250f0c808ff01f7a5c9fe393ef2bdf4266a7d9f Mon Sep 17 00:00:00 2001 From: Dirk Dougherty Date: Thu, 22 Oct 2009 18:02:45 -0700 Subject: [PATCH 01/12] doc change: fix broken link at top of installing doc Bug: 2160782 --- docs/html/sdk/installing.jd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/html/sdk/installing.jd b/docs/html/sdk/installing.jd index f4d28b397888a..3a44cda109d9b 100644 --- a/docs/html/sdk/installing.jd +++ b/docs/html/sdk/installing.jd @@ -30,7 +30,7 @@ sdk.preview=0 development environment for the first time.

If you encounter any problems during installation, see the -Installation Notes at the bottom of +Troubleshooting section at the bottom of this page.

Updating?

From 6e50a8c6f59307cb9fc688f9c3e7aec3fa4b69eb Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Mon, 26 Oct 2009 11:11:02 -0700 Subject: [PATCH 02/12] Revert "Now that the underlying bug is fixed we can continue using OMX_UseBuffer for this decoder's input buffers." This reverts commit 7a03b074a554ba3fd08dbc20cfd4b2f37c5f3aaa. --- media/libstagefright/OMXCodec.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index e3f03c4043b05..1a23fb26daeb7 100644 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -230,6 +230,7 @@ sp OMXCodec::Create( } if (!strncmp(componentName, "OMX.qcom.video.decoder.", 23)) { // XXX Required on P....on only. + quirks |= kRequiresAllocateBufferOnInputPorts; quirks |= kRequiresAllocateBufferOnOutputPorts; quirks |= kOutputDimensionsAre16Aligned; } From 3333fa4f3d2e1bd3842fe7d41d19557ff9a98372 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Mon, 26 Oct 2009 14:50:42 -0400 Subject: [PATCH 03/12] PowerManagerService: Ensure that recent changes do not effect the hardware ALS case. Change-Id: I42d2d1331c2a6234dfbdaa99f0cc8ab249f7ce22 Signed-off-by: Mike Lockwood --- .../android/server/PowerManagerService.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 45d03e6266cfd..aad576f083e85 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -478,7 +478,7 @@ class PowerManagerService extends IPowerManager.Stub // And explicitly do the initial update of our cached settings updateGservicesValues(); - if (mAutoBrightessEnabled) { + if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { // turn the screen on setPowerState(SCREEN_BRIGHT); } else { @@ -580,7 +580,11 @@ class PowerManagerService extends IPowerManager.Stub switch (wl.flags & LOCK_MASK) { case PowerManager.FULL_WAKE_LOCK: - wl.minState = SCREEN_BRIGHT; + if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { + wl.minState = SCREEN_BRIGHT; + } else { + wl.minState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); + } break; case PowerManager.SCREEN_BRIGHT_WAKE_LOCK: wl.minState = SCREEN_BRIGHT; @@ -1332,8 +1336,8 @@ class PowerManagerService extends IPowerManager.Stub if (newState == mPowerState) { return; } - - if (!mDoneBooting && !mAutoBrightessEnabled) { + + if (!mDoneBooting && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { newState |= ALL_BRIGHT; } @@ -1757,7 +1761,7 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; - } else if (mLightSensorBrightness >= 0) { + } else if (mLightSensorBrightness >= 0 && !mHasHardwareAutoBrightness) { return mLightSensorBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), @@ -1846,7 +1850,8 @@ class PowerManagerService extends IPowerManager.Stub if ((mUserActivityAllowed && !mProximitySensorActive) || force) { // Only turn on button backlights if a button was pressed // and auto brightness is disabled - if (eventType == BUTTON_EVENT && !mAutoBrightessEnabled) { + if (eventType == BUTTON_EVENT && + !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { mUserState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); } else { // don't clear button/keyboard backlights when the screen is touched. @@ -1904,6 +1909,8 @@ class PowerManagerService extends IPowerManager.Stub Log.d(TAG, "lightSensorChangedLocked " + value); } + if (mHasHardwareAutoBrightness) return; + if (mLightSensorValue != value) { mLightSensorValue = value; if ((mPowerState & BATTERY_LOW_BIT) == 0) { From 2811f1625ebdb7f7483b8b866694474f89112d8c Mon Sep 17 00:00:00 2001 From: Jaikumar Ganesh Date: Mon, 26 Oct 2009 13:11:55 -0700 Subject: [PATCH 04/12] Add Authentication Type field to the APN settings. Use auth type to setup data connection. This value defaults to -1 (unset) to maintain compatibility. When the value is -1, the auth type gets set to 0 (if no user is specified) or 3. Bug: 181700 --- core/java/android/provider/Telephony.java | 2 ++ .../com/android/internal/telephony/gsm/ApnSetting.java | 7 +++++-- .../internal/telephony/gsm/GsmDataConnectionTracker.java | 1 + .../com/android/internal/telephony/gsm/PdpConnection.java | 8 +++++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/core/java/android/provider/Telephony.java b/core/java/android/provider/Telephony.java index 042c75e25e7a2..d8c5a53771a7a 100644 --- a/core/java/android/provider/Telephony.java +++ b/core/java/android/provider/Telephony.java @@ -1669,6 +1669,8 @@ public final class Telephony { public static final String NUMERIC = "numeric"; + public static final String AUTH_TYPE = "authtype"; + public static final String TYPE = "type"; public static final String CURRENT = "current"; diff --git a/telephony/java/com/android/internal/telephony/gsm/ApnSetting.java b/telephony/java/com/android/internal/telephony/gsm/ApnSetting.java index dc6f92de31bda..8d807fd22bd36 100644 --- a/telephony/java/com/android/internal/telephony/gsm/ApnSetting.java +++ b/telephony/java/com/android/internal/telephony/gsm/ApnSetting.java @@ -31,6 +31,7 @@ public class ApnSetting { String mmsPort; String user; String password; + int authType; String[] types; int id; String numeric; @@ -38,7 +39,7 @@ public class ApnSetting { ApnSetting(int id, String numeric, String carrier, String apn, String proxy, String port, String mmsc, String mmsProxy, String mmsPort, - String user, String password, String[] types) { + String user, String password, int authType, String[] types) { this.id = id; this.numeric = numeric; this.carrier = carrier; @@ -50,6 +51,7 @@ public class ApnSetting { this.mmsPort = mmsPort; this.user = user; this.password = password; + this.authType = authType; this.types = types; } @@ -63,7 +65,8 @@ public class ApnSetting { .append(", ").append(mmsc) .append(", ").append(mmsProxy) .append(", ").append(mmsPort) - .append(", ").append(port); + .append(", ").append(port) + .append(", ").append(authType); for (String t : types) { sb.append(", ").append(t); } diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index ffd6dd38c95b3..d014a7efa7061 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -556,6 +556,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.MMSPORT)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.USER)), cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Carriers.PASSWORD)), + cursor.getInt(cursor.getColumnIndexOrThrow(Telephony.Carriers.AUTH_TYPE)), types); result.add(apn); } while (cursor.moveToNext()); diff --git a/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java b/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java index 224419e931dea..cb85002c9d86b 100644 --- a/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java +++ b/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java @@ -84,9 +84,11 @@ public class PdpConnection extends DataConnection { lastFailCause = FailCause.NONE; receivedDisconnectReq = false; - int authType = (apn.user != null) ? RILConstants.SETUP_DATA_AUTH_PAP_CHAP : - RILConstants.SETUP_DATA_AUTH_NONE; - + int authType = apn.authType; + if (authType == -1) { + authType = (apn.user != null) ? RILConstants.SETUP_DATA_AUTH_PAP_CHAP : + RILConstants.SETUP_DATA_AUTH_NONE; + } phone.mCM.setupDataCall(Integer.toString(RILConstants.SETUP_DATA_TECH_GSM), Integer.toString(RILConstants.DATA_PROFILE_DEFAULT), apn.apn, apn.user, apn.password, Integer.toString(authType), From 86328a99bd55532e318441d48ee9eb96cdc42403 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Fri, 23 Oct 2009 08:38:25 -0400 Subject: [PATCH 05/12] LocationManagerService: clear calling identity in mock provider calls. Fixes bug b/2198028 (testDirectionsFromScratchByTyping fails because of android.permission.ACCESS_WIFI_STATE) Change-Id: I44e95981d805189ed6d906d388c5189ee788802f Signed-off-by: Mike Lockwood --- .../java/com/android/server/LocationManagerService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index d1b3bd06c5137..bbb43d79d3a20 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -1709,6 +1709,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy) { checkMockPermissionsSafe(); + long identity = Binder.clearCallingIdentity(); synchronized (mLock) { MockProvider provider = new MockProvider(name, this, requiresNetwork, requiresSatellite, @@ -1731,6 +1732,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run mLastKnownLocation.put(name, null); updateProvidersLocked(); } + Binder.restoreCallingIdentity(identity); } public void removeTestProvider(String provider) { @@ -1740,6 +1742,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run if (mockProvider == null) { throw new IllegalArgumentException("Provider \"" + provider + "\" unknown"); } + long identity = Binder.clearCallingIdentity(); removeProvider(mProvidersByName.get(provider)); mMockProviders.remove(mockProvider); // reinstall real provider if we were mocking GPS or network provider @@ -1752,6 +1755,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run } mLastKnownLocation.put(provider, null); updateProvidersLocked(); + Binder.restoreCallingIdentity(identity); } } @@ -1787,6 +1791,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run if (mockProvider == null) { throw new IllegalArgumentException("Provider \"" + provider + "\" unknown"); } + long identity = Binder.clearCallingIdentity(); if (enabled) { mockProvider.enable(); mEnabledProviders.add(provider); @@ -1797,6 +1802,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run mDisabledProviders.add(provider); } updateProvidersLocked(); + Binder.restoreCallingIdentity(identity); } } @@ -1807,9 +1813,11 @@ public class LocationManagerService extends ILocationManager.Stub implements Run if (mockProvider == null) { throw new IllegalArgumentException("Provider \"" + provider + "\" unknown"); } + long identity = Binder.clearCallingIdentity(); mEnabledProviders.remove(provider); mDisabledProviders.remove(provider); updateProvidersLocked(); + Binder.restoreCallingIdentity(identity); } } From 7c0d20a753a930507bec09d7f89da83acc86d0da Mon Sep 17 00:00:00 2001 From: Dave Sparks Date: Mon, 26 Oct 2009 16:28:26 -0700 Subject: [PATCH 06/12] Run the metadataretriever at background priority. Bug 2187133. This change forces metadata retreiver threads to background priority. Uses an inner class to encapsulate the priority change so that it automatically restores priority when returning to the client. --- .../MetadataRetrieverClient.cpp | 27 +++++++++++++++++++ .../MetadataRetrieverClient.h | 10 +++++++ 2 files changed, 37 insertions(+) diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.cpp b/media/libmediaplayerservice/MetadataRetrieverClient.cpp index ddd4e24d9b7ed..8eabe5def29d1 100644 --- a/media/libmediaplayerservice/MetadataRetrieverClient.cpp +++ b/media/libmediaplayerservice/MetadataRetrieverClient.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -38,6 +39,18 @@ #include "MidiMetadataRetriever.h" #include "MetadataRetrieverClient.h" +/* desktop Linux needs a little help with gettid() */ +#if defined(HAVE_GETTID) && !defined(HAVE_ANDROID_OS) +#define __KERNEL__ +# include +#ifdef _syscall0 +_syscall0(pid_t,gettid) +#else +pid_t gettid() { return syscall(__NR_gettid);} +#endif +#undef __KERNEL__ +#endif + namespace android { extern player_type getPlayerType(const char* url); @@ -212,6 +225,7 @@ sp MetadataRetrieverClient::captureFrame() { LOGV("captureFrame"); Mutex::Autolock lock(mLock); + Priority priority(ANDROID_PRIORITY_BACKGROUND); mThumbnail.clear(); mThumbnailDealer.clear(); if (mRetriever == NULL) { @@ -253,6 +267,7 @@ sp MetadataRetrieverClient::extractAlbumArt() { LOGV("extractAlbumArt"); Mutex::Autolock lock(mLock); + Priority priority(ANDROID_PRIORITY_BACKGROUND); mAlbumArt.clear(); mAlbumArtDealer.clear(); if (mRetriever == NULL) { @@ -294,7 +309,19 @@ const char* MetadataRetrieverClient::extractMetadata(int keyCode) LOGE("retriever is not initialized"); return NULL; } + Priority priority(ANDROID_PRIORITY_BACKGROUND); return mRetriever->extractMetadata(keyCode); } +MetadataRetrieverClient::Priority::Priority(int newPriority) +{ + mOldPriority = getpriority(PRIO_PROCESS, 0); + setpriority(PRIO_PROCESS, 0, newPriority); +} + +MetadataRetrieverClient::Priority::~Priority() +{ + setpriority(PRIO_PROCESS, 0, mOldPriority); +} + }; // namespace android diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.h b/media/libmediaplayerservice/MetadataRetrieverClient.h index 8cb8ad13f1b07..852d73497fd48 100644 --- a/media/libmediaplayerservice/MetadataRetrieverClient.h +++ b/media/libmediaplayerservice/MetadataRetrieverClient.h @@ -54,6 +54,16 @@ public: private: friend class MediaPlayerService; + class Priority + { + public: + Priority(int newPriority); + ~Priority(); + private: + Priority(); + int mOldPriority; + }; + explicit MetadataRetrieverClient(pid_t pid); virtual ~MetadataRetrieverClient(); From 08c57535d180469bf902e75fc90c9f87c5ceb9a7 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Thu, 22 Oct 2009 14:57:09 -0700 Subject: [PATCH 07/12] docs: add 2.0 highlights doc and updated homepage --- docs/html/index.jd | 51 ++--- docs/html/intl/ja/index.jd | 10 +- docs/html/sdk/android-1.6-highlights.jd | 4 +- docs/html/sdk/android-2.0-highlights.jd | 201 ++++++++++++++++++ docs/html/sdk/images/2.0/camera-modes.png | Bin 0 -> 87824 bytes docs/html/sdk/images/2.0/email-inbox.png | Bin 0 -> 38766 bytes docs/html/sdk/images/2.0/mms-search.png | Bin 0 -> 12842 bytes .../html/sdk/images/2.0/multiple-accounts.png | Bin 0 -> 39122 bytes docs/html/sdk/images/2.0/quick-connect.png | Bin 0 -> 30379 bytes 9 files changed, 234 insertions(+), 32 deletions(-) create mode 100644 docs/html/sdk/android-2.0-highlights.jd create mode 100644 docs/html/sdk/images/2.0/camera-modes.png create mode 100644 docs/html/sdk/images/2.0/email-inbox.png create mode 100644 docs/html/sdk/images/2.0/mms-search.png create mode 100644 docs/html/sdk/images/2.0/multiple-accounts.png create mode 100644 docs/html/sdk/images/2.0/quick-connect.png diff --git a/docs/html/index.jd b/docs/html/index.jd index dc8bf2fe51790..9d349ca27f585 100644 --- a/docs/html/index.jd +++ b/docs/html/index.jd @@ -20,7 +20,7 @@ home=true -
+
@@ -46,8 +46,8 @@ home=true

Download

-

The Android SDK has the tools, sample code, and docs you need to create great apps.

-

Learn more »

+

The Android SDK the tools, sample code, and docs you need to create great apps.

+

Learn more »

@@ -79,7 +79,7 @@ home=true

Watch

- +

More Android videos »

@@ -120,24 +120,25 @@ home=true 'sdk': { 'layout':"imgLeft", 'icon':"sdk-small.png", - 'name':"Android 1.6 SDK", - 'img':"donut-android.png", - 'title':"Android 1.6 SDK", - 'desc': "

The Android 1.6 SDK is now available, with new APIs and updated tools!

" - + "

For more about the Android 1.6 platform, read the highlights" - + "." - + " Also keep an eye on the Blog" - + " for posts about some of the new developer technologies in Android 1.6.

" - + "

Download the Android 1.6 SDK »

" + 'name':"Android 2.0", + 'img':"eclair-android.png", + 'title':"Android 2.0 has arrived!", + 'desc': "

Android 2.0 includes exciting new features and APIs. " + + "For information about what's included in the new platform, read " + + "the Android 2.0 version notes.

" + + "

If you have the Android 1.6 SDK, you can update your environment " + + "by installing the Android 2.0 platform and updated tools as " + + "SDK components. Otherwise, " + + "download a new Android SDK.

" }, - 'io': { + 'devphone': { 'layout':"imgLeft", - 'icon':"io-small.png", - 'name':"Google I/O", - 'img':"io-large.png", - 'title':"Google I/O Developer Conference", - 'desc': "

The Google I/O developer conference took place May 27-28 in San Francisco. If you missed the conference, you can experience the Android sessions by viewing YouTube videos.

See the sessions from Google I/O »

" + 'icon':"devphone-small.png", + 'name':"Dev Phone 1", + 'img':"devphone-large.png", + 'title':"Android Dev Phone 1", + 'desc': "

Run and debug your Android applications directly on this device. Modify and rebuild the Android operating system, and flash it onto the phone. The Android Dev Phone 1 is carrier independent, and available for purchase by any developer registered with Android Market.

Learn more about the Android Dev Phone 1 »

" }, 'mapskey': { @@ -149,13 +150,13 @@ home=true 'desc':"

If you're writing an Android application that uses Google Maps (with MapView), you must register your application to obtain a Maps API Key. Without the key, your maps application will not work on Android devices. Obtaining a key requires just a couple of steps.

Learn more »

" }, - 'devphone': { + 'io': { 'layout':"imgLeft", - 'icon':"devphone-small.png", - 'name':"Dev Phone 1", - 'img':"devphone-large.png", - 'title':"Android Dev Phone 1", - 'desc': "

Run and debug your Android applications directly on this device. Modify and rebuild the Android operating system, and flash it onto the phone. The Android Dev Phone 1 is carrier independent, and available for purchase by any developer registered with Android Market.

Learn more about the Android Dev Phone 1 »

" + 'icon':"io-small.png", + 'name':"Google I/O", + 'img':"io-large.png", + 'title':"Google I/O Developer Conference", + 'desc': "

The Google I/O developer conference took place May 27-28 in San Francisco. If you missed the conference, you can experience the Android sessions by viewing YouTube videos.

See the sessions from Google I/O »

" } } diff --git a/docs/html/intl/ja/index.jd b/docs/html/intl/ja/index.jd index 3ed2357992350..8096247e4e1b0 100644 --- a/docs/html/intl/ja/index.jd +++ b/docs/html/intl/ja/index.jd @@ -45,7 +45,7 @@ home=true

ダウンロード

Android SDK には、優れたアプリケーションの作成に必要となるツール、サンプル コード、ドキュメントが含まれています。

-

詳細 »

+

詳細 »

@@ -118,10 +118,10 @@ home=true 'sdk': { 'layout':"imgLeft", 'icon':"sdk-small.png", - 'name':"SDK 1.6 r1", - 'img':"donut-android.png", - 'title':"Android 1.6 SDK", - 'desc': "

Android 1.6 SDK の最新バージョンが公開されました。このリリースには Android 1.6 用の API、最新版デベロッパーツール、複数プラットフォーム(バージョン)サポート、そして Google API のアドオンが含まれています。

Android 1.6 SDK をダウンロード »

" + 'name':"Android 2.0", + 'img':"eclair-android.png", + 'title':"Android 2.0", + 'desc': "

Android 2.0 の最新バージョンが公開されました。このリリースには Android 2.0 用の API、最新版デベロッパーツール、複数プラットフォーム(バージョン)サポート、そして Google API のアドオンが含まれています。

Android SDK をダウンロード »

" }, 'io': { diff --git a/docs/html/sdk/android-1.6-highlights.jd b/docs/html/sdk/android-1.6-highlights.jd index b4a97d7e13e5d..84766d6207c9e 100644 --- a/docs/html/sdk/android-1.6-highlights.jd +++ b/docs/html/sdk/android-1.6-highlights.jd @@ -24,11 +24,11 @@ sdk.date=September 2009
- + +allowscriptaccess="always" allowfullscreen="true" width="278" height="180"> diff --git a/docs/html/sdk/android-2.0-highlights.jd b/docs/html/sdk/android-2.0-highlights.jd new file mode 100644 index 0000000000000..d4d13fcc78a76 --- /dev/null +++ b/docs/html/sdk/android-2.0-highlights.jd @@ -0,0 +1,201 @@ +page.title=Android 2.0 Platform Highlights +sdk.date=October 2009 + +@jd:body + + + + +
+ + + + + +
+ + +

The Android 2.0 platform introduces many new and exciting features for +users and developers. This document provides a glimpse at some of the new features +and technologies in Android 2.0.

+ + + + + +

New User Features

+ + + +
+
+ Quick Contact for Android +
+ +
+
+ Multiple Accounts +
+ +
+
+ Messaging Search +
+ +
+
+ Email Combined Inbox +
+ +
+
+ Camera Modes +
+ + + +

Contacts and accounts

+ +
    +
  • Multiple accounts can be added to a device for email and contact +synchronization, including Exchange accounts. (Handset manufacturers can +choose whether to include Exchange support in their devices.)
  • +
  • Developers can create sync adapters that provide synchronization with +additional data sources.
  • +
  • Quick Contact for Android provides instant access to +a contact's information and communication modes. For example, a user can tap a +contact photo and select to call, SMS, or email the person. Other applications +such as Email, Messaging, and Calendar can also reveal the Quick Contact widget +when you touch a contact photo or status icon.
  • +
+ + + + +

Email

+ +
    +
  • Exchange support.
  • +
  • Combined inbox to browse email from multiple accounts in one page.
  • +
+ + +

Messaging

+ +
    +
  • Search functionality for all saved SMS and MMS messages.
  • +
  • Auto delete the oldest messages + in a conversation when a defined limit is reached.
  • +
+ + +

Camera

+ +
    +
  • Built-in flash support
  • +
  • Digital zoom
  • +
  • Scene mode
  • +
  • White balance
  • +
  • Color effect
  • +
  • Macro focus
  • +
+ +

Android virtual keyboard

+ +
    +
  • An improved keyboard layout to makes it easier to hit the correct characters + and improve typing speed.
  • +
  • The framework's multi-touch support ensures that key presses aren't missed + while typing rapidly with two fingers.
  • +
  • A smarter dictionary learns from word usage and automatically includes + contact names as suggestions.
  • +
+ + +

Browser

+ +
    +
  • Refreshed UI with actionable browser URL bar enables users to directly + tap the address bar for instant searches and navigation.
  • +
  • Bookmarks with web page thumbnails.
  • +
  • Support for double-tap zoom.
  • +
  • Support for HTML5:

    +
      +
    • Database API support, for client-side databases using SQL.
    • +
    • Application cache support, for offline applications.
    • +
    • Geolocation API support, to provide location information about the device.
    • +
    • {@code <video>} tag support in fullscreen mode.
    • +
    +
  • +
+ + +

Calendar

+
    +
  • Agenda view provides infinite scrolling.
  • +
  • Events indicate the attending status for each invitee.
  • +
  • Invite new guests to events.
  • +
+ + +

New Platform Technologies

+ +

Media Framework

+ +

Revamped graphics architecture for improved performance that enables better +hardware acceleration.

+ + +

Bluetooth

+ +
    +
  • Bluetooth 2.1
  • +
  • New BT profiles: Object Push Profile (OPP) and Phone Book Access Profile (PBAP)
  • +
+ + +

New Framework APIs

+ +

Android 2.0 includes several new developer APIs. +For an overview of new APIs, see the +Android 2.0 version notes.

+ +

For a complete report of all API changes, see the +API Differences Report.

+ + + diff --git a/docs/html/sdk/images/2.0/camera-modes.png b/docs/html/sdk/images/2.0/camera-modes.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4c1da57880262d398292601e932f9b17946c0c GIT binary patch literal 87824 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 literal 0 HcmV?d00001 diff --git a/docs/html/sdk/images/2.0/email-inbox.png b/docs/html/sdk/images/2.0/email-inbox.png new file mode 100644 index 0000000000000000000000000000000000000000..50d1c19033ac600893e02a684e7ffdb7e263ba2f GIT binary patch literal 38766 zcmV(!LFK-QP)^qh>qyJ8cef|O&pgr$Bt88{G7!0KhAqDDUR*fj&UzwnkfckdPg9dgh0J_X|>v3 z{@>iQx-2VE?BL{KcF<2;-8*+??#wr*&6zVoo6RP0r<*0AP*_`ATUuHw5{dAqTrNky znayT;G<^7QwOY+*?&;~dc=4j$ZWjuK*Onr%+w3N@DI_=~F)0xloSp~=tk*8EU(JBm zxmQr*cYYxd+VPLR(4B6O0EixK&!7MD=h*02nM`Id7>*u2>hI^Dl$<1yNV>baEmq6g zwQH?bD>CEGpa1;l9Xoa?6-w8Uw%g?%az9_c_RjX-J^Q=3xHyZ&La(r=wtfH+vL6&n zI79k3f4Br6<{thVC$T`R)9LJ1dtzcDP?D3KI>PQ>~*2zCQ&#$mw4jGUKCz^(K(Ofso1OeTX#*Q=|puGZ`I7*}*O1`J(1W5x`PMpIN&)YjH!wOh?r zv%zT4_v%4xfFb;7wOWkov}x0Pe0;RMTF4v#3Lt`<7^3w5qhg{4MGjiNd^tuGd`ch^NTia>S1ykk zH|FslKd$ste)joiS=m{M$%*$raDQ`4GsCD*P+MP{m!Ah&CnqNd8N@R2(tDRCCnsMl zxrkRzojx^q@Zbm5JYW;r`0Ctj<(5*fwl_8|_Q8i9)b?ltg90(S81{U#zPherG$*=YXtZ+?CM>id^0S@Oy&ue|xjo86jjY;ULPDB92pV$&O7g*)6u`d0l}BbE}^e6i1-2T z5P@GC%^{H?Z@=~STkpJe{OEBMWi%SWX)v=<0%!nOm6w;g{jyRQud`WMO+8(DgTeI9 z+wV5Fw9T3^x9HTFmgY8{QAfo>4nZM{?^#?`Sp{wA&40XESXj7g*DgR1|DHPF$9jo zM-MaOhsB1mNAJJ*;)`~n{cnH$8%9p0RN)RQhXa<`WCr~JTj}lXoi<})+q$PuZT+7i zle%mcfnS8C?Bu0QUtTcVyPy3-aa~=l*>1(WX9BDhwBCj>`@z~Dczb#8-m|-4QUUlv zW=19oHyVsRJv~e~wF|%(Q24XIefF2X_$BDX-(LIMtFOL_EFcJY1Sw?6;w1@*3HTO} zu!zVAaF*wudkzo}3=Fg|iQ0M<9IVPaXA=L%E^N&31&*#~Ql_rHu0AR@%%o(QGSS^G?##Z{2->XKtfAa;8%m3pS_{a1^lexLM`P}()VCTn<9~%@l2-F^f z0L{lZ z|Ka&ReEiYJ@2-1yPvM?*|6B)MrntCx)#_EBeDVo6&g3bRF>J_&ajL0qGMUUSHcDTBg8`~tT;m7X9W7+r8EFaecH#YlqD1n{anRd@>o3}g(6NjWCQacHnnky@>W zg3a5+@h5PMr%+{kG(A!-LGiw7(noIhsNZ5j-yJ-3@XM`VlJP?>lY=~v!4cz{ot-^z z-aKfw2lgM>ym>PyIWsYd#KgF9fjbNeLLunQid8ExHq0E!89gy;*}8_n?ouOT7FHYC zz8uv4-?_E|^f|BkI2&9CTz_ USMyC$36Ksj%xn$y=pGWuSxI;N@H1-JMiH~4Vp zoMd5Sq@QES7*v-&g_1%R^jp!^7^M1op6Nt3J2Q><-66m^H=GfbE0aoo&sY}D0+crSMI5C1` zH}0DqC9`6MLS8l>uw;xn3UEgZjUC<2(-7enmq?y>{LPVN;uY5vE)-(2-a=d4 z>0dNRI!#8WX(_QYD>}QOHyR+ank^O&x!l{^ODvYy`<9M{139Dg>U-HbpIzXo@Wd$U z483-+TB}{@p%nCSN=__rRM^L!1<>;8S}9kUEM|>H18G~OQhTY@9MKkVjnP?{)li_2 zd9ao^mDA4#L9h~D`GZ*ajmAqgC$0khlY5TeA>rcJ|rjaFl_nnsTvot2rXP$}x_ z>!B$zh1h13NW>Vacot7*lG6}2@r6&2+WHq^dk@nXH+aPHh$Xk}8V1X@*RSBKGHkVvEklfFlz0Wf=dG#0B>Dv{XT>0e6x z%0D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

gY<0&mHC?qzT{>3|d8{gm8+vnu$d>OtALsvo# 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 E0B^1c)&Kwi literal 0 HcmV?d00001 diff --git a/docs/html/sdk/images/2.0/mms-search.png b/docs/html/sdk/images/2.0/mms-search.png new file mode 100644 index 0000000000000000000000000000000000000000..22c7dca9db2f742c2ef03ad845af278962b6a8bb GIT binary patch literal 12842 zcmcJWbx<79w(fCh|U??nX{#P~xWc#%7fAwni3aYGy{Jo{l4CLQqibo|5OA>~p?<|1RfP80CVEjjbRd zp-B1b$NGvXM@Pr`II^Uakz?84_mRo$RqvyM9+Eo9 zK4k3*z$?4Mg(Q4XxwS{nwR{Qp!U1%m*J!WKt=2zn&tKMDszuI$ICggTq-AAgrKPtt zt*y(ds?J~UH|*=cgcNW=yJIN?czB<7zB7I}b@6Hj)uygL_36I7y+s?q1WHjGxsz>B zM?}0Xo$?IJ(PLhXzpKYDo$%!MHc??mx^xJnN#PSvSWJ`9eNKl{oyg>$wd7iupBJ~Q zV6KP=TMvFAbwi{MX3^V$4Md8h!AX!eH!o_GJwD!#VpNOV>3%DR4R=G4S_u4$m?$OT zxV$51KAwtz;n=WM88-`0?uIpXxWImr4}>$Wi5iB(3Q>Z;G_)fP=~eVP{gd?Oqj%87 zh^f~|D-qalSBHbwiJpN;{gYhKue_#)-NX-p&xng?!u&eL(2w8e!Qo}zo{|(suw=_+ zsk~9dH%EivvX$V~hQojjyDk%ce|UP0?x}HJb5W`1>m={?xd@XMIE1=b?r3y` z%AvKt<+RLKB-{Tp5$~#Tt%GB)U!Elrx&LUAQ`x}xY9$uVjBys4{@w@C#F<}er9c*J zjC$*6?o1rHuwf3ObaS3`TjfC;dI{Q|stKb$Ul|T@(K0E`-Y=kq7Ba`)rV|zDsaTch?Qb zeb{#tOI1LI_1Cesf*&$lQvlH?AU$>vuR;oybec?R~THGV2oEo4I`Ptzb+< z;^To7gP+5+5nng7ezY|oo7x5<4j#N`O+B<-hz5u@;#dnv;ty-t>D*1X+R6muF~4%MQC z2pG|(aVRmV16X*cnja$#MP|TYWLVR>rCg8cZM8_7wN`Y&>y((ZMbiW9?pfg`6U&Lq z+-juvMFZc8jt-OE(Ihfq=Gaek!|(x{TJ0@=v)tEb-1_KmH;v6)cY9?C8tdzsAdlRi zetCjXmj1zhuO|-{4+n8Qz15EE^ViKjK(^P>Z^5%>SQnp{%OO?gq9q%ix%ZcrYu1h% zHD|?ZR=>-rpX{H8e^qv3+}Yh6%sk(n!mg1JlVIYMV#=pZiJR{V8WDi=O!7#0?AMvF z6y45N(=sxm#PKNz028Z!R$+JoP`-TmGK~Z5jSp$mVsxhBVZmo-ze=sC=5L-1Ahu{7 zqN3+_r?YZu7?%W{;YAb%O*V=&s0`~erXYmD*=;na?lQA+-KWOj^Z42F{36ccd%B(y z@!t$Y%0sp(FA{kIFJ!C0ba z@bZ)f!~Bc)9?5g`G$~9(l%e|Laqa*L8F z_|IRQAIX&Pe>>W4}2=-E%X4U$w zTln1`&Y^)dlXB+f2=L|uAPzR!DP#1D`;1Hh+egDURyyg;dQ|Kp%Yq?G)n79=BXdSD zX%Y@Lh+N-8P$MT;r6pLH=TPvCdSFqHj*nEb1YB26o0z?vW=O`?o1e4Ws2;{olnT{6 zPY!B6OtA*ey02QFC|a<)p-Cbdgtc`ZHN5=zqOx zubd+?u}a#8-t;tqlJjy!blpY8=3sUaP9fHmzcEwX;M(BunvW>EPq5RsA}cFdXhM2? z>ve$q($|h)4(|)DiVS69zUI%wSb}M8BK&QWPjAjHOFQsc{>^hMxr!79CxjK7f9;qQ z`?rtMxb5LAo#Z2puAVqN<*h}wC!LX8kg9#A^FFC1Wjr4BjfVF+=X*9*pKNzifO{m- zY;lfXdUEo@^0I*2$&!2`9lHYf>z;#qdq;bY_gTwugj|K@nB_-Ii72$sgeaBw-=2S9 zCxRrg!atAeTLm-w)i*UIVzmrr!gB=7vwr#%Se26c6Ui05ij9V*Ah$ZVs1?CYKv0mx z*LSRou0U1fpE-^9~GYk!4t!{Ft3V4AwlVk*p}&2?;Ht1n#g$mUzm zUP+a858vw`aS6^f!Ax!hWtvj7?rJStQDg`v6%ur|rrOGV_iN~2FuJvoDZmGTkH-cd@*JywRCL&XQv8q=vxVSX^b z()RM{bYCU69hME8U14$IRJ$u(zWc8V3`h(wUb6gGtx$N3|^H<>lr5hQDae zv4l?ieN&41^G5|19k#V#qw`v(_ZkbvR1SUiyv?WSj>#hf?Ooi?q zk8jT$rXvISZ_;L+loMYn%T(ARo>TH61F9^hlPIh;qMI%iQBl(6O+DG?vw=1!PZXqt zhUbsONoVJ%RKqMz%(-`>!lVaW4yY&@JDP$p`v6ADqpEgLZb6@BE!kaQ^m`{Xl{2H1 zouMme5`&-;Ykz3kb=u^$DEzgnE(f`!<5y*+^1}pvov8MUBJR6EC^7==qwHVc<_11U z%^l_8njmkJLl90Gd82&uFAOg~OQ?{;Mvp6l7_?%@479ysx9e2X)#gnfl(7n?^xr@L zURA_kxURo2{3N4-(Je0DySZ=ko_p&%jo!Q$2AeDFNoxOy=1i!AqqnQhLk&s`3=VCY z-e}u>?JnLO$%@}8P4k~xNmmnwsZ4CtS$^XhIl4rE4reid$Zss=;KFdLqW zz_YzROB6F{+HIIfN*T?ShP9M2`xG1sX&v|3eF-juR%HqTRPm2%r!^o^!AyW?k6(-q z4XO727()U~`&jC{D}Nq~^xp$_B`|eru<&?;ic%IKHmRDPnx3Xx&(ILTJ-STrm@fWr z4FwVSE1)Mmu7bW{)qqV8ElMYE(Rs76tFUWyWK^2xHM76o<4{7MtlPbdtDEbvnNx>2 z;9S2#Rq;dZ!a_0;@01*ALTXah7d5@;%pQOoM&SWEf`%+zV(CwYjJ|XM_J*38nGI1$ zFgB$A;UJ1J01uD2weW;a(%RNa3iFY^_c&69ilQ2WlYOTEPGeNHV6ds7so<)xkU*^V zyb9f40Q0JlNMto+T+-55(Spa8-F7YBr1#;{ysogNkO=Fq@n5mk@1x(d zv$N;sG`OlSOsNPt>0N*-?kWNP-JiBUHT(%4c0{kEZr$;5KHgO8rB>=Doo@d;5wqD3 z$$sLvi#pkTrfeTRe%$b$>PUq{BNM>Ic}iYLZgHQO_ps(T8>!Yk4HJQ-drkbP5>^=D z8pxc+2i`F_&0DZ)AnYe{=7f2HacvbLB)fZ9l%6PBpqn$=>O;j-8@Q=IERcx_qTGMA zS>K6F1n+<`nD>OT{o8-n9GY&)H>e3e$AYsNRI1s&X<&1N>(uI$XOZdies1~1$47{Q z;;*cd6RTVD18f5!q-^K?%*wOMpk5f@sl*|Ci^e3m4?B2?iwt4N zhU4++N#y!w*8Be4+TJ=*;R8m7Bwdo3nOVh~sjHGrv_zg59BWL9-X~V(HcSE%MEKmr zVz7PtD(yEG$Cjax6>kld-mm0j&;17uk1K3!k z@Zr`t$fn3g2VSl);ZQ}0}Z;RQbk%^@g~n_uQmS- z-!`|?g*%rIbTOH!0*6`ep1KT)5;0_~d>A;K%(lcF;&#T1&ZzZCHbV`?46l`8E037f z$ax{6+Qj?}?6kCS${V#>1{;mOx~^Zi+ocl|gc+|EJSav4VT?qdhI<=h8_UPbJ+JqS z9 z6WR1^W%fno7@#HAyPfL9sKta_=w`VEW>qZRO+`M;nq2H{<%pu;)!Gj67*ZJW;g3X) zFciuzfBu%2M^)L#N8xv{1)GK#ODfFayL@wWbhOZ@*&-D?x)OoEI1s1UrrpV(g4Ox> zyn(78=kO3LQsRO{&WY8D8vg7|jCd*5bf$vl>=T|4 zNJ(KegwBEI4h%E#HYnGuQK!a5&NP0YcgxeKPp%a;TBF5gFD=z9OJKGRO*AiE#A)XG z=4kMTq;eh_xsDGeP>BUcalmIJNEqIM*@?}lZ9$&>YtqP45f{--PFWZ|B1;j zii;X&IriMB&8eq;10W#W(E4Ds zJ^x+_z_Z>m`~E6>%wTq|T}>trU!tqg9{0&wb&TYFIfOUV za22g8=xlR@om8BX33;^&WK9fWy0{q8|LAj{@1^dHa|^T8HX?2h#;H`m@FJC_bi#}v zg`-B?3YWmRN1YBTYj2Zz7)g*UoA10|_a-AFs}%0jV#y1j=E*pPP)3*M;KW=UFD>n2 zv({JruRvg~W*L^biXk}L=x%4+hKF$nB~ROui_qE03E@Y<@0M?4d(7rh{5HU)Ou_w< zpQZk~imh#Jt^)cV9?j1$WB>p_4>wZEz`&pxUWXA+A!;B<_XIjy+lGyBhoeP<&i30k zWF(~Sq`O!*e^LKcX_7AtNh78|n!DE{%>Z|}%|YYAK|%42Wo3-i)G(66R&`#UUR0Z> zr!n5SSsI{nm!GB7~NuqNQ?vcd?Bn>r{dHwB=goM`{ z5xH)EZYy-BgVWQ{6RN|#J#)E95LfQeO<>KSn z`x;K)`jQB8X0ve9rIW0ztd}fzuF{5vc~hQ1=r!TBRs%Af9z*p(U(BFaaDjAV34#-p zi9^b%ibDtV?)E9HT0RFz=Id9Y%Km|YSIgnRNoiEulV&8hTG`L8pC`96FRCv_66q)e zTuO?I5pB8BqqS(|<>ep2nK{zZ(jAX`8O^mj?utv^eVWglQ$lsd1K%Ma&dtr;akp$u z;d?Wq-sOd&ANPiWg68#Dn9{X+vpbn3NL6Pxmh9>6*>!WJ2+8;fSPAy!9tDt?cHQOe z_wsN#FfbtcUX`PgBeJG%EH6JY$jT#;$ZXI~NZU=XL5~+tv64ZZ*x1xGw!=X|L17A? z)$>!z8nxfveTizO@{9$|E}~s_1(rXLuEMtB1YN2aN>a~$`uXVrB7@X46yjaMCdQ9W zO;vT~kV2JC~o0T4Tzc)nLI^fm~(>EHf(S z8mVZV8u#4LpnJ`Z@Ie+2P+(WrJ0OHK-#QW2H+;i!d$8kjkmS7cou!q#i_*U*7?rKr z#KeSMZz<3XHh?@lfZ}~%yUXuvQAPBXs}dIro7<8OApXIvgqt_2;zV z+e=D;Z0y3~qU5frsi{x<({}ZA^}F}|J4`SPZ}|$8s_)ZbG04bQ|MkayvQX#6<$Re| zTh#MfRG04UR;jcKlh8{aXapIZnZd74;2I8i=K_%-;(~G znG;bc0xG~TNkWHjyAd}~^6dwz4E!LwQ$Rk<8rB8iLPcIVL1D==P`y|wRHUS|lvvn{ z%j2uAI%;ITGbo6i!A6rLJ@aSkFO5&z+uJzU*e^b>Ks{qMYAYDZoauPrLG(kjM@;b^ z1kxkkCv(=t?Q@TL>{cIWrb$5pUg*AAnVByaeSnnYWCwqZ;oa?kudbg2ZT4ot!mu>uuF%*xEpdyG!nv1b%+s?how+=s+OUj>i`L3 zEQM&N@gs_MAiwk8=0fUEc8kf(9x+l5Q=~Ty>$wZp)q&4SS*bZWU1rD0EB0+@kG&7Zu)N9Rc(nAE$ zOEMxN1;PcVi;{}xfbW#9ZyGPKytl5Ks@ie z(?CV&*O8OhOOlU#Vwd@|GkzXcz^((_`s;|Tu`jN8UTNRxyx(<)AEW^oWCAV| z#nvF}MjLQYg74Mb$W8st-@1W7=)f~cRc(XVvDq>~i;c)bH3NfnL<--F@!6>mgm8&1 zMm>^2AeRiA|047of_Stx1BSMZW)bwb*vww@Uc!>Cgw2}aKCnA5a2f5UB}BB` zhe$a=$?sPLT~e%K7+ zMXVOjBqB9n1_Dwef;BhsX%Q{p?J$Wk;9>b|U|-5LEeQ_fs&QJwJvrSF=LjF5xB0Ag z=u1BEkxo+s>wywLHnxOn&FZg6p!i(ki1C}WVy!3(R0S!lX< z(xyhNhcaMz7=7UKk+TW`W;oGvh~;!(GLb98)9`h3vz-oT58UcOq>vhil%!uYHS)iN zDT0OyFYCsUc&Xp+uJ}u`M3~9!`04V2SM_#sWBV!4-e|nWcPC)~`z`qplE)sBz+rJp zy$zI4?!EApQzJJjh~@a>6P4n09v?S6*Faoc+^?uj?7TeOy^fW?D{6E)@BNnk{xDX` z?X+jO>6<4OtcGR({Hhw)QTAi|y$%QO>aFl^h z^#UR;MeEnQ3PP|xbQiA+OIwSD$n=QczJoa zk`3sS7dsOd?A8Pd z6~5IipLIUl)o7z_Rp_U=o`$P+B7k1>Y>XM7OL-oi4?4cO4CbMh&3S~h^ zh=$NK4==Au8pj7$i6e;0kmLXMXxp^zR`3l&R8-W(3lgj#0L@KcJ)IGZ2yjEmykB*W z8?lsl4h{|~pw7qa85^_i4MD~qqF=L{7m&R52&rLU!nF}ZSdExqN1P=j_i(*dMMS3yNPQmog4M2 z-*!2-(tKSA#}qPmX?dv>$ZyaG&>#yE+YCa)FA>rpB(!{vNTB(S5>;DQ*J2wQ)Z%@% zhMx#uv5ANk4i^ds4~Lgc-=8ERxls@&v<%#c&&jD$D|Peh!1)cavH;2(0p{=l9w1h_ z&)IX+OS$t_zCON`8ufY=n#W$Qknbq8DUNr;W{U?=olZqQC;ja(UFEUB#~j|~q@Tjy z(BDltZ?LYs98Dh|7q>qqNRX;G@GTI#1`d|^TMN0@!&dl~5=4ON+@!~kd=#Mbwlg;Q z$gwFP>bm@@0T`faH`+#^Cya>Cy7{|1vEJwA+ZvV<8bZmXTg6p#tMKA^vcz6C@ia^m z7vL;+H7yAcZ^I=ZC@8$B*E5&wj>7*Q;sdU)sIXnRvxN?X-u$4uur4pJ!~qfo0W!^B3=A*`;wn6& z(t5r}Li2e<;Sj_cEPGNbHdXNf{dC2*l;GPbP ze)Dqk@KnC~Fh9qZ>G?s7tq$)yx{n{X1#tNg4t~wa%OTa|*+n-KyDBTkHZ{554p_0q z5NrU#Y#gIRhm1&m{`xUbQH5YOTU@*?zz2snKeKT8=6!y?-q2Riv0VTV4e~vlzY7Zs zy^3)-`JHC~C@$4n6tr1lqZQAiL_w=umdt__PK$?&w%P>bDsyVNe=z!4jOP=M+2K7s)&Kg3%7B zZ#b+N;PuV1eNj>nrNoDqV3NY=b>HW^9?2ke*Vo@-W=b0}(S(;duPAKHL0JFBkpBqx zPMCfQ@h9sY8D4=GYw5wFMbwzX<^M#?f4==s+63rzU`vR|IP4?p?Yo4i~H+14?Hzfas(LpqnG4YPjFdPy8zo4EiEl; zMnRPQ?~7aS7&o`KX-af=3H*!JLuZ^A7Zm<9LMd_G&keFCeF;SJG2K_E&6SwOSl^*Q(b6>BI_G(zX?ZLu^)gt+}&fje8HfyZSi z9Pgs*Q$_owE+dao6_jqCm!uS7&dC!99Mj{5p*;bo#BwD_-1SO{l( z%o*3QJ2A?num5=9b=us|!w{@2Ej?_uOvD4l&y?cb7SHq{en{8jggu+j{pkh)4jHV| z+}xbUvq#;mxapOFZIu#LRBUV*C6%fl52-@P10w?iTWw!&FN7Gw6(9+%q`bUc+u8A8 zI`3tzxO$q+k|sX#T%LzGW)tTP&c3_i=*UU~YBbIlN|3%JuO`r!YTl@-sw})yTms@U z0bqYH?vxO^>>tHxZQRzi6)C5A1^?3u zpsf46mj+5KRx+q_o5(wneEIb~#n6)mvzrIB@@>U}vB4}h|L&Cyjq@~2i+1c4&ZsGml0QE2{hhQ)?v3SE~ z7pKK!x8@eL<<9MXiKRF*rd1-UqO%4tXvSW z5v#p}#!Tt^pgQdL`i6!}Eogx@0V?TV625G)Ej1Unm%Fk>-JilrK(a5dFTs*Qc{)qO z$s;o&&1f=-30XFWPi%tpg&;$E4Y&tHF?J76?;bO822*%t`Y#IhtoB?enh25-D`f-B zkbsoggV)Hbvq3(t>h8QR_ggwc9R94TJy8^mL$9+(4V>~k+Ck4)^FEEy}iA0 zA}=M4jmfsc1bk~2sTgyE_V0(bK&$J$i3kb?Vu`?*i_2TAW&@#_ z+oMf_U@=HJ#fD!}tWXG(lm}ucV^C#h0|d4%w=OknYxAyS&XM*@IKKF%y)9x${mtE^ zTn$P!S_29=A)vDAHDeOuB89__BL6x(IgskDt>q9QSNcqsT1_PxrlFzv@;K!m8yjix zxWQ;&9l6pl9Jn6xrr}*Ol>?!kCPfW$h6hV?RBsw+a%$TCI50`7>1)_6qz^+bV#{O2 zwrO{7x7SUKYJ=;x=%8oj1sxY?`sbJYiJ07?`|rm9@>F>ViC#w5E;ZeuPHl{Rf-vMz z1Vs2gflU+yt~n^d(=Yu(XnYjYL^d!V@cZz@u;?+40tJcWLW8KOX&y#EC#g#Y%(OA} z)n8?b@MD@o4X0Bmz6*F)F#3DA;JV4iIgN}#tdtsPzCdW{I>}=p;k=6rREYxSh%lsK9O-T9 z_hAl`)V|oq*k?+Gx%fI#(4J&>CO~iBnN$ysf0}=D18^f%<$p*`81_ks+htntyuHqB zHhJk`X+K2>ApY0u9sHndq31)I>9523bjSjcxY)_)9t!{>#Jql_u3!~J|L0WJ)GbGo z!P6J3kL|_W`g!OLJ#? zcIugP_1j^>v$b)PzJ-!ff#38F{ijb~yBvM3b*-x^@1NAamM61zy<9DKxV^nRN`_-x zIzXcMP>$c~`utlJjqE~RIV6$mtBjKgx`8JBv%u6G@0G*1Ca+JoFE8wrtgHa^E{CmN z_djP+TgdnO3abZ4XUh)*gRhA9?}>~2l~4$bt!P1LNJ#YjT54W-xU;^65|J%_kfuLx zS?`D3ix?7Kuac#G3%B#-tRFuhK=j3>mR?Axy{+uo=JKnOr$i8#N~L%zlZA-^jRbcA zyzaTV3C+g^(F29o6P$RIWcSXkHuSg#OasngR_%kxc&g$JvBEu;;vv5MkA z&SDw_>44Z_Xl|)BvD%lQ7w7#ci1jo-x3IIfcU5IgCGpiWZQhuffdPUgB|b(*TcNe6 z!3gMoRpJteo(N{b(8z+)bH5=JK$lmPRRwExS}bNm{I7`Nh?5f=sVH*N2^D!(dU~j@ zSX9*1`EA95oSbzk8$(lt;!R@lTUc9`OmERhabl5jOAG7C87ard+hc%aenYRfgPHnt+TGvX~EI)$Tr zO{L2I?x9(Ywq~VXWO}Y$+SfFvwAGa{lGiDf{U?KBWgpRr8rK!gC~&PU1npXvPgfcl zaZws%->;k@s+6*_vWW?e;4&QpN<(y1TyXRZp>3So@j}J!?k=QnC@MNy$|oN59D6!5 zGvk)wd!0OiN%gnx93Kvzd{Qu4W2Mm^b}E*DRMhi`wgiWOpb26VMU&V3@`n`ziBW39 zxCIp){H?n8iBV=^W)4ktB*==;fHX4bXX!)oqRdrRn_F$Hh-yI4g1t5c5nhY^yU4H5 zaVu-9$47mr(TUOV(Xol=zfr8YFaQb>Qha=bit4+%hFqqHCciZ=H>l1&KM0F|p(sDn z+QY9)Y0^?x$AOE+fX=%=Sqt8Z%9reu0AJ8El$Mn6xn9j(zHHl|PZ%R?b(8xkVMBcn zXcO#Qh7LPjYjVHX?D4)kIXpR%A`~7JRS&o9>FFsE)!8~c^t{*<4+IAA9Z>H8Q2w6f zG2OLu(sIGQLfKN`qKN7~6R}FlmclfO z`B1Ot=f`b=+hCT!U$8+iY?ygBgRw>wqaei`k#$HG74bcCfgr@soXpJV2k1BGf<&3{ zP&OkFCM_KuMl3PfmS>4Dq@9)xW*Y14x`Es3vjd225M6;t)KBOkJPKz}WmC2;IP37+ zp>(M9e8c>-ypSiP$o0_^dJ^Uk!iJ8NgXxr*1!>Eo#~v-_Q#(RH6{4LgP9;$z3vwvz zLU%m;QDl{tk;>N`OJS}0{X5WO8m{RsEGRIRl-mlo60}+u9-(~KLsgG7p33cw|AX-J z;L?NkFhD;<-1UCVJtdnp^bNC_2Q2`60_$YXNzXy+CugHnu2Wc9RVLdMP0EkWy@Qda z$70y*kS9kSwE6n-8U~;sry$u_nvOupJw0$s(C+Vq+18<~EUo+@_hIDI2%##{hS0V- zFTp$Vj#wyLJEg0o2N$4RB`Y4qsb6YHY!H@W(0I6Zjf9$Av=Z5FY|+(nqVGQ-#jQ(h|0_D zetiuX|2t6)>`pa+9sQOm$sa$9NZ}Lj&R5l1`m{7-f@g;JvQ7SqkvQO#zX>;o@N+kf z(;_w0$@eJKzaQ2d14hQ%NF@&=fqALB>k66`Wdveyc}nwheP6TMFP3o}?B+VSeJU7= z>y_Qo1dQShBAH{^1aSJ{^0{%*@r3zq58Vb*zkLFr4L^lF?aYiw1hTR4DAOg0-(Sc^ zzt{g}V$k{e1^IMw`OlFbby7}F9C<%|VAi%_J9e|kAyNinZ>{8lm$xcO$yYQlG~g-& zBV#b}ruFG?_$&sE5?#uN4|F~Knf%@eJTPlCbwkntuvG6eD;0e?XNG@Rv0b#WCCX)k#epCb%e ztg;wj^J$|-P5PKLr3TVCPPp2%>NF;rjd#;ixz+~4F~bH!9E+-l?jzAyh#u6NEY3Vb zy%dN2^7D&GK^~qO40Fyu(lJazu!E~prhu=)W>GkBnxY5_e#t6ETVf}-+Z_SIw!{0B znEXgm7?9({cK*{Y#8~|g)cc=y|Hn^3=K4>E{%@1^U!(usx&Czp|AEE-%kF=4!T;&B|Icfb5bPEB|7qfX6EgnG;{E&R|MTh(i~r{z k$p6*y_ipsQqq0G{H-)AX`&HvX{`>(YFRd(9DFF)lU;9~O%>V!Z literal 0 HcmV?d00001 diff --git a/docs/html/sdk/images/2.0/multiple-accounts.png b/docs/html/sdk/images/2.0/multiple-accounts.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4cb157870d99b3fec77b26e66b683adf845268 GIT binary patch literal 39122 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 Date: Mon, 26 Oct 2009 17:44:38 -0700 Subject: [PATCH 08/12] Disable flaky and failing tests. Bugs 2118268, 2176089 --- .../src/com/android/unit_tests/activity/LifecycleTest.java | 4 ++-- .../com/android/unit_tests/os/PerformanceCollectorTest.java | 6 ++++-- .../focus/ScrollingThroughListOfFocusablesTest.java | 3 ++- .../touch/GridTouchVerticalSpacingStackFromBottomTest.java | 6 ++++-- .../gridview/touch/GridTouchVerticalSpacingTest.java | 6 ++++-- .../android/frameworktest/layout/table/FixedWidthTest.java | 6 ++++-- .../frameworktest/listview/touch/ListOfTouchablesTest.java | 6 ++++-- .../listview/touch/ListTouchBottomGravityManyTest.java | 6 ++++-- .../frameworktest/listview/touch/ListTouchManyTest.java | 6 ++++-- .../src/com/android/frameworktest/view/BigCacheTest.java | 3 ++- .../src/com/android/frameworktest/view/IncludeTest.java | 3 ++- 11 files changed, 36 insertions(+), 19 deletions(-) diff --git a/tests/AndroidTests/src/com/android/unit_tests/activity/LifecycleTest.java b/tests/AndroidTests/src/com/android/unit_tests/activity/LifecycleTest.java index 80904da5f0d71..069b697d373f2 100644 --- a/tests/AndroidTests/src/com/android/unit_tests/activity/LifecycleTest.java +++ b/tests/AndroidTests/src/com/android/unit_tests/activity/LifecycleTest.java @@ -51,8 +51,8 @@ public class LifecycleTest extends ActivityTestsBase { } //Marking flaky until bug 1164344 is fixed. - @FlakyTest(tolerance=2) - @LargeTest + // @FlakyTest(tolerance=2) + // @LargeTest public void testScreen() throws Exception { mIntent = mTopIntent; runLaunchpad(LaunchpadActivity.LIFECYCLE_SCREEN); diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/PerformanceCollectorTest.java b/tests/AndroidTests/src/com/android/unit_tests/os/PerformanceCollectorTest.java index 1a0c2d18698f8..d0fdff4de2acf 100644 --- a/tests/AndroidTests/src/com/android/unit_tests/os/PerformanceCollectorTest.java +++ b/tests/AndroidTests/src/com/android/unit_tests/os/PerformanceCollectorTest.java @@ -160,7 +160,8 @@ public class PerformanceCollectorTest extends TestCase { verifyTimingBundle(timing, labels); } - @LargeTest + // TODO: flaky test + // @LargeTest public void testSimpleSequence() throws Exception { MockPerformanceResultsWriter writer = new MockPerformanceResultsWriter(); mPerfCollector.setPerformanceResultsWriter(writer); @@ -192,7 +193,8 @@ public class PerformanceCollectorTest extends TestCase { verifyTimingBundle(timing, labels); } - @LargeTest + // TODO: flaky test + // @LargeTest public void testLongSequence() throws Exception { MockPerformanceResultsWriter writer = new MockPerformanceResultsWriter(); mPerfCollector.setPerformanceResultsWriter(writer); diff --git a/tests/FrameworkTest/tests/src/com/android/frameworktest/focus/ScrollingThroughListOfFocusablesTest.java b/tests/FrameworkTest/tests/src/com/android/frameworktest/focus/ScrollingThroughListOfFocusablesTest.java index 07916ee83d3c6..6fa95331735b0 100644 --- a/tests/FrameworkTest/tests/src/com/android/frameworktest/focus/ScrollingThroughListOfFocusablesTest.java +++ b/tests/FrameworkTest/tests/src/com/android/frameworktest/focus/ScrollingThroughListOfFocusablesTest.java @@ -67,7 +67,8 @@ public class ScrollingThroughListOfFocusablesTest extends InstrumentationTestCas assertEquals(mNumRowsPerItem, mActivity.getNumRowsPerItem()); } - @MediumTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @MediumTest public void testScrollingDownInFirstItem() throws Exception { for (int i = 0; i < mNumRowsPerItem; i++) { diff --git a/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java b/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java index 3937c435947a9..cc8fa6e09b6fe 100644 --- a/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java +++ b/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java @@ -70,7 +70,8 @@ public class GridTouchVerticalSpacingStackFromBottomTest extends ActivityInstrum newLastChild.getId()); } - @LargeTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @LargeTest public void testShortScroll() { View firstChild = mGridView.getChildAt(0); if (firstChild.getTop() < this.mGridView.getListPaddingTop()) { @@ -91,7 +92,8 @@ public class GridTouchVerticalSpacingStackFromBottomTest extends ActivityInstrum newLastChild.getId()); } - @LargeTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @LargeTest public void testLongScroll() { View firstChild = mGridView.getChildAt(0); if (firstChild.getTop() < mGridView.getListPaddingTop()) { diff --git a/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingTest.java b/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingTest.java index 0b39909259425..355c5a41c7c92 100644 --- a/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingTest.java +++ b/tests/FrameworkTest/tests/src/com/android/frameworktest/gridview/touch/GridTouchVerticalSpacingTest.java @@ -67,7 +67,8 @@ public class GridTouchVerticalSpacingTest extends ActivityInstrumentationTestCas assertEquals("Wrong view in first position", 0, newFirstChild.getId()); } - @LargeTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @LargeTest public void testShortScroll() { View firstChild = mGridView.getChildAt(0); View lastChild = mGridView.getChildAt(mGridView.getChildCount() - 1); @@ -83,7 +84,8 @@ public class GridTouchVerticalSpacingTest extends ActivityInstrumentationTestCas assertEquals("Wrong view in first position", 0, newFirstChild.getId()); } - @LargeTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @LargeTest public void testLongScroll() { View lastChild = mGridView.getChildAt(mGridView.getChildCount() - 1); diff --git a/tests/FrameworkTest/tests/src/com/android/frameworktest/layout/table/FixedWidthTest.java b/tests/FrameworkTest/tests/src/com/android/frameworktest/layout/table/FixedWidthTest.java index a54d503cd1bca..3ca03b73735ca 100644 --- a/tests/FrameworkTest/tests/src/com/android/frameworktest/layout/table/FixedWidthTest.java +++ b/tests/FrameworkTest/tests/src/com/android/frameworktest/layout/table/FixedWidthTest.java @@ -53,13 +53,15 @@ public class FixedWidthTest extends ActivityInstrumentationTestCase assertNotNull(mNonFixedWidth); } - @MediumTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @MediumTest public void testFixedWidth() throws Exception { assertEquals(150, mFixedWidth.getWidth()); assertEquals(mFixedWidth.getWidth(), mNonFixedWidth.getWidth()); } - @MediumTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @MediumTest public void testFixedHeight() throws Exception { assertEquals(48, mFixedHeight.getHeight()); } diff --git a/tests/FrameworkTest/tests/src/com/android/frameworktest/listview/touch/ListOfTouchablesTest.java b/tests/FrameworkTest/tests/src/com/android/frameworktest/listview/touch/ListOfTouchablesTest.java index f8b384dc321fc..39c0e459e02b6 100644 --- a/tests/FrameworkTest/tests/src/com/android/frameworktest/listview/touch/ListOfTouchablesTest.java +++ b/tests/FrameworkTest/tests/src/com/android/frameworktest/listview/touch/ListOfTouchablesTest.java @@ -52,7 +52,8 @@ public class ListOfTouchablesTest extends ActivityInstrumentationTestCase { assertNotNull(createCacheForView(mTiny)); } - @MediumTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @MediumTest public void testDrawingCacheAboveMaximumSize() throws Exception { final int max = ViewConfiguration.get(getActivity()).getScaledMaximumDrawingCacheSize(); assertTrue(mLarge.getWidth() * mLarge.getHeight() * 2 > max); diff --git a/tests/FrameworkTest/tests/src/com/android/frameworktest/view/IncludeTest.java b/tests/FrameworkTest/tests/src/com/android/frameworktest/view/IncludeTest.java index dd1382daf7d2e..2e0a18a3c65b8 100644 --- a/tests/FrameworkTest/tests/src/com/android/frameworktest/view/IncludeTest.java +++ b/tests/FrameworkTest/tests/src/com/android/frameworktest/view/IncludeTest.java @@ -66,7 +66,8 @@ public class IncludeTest extends ActivityInstrumentationTestCase { assertEquals("Included button should be invisible", View.INVISIBLE, button1.getVisibility()); } - @MediumTest + // TODO: needs to be adjusted to pass on non-HVGA displays + // @MediumTest public void testIncludedWithSize() throws Exception { final Include activity = getActivity(); final View button1 = activity.findViewById(R.id.included_button_with_size); From 13b93713f36d64783f3199c83b37ca58d8ff35bd Mon Sep 17 00:00:00 2001 From: Yu Shan Emily Lau Date: Mon, 26 Oct 2009 17:58:52 -0700 Subject: [PATCH 09/12] Fixed the H263 video duation which caused the incorrect video validation. --- .../src/com/android/mediaframeworktest/MediaNames.java | 1 + .../mediaframeworktest/stress/MediaPlayerStressTest.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java index 9b7ff6ccf427d..3b69df8983ca0 100755 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java @@ -503,4 +503,5 @@ public class MediaNames { "http://75.17.48.204:10088/yslau/stress_media/mpeg4_qvga_24fps.3gp"; public static final int STREAM_H264_480_360_1411k_DURATION = 46000; public static final int VIDEO_H263_AAC_DURATION = 501000; + public static final int VIDEO_H263_AMR_DURATION = 502000; } diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaPlayerStressTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaPlayerStressTest.java index daa0ca74c9fd7..fdb43da675f70 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaPlayerStressTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/stress/MediaPlayerStressTest.java @@ -94,7 +94,7 @@ public class MediaPlayerStressTest extends ActivityInstrumentationTestCase2 Date: Fri, 23 Oct 2009 19:17:12 -0700 Subject: [PATCH 10/12] doc change: add SDK sizes, checksums, small changes for online SDK doc set, add layoutopt doc. Bug:2160782 Change-Id: I020b31e10f2733223aa37d03687cf8a63843afa7 --- docs/html/guide/developing/tools/index.jd | 5 + docs/html/guide/developing/tools/layoutopt.jd | 62 +++++++++++++ docs/html/guide/guide_toc.cs | 1 + docs/html/guide/topics/ui/declaring-layout.jd | 14 ++- .../guide/tutorials/localization/index.jd | 6 +- docs/html/sdk/RELEASENOTES.jd | 19 ++-- docs/html/sdk/adt_download.jd | 72 ++++++++------- docs/html/sdk/android-2.0.jd | 57 ++++++++++++ docs/html/sdk/eclipse-adt.jd | 26 +++--- docs/html/sdk/index.jd | 91 +++++++++++-------- docs/html/sdk/installing.jd | 61 +++++++++---- docs/html/sdk/sdk_toc.cs | 5 +- docs/html/sdk/tools-notes.jd | 20 ++-- 13 files changed, 315 insertions(+), 124 deletions(-) create mode 100644 docs/html/guide/developing/tools/layoutopt.jd diff --git a/docs/html/guide/developing/tools/index.jd b/docs/html/guide/developing/tools/index.jd index 91b430ff771a3..6e9fde1fb0f40 100644 --- a/docs/html/guide/developing/tools/index.jd +++ b/docs/html/guide/developing/tools/index.jd @@ -30,6 +30,11 @@ applications on the emulator.

The Hierarchy Viewer tool allows you to debug and optimize your user interface. It provides a visual representation of your layout's hierarchy of Views and a magnified inspector of the current display with a pixel grid, so you can get your layout just right. +
+ +
layoutopt
+
This tool lets you quickly analyze your application's layouts for +efficiency.
Draw 9-patch
diff --git a/docs/html/guide/developing/tools/layoutopt.jd b/docs/html/guide/developing/tools/layoutopt.jd new file mode 100644 index 0000000000000..72a110d256c5c --- /dev/null +++ b/docs/html/guide/developing/tools/layoutopt.jd @@ -0,0 +1,62 @@ +page.title=layoutopt +@jd:body + +

layoutopt is a command-line tool that helps you optimize the +layouts and layout hierarchies of your applications. You can run it against your +layout files or resource directories to quickly check for inefficiencies or +other types of problems that could be affecting the performance of your +application.

+ +

To run the tool, open a terminal and launch layoutopt +<resources> from your SDK tools/ directory. In the +command, supply a list of uncompiled resource xml files or directories that you +want to analyze.

+ +

When run, the tool loads the specified XML files and analyzes their layout +structures and hierarchies according to a set of predefined rules. If it detects +issues, it outputs information about the issues, giving filename, line numbers, +description of issue, and for some types of issues a suggested resolution.

+ +

Here's an example of the output:

+ +
$ layoutopt samples/
+samples/compound.xml
+   7:23 The root-level <FrameLayout/> can be replaced with <merge/>
+   11:21 This LinearLayout layout or its FrameLayout parent is useless
+samples/simple.xml
+   7:7 The root-level <FrameLayout/> can be replaced with <merge/>
+samples/too_deep.xml
+   -1:-1 This layout has too many nested layouts: 13 levels, it should have <= 10!
+   20:81 This LinearLayout layout or its LinearLayout parent is useless
+   24:79 This LinearLayout layout or its LinearLayout parent is useless
+   28:77 This LinearLayout layout or its LinearLayout parent is useless
+   32:75 This LinearLayout layout or its LinearLayout parent is useless
+   36:73 This LinearLayout layout or its LinearLayout parent is useless
+   40:71 This LinearLayout layout or its LinearLayout parent is useless
+   44:69 This LinearLayout layout or its LinearLayout parent is useless
+   48:67 This LinearLayout layout or its LinearLayout parent is useless
+   52:65 This LinearLayout layout or its LinearLayout parent is useless
+   56:63 This LinearLayout layout or its LinearLayout parent is useless
+samples/too_many.xml
+   7:413 The root-level <FrameLayout/> can be replaced with <merge/>
+   -1:-1 This layout has too many views: 81 views, it should have <= 80!
+samples/useless.xml
+   7:19 The root-level <FrameLayout/> can be replaced with <merge/>
+   11:17 This LinearLayout layout or its FrameLayout parent is useless
+ +

The layoutopt tool is available in SDK Tools, Revision 3 or +later. If you do not have SDK Tools 3 or later installed in your SDK, you can +download it from the Android SDK repository site using the Android SDK and AVD +Manager. For information, see Adding SDK Components.

+ +

Usage

+ +

To run layoutopt against a given list of layout resources:

+ +
layoutopt <list of xml files or directories>
+ +

For example:

+ +
$ layoutopt res/layout-land
+
$ layoutopt res/layout/main.xml res/layout-land/main.xml
diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs index e2acc4f330d78..5215202680a22 100644 --- a/docs/html/guide/guide_toc.cs +++ b/docs/html/guide/guide_toc.cs @@ -255,6 +255,7 @@
  • Draw 9-Patch
  • Emulator
  • Hierarchy Viewer
  • +
  • layoutopt
  • mksdcard
  • Monkey
  • sqlite3
  • diff --git a/docs/html/guide/topics/ui/declaring-layout.jd b/docs/html/guide/topics/ui/declaring-layout.jd index 7ef22a6be2419..80ad7b8680883 100644 --- a/docs/html/guide/topics/ui/declaring-layout.jd +++ b/docs/html/guide/topics/ui/declaring-layout.jd @@ -25,6 +25,7 @@ parent.link=index.html
  • Size, Padding and Margins
  • Example Layout
  • + @@ -41,14 +42,17 @@ application can create View and ViewGroup objects (and manipulate their properti

    The Android framework gives you the flexibility to use either or both of these methods for declaring and managing your application's UI. For example, you could declare your application's default layouts in XML, including the screen elements that will appear in them and their properties. You could then add code in your application that would modify the state of the screen objects, including those declared in XML, at run time.

    The advantage to declaring your UI in XML is that it enables you to better separate the presentation of your application from the code that controls its behavior. Your UI descriptions are external to your application code, which means that you can modify or adapt it without having to modify your source code and recompile. For example, you can create XML layouts for different screen orientations, different device screen sizes, and different languages. Additionally, declaring the layout in XML makes it easier to visualize the structure of your UI, so it's easier to debug problems. As such, this document focuses on teaching you how to declare your layout in XML. If you're diff --git a/docs/html/guide/tutorials/localization/index.jd b/docs/html/guide/tutorials/localization/index.jd index eeade34e0eb49..8a60814593a55 100755 --- a/docs/html/guide/tutorials/localization/index.jd +++ b/docs/html/guide/tutorials/localization/index.jd @@ -539,8 +539,10 @@ height="158" style="margin-left:15px">

    using custom locale

    -

    For a list of supported locales in a specific Android platform, see the -associated notes in the "SDK" tab, under "Downloadable SDK Components."

    +

    For a list of locales available on different versions of the Android platform, +refer to the platform notes documents, listed under "Downloadable SDK Components" +in the "SDK" tab. For example, Android 2.0 locales.

    Run the application for each of the expected locales, plus one unexpected locale. Here are some of the results you should see:

    diff --git a/docs/html/sdk/RELEASENOTES.jd b/docs/html/sdk/RELEASENOTES.jd index 552b69957b297..bca89f610b7c8 100644 --- a/docs/html/sdk/RELEASENOTES.jd +++ b/docs/html/sdk/RELEASENOTES.jd @@ -2,10 +2,10 @@ page.title=SDK Release Notes @jd:body

    This document provides version-specific information about Android SDK -releases. For the latest known issues, please ensure that you're viewing this +releases.

    Android SDK

    @@ -27,15 +27,16 @@ keep your development environment up-to-date.

    Note that if you are currently using the Android 1.6 SDK, you do not -necessarily need to install the new SDK, since your existing SDK incudes the -Android SDK and AVD Manager tool. To develop against Android 2.0, for example, -you could just download the Android 2.0 platform into your existing SDK.

    +necessarily need to install the new SDK, since your existing SDK already +includes the Android SDK and AVD Manager tool. To develop against Android 2.0, +for example, you could just download the Android 2.0 platform into your existing +SDK.

    -

    Release notes for Android platforms that are downloadable into the SDK are +

    Release notes for Android platforms and other SDK components are now available from the "SDK" tab, under "Downloadable SDK Components."

      -
    • Release notes for the Android 2.0 platform are in the Notes for the Android 2.0 platform are in the Android 2.0, Release 1 document.
    • You can find information about tools changes in the SDK Tools Notes and ADT Plugin Notes.
    • To get started with the SDK, review the Quick Start summary on the Android SDK download page or read Installing the SDK for more -information.

      +href="{@docRoot}sdk/installing.html">Installing the SDK for detailed +installation instructions.

      Android 1.6 SDK, Release 1

      diff --git a/docs/html/sdk/adt_download.jd b/docs/html/sdk/adt_download.jd index 3eb68316d103d..6ce76343aa819 100644 --- a/docs/html/sdk/adt_download.jd +++ b/docs/html/sdk/adt_download.jd @@ -1,21 +1,18 @@ -page.title=Download the ADT Plugin Zip File +page.title=Download the ADT Zip File @jd:body -

      -If you are unable to download the ADT plugin through setting up a remote +

      If you are unable to download the ADT plugin through setting up a remote update site in Eclipse, you can download the ADT zip file and install it -from your computer (archived site) instead. -

      -

      -If you use this approach, in order to update the plugin, you will need to +from your computer (archived site) instead.

      + +

      If you use this approach, in order to update the plugin, you will need to download the latest version from this page, uninstall the old version from Eclipse, then install the new version. For more details on the procedure, -see Troubleshooting ADT Installation in the - installation -page. -

      -

      +see Troubleshooting +ADT Installation.

      + @@ -24,43 +21,50 @@ page. - + + + + + + + - - - - - - - - - - - - - - - - + + +
      ADT VersionMd5 Checksum Notes
      0.9.4ADT-0.9.4.zip{@adtZipBytes} bytes{@adtZipChecksum}Requires SDK Tools, Revision 3 October 2009
      0.9.3 ADT-0.9.3.zipbytesRequired for users of Android 1.6 SDK (and later releases). Updated from 0.9.1. September 2009
      0.9.1ADT-0.9.1.zip2916093 bytese7b2ab40414ac98Required for users of Android 1.5 SDK. Updated from 0.9.0. 6 May 2009
      0.8.0ADT-0.8.0.zip Required for users of Android 1.0/1.1 SDKs. 23 Sep 20083252487 bytesc296488ac35772667c0f49e822156979Required for users of Android 1.6 SDK only . Updated from 0.9.1. September 2009

      Obsolete Versions of ADT

      -

      The table below lists older versions of the ADT Plugin that are no longer supported. If you are developing applications that are intended to be deployable to Android-powered devices, make sure that you upgrade to the most current SDK release available and use the most current version of the ADT Plugin, as listed in the section above.

      +

      The table below lists older versions of the ADT Plugin that are no longer +supported. If you are developing applications that are intended to be deployable +to Android-powered devices, make sure that you upgrade to the most current SDK +release available and use the most current version of the ADT Plugin, as listed +in the section above.

      -

      If you are not sure what version of ADT is installed in your Eclipse environment, open Eclipse and from the main menu select Help > About Eclipse > Features Details. Locate "com.android.ide.eclipse.adt" in the -Feature ID column and look at its version number.

      +

      If you are not sure what version of ADT is installed in your Eclipse +environment, open Eclipse and from the main menu select Help +> About Eclipse > Features Details. +Locate "com.android.ide.eclipse.adt" in the Feature ID column and look at its +version number.

      - + + + + + + + + diff --git a/docs/html/sdk/android-2.0.jd b/docs/html/sdk/android-2.0.jd index 57283e584e8dd..9dadf8b2155ae 100644 --- a/docs/html/sdk/android-2.0.jd +++ b/docs/html/sdk/android-2.0.jd @@ -205,6 +205,7 @@ element in your application's manifest.

      For more information about how to use API Level, see the API Levels document.

      +

      API changes summary

      Bluetooth

      @@ -263,6 +264,62 @@ href="{@docRoot}guide/appendix/api-levels.html">API Levels document.

    • New Intent APIs that broadcast the docking state of the device and allow applications to launch special activities when the device is placed in a desktop or car dock.
    • +

      Key events executed on key-up

      + +

      Android 2.0 is designed to run on devices that use virtual keys for HOME, +MENU, BACK, and SEARCH, rather than physical keys. To support the best user +experience on those devices, the Android platform now executes these buttons at +key-up, for a key-down/key-up pair, rather than key-down. This helps prevent +accidental button events and lets the user press the button area and then drag +out of it without generating an event.

      + +

      This change in behavior should only affect your application if it is +intercepting button events and taking an action on key-down, rather than on +key-up. Especially if your application is intercepting the BACK key, you should +make sure that your application is handling the key events properly.

      + +

      In general, intercepting the BACK key in an application is not recommended, +however, if your application is doing so and it invokes some action on +key-down, rather than key-up, you should modify your code.

      + +

      If your application will use APIs introduced in Android 2.0 (API Level 5), +you can take advantage of new APIs for managing key-event pairs:

      + +
        +
      • If you are intercepting the BACK key in an activity or dialog, just +implement the new {@link android.app.Activity#onBackPressed()} method.
      • +
      • If you are intercepting the BACK key in a view, you should track the key +event on key-down (through the new {@link android.view.KeyEvent#startTracking} +method), then invoke the action at key up. Here's a pattern you can use:
      • + +
            public boolean onKeyDown(int keyCode, KeyEvent event) {
        +        if (keyCode == KeyEvent.KEYCODE_BACK
        +                && event.getRepeatCount() == 0) {
        +            event.startTracking();
        +            return true;
        +        }
        +        return super.onKeyDown(keyCode, event);
        +    }
        +
        +    public boolean onKeyUp(int keyCode, KeyEvent event) {
        +        if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()
        +                && !event.isCanceled()) {
        +            // *** DO ACTION HERE ***
        +            return true;
        +        }
        +        return super.onKeyUp(keyCode, event);
        +    }
        + +
      + +

      If you want to update a legacy application so that its handling of the BACK +key works properly for both Android 2.0 and older platform versions, you +can use an approach similar to that shown above. Your code can catch the +target button event on key-down, set a flag to track the key event, and +then also catch the event on key-up, executing the desired action if the tracking +flag is set. You'll also want to watch for focus changes and clear the tracking +flag when gaining/losing focus.

      +

      API differences report

      For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to diff --git a/docs/html/sdk/eclipse-adt.jd b/docs/html/sdk/eclipse-adt.jd index 84d37e0058793..7d9efdb02d756 100644 --- a/docs/html/sdk/eclipse-adt.jd +++ b/docs/html/sdk/eclipse-adt.jd @@ -1,4 +1,4 @@ -page.title=Installing and Updating the ADT Plugin +page.title=Installing and Updating ADT sdk.preview=0 @jd:body @@ -23,21 +23,23 @@ sdk.preview=0

      Android offers a custom plugin for the Eclipse IDE, called Android Development Tools (ADT), that is designed to give you a powerful, -integrated environment in which to build Android applications. It -extends the capabilites of Eclipse to let you quickly set up new Android +integrated environment in which to build Android applications.

      + +

      ADT extends the capabilites of Eclipse to let you quickly set up new Android projects, create an application UI, add components based on the Android -Framework API, debug your applications using the Android SDK tools, and even export -signed (or unsigned) APKs in order to distribute your application.

      +Framework API, debug your applications using the Android SDK tools, and even +export signed (or unsigned) APKs in order to distribute your application.

      In general, using Eclipse with ADT is a highly recommended approach to -Android development and is the fastest way to get started. +Android development and is the fastest way to get started. If you use Eclipse, +the ADT plugin gives you an incredible boost in developing Android +applications.

      -

      To install and update the ADT Plugin, you can take advantage of the Eclipse -remote update feature. By setting up a remote update site, you can -easily download, install, and check for ADT updates. Alternatively, you -can download the latest ADT to your development -computer as a local site archive. The sections below provide nstructions -for both methods.

      +

      To install and update the ADT Plugin, you can take advantage of the Eclipse +remote update feature. By setting up a remote update site, you can easily +download, install, and check for ADT updates. Alternatively, you can download +the latest ADT to your development computer as a local site archive. The +sections below provide instructions for both methods.

      Prepare for Installation

      diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd index 8b918e481fda5..f467492068c19 100644 --- a/docs/html/sdk/index.jd +++ b/docs/html/sdk/index.jd @@ -3,70 +3,87 @@ sdk.redirect=0 sdk.version=2.0 sdk.date=October 2009 -sdk.win_download=android-sdk-windows_r1.zip -sdk.win_bytes= -sdk.win_checksum= +sdk.win_download=android-sdk_r3-windows.zip +sdk.win_bytes=23070805 +sdk.win_checksum=bd7b57d5df37bd55ea101e76b24260a8 -sdk.mac_download=android-sdk-mac_x86_r1.zip -sdk.mac_bytes= -sdk.mac_checksum= +sdk.mac_download=android-sdk_r3-mac.zip +sdk.mac_bytes=19653431 +sdk.mac_checksum=f6674bf45e5e36811eea7e584f0c1d67 -sdk.linux_download=android-sdk-linux_x86_r1.tgz -sdk.linux_bytes= -sdk.linux_checksum= +sdk.linux_download=android-sdk_r3-linux.tgz +sdk.linux_bytes=15986291 +sdk.linux_checksum=3e1534e7fc15d154ff81616f0dc1545c @jd:body -

      For important information about this SDK release, please review the -Release Notes.

      -
      -

      The Android SDK has changed! If you've worked with the Android SDK before, you will notice several important differences:

      +

      Quick Start

      -
        -
      • The SDK downloadable package includes only the latest version of the Android SDK Tools.
      • -
      • Once you've installed the SDK, you now use the Android SDK and AVD Manager to download all of the SDK components that you need, such as Android platforms, SDK add-ons, tools, and documentation.
      • -
      • The new approach is modular — you can install only the components you need and update any or all components without affecting your development environment.
      • -
      • In short, once you've installed the new SDK, you will not need to download an SDK package again. Instead, you will use the Android SDK and AVD Manager to keep your development environment up-to-date.
      • -
      - -

      If you are currently using the Android 1.6 SDK, you do not need to install the new SDK, since your existing SDK incudes the Android SDK and AVD Manager tool. To develop against Android 2.0, for example, you could just download the updated SDK Tools (Revision 3) and the Android 2.0 platform into your existing SDK.

      -
      - -

      Quick Start

      - -

      The steps below provide an overview of how to get started with the Android SDK. For detailed instructions, start with the Installing guide.

      +

      The steps below provide an overview of how to get started with the Android +SDK. For detailed instructions, start with the Installing guide.

      0. Prepare your development computer

      -

      Read the System Requirements document and make sure that your development computer meets the hardware and software requirements for the Android SDK. Install any additional software needed before downloading the Android SDK. In particular, if you plan to develop Android applications in the Eclipse IDE using the ADT Plugin (see below), make sure that you have the correct version of Eclipse installed. +

      Read the System Requirements +document and make sure that your development computer meets the hardware and +software requirements for the Android SDK. Install any additional software +needed before downloading the Android SDK. In particular, if you plan to develop +Android applications in the Eclipse IDE using the ADT Plugin (see below), make +sure that you have the correct version of Eclipse installed.

      1. Download and install the SDK starter package

      -

      Select a starter package from the table at the top of this page and download it to your development computer. To install the SDK, simply unpack the starter package to a safe location and then add the location to your PATH.

      +

      Select a starter package from the table at the top of this page and download +it to your development computer. To install the SDK, simply unpack the starter +package to a safe location and then add the location to your PATH.

      2. Install the ADT Plugin for Eclipse

      -

      If you are developing in Eclipse, set up a remote update site and install the Android Development Tools (ADT) plugin.

      - -

      For detailed instructions, see Installing and Updating ADT.

      +

      If you are developing in Eclipse, set up a remote update site and install the +Android Development Tools (ADT) plugin. For detailed instructions, see Installing and Updating ADT.

      3. Add Android platforms to your SDK

      -

      Use the Android SDK and AVD Manager, included in the SDK starter package, to add one or more Android platforms (for example, Android 1.6 or Android 2.0) to your SDK. In most cases, you will want to download multiple platforms, so that you can build your application on the lowest version you want to support, but test against higher versions that you intend the application to run on. Information about each platform is available at left, under "Downloadable SDK Components."

      +

      Use the Android SDK and AVD Manager, included in the SDK starter package, to +add one or more Android platforms (for example, Android 1.6 or Android 2.0) to +your SDK. In most cases, you will want to download multiple platforms, so that +you can build your application on the lowest version you want to support, but +test against higher versions that you intend the application to run on. +Information about each platform is available at left, under "Downloadable SDK +Components."

      -

      For more information about how to add platforms and other SDK components, see Adding SDK Components.

      +

      To launch the Android SDK and AVD Manager on Windows, execute SDK +Setup.exe, at the root of the SDK directory. On Mac OS X or Linux, +execute the android tool in the <sdk>/tools/ +folder. For more information about how to add platforms and other components, +see Adding SDK Components. +

      4. Get the latest documentation

      -

      If you develop while offline, use the Android SDK and AVD Manager to download the latest documentation package. The documentation covers all versions of the API and lets you filter out those versions that your application won't support. Once installed, the documentation is also available to you directly from the Eclipse IDE.

      +

      If you develop while offline, use the Android SDK and AVD Manager to download +the latest documentation package. The documentation covers all versions of the +API and lets you filter out those versions that your application won't support. +Once installed, the documentation is also available to you directly from the +Eclipse IDE.

      5. Download other SDK components

      -

      You can use the Android SDK and AVD Manager to download other SDK components, such as the SDK add-ons. An SDK add-on provides a development environment for an Android external library or a customized Android system image. For example, the Google APIs Add-On lets you develop an application that takes advantage of the Google Maps external library.

      +

      You can use the Android SDK and AVD Manager to download other SDK components, +such as the SDK add-ons. An SDK add-on provides a development environment for an +Android external library or a customized Android system image. For example, the +Google APIs Add-On lets you develop an application that takes advantage of the +Google Maps external library.

      6. Get started with an application project

      -

      Once you've set up your SDK, the next step is to start a new application project or move existing applications into the new SDK.

      +

      Once you've set up your SDK, the next step is to start a new application +project or move existing applications into the new SDK.

      -

      If you are new to Android, you can use the Hello World tutorial to get started quickly. Welcome!

      \ No newline at end of file +

      If you are new to Android, you can use the Hello World tutorial to +get started quickly. Next +Steps offers other suggestions of how to begin. Welcome!

      diff --git a/docs/html/sdk/installing.jd b/docs/html/sdk/installing.jd index 3a44cda109d9b..66c6bdccaadc7 100644 --- a/docs/html/sdk/installing.jd +++ b/docs/html/sdk/installing.jd @@ -36,10 +36,10 @@ this page.

      Updating?

      If you are currently using the Android 1.6 SDK, you do not necessarily need -to install the new SDK, since your existing SDK incudes the Android SDK and AVD -Manager tool. To develop against the new Android 2.0 platform, for example, you -could just download the updated SDK Tools (Revision 3) and the Android 2.0 -platform into your existing SDK.

      +to install the new SDK, since your existing SDK already includes the Android SDK +and AVD Manager tool. To develop against the new Android 2.0 platform, for +example, you could just download the updated SDK Tools (Revision 3) and the +Android 2.0 platform into your existing SDK.

      If you are using Android 1.5 SDK or older, you should install the new SDK as described in this document and move your application projects to the new @@ -125,14 +125,34 @@ information about how to install ADT, see install Eclipse or ADT, instead, you can directly use the SDK tools to build and debug your application.

      +

      Add Android Platforms and Other Components

      -

      Once you've downloaded and installed the SDK, you need to install SDK -components in it. The SDK starter package includes a tool called Android SDK and -AVD Manager that helps you see what SDK components are available and then install -them into your SDK environment. The Adding SDK Components document -provides step-by-step instructions.

      + + +

      The Android SDK uses a modular structure that separates the major parts of +the SDK — platforms, add-ons, tools, and the API documentation — +into a set of separately installable components. The SDK components are +available to you for individual download, as needed, from the Android SDK +repository site.

      + +

      The Android SDK starter package includes only a single component: the latest +version of the SDK Tools. Included in that component is a tool called Android +SDK and AVD Manager that you can use to download other components from the SDK +repository site. The tool provides a graphical UI that lets you browse the +repository, select new or updated components for download, and then install them +in your SDK.

      There are several types of SDK components available:

      @@ -163,17 +183,22 @@ multiversion documentation for the Android framework API. -

      To develop any application, even if you are following the To develop any Android application, even if you are following the Hello World tutorial, you must download at least one Android platform into your SDK. -Typically, you will want to download multiple platforms, including the version -that you want to develop against and all other higher platforms. By downloading -multiple platforms, you can test the forward-compatibility of your application -by running it on different platforms in the Android emulator.

      +Typically, you will want to download multiple platforms, so that you can build +your application on the lowest version you want to support, but test against +higher versions that you intend the application to run on. You can test your +applications on different platforms by running in an +Android Virtual Device (AVD) on the Android emulator.

      -

      For more information about adding components and additional repository sites, -see the Adding SDK Components. -

      +

      For step-by-step instructions on how to use the Android SDK and AVD Manager +to add components, see the Adding +SDK Components document.

      + +

      For release notes and other detailed information about individual SDK +components, see the documents listed under "Downloadable SDK Components" in +the navigation at left.

      Explore the SDK

      diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs index 8b55aad1baf53..900b0675e1221 100644 --- a/docs/html/sdk/sdk_toc.cs +++ b/docs/html/sdk/sdk_toc.cs @@ -101,7 +101,10 @@ -
    • ADT Notes + +
    • diff --git a/docs/html/sdk/tools-notes.jd b/docs/html/sdk/tools-notes.jd index abb9c965cb048..b8337b0f93a96 100644 --- a/docs/html/sdk/tools-notes.jd +++ b/docs/html/sdk/tools-notes.jd @@ -5,15 +5,16 @@ page.title=SDK Tools Notes includes the complete set of development and debugging tools for the Android SDK.

      +

      This document provides version-specific information about SDK Tools +releases. To keep up-to-date on new releases, make sure that you view this page +at http://developer. +android.com/sdk/tools-notes.html.

      +

      To install SDK Tools in your SDK environment (and replace the existing tools), use the Android SDK and AVD Manager. For more information, see Adding SDK Components.

      -

      This document provides version-specific information about SDK Tools -releases. To keep up to date on new releases, make sure that you view this page -at http://developer. -android.com/sdk/tools-notes.html.

      SDK Tools, Revision 3

      @@ -57,6 +58,13 @@ properties of your AVDs. between SDK add-ons and platforms. +

      Layoutopt, a new tool for optimizing layouts

      - +

      The SDK Tools 3 package includes layoutopt, a new command-line +tool that helps you optimize your layout hierarchies. When run against your +layout files, the tool analyzes their hierarchies and notifies you of +inefficiencies and other potential issues. The tool also provides simple +solutions for the issues it finds. For usage, see layoutopt. +

      From 809ad0fce357de0a55fbc57356a06f29a1021e3b Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Mon, 26 Oct 2009 22:10:33 -0400 Subject: [PATCH 11/12] PowerManagerService: Clear Binder calling identity around calls to Sensor Manager. This fixes a problem that resulted in bogus battery statistics for the prox and light sensors due to the sensors being enabled in an app's context and disabled in the system context. Fixes problems reported in bug b/2211960 Change-Id: Ib0d3d9d06f043b386d3b8d494b9bad5bd40bb6e1 Signed-off-by: Mike Lockwood --- .../android/server/PowerManagerService.java | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index aad576f083e85..f3a91e7961d83 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -2273,15 +2273,27 @@ class PowerManagerService extends IPowerManager.Stub if (mSpew) { Log.d(TAG, "enableProximityLockLocked"); } - mSensorManager.registerListener(mProximityListener, mProximitySensor, - SensorManager.SENSOR_DELAY_NORMAL); + // clear calling identity so sensor manager battery stats are accurate + long identity = Binder.clearCallingIdentity(); + try { + mSensorManager.registerListener(mProximityListener, mProximitySensor, + SensorManager.SENSOR_DELAY_NORMAL); + } finally { + Binder.restoreCallingIdentity(identity); + } } private void disableProximityLockLocked() { if (mSpew) { Log.d(TAG, "disableProximityLockLocked"); } - mSensorManager.unregisterListener(mProximityListener); + // clear calling identity so sensor manager battery stats are accurate + long identity = Binder.clearCallingIdentity(); + try { + mSensorManager.unregisterListener(mProximityListener); + } finally { + Binder.restoreCallingIdentity(identity); + } synchronized (mLocks) { if (mProximitySensorActive) { mProximitySensorActive = false; @@ -2296,12 +2308,18 @@ class PowerManagerService extends IPowerManager.Stub } if (mSensorManager != null && mLightSensorEnabled != enable) { mLightSensorEnabled = enable; - if (enable) { - mSensorManager.registerListener(mLightListener, mLightSensor, - SensorManager.SENSOR_DELAY_NORMAL); - } else { - mSensorManager.unregisterListener(mLightListener); - mHandler.removeCallbacks(mAutoBrightnessTask); + // clear calling identity so sensor manager battery stats are accurate + long identity = Binder.clearCallingIdentity(); + try { + if (enable) { + mSensorManager.registerListener(mLightListener, mLightSensor, + SensorManager.SENSOR_DELAY_NORMAL); + } else { + mSensorManager.unregisterListener(mLightListener); + mHandler.removeCallbacks(mAutoBrightnessTask); + } + } finally { + Binder.restoreCallingIdentity(identity); } } } From 2d155d264e5cefc27abf2c5020fcfa06bde755ec Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Tue, 27 Oct 2009 09:32:30 -0400 Subject: [PATCH 12/12] PowerManagerService: Fix bug resulting in backlights turning on while screen is off. Fixes bugs b/2216879 and b/2197060 Change-Id: I5de3cbdbc0601dd7950dba74cacfff06d41ad18e Signed-off-by: Mike Lockwood --- .../android/server/PowerManagerService.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index f3a91e7961d83..5c4aa79587609 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -2037,16 +2037,21 @@ class PowerManagerService extends IPowerManager.Stub } private void setScreenBrightnessMode(int mode) { - mAutoBrightessEnabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); - // reset computed brightness - mLightSensorBrightness = -1; + boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); + if (mAutoBrightessEnabled != enabled) { + mAutoBrightessEnabled = enabled; + // reset computed brightness + mLightSensorBrightness = -1; - if (mHasHardwareAutoBrightness) { - // When setting auto-brightness, must reset the brightness afterwards - mHardware.setAutoBrightness_UNCHECKED(mAutoBrightessEnabled); - setBacklightBrightness((int)mScreenBrightness.curValue); - } else { - enableLightSensor(screenIsOn() && mAutoBrightessEnabled); + if (mHasHardwareAutoBrightness) { + // When setting auto-brightness, must reset the brightness afterwards + mHardware.setAutoBrightness_UNCHECKED(enabled); + if (screenIsOn()) { + setBacklightBrightness((int)mScreenBrightness.curValue); + } + } else { + enableLightSensor(screenIsOn() && enabled); + } } }
      ADT Version Notes
      0.9.1Required for users of Android 1.5 SDK. Updated from 0.9.0. 6 May 2009
      0.8.0Required for users of Android 1.0/1.1 SDKs. 23 Sep 2008
      0.7.1 Required for users of the Android 0.9 SDK beta. 18 Aug 2008