Fix force close of voicemail activity caused by screen rotation

Since VoicemailSettingsActivity does not handle horizontal/vertical
screen rotation properly, RuntimeException occurs when selecting contact
after screen rotation in "Choose a contact" view. Add configChanges
attributes in AndroidManifest.xml to fix the issue.

Bug: 32424108
Change-Id: I422328389dfd96444806a222b8ebbfc758daa477
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b5fd399..f611706 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -585,6 +585,7 @@
 
         <activity android:name="com.android.phone.settings.VoicemailSettingsActivity"
             android:label="@string/voicemail"
+            android:configChanges="orientation|screenSize|keyboardHidden"
             android:theme="@style/DialerSettingsLight">
             <intent-filter >
                 <!-- DO NOT RENAME. There are existing apps which use this string. -->
diff --git a/src/com/android/phone/settings/VoicemailSettingsActivity.java b/src/com/android/phone/settings/VoicemailSettingsActivity.java
index 35d9a1c..6bb481f 100644
--- a/src/com/android/phone/settings/VoicemailSettingsActivity.java
+++ b/src/com/android/phone/settings/VoicemailSettingsActivity.java
@@ -537,7 +537,11 @@
                     if (DBG) log("onActivityResult: bad contact data, no results found.");
                     return;
                 }
-                mSubMenuVoicemailSettings.onPickActivityResult(cursor.getString(0));
+                if (mSubMenuVoicemailSettings != null) {
+                    mSubMenuVoicemailSettings.onPickActivityResult(cursor.getString(0));
+                } else {
+                    Log.w(LOG_TAG, "VoicemailSettingsActivity destroyed while setting contacts.");
+                }
                 return;
             } finally {
                 if (cursor != null) {