Fix issue 2301630:  Mismatch of state occurs when media server is killed while in-call.

Use setParameters() API to indicate to audio HAL that we are restarting the media server after a crash.
The use made by audio HAL implementation of this indication is platform specific.

Change-Id: I085b174fa1474575da0e4d295921079b6b68efb8
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index bd78f93..50f0674 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -1627,6 +1627,12 @@
 
                 case MSG_MEDIA_SERVER_STARTED:
                     Log.e(TAG, "Media server started.");
+                    // indicate to audio HAL that we start the reconfiguration phase after a media
+                    // server crash
+                    // Note that MSG_MEDIA_SERVER_STARTED message is only received when the media server
+                    // process restarts after a crash, not the first time it is started.
+                    AudioSystem.setParameters("restarting=true");
+
                     // Restore device connection states
                     Set set = mConnectedDevices.entrySet();
                     Iterator i = set.iterator();
@@ -1660,6 +1666,9 @@
 
                     // Restore ringer mode
                     setRingerModeInt(getRingerMode(), false);
+
+                    // indicate the end of reconfiguration phase to audio HAL
+                    AudioSystem.setParameters("restarting=false");
                     break;
 
                 case MSG_PLAY_SOUND_EFFECT: