Cupcake auto-import at change 127436, Jan 22 2009.

(cd bionic && git checkout c2f23bb1cdea20fc5e8e5b8101d9d0bd6d14b74b)
(cd bootable/bootloader/legacy && git checkout d08c9e9444e2fb688ca4d3c4d807ba69c680fb3c)
(cd bootable/diskinstaller && git checkout a2bb8bf00fbd01859e2475fc36fc6fa070e6eaa9)
(cd bootable/recovery && git checkout 6d12e0d6f8fe05ebd6b0210fed00e0ff874a3d70)
(cd build && git checkout b33e7b0cb085a1937c1a2e5b81eb78d6059bf6bc)
(cd dalvik && git checkout cd18d5743d1957b1c1f57c0abe7ea28187c63a9f)
(cd development && git checkout 2f3ec0146063b7bed40ff4f41c73407cebdc71fc)
(cd external/aes && git checkout 17e798f9d2c0a804b5dcac6ee4b2bc1eee66e3b2)
(cd external/apache-http && git checkout 4e30c8f9f80e5bd40fd8f018760b01a80b16b8c3)
(cd external/bison && git checkout b7f2b4d529ee03ee0e4172cc06e7cd973bd9bef5)
(cd external/bluez && git checkout dbbd69e74e390449430a6c357a098fd345fde2ed)
(cd external/bsdiff && git checkout 03874566c6f74e11d030fa2c534b3dd5a06721af)
(cd external/bzip2 && git checkout d78fa13a44d08622d61d0df71e731de77021dcf1)
(cd external/clearsilver && git checkout b651aeec8a719c9f639ef710423e29463123d4f6)
(cd external/dbus && git checkout ed0821c6a30852d02d05ce85d4ad4a567ff8a3da)
(cd external/dhcpcd && git checkout 4c5a5fb53bccceff331bae70f748bf9b4609fe0a)
(cd external/dosfstools && git checkout c936fe75ee33b6cbc46e6124679d9a1d5d471663)
(cd external/dropbear && git checkout 1abbfe5d373a44e7e0525fb7971ef0e00955f2e4)
(cd external/e2fsprogs && git checkout 0bc54db4f9a9aab8225f5107a712c4bbbe34f79c)
(cd external/elfcopy && git checkout 8d6d7ea32d2e40489fa8be26618167fb6e2dfb40)
(cd external/elfutils && git checkout ee6008996aa701ad2a50d5d6b1529c9e2c2724c1)
(cd external/embunit && git checkout 225a86217dd274aea51b1e442568e7aec43a74e9)
(cd external/emma && git checkout 725ce5e17f431acc3b549f87464a7883f98adf66)
(cd external/esd && git checkout 7ef614b2e0ad463c3454cd9ba1052c2964e14596)
(cd external/expat && git checkout da44bf784a2b6acb5df7f40b32c0d4b563fba3ed)
(cd external/fdlibm && git checkout 74aa530c6ca9c2f10a0e3635b4211f1438b972b2)
(cd external/freetype && git checkout b36db06baca4c030538565e01b8264971c9b69f8)
(cd external/gdata && git checkout e784ba4a104f64d1f57dad38ff76764b5718bea0)
(cd external/genext2fs && git checkout f4a0b4d282a1718ac6e3fff10d02aa877e294324)
(cd external/giflib && git checkout ff6a75e423d8333c6657e4a66494e0bc9ed34385)
(cd external/googleclient && git checkout d3974b69b023cb38541d1870ad5c35e4b2ea2c35)
(cd external/grub && git checkout 1650e5296608be8925d9831310c9ad3595fd6869)
(cd external/icu4c && git checkout 80865003e90c51ddd5f1e5e1be5ebc1add6af188)
(cd external/iptables && git checkout 10a1e8d1003257d408c77662fc5ce6470a19b245)
(cd external/jdiff && git checkout 0e7cb56de28fb496d69a1dd1907388b2076224d6)
(cd external/jhead && git checkout 9705c3e3c1b19598026449c303d54cdc485f35a9)
(cd external/jpeg && git checkout 9175dba76b0c31e0870fe074d476650cf258071c)
(cd external/libffi && git checkout 8c63892438fbb7ef754e55c60220dd02e7c8fd70)
(cd external/libpcap && git checkout 23295e59cff9c04be154ede6afad16bc9fe385cf)
(cd external/libpng && git checkout 78ac9384d6ca0067d77b843b70bbdd828bb738df)
(cd external/libxml2 && git checkout 2c905f99793b8da7f02349aa69fc01cba533f935)
(cd external/netcat && git checkout 6fc2e7182a81d3665e5233a6555fc6c1960b6b8a)
(cd external/netperf && git checkout acbeb739a2260972afbd58233fc8939fe5014e3c)
(cd external/neven && git checkout dfddd36f99a6e11ca3b0107b49f35c623203c8f2)
(cd external/opencore && git checkout 7a7c607909568a2a1b561023be821919bdb9d578)
(cd external/openssl && git checkout 499ee9f31d10290f510c2f3785b6abe1314993ec)
(cd external/oprofile && git checkout b0a81c270584f10323634816b6e5e19711690233)
(cd external/ping && git checkout 8a5b42ad26815061053bc553b2d04fcbbce5f9d0)
(cd external/ppp && git checkout 9d869087afe63b8506a367aaeb2008459c823ecf)
(cd external/protobuf && git checkout 2f1917b2d9754d6288e8de2739469bf719438388)
(cd external/qemu && git checkout 7a5cb2bf2725afddd4ff9ede151063d23b849d94)
(cd external/safe-iop && git checkout a625f2f303bd1e1eb8287d82075fa9a240296167)
(cd external/skia && git checkout 07051704de661e1c4e0fffc4f486afb60110f7e6)
(cd external/sonivox && git checkout 372b906dec9f897dc04ba3bbd00c908bb2304e95)
(cd external/sqlite && git checkout 60a965a2f8a63d7704130d867458495a324801e1)
(cd external/srec && git checkout 00743dcf9e86961f3867b81ef81022040c821f18)
(cd external/strace && git checkout 67670f6420d064f0b0f54ab2cf2f07752dcc35c7)
(cd external/tagsoup && git checkout 4bb395b502d0c2495f7a5d226ccf7f06f53dea38)
(cd external/tcpdump && git checkout f3ccc4ec63431539743f1155a60192a40f6bec24)
(cd external/tinyxml && git checkout 600ebb441039bcb8a0340df016c6685a688b7647)
(cd external/tremor && git checkout 0ad0141e864cfbb130db4f22e279d421832e7336)
(cd external/webkit && git checkout 3607268bbf57cd3af1bb2d67e956821fb8e3c9ec)
(cd external/wpa_supplicant && git checkout 17800c6dac7ac53c2b348151274071a4cc6e4318)
(cd external/xdelta3 && git checkout 65fb2b2df617551c42d9bdf7b5bc88168ce6f1ff)
(cd external/yaffs2 && git checkout d333fc232d7e5ae3370080d5d6f7d88ea9c6b3a1)
(cd external/zlib && git checkout e860c69e014c1dfed34cf4ee808d200648205f2a)
(cd frameworks/base && git checkout 94cbba0933e50d593c1c462cff698dd3387ba95b)
(cd frameworks/opt/com.google.android && git checkout 95252a12ffcf47582ab8b68a35a996ef50cdb523)
(cd frameworks/opt/com.google.android.googlelogin && git checkout 8f1d2acbab346be5c40d06d24a07bc169ad9c60e)
(cd frameworks/policies/base && git checkout 880754ac4766e622367a6d65304c0b4176260e0d)
(cd hardware/libhardware && git checkout 37156b8db0bee9a0e77160a40483d0fad0409bd4)
(cd hardware/libhardware_legacy && git checkout 5af6317f266c0f7792f6a2fa1c2061f61529aab7)
(cd hardware/ril && git checkout 154a2efc9b75de255cf9c3916d9d778c445df2ae)
(cd kernel && git checkout 3c625cce51fadd88b75db8b6766de38f4ce7deaf)
(cd packages/apps/AlarmClock && git checkout c8208f9f6ff76479da3b1eb0cedbd5500b8be1f4)
(cd packages/apps/Browser && git checkout c3996145a81b44e27b7fad251e460ccf9c4a5d61)
(cd packages/apps/Calculator && git checkout d3f7cb4de21253fbeeec0cf4b680bd79e6e62e8a)
(cd packages/apps/Calendar && git checkout 1c94a74857db16dec676dc16e1ff58f9a4d0385c)
(cd packages/apps/Camera && git checkout bf1c107ea0bbe8d80769b70d8e9b50dbf8cfcc09)
(cd packages/apps/Contacts && git checkout cbe59e173d0baf73e98b12ac889ca17172677121)
(cd packages/apps/Email && git checkout 6f463987544260a770b9203bd412fb665c59d0f9)
(cd packages/apps/GoogleSearch && git checkout 2134a0d22132a8e68b6914ce466aa2acf28c244a)
(cd packages/apps/HTMLViewer && git checkout ae36e6ba1ad74a7eb844a41c6c0fc1ecd3c66467)
(cd packages/apps/IM && git checkout ad1551cc24ebeffda11932c1d2cae0cf1b69a854)
(cd packages/apps/Launcher && git checkout a3673051acdee1f88b68ffc3a39f0db8529009ff)
(cd packages/apps/Mms && git checkout 2d9959fea0cfea5fca09d139b66b1fa2cd45bf49)
(cd packages/apps/Music && git checkout fa0935a617742fe1545bb65202d2b93af8985b6a)
(cd packages/apps/PackageInstaller && git checkout 3a1faab9685bd0fc39ea7bf5bdc7237805d09c58)
(cd packages/apps/Phone && git checkout 4974565b48789d5b12c302a846fc090e67039647)
(cd packages/apps/Settings && git checkout c0a8abbb4f423c0aaa66a1e09bafd4b845837537)
(cd packages/apps/SoundRecorder && git checkout eb2e5e6a43c0756e9d3e149f46f6a504747175f2)
(cd packages/apps/Stk && git checkout 4e63a901fb044d270868b4f3abc8abb20d011230)
(cd packages/apps/Sync && git checkout d8aa470c7fea6a43e269da78e1a2b8c14fb40c70)
(cd packages/apps/Updater && git checkout 9e0cd9b717f546609ec155f6be3764554ede6408)
(cd packages/apps/VoiceDialer && git checkout 1ab735e15b6855beabd22f5b87d497f83b3b5b6a)
(cd packages/providers/CalendarProvider && git checkout 3690a0259f2c62501a47c9a4ecd007f1c1cc599a)
(cd packages/providers/ContactsProvider && git checkout ef7f8057050027ce57424b69dc697d4127ffc37d)
(cd packages/providers/DownloadProvider && git checkout b7f50f86e1f424ab05dc8154c3fabbfb3ecd4c47)
(cd packages/providers/DrmProvider && git checkout 7f08c3d1582a2195fd7b28a3157dedd975230d8b)
(cd packages/providers/GoogleContactsProvider && git checkout 1a6c0f279fe754b041290768bfa753e5f58e43ad)
(cd packages/providers/GoogleSubscribedFeedsProvider && git checkout 88f4be5460c130c048e5017999a80275d71a88d6)
(cd packages/providers/ImProvider && git checkout 8d4eb986192e7682c770449e0695d23d954a5691)
(cd packages/providers/MediaProvider && git checkout ef92b4dc14a5f8093cb1b58888c213a867504afa)
(cd packages/providers/TelephonyProvider && git checkout 62f78e4e0ae991f0df285488a1af382bd5105483)
(cd prebuilt && git checkout 4ef7c54fb1bdfbd5e93d631c7f76ea216ab2d375)
(cd system/bluetooth && git checkout 36658369459e22152cce54bd1c0660d71a270947)
(cd system/core && git checkout 4a4c9f6f98055918f1ebff06b3cc1ed622c058fe)
(cd system/extras && git checkout 1d68e595e72f955a8cd12f59825943ea71daf7d5)
(cd system/wlan/ti && git checkout 6ff408df1efe9981f20ab8ce6ec36d6ff6f034dc)

Change 127102

	Allow different "Settings > About phone > Contributors" for different products.  The product-specific contributors.{html,css} are copied to /system/etc, and the Contributors activity loads it from there.
	

Affected files ...

... //branches/cupcake/android/build/core/product.mk#4 edit
... //branches/cupcake/android/build/core/product_config.mk#9 edit

--------

Change 127106

	This removes the patch intended to fix this webkit bug
	http://bugs.webkit.org/show_bug.cgi?id=16512
	(orginally reported by this bug: http://b/issue?id=954816)
	
	The original bug can no longer be reproduced in webkit.
	

Affected files ...

... //branches/cupcake/android/external/webkit/WebCore/html/HTMLAppletElement.cpp#3 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLEmbedElement.cpp#3 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLFormElement.cpp#3 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLFormElement.h#3 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLImageElement.cpp#3 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLImageElement.h#2 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLObjectElement.cpp#3 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLPlugInElement.cpp#2 edit
... //branches/cupcake/android/external/webkit/WebCore/html/HTMLPlugInElement.h#2 edit

--------

Change 127112

	Added RemoteViews.setOnClickPendingIntent() that connects onClick events to launch PendingIntents.  Also exposed un-@hide RemoteViews.setImageViewBitmap().  Also added @RemoteView annotation to Button and ImageButton to allow them across the RemoteView boundary, and added tests to verify this happens.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/api/current.xml#105 edit
... //branches/cupcake/android/frameworks/base/core/java/android/widget/Button.java#2 edit
... //branches/cupcake/android/frameworks/base/core/java/android/widget/ImageButton.java#2 edit
... //branches/cupcake/android/frameworks/base/core/java/android/widget/RemoteViews.java#2 edit
... //branches/cupcake/android/frameworks/base/tests/FrameworkTest/res/layout/remote_view_test_good.xml#2 edit
... //branches/cupcake/android/frameworks/base/tests/FrameworkTest/tests/src/com/android/frameworktest/view/RemoteViewsActivityTest.java#2 edit

--------

Change 127115

	Fix bug where UMS wouldn't enable properly
	

Affected files ...

... //branches/cupcake/android/system/core/vold/volmgr.c#8 edit

--------

Change 127120

	Automated rollback of changelist 127102.


Affected files ...

... //branches/cupcake/android/build/core/product.mk#5 edit
... //branches/cupcake/android/build/core/product_config.mk#10 edit

--------

Change 127126

	Add back auto space on candidate selection.
	Delay key feedback display.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/inputmethodservice/KeyboardView.java#9 edit

--------

Change 127129

	Remove the call to is.reset(). This allows callers to embedded data after the encoded bitmap and be able to retrieve it.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/graphics/java/android/graphics/BitmapFactory.java#2 edit

--------

Change 127134

	add copyPixelsFromBuffer, to allow developers to write pixels values with no format or alpha transformations that accompany using setPixels.
	

Affected files ...

... //branches/cupcake/android/development/samples/ApiDemos/AndroidManifest.xml#7 edit
... //branches/cupcake/android/development/samples/ApiDemos/src/com/example/android/apis/graphics/BitmapPixels.java#1 add
... //branches/cupcake/android/frameworks/base/api/current.xml#106 edit
... //branches/cupcake/android/frameworks/base/core/jni/android/graphics/Bitmap.cpp#4 edit
... //branches/cupcake/android/frameworks/base/graphics/java/android/graphics/Bitmap.java#2 edit

--------

Change 127136

	Fix power consumption notification when driver is removed
	

Affected files ...

... //branches/cupcake/android/system/wlan/ti/sta_dk_4_0_4_32/pform/linux/src/esta_drv.c#10 edit

--------

Change 127138

	Enable building dosfstools for all non simulator builds
	

Affected files ...

... //branches/cupcake/android/external/dosfstools/src/Android.mk#2 edit

--------

Change 127142

	Use a single button for both the mode indicator and the recording indicator.
	This makes for a smoother user experience when using the trackball, as the
	focus highlight stays on the button when you start recording.
	
	(Bonus: the code's shorter too. We just switch the button's drawable rather than
	hiding one button and showing another.)
	

Affected files ...

... //branches/cupcake/android/packages/apps/Camera/res/layout/video_camera.xml#8 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/VideoCamera.java#25 edit

--------

Change 127144

	Fix problem that would leave the "now playing" list empty when removing the currently playing song from it.
	

Affected files ...

... //branches/cupcake/android/packages/apps/Music/src/com/android/music/TrackBrowserActivity.java#13 edit

--------

Change 127146

	Handle NPE when search is invoked but no suggestions are
	provided.  Also, add a field
	that was missing in the parceling of SearchableInfo.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/app/SearchDialog.java#20 edit
... //branches/cupcake/android/frameworks/base/core/java/android/server/search/SearchableInfo.java#6 edit

--------

Change 127147

	Bug fix - SET UP CALL - sending confirmation result twice. TERMINAL RESPONSE is not needed.
	
	When the user's confirmation result is handled by Telephony->StkService, returns immediately after calling CommandInterface.handleCallSetupRequestFromSim(). This will insure that the no termainl response is going to be send.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/telephony/java/com/android/internal/telephony/gsm/stk/StkService.java#2 edit

--------

Change 127155

	Don't switch back to video preview mode when bringing up the menu, except if
	we're recording.
	

Affected files ...

... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/VideoCamera.java#26 edit

--------

Change 127159

	Change back button behavior when ping-ponging between the still-image camera and
	the single-image gallery view. Now going from the gallery back to the still-image
	camera acts like a "back" as far as the activity stack is concerned.
	

Affected files ...

... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/MenuHelper.java#19 edit

--------

Change 127165

	Added a test that attempts to access a nonexistent static field.
	

Affected files ...

... //branches/cupcake/android/dalvik/tests/064-field-access/expected.txt#2 edit
... //branches/cupcake/android/dalvik/tests/064-field-access/src/GetNonexistent.java#1 add
... //branches/cupcake/android/dalvik/tests/064-field-access/src/Holder.java#1 add
... //branches/cupcake/android/dalvik/tests/064-field-access/src/Main.java#2 edit
... //branches/cupcake/android/dalvik/tests/064-field-access/src2/Holder.java#1 add

--------

Change 127170

	Setup a place to put IMF/IME sample activities. The idea is to try to
	create situations that we want to test the IMF/IME against, that aren't
	necessarily represented well by the existing applications. Include an
	input type test for starters.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/tests/ImfTest/Android.mk#1 add
... //branches/cupcake/android/frameworks/base/tests/ImfTest/AndroidManifest.xml#1 add
... //branches/cupcake/android/frameworks/base/tests/ImfTest/res/layout/sample_edit_text.xml#1 add
... //branches/cupcake/android/frameworks/base/tests/ImfTest/res/values/strings.xml#1 add
... //branches/cupcake/android/frameworks/base/tests/ImfTest/src/com/android/imftest/samples/InputTypeActivity.java#1 add

--------

Change 127176

	Expose API in SDK to remove cache files
	
	Add a new public api to free cache in PackageManager. The call back is via a pending intent.
	Rename the api to freeStorage and change usage in other places.
	Add a new unit test.
	Remove DeviceMemoryMonitor from code base.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/cmds/installd/commands.c#2 edit
... //branches/cupcake/android/frameworks/base/core/java/android/app/ApplicationContext.java#5 edit
... //branches/cupcake/android/frameworks/base/core/java/android/content/pm/IPackageManager.aidl#2 edit
... //branches/cupcake/android/frameworks/base/core/java/android/content/pm/PackageManager.java#4 edit
... //branches/cupcake/android/frameworks/base/services/java/com/android/server/DeviceMemoryMonitor.java#2 delete
... //branches/cupcake/android/frameworks/base/services/java/com/android/server/DeviceStorageMonitorService.java#2 edit
... //branches/cupcake/android/frameworks/base/services/java/com/android/server/PackageManagerService.java#6 edit
... //branches/cupcake/android/frameworks/base/test-runner/android/test/mock/MockPackageManager.java#3 edit
... //branches/cupcake/android/frameworks/base/tests/AndroidTests/src/com/android/unit_tests/AppCacheTest.java#3 edit
... //branches/cupcake/android/packages/apps/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java#5 edit

--------

Change 127180

	Fix TextAppearanceSpan parceling to write in the same
	order as it reads.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/text/TextUtils.java#7 edit

--------

Change 127182

	* General cleanup
	* Switch to supporting split file (one for platform, one for product
	  specific entries).
	

Affected files ...

... //branches/cupcake/android/packages/apps/Email/res/xml/providers.xml#7 edit
... //branches/cupcake/android/packages/apps/Email/res/xml/providers_product.xml#1 branch
... //branches/cupcake/android/packages/apps/Email/src/com/android/email/activity/setup/AccountSetupBasics.java#7 integrate

--------

Change 127194

	Fix bug (The camera preview is not in full screen after using the trackball to select the "capture" button).  Also clean up the transitions between fullscreen and non-fullscreen a bit by animating the status bar.
	Still not perfect, of course. :(
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/view/WindowManagerPolicy.java#2 edit
... //branches/cupcake/android/frameworks/base/core/res/res/anim/status_bar_enter.xml#1 add
... //branches/cupcake/android/frameworks/base/core/res/res/anim/status_bar_exit.xml#1 add
... //branches/cupcake/android/frameworks/base/core/res/res/values/styles.xml#9 edit
... //branches/cupcake/android/frameworks/base/services/java/com/android/server/WindowManagerService.java#14 edit
... //branches/cupcake/android/frameworks/base/services/java/com/android/server/status/StatusBarService.java#7 edit
... //branches/cupcake/android/frameworks/policies/base/mid/com/android/internal/policy/impl/MidWindowManager.java#2 edit
... //branches/cupcake/android/frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java#12 edit

--------

Change 127197

	Add broadcast intents for the following new external media events:
	    - Volume is being disk checked
	    - Volume is blank (no partition table or no supported filesystems)
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/content/Intent.java#11 edit

--------

Change 127200

	Camera work:
	+ Define a standard, albeit currently @hidden, intent-extra for specifying that
	  videos and/or pictures should be written to a given content URI.
	  (This had been the hard-coded string "output". We kept the value the same so
	  that any in-the-wild applications that use this extra will continue to work.)
	
	+ Add the ability to specify that a video is recorded to a given content URI.
	  (Because we can't actually do this at the video camera level yet, we cheat
	   and implement this feature using a copy-and-delete-the-original-video-file.)
	
	+ Add a test to the MarkTest scratch app to test out this new ability.
	
	+ Remove mention of the "pick" intent from the camera and video camera activities.
	  (This was a copy-and-paste error from when the code was originally copied from
	   the image gallery activities.)
	
	+ Wrap use of MediaMetadataRetriever in try / catch clauses because the
	  media metadata retriever was observed to throw a runtime exception if it was
	  given a garbage video file.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/provider/MediaStore.java#16 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/Camera.java#30 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/CropImage.java#4 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/ImageManager.java#13 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/MenuHelper.java#20 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/VideoCamera.java#27 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/Wallpaper.java#4 edit

--------

Change 127225

	Ensure that the fingerprint doesn't contain spaces.
	
	Strip the BoardConfig-defined variable.
	
	Fail if the fingerprint doesn't contain exactly one word.
	
	Remove an old check that is no longer necessary.
	

Affected files ...

... //branches/cupcake/android/build/core/Makefile#14 edit
... //branches/cupcake/android/build/core/main.mk#18 edit

--------

Change 127245

	Temporarily disable A2DP and force audio hardware when any audio streams are ringtones, alarms or notifications.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/libs/audioflinger/AudioFlinger.cpp#18 edit
... //branches/cupcake/android/frameworks/base/libs/audioflinger/AudioFlinger.h#10 edit

--------

Change 127247

	When the dom changes, preserve the focus unless the frame structure has
	changed. The old test was too conservative, and required that the old and
	new pointers match. With this change, only require that frame's position
	in the parent hierarchy match.
	

Affected files ...

... //branches/cupcake/android/external/webkit/WebKit/android/nav/CachedFrame.cpp#3 edit
... //branches/cupcake/android/external/webkit/WebKit/android/nav/CachedFrame.h#3 edit
... //branches/cupcake/android/external/webkit/WebKit/android/nav/WebView.cpp#21 edit

--------

Change 127249

	Log a better message when rejecting a class because we're not able
	to resolve a static field.
	

Affected files ...

... //branches/cupcake/android/dalvik/vm/analysis/CodeVerify.c#12 edit

--------

Change 127250

	Added a unique serial number to class objects.  This allows classes
	to be uniquely identified in a world where the GC can move objects
	around.
	
	This replaces the hprofSerialNumber that was included when
	WITH_HPROF_STACK was defined.
	

Affected files ...

... //branches/cupcake/android/dalvik/vm/Globals.h#4 edit
... //branches/cupcake/android/dalvik/vm/hprof/HprofClass.c#2 edit
... //branches/cupcake/android/dalvik/vm/hprof/HprofStackFrame.c#2 edit
... //branches/cupcake/android/dalvik/vm/mterp/common/asm-constants.h#3 edit
... //branches/cupcake/android/dalvik/vm/oo/Array.c#3 edit
... //branches/cupcake/android/dalvik/vm/oo/Class.c#5 edit
... //branches/cupcake/android/dalvik/vm/oo/Class.h#2 edit
... //branches/cupcake/android/dalvik/vm/oo/Object.h#3 edit
... //branches/cupcake/android/dalvik/vm/reflect/Proxy.c#3 edit

--------

Change 127253

	Convert microseconds to milliseconds before formatting
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/os/BatteryStats.java#4 edit

--------

Change 127254

	Print a log message rather than a stack trace when the shared prefs file is unreadable
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/app/ApplicationContext.java#6 edit

--------

Change 127259

	Integration of the latest EAS and JET engine updates from Sonivox.
	

Affected files ...

... //branches/cupcake/android/external/sonivox/arm-wt-22k/host_src/jet.h#3 edit
... //branches/cupcake/android/external/sonivox/arm-wt-22k/lib_src/eas_midi.c#2 edit
... //branches/cupcake/android/external/sonivox/arm-wt-22k/lib_src/jet.c#3 edit
... //branches/cupcake/android/external/sonivox/arm-wt-22k/lib_src/jet_data.h#2 edit

--------

Change 127263

	Adds the User dictionary settings, available via Settings > Locale and text > User dictionary, allowing you to see or add words to the user dictionary.
	

Affected files ...

... //branches/cupcake/android/packages/apps/Settings/AndroidManifest.xml#14 edit
... //branches/cupcake/android/packages/apps/Settings/res/drawable/ic_menu_add.png#1 add
... //branches/cupcake/android/packages/apps/Settings/res/layout/dialog_edittext.xml#1 add
... //branches/cupcake/android/packages/apps/Settings/res/layout/list_content_with_empty_view.xml#1 add
... //branches/cupcake/android/packages/apps/Settings/res/values/strings.xml#26 edit
... //branches/cupcake/android/packages/apps/Settings/res/xml/language_settings.xml#3 edit
... //branches/cupcake/android/packages/apps/Settings/src/com/android/settings/UserDictionarySettings.java#1 add

--------

Change 127270

	Buffer the response data even for redirects. If the redirect turns out
	to be null, use the buffered data in webcore.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/webkit/LoadListener.java#5 edit

--------

Change 127272

	This removes the quarter second delay when passing a set focus message from
	WebView to WebCore. 
	
	The delay was originally added in March of 2008 to help reduce the burden
	on WebCore when moving across several items with the trackball in quick secession.
	By delaying the event, it is easier to detect if there are subsequent events
	before the first is executed, allowing intermediate JavaScript, layout, and 
	display list builds to be deferred until the user is finished navigating.
	
	Since March, JavaScript and display list building are substantially faster.
	The old design makes it difficult to keep items in order since not all events
	(e.g. resizing the window) are delayed the same.
	
	This change preserves the code that discards navigation events as WebCore
	falls behind -- the change causes only the first trackball movement to make
	it to WebCore, where with the delay, the first movement may be ignored.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/webkit/WebView.java#29 edit

--------

Change 127273

	Pass the mouse click through to webkit, even if the node hit isn't valid.
	
	The node and frame are captured when the nav cache is built. They may not
	still be around when a later mouse click is processed. If either are not
	valid, skip special code that deals with image maps and menu lists, but
	still pass the mouse click to the main frame.
	

Affected files ...

... //branches/cupcake/android/external/webkit/WebKit/android/jni/WebViewCore.cpp#16 edit

--------

Change 127274

	Overhaul bonding API.
	
	- listBondings() is now listBonds() and uses cached values in the system
	  server
	- hasBonding() is now getBondState() and uses cached values in the system
	  server. It also returns an integer state code now to include the
	  in-progress state (BOND_BONDING)
	- createBonding() is now createBond() and no longer has an async callback.
	  Use intents instead.
	- BONDING_CREATED_ACTION / BONDING_REMOVED_ACTION are now
	  BOND_STATE_CHANGED_ACTION with state codes, and result codes.
	- Introduced BluetoothDevice.BOND_RESULT_* result codes so the UI can pick
	  a nicer error message. TODO(jasonparekh): update the UI to use these result codes.
	- Removed Setttings App PAIRING_STATUS in favor of BluetoothDevice.BOND_*
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java#4 edit
... //branches/cupcake/android/frameworks/base/core/java/android/bluetooth/BluetoothIntent.java#2 edit
... //branches/cupcake/android/frameworks/base/core/java/android/bluetooth/IBluetoothDevice.aidl#2 edit
... //branches/cupcake/android/frameworks/base/core/java/android/bluetooth/IBluetoothDeviceCallback.aidl#2 edit
... //branches/cupcake/android/frameworks/base/core/java/android/server/BluetoothA2dpService.java#9 edit
... //branches/cupcake/android/frameworks/base/core/java/android/server/BluetoothDeviceService.java#6 edit
... //branches/cupcake/android/frameworks/base/core/java/android/server/BluetoothEventLoop.java#4 edit
... //branches/cupcake/android/frameworks/base/core/jni/android_server_BluetoothDeviceService.cpp#2 edit
... //branches/cupcake/android/frameworks/base/core/jni/android_server_BluetoothEventLoop.cpp#6 edit
... //branches/cupcake/android/packages/apps/Phone/src/com/android/phone/BluetoothHeadsetService.java#6 edit
... //branches/cupcake/android/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothEventRedirector.java#3 edit
... //branches/cupcake/android/packages/apps/Settings/src/com/android/settings/bluetooth/LocalBluetoothDevice.java#8 edit
... //branches/cupcake/android/packages/apps/Settings/src/com/android/settings/bluetooth/LocalBluetoothDeviceManager.java#6 edit
... //branches/cupcake/android/packages/apps/Settings/src/com/android/settings/bluetooth/LocalBluetoothManager.java#5 edit
... //branches/cupcake/android/packages/apps/Settings/src/com/android/settings/bluetooth/SettingsBtStatus.java#2 edit

--------

Change 127275

	Added class name to "pure-abstract" warning.  Added a test case that
	exercises "conversion" of the superclass declaration from concrete to
	abstract.
	

Affected files ...

... //branches/cupcake/android/dalvik/tests/032-concrete-sub/expected.txt#2 edit
... //branches/cupcake/android/dalvik/tests/032-concrete-sub/info.txt#2 edit
... //branches/cupcake/android/dalvik/tests/032-concrete-sub/src/AbstractBase.java#2 edit
... //branches/cupcake/android/dalvik/tests/032-concrete-sub/src/ConcreteSub.java#2 edit
... //branches/cupcake/android/dalvik/tests/032-concrete-sub/src/ConcreteSub2.java#1 add
... //branches/cupcake/android/dalvik/tests/032-concrete-sub/src/Main.java#2 edit
... //branches/cupcake/android/dalvik/tests/032-concrete-sub/src2/AbstractBase.java#2 edit
... //branches/cupcake/android/dalvik/vm/analysis/DexOptimize.c#5 edit

--------

Change 127278

	Bug 1555561: Make the EditTexts in the "Add Bookmark" dialog
	single-line so they don't stretch and mess up the layout.
	

Affected files ...

... //branches/cupcake/android/packages/apps/Browser/res/layout/browser_add_bookmark.xml#2 edit

--------

Change 127282

	   Fix build.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/tests/AndroidTests/src/com/android/unit_tests/BluetoothTest.java#3 edit

--------

Change 127283

	   Clean up some old cruft.
	

Affected files ...

... //branches/cupcake/android/system/core/init/devices.c#7 edit

--------

Change 127285

	sync with demetrius r75
	allow to build with scalar==fixed again
	remove some unneeded SK_BUILD_FOR_MAC tests
	

Affected files ...

... //branches/cupcake/android/external/skia/include/core/SkBitmap.h#2 edit
... //branches/cupcake/android/external/skia/src/core/SkFloatBits.cpp#2 edit
... //branches/cupcake/android/external/skia/src/core/SkGraphics.cpp#4 edit
... //branches/cupcake/android/external/skia/src/core/SkMath.cpp#3 edit
... //branches/cupcake/android/external/skia/src/ports/SkFontHost_mac.cpp#3 edit

--------

Change 127289

	Increase MMS size to 1MB.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/core/java/android/provider/Settings.java#28 edit
... //branches/cupcake/android/packages/apps/Mms/src/com/android/mms/model/CarrierContentRestriction.java#2 edit
... //branches/cupcake/android/packages/apps/Mms/src/com/android/mms/model/ContentRestriction.java#2 edit
... //branches/cupcake/android/packages/apps/Mms/src/com/android/mms/model/SlideshowModel.java#2 edit

--------

Change 127297

	Fixing Socket Spec
	Fixing a Bug where SecurityManager.checkConnect is called with the
	host name instead of the host address as it is specified and
	implemented by the RI.
	Reenabling comented out code in InetAddress.getLocalHost()
	Fixed an error in InetAddress.equals() where we were not adhering to the spec.
	Applied some fixes copied from harmony to not have to deal with dem later.
	

Affected files ...

... //branches/cupcake/android/dalvik/libcore/luni/src/main/java/java/net/InetAddress.java#5 edit
... //branches/cupcake/android/dalvik/libcore/luni/src/main/java/java/net/NegCacheElement.java#3 edit
... //branches/cupcake/android/dalvik/libcore/luni/src/main/java/java/net/NegativeCache.java#3 edit
... //branches/cupcake/android/dalvik/libcore/luni/src/main/java/java/net/Socket.java#3 edit

--------

Change 127310

	Fix ToggleButton. A previous change I made was based on a false assumption about how LayerDrawable works. A LayerDrawable *adds* the padding of all of its layers, each layer being translated by the padding of the layer below it. Surprising, but necessary to make widgets like ToggleButton work.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/graphics/java/android/graphics/drawable/LayerDrawable.java#4 edit

--------

Change 127315

	Implement "IME: Add transactions to InputConnection".  Also change the background dim amount, which I forgot to include with my previous check-in. :)
	

Affected files ...

... //branches/cupcake/android/frameworks/base/api/current.xml#107 edit
... //branches/cupcake/android/frameworks/base/core/java/android/view/inputmethod/InputConnection.java#11 edit
... //branches/cupcake/android/frameworks/base/core/java/android/view/inputmethod/InputConnectionWrapper.java#9 edit
... //branches/cupcake/android/frameworks/base/core/java/android/view/inputmethod/InputMethodManager.java#22 edit
... //branches/cupcake/android/frameworks/base/core/java/android/widget/TextView.java#23 edit
... //branches/cupcake/android/frameworks/base/core/java/com/android/internal/view/IInputConnectionWrapper.java#11 edit
... //branches/cupcake/android/frameworks/base/core/java/com/android/internal/view/IInputContext.aidl#10 edit
... //branches/cupcake/android/frameworks/base/core/java/com/android/internal/view/InputConnectionWrapper.java#10 edit
... //branches/cupcake/android/frameworks/base/core/java/com/android/internal/widget/EditableInputConnection.java#11 edit
... //branches/cupcake/android/frameworks/base/core/res/res/values/themes.xml#6 edit

--------

Change 127338

	Reset variables in bluetooth_start() to fix intermittent glitches resuming A2DP after standby.
	

Affected files ...

... //branches/cupcake/android/external/bluez/utils/audio/liba2dp.c#12 edit

--------

Change 127341

	ButtonActivity - test to see if softkeyboard responds correctly to button activity.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/tests/ImfTest/AndroidManifest.xml#2 edit
... //branches/cupcake/android/frameworks/base/tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java#1 add

--------

Change 127342

	   Make GadgetService get the list of gadgets by querying the package
	   manager, and having a configuration xml file instead of hard coding
	   it.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/api/current.xml#108 edit
... //branches/cupcake/android/frameworks/base/core/java/android/gadget/GadgetManager.java#2 edit
... //branches/cupcake/android/frameworks/base/core/java/com/android/internal/gadget/IGadgetService.aidl#2 edit
... //branches/cupcake/android/frameworks/base/core/res/res/values/attrs.xml#32 edit
... //branches/cupcake/android/frameworks/base/core/res/res/values/public.xml#32 edit
... //branches/cupcake/android/frameworks/base/services/java/com/android/server/GadgetService.java#2 edit
... //branches/cupcake/android/frameworks/base/tests/GadgetHost/AndroidManifest.xml#2 edit
... //branches/cupcake/android/frameworks/base/tests/GadgetHost/src/com/android/gadgethost/GadgetHostActivity.java#2 edit
... //branches/cupcake/android/frameworks/base/tests/GadgetHost/src/com/android/gadgethost/GadgetPickActivity.java#2 edit

--------

Change 127344

	Make sure the music service also stops itself if it got killed and restarted by the system.
	

Affected files ...

... //branches/cupcake/android/packages/apps/Music/src/com/android/music/MediaPlaybackService.java#10 edit

--------

Change 127347

	   add the gadget_info xml file
	

Affected files ...

... //branches/cupcake/android/frameworks/base/tests/GadgetHost/res/xml/gadget_info.xml#1 add

--------

Change 127356

	Submit rightly signed 64-bit driver
	

Affected files ...

... //branches/cupcake/android/development/host/windows/prebuilt/usb/driver_amd_64/androidusb.sys#3 edit
... //branches/cupcake/android/development/host/windows/prebuilt/usb/driver_amd_64/androidusba64.cat#3 edit

--------

Change 127362

	Use mmap to load speech model files.  Use const.
	

Affected files ...

... //branches/cupcake/android/external/srec/srec/clib/log_add.h#2 edit
... //branches/cupcake/android/external/srec/srec/clib/swimodel.c#2 edit
... //branches/cupcake/android/external/srec/srec/clib/voc_read.c#2 edit
... //branches/cupcake/android/external/srec/srec/crec/c47mulsp.c#2 edit
... //branches/cupcake/android/external/srec/srec/crec/get_fram.c#2 edit
... //branches/cupcake/android/external/srec/srec/crec/srec.c#2 edit
... //branches/cupcake/android/external/srec/srec/include/c42mul.h#2 edit
... //branches/cupcake/android/external/srec/srec/include/hmmlib.h#2 edit
... //branches/cupcake/android/external/srec/srec/include/simapi.h#2 edit
... //branches/cupcake/android/external/srec/srec/include/srec.h#2 edit
... //branches/cupcake/android/external/srec/srec/include/swimodel.h#2 edit
... //branches/cupcake/android/external/srec/tools/grxmlcompile/grph.h#2 edit

--------

Change 127363

	Bug 1547138: Add copyright headers to translated strings files.
	Don't generate files that don't actually contain any translations.
	Check in code for generating translation console flat-file format.
	

Affected files ...

[list deleted]

--------

Change 127371

	Clean up termination of the GPS network thread.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java#6 edit

--------

Change 127377

	Introduce a new Activity callback, onUserLeaving(), that is invoked whenever the user initiates an action that causes the activity to be moved away from being frontmost.
	
	Any code that starts activities "silently," without the user having prompted the action, should supply the new Intent.FLAG_ACTIVITY_NO_USER_ACTION flag when calling startActivity().  This instructs the Activity Manager that this focus change is not due to user activity, suppressing the onUserLeaving() callback.  This is important to preserve the reliability of the onUserLeaving() callback indicating a specific user choice to navigate to the new activity.
	
	The two known apps in the tree that forcibly start activities without user activity have also been updated to use this new Intent flag:  Phone and AlarmClock.
	

Affected files ...

... //branches/cupcake/android/frameworks/base/api/current.xml#109 edit
... //branches/cupcake/android/frameworks/base/core/java/android/app/Activity.java#9 edit
... //branches/cupcake/android/frameworks/base/core/java/android/app/ActivityThread.java#6 edit
... //branches/cupcake/android/frameworks/base/core/java/android/app/ApplicationThreadNative.java#3 edit
... //branches/cupcake/android/frameworks/base/core/java/android/app/IApplicationThread.java#3 edit
... //branches/cupcake/android/frameworks/base/core/java/android/app/Instrumentation.java#3 edit
... //branches/cupcake/android/frameworks/base/core/java/android/content/Intent.java#12 edit
... //branches/cupcake/android/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java#11 edit
... //branches/cupcake/android/packages/apps/AlarmClock/src/com/android/alarmclock/AlarmReceiver.java#4 edit
... //branches/cupcake/android/packages/apps/Phone/src/com/android/phone/PhoneApp.java#6 edit

--------

Change 127385

	marking bookmarks as untranslatable
	

Affected files ...

... //branches/cupcake/android/packages/apps/Browser/res/values/strings.xml#15 integrate

--------

Change 127387

	Test case to make sure we don't reuse the "this" register in
	instance methods.
	

Affected files ...

... //branches/cupcake/android/dalvik/dx/tests/110-dex-preserve-this/Blort.java#1 add
... //branches/cupcake/android/dalvik/dx/tests/110-dex-preserve-this/expected.txt#1 add
... //branches/cupcake/android/dalvik/dx/tests/110-dex-preserve-this/info.txt#1 add
... //branches/cupcake/android/dalvik/dx/tests/110-dex-preserve-this/run#1 add

--------

Change 127392

	update the 'update-audio.sh' script that is used to upload a new prebuilt version
	of the QEMU audio sub-system for Linux.
	

Affected files ...

... //branches/cupcake/android/external/qemu/Makefile.android#10 integrate
... //branches/cupcake/android/external/qemu/distrib/update-audio.sh#2 edit
... //branches/cupcake/android/prebuilt/linux-x86/emulator/libqemu-audio.a#2 edit

--------

Change 127400

	Fix the problem where the build would break looking for "@".
	
	built_ota_tools should have been a list of files, not a list
	of commands to build those files.
	

Affected files ...

... //branches/cupcake/android/build/core/Makefile#15 edit

--------

Change 127406

	Fix bug (Bottom/Menu portion of the screen is appearing black).  There were a bunch of issues with deciding when to show the IME window, and a big issue in the sample keyboard IME with when it was handing starting of input (it would only work if the keyboard view had been created).
	

Affected files ...

... //branches/cupcake/android/development/samples/SoftKeyboard/src/com/example/android/softkeyboard/SoftKeyboard.java#6 edit
... //branches/cupcake/android/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java#21 edit

--------

Change 127412

	   Fix timer subtraction when there is > 1 second difference.
	

Affected files ...

... //branches/cupcake/android/external/bluez/utils/audio/liba2dp.c#13 edit

--------

Change 127433

	Fix Mac build of the emulator
	

Affected files ...

... //branches/cupcake/android/external/qemu/Makefile.android#11 edit

--------

Change 127436

	 Camera: Create a subclass of ImageView that can be used as a camera button.
	+ Clients can register for notification when the button is pressed, optionally clicked,
	and released.
	     - note that you can press a button, then move your finger off of it before releasing,
	       in which case ther would be a pressed and a released notification, but no clicked
	       notification.
	     - The reason we want to do this is so we can emulate the physical camera button, which
	       has focus down, optional camera down-and-up, and focus up events.
	+ The pressed, clicked, and released notifications are delivered in that order, both for
	  touch presses and for trackball/dpad presses. (This was tricky because the UI
	  framework delivers the underlying notifications in a different order for the two
	  types of input.)
	+ Use the new shutter button in the still-image camera. We don't yet need it in the
	  video camera, but it could be used there as well.
	

Affected files ...

... //branches/cupcake/android/packages/apps/Camera/res/layout/camera.xml#16 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/Camera.java#31 edit
... //branches/cupcake/android/packages/apps/Camera/src/com/android/camera/ShutterButton.java#1 add

--------

