Merge "Fix 2656989. Clean up update to updated system applications." into froyo
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java
index bf94707..03efea9 100644
--- a/core/java/android/view/ViewRoot.java
+++ b/core/java/android/view/ViewRoot.java
@@ -2580,27 +2580,33 @@
     public void playSoundEffect(int effectId) {
         checkThread();
 
-        final AudioManager audioManager = getAudioManager();
+        try {
+            final AudioManager audioManager = getAudioManager();
 
-        switch (effectId) {
-            case SoundEffectConstants.CLICK:
-                audioManager.playSoundEffect(AudioManager.FX_KEY_CLICK);
-                return;
-            case SoundEffectConstants.NAVIGATION_DOWN:
-                audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_DOWN);
-                return;
-            case SoundEffectConstants.NAVIGATION_LEFT:
-                audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_LEFT);
-                return;
-            case SoundEffectConstants.NAVIGATION_RIGHT:
-                audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_RIGHT);
-                return;
-            case SoundEffectConstants.NAVIGATION_UP:
-                audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_UP);
-                return;
-            default:
-                throw new IllegalArgumentException("unknown effect id " + effectId +
-                        " not defined in " + SoundEffectConstants.class.getCanonicalName());
+            switch (effectId) {
+                case SoundEffectConstants.CLICK:
+                    audioManager.playSoundEffect(AudioManager.FX_KEY_CLICK);
+                    return;
+                case SoundEffectConstants.NAVIGATION_DOWN:
+                    audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_DOWN);
+                    return;
+                case SoundEffectConstants.NAVIGATION_LEFT:
+                    audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_LEFT);
+                    return;
+                case SoundEffectConstants.NAVIGATION_RIGHT:
+                    audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_RIGHT);
+                    return;
+                case SoundEffectConstants.NAVIGATION_UP:
+                    audioManager.playSoundEffect(AudioManager.FX_FOCUS_NAVIGATION_UP);
+                    return;
+                default:
+                    throw new IllegalArgumentException("unknown effect id " + effectId +
+                            " not defined in " + SoundEffectConstants.class.getCanonicalName());
+            }
+        } catch (IllegalStateException e) {
+            // Exception thrown by getAudioManager() when mView is null
+            Log.e(TAG, "FATAL EXCEPTION when attempting to play sound effect: " + e);
+            e.printStackTrace();
         }
     }
 
diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk
index 8191cc7..0420a60 100644
--- a/media/libstagefright/Android.mk
+++ b/media/libstagefright/Android.mk
@@ -102,8 +102,6 @@
 
 LOCAL_CFLAGS += -Wno-multichar
 
-LOCAL_PRELINK_MODULE:= false
-
 LOCAL_MODULE:= libstagefright
 
 include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/amrnb/common/Android.mk b/media/libstagefright/codecs/amrnb/common/Android.mk
index 2657a52..30ce29c 100644
--- a/media/libstagefright/codecs/amrnb/common/Android.mk
+++ b/media/libstagefright/codecs/amrnb/common/Android.mk
@@ -69,8 +69,6 @@
 LOCAL_CFLAGS := \
         -DOSCL_UNUSED_ARG= -DOSCL_IMPORT_REF= -DOSCL_EXPORT_REF=
 
-LOCAL_PRELINK_MODULE:= false
-
 LOCAL_MODULE := libstagefright_amrnb_common
 
 include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/codecs/avc/common/Android.mk b/media/libstagefright/codecs/avc/common/Android.mk
index 39c6da8..22dee15 100644
--- a/media/libstagefright/codecs/avc/common/Android.mk
+++ b/media/libstagefright/codecs/avc/common/Android.mk
@@ -16,6 +16,4 @@
 	$(LOCAL_PATH)/src \
  	$(LOCAL_PATH)/include
 
-LOCAL_PRELINK_MODULE:= false
-
 include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/colorconversion/Android.mk b/media/libstagefright/colorconversion/Android.mk
index e7a571a..b9ba1be 100644
--- a/media/libstagefright/colorconversion/Android.mk
+++ b/media/libstagefright/colorconversion/Android.mk
@@ -17,8 +17,6 @@
         libsurfaceflinger_client\
         libcamera_client
 
-LOCAL_PRELINK_MODULE:= false
-
 LOCAL_MODULE:= libstagefright_color_conversion
 
 include $(BUILD_SHARED_LIBRARY)
diff --git a/media/libstagefright/omx/Android.mk b/media/libstagefright/omx/Android.mk
index 2473731..f4f5cc1 100644
--- a/media/libstagefright/omx/Android.mk
+++ b/media/libstagefright/omx/Android.mk
@@ -42,8 +42,6 @@
 LOCAL_SHARED_LIBRARIES += libdl
 endif
 
-LOCAL_PRELINK_MODULE:= false
-
 LOCAL_MODULE:= libstagefright_omx
 
 include $(BUILD_SHARED_LIBRARY)