[Nexus S Android Development] steven676:
Service Pack 4

Service Pack 4 for the 2012/06/30 SDK JRN83C ROM. This can be flashed on top of the original JRN83C ROM with or without any of the previous service packs applied.

https://docs.google.com/uc?export=download&id=0BwGWbMaI9twWRHFrRUROcDhIeVk http://goo.gl/ZVlQS (many thanks to bl1nkk for hosting) (alternately, check thread for mirrors)

Changes in SP4:

Added the files in /system/usr/srec/en-US from the Nexus 7 JRN84D factory image -- Google Now/voice search, voice dialing, and offline voice dictation input all work.

Added /system/lib/libpatts_engine_jni_api.so from the Nexus 7 JRN84D factory image -- Google TTS now works. (Pico TTS already worked in previous releases.)

Replaced /system/app/SetupWizard.apk with the version from the Galaxy Nexus JRN84D build -- first-run setup should now display properly. (For the curious, I got the apk from Koush's jb-takju.zip and verified that it matched the JRN84D OTA via the SHA1 sums in the OTA update package.)

Added /system/app/{LiveWallpapers,VisualizationWallpapers,HoloSpiralWallpaper}.apk from Nexus S IMM76D to provide some live wallpapers.

Reverted a change in /system/framework/framework-res.apk to the default wallpaper; defaulting to the Nexus live wallpaper hurts performance.

Changes in SP3 (included in SP4):

libhardware_legacy.wifi.so updated to support wifi tethering. (See the linked post for source code.)

Permissions on /system/etc/bluetooth fixed to allow BlueZ to see its config files -- fixes phone calls over a Bluetooth headset, plus lots of other Bluetooth-related functionality.

hwcomposer.s5pc110.so replaced with a build from Jelly Bean-based source -- hopefully fixes hwcomposer bugs people have been experiencing. (See this post for more information.)

Removed /system/app/QuickSearchBox.apk to prevent conflicts with Google Now -- should fix Google Now access for most people. If you're still seeing problems, please provide a full logcat. (thanks afzalarsalan)

Changes in SP2 (included in SP3 and later):

New boot.img with /init.herring.rc edited to fix a thinko which was preventing CPU governor tweak from taking effect -- should result in more smoothness.

/system/build.prop edited to report as a "user" build instead of an "eng" build -- resolves red border flashing on screen. (thanks capez)

/system/etc/media_codecs.xml and /system/etc/media_profiles.xml copied from the Jelly Bean device/samsung/crespo tree -- video recording now works.

/system/lib/libjni_mosaic.so copied from Nexus 7 JRN84D image -- panoramic camera now works.

More changes from Nexus S ICS /system/framework/framework-res.apk integrated -- automatic brightness setting now enabled, tethering menu now enabled (wifi tethering is still broken).

Changes in SP1 (included in SP2 and up):

Jelly Bean audio HAL modules included -- sound now works.

/system/build.prop edited to report as a "user" build instead of an "eng" build -- resolves red border flashing on screen. (thanks capez) I screwed up integrating this fix, so it's not actually part of SP1. Will be in SP2.

/system/bin/make_ext4fs and /system/bin/setup_fs replaced with Nexus 7 JRN84D binaries -- fixes installing apps to SD card. (thanks smojica for reporting)

Removed LegacyCamera app to avoid having two camera apps.

MD5: ac85b1e309ba3a3f438efe0954c11c32
SHA1: d147f777f8594c5d33dfd480143758107ff1baab
SHA256: 951d39e75e8d4891e18a1da3896567f293074262d8aef3cd0021d4239492cf00

This is safe to flash on top of your ROM, whether or not you have any of the previous service packs installed.

I'll probably continue to distribute updates to this ROM via these service packs, mostly to save everyone bandwidth. (As with MS Windows service packs, they will be cumulative -- e.g. SP5, assuming there is one, will be flashable on top of the base ROM or any of SP1-4.)