Fix bug #18104271 Tapping *name* of service in Voice input services does not fill in radio button

- prevent sending onRadioButtonClicked() if the radio button is already checked
- check the new current radio button

Change-Id: I7e4457bcba6eb1abf51fbe3902bc0f6df0f4bdcf
diff --git a/src/com/android/settings/voice/VoiceInputPreference.java b/src/com/android/settings/voice/VoiceInputPreference.java
index 0ebffbb..38ef0ca 100644
--- a/src/com/android/settings/voice/VoiceInputPreference.java
+++ b/src/com/android/settings/voice/VoiceInputPreference.java
@@ -110,7 +110,9 @@
         textLayout.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                onRadioButtonClicked(rb, !rb.isChecked());
+                if (!rb.isChecked()) {
+                    onRadioButtonClicked(rb, true);
+                }
             }
         });
 
@@ -216,6 +218,7 @@
         mSharedState.setCurrentKey(getKey());
         updateCheckedState(true);
         callChangeListener(mSharedState.getCurrentKey());
+        current.setChecked(true);
     }
 
     /**