fmapp2: Run enable/disable speaker on seperate thread

Continous switching from speaker to headset or vice versa
causes ANR in FM. Speaker to headset or vice versa switch
operation takes few seconds so to avoid ANR run operation in
seperate thread other than UI thread

Change-Id: I761e936f18ddca5200305b41fc375ab9c9ffc830
CRs-Fixed: 507238
diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java
index e311172..c33bbbd 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadio.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadio.java
@@ -1482,10 +1482,21 @@
           @Override
           public void onClick(View v) {
              // TODO Auto-generated method stub
-             enableSpeaker();
+             mSpeakerButton.setClickable(false);
+             mSpeakerButton.setOnClickListener(null);
+             mHandler.removeCallbacks(mEnableRadioTask);
+             mHandler.postDelayed(mEnableSpeakerTask, 0);
           }
     };
 
+   private Runnable mEnableSpeakerTask = new Runnable() {
+     public void run() {
+       enableSpeaker();
+       mSpeakerButton.setClickable(true);
+       mSpeakerButton.setOnClickListener(mSpeakerClickListener);
+     }
+   };
+
    private View.OnClickListener mMuteModeClickListener =
       new View.OnClickListener() {
         public void onClick(View v) {