diff --git a/fmapp2/res/drawable/btn_speaker.xml b/fmapp2/res/drawable/btn_speaker.xml
index a22e62a..3733fd8 100644
--- a/fmapp2/res/drawable/btn_speaker.xml
+++ b/fmapp2/res/drawable/btn_speaker.xml
@@ -33,5 +33,7 @@
     <item android:state_pressed="true"
         android:drawable="@drawable/ic_btn_spaker_select" />
     <item android:state_enabled="true"
-        android:drawable="@drawable/ic_btn_spaker" />
+        android:drawable="@drawable/ic_btn_spaker_default" />
+    <item android:state_enabled="false"
+        android:drawable="@drawable/ic_btn_spaker_diable" />
 </selector>
diff --git a/fmapp2/res/drawable/ic_btn_earphone_default.xml b/fmapp2/res/drawable/ic_btn_earphone_default.xml
index bb2da4f..b7d2a39 100644
--- a/fmapp2/res/drawable/ic_btn_earphone_default.xml
+++ b/fmapp2/res/drawable/ic_btn_earphone_default.xml
@@ -11,7 +11,7 @@
             android:strokeAlpha=".1"
             android:pathData="M0 0h24v24h-24z" />
         <path
-            android:fillColor="#fafafa"
+            android:fillColor="#fefefe"
             android:pathData="M12 1c-4.97 0-9 4.03-9 9v7c0 1.66 1.34 3 3 3h3v-8h-4v-2c0-3.87 3.13-7 7-7s7 3.13
 7 7v2h-4v8h3c1.66 0 3-1.34 3-3v-7c0-4.97-4.03-9-9-9z" />
     </group>
diff --git a/fmapp2/res/drawable/ic_btn_earphone_diable.xml b/fmapp2/res/drawable/ic_btn_earphone_diable.xml
index b7d2a39..87a957b 100644
--- a/fmapp2/res/drawable/ic_btn_earphone_diable.xml
+++ b/fmapp2/res/drawable/ic_btn_earphone_diable.xml
@@ -11,7 +11,7 @@
             android:strokeAlpha=".1"
             android:pathData="M0 0h24v24h-24z" />
         <path
-            android:fillColor="#fefefe"
+            android:fillColor="#003a33"
             android:pathData="M12 1c-4.97 0-9 4.03-9 9v7c0 1.66 1.34 3 3 3h3v-8h-4v-2c0-3.87 3.13-7 7-7s7 3.13
 7 7v2h-4v8h3c1.66 0 3-1.34 3-3v-7c0-4.97-4.03-9-9-9z" />
     </group>
diff --git a/fmapp2/res/drawable/ic_btn_earphone_select.xml b/fmapp2/res/drawable/ic_btn_earphone_select.xml
index 443e1f6..979cb52 100644
--- a/fmapp2/res/drawable/ic_btn_earphone_select.xml
+++ b/fmapp2/res/drawable/ic_btn_earphone_select.xml
@@ -11,7 +11,7 @@
             android:strokeAlpha=".1"
             android:pathData="M0 0h24v24h-24z" />
         <path
-            android:fillColor="#eeeeee"
+            android:fillColor="#4db6ac"
             android:pathData="M12 1c-4.97 0-9 4.03-9 9v7c0 1.66 1.34 3 3 3h3v-8h-4v-2c0-3.87 3.13-7 7-7s7 3.13
 7 7v2h-4v8h3c1.66 0 3-1.34 3-3v-7c0-4.97-4.03-9-9-9z" />
     </group>
diff --git a/fmapp2/res/drawable/ic_btn_spaker.png b/fmapp2/res/drawable/ic_btn_spaker.png
deleted file mode 100644
index f439e2e..0000000
--- a/fmapp2/res/drawable/ic_btn_spaker.png
+++ /dev/null
Binary files differ
diff --git a/fmapp2/res/drawable/ic_btn_spaker_default.xml b/fmapp2/res/drawable/ic_btn_spaker_default.xml
new file mode 100644
index 0000000..ba277fb
--- /dev/null
+++ b/fmapp2/res/drawable/ic_btn_spaker_default.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <group>
+        <path
+            android:fillColor="#fefefe"
+            android:pathData="M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5
+5V4L9 9H5z" />
+        <path
+            android:pathData="M0 0h24v24H0z" />
+    </group>
+</vector>
diff --git a/fmapp2/res/drawable/ic_btn_spaker_diable.xml b/fmapp2/res/drawable/ic_btn_spaker_diable.xml
new file mode 100644
index 0000000..4fb4267
--- /dev/null
+++ b/fmapp2/res/drawable/ic_btn_spaker_diable.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <group>
+        <path
+            android:fillColor="#003a33"
+            android:pathData="M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5
+5V4L9 9H5z" />
+        <path
+            android:pathData="M0 0h24v24H0z" />
+    </group>
+</vector>
diff --git a/fmapp2/res/drawable/ic_btn_spaker_select.xml b/fmapp2/res/drawable/ic_btn_spaker_select.xml
index 9cb39b2..984677a 100644
--- a/fmapp2/res/drawable/ic_btn_spaker_select.xml
+++ b/fmapp2/res/drawable/ic_btn_spaker_select.xml
@@ -7,7 +7,7 @@
 
     <group>
         <path
-            android:fillColor="#fafafa"
+            android:fillColor="#4db6ac"
             android:pathData="M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5
 5V4L9 9H5z" />
         <path
diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java
index 97b4c8a..f96e8e7 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadio.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadio.java
@@ -709,7 +709,6 @@
       MenuItem item;
       boolean radioOn = isFmOn();
       boolean recording = isRecording();
-      boolean mSpeakerPhoneOn = isSpeakerEnabled();
       boolean sleepActive = isSleepTimerActive();
       boolean searchActive = isScanActive() || isSeekActive();
       Log.d(LOGTAG, "onCreateOptionsmenu");
@@ -769,7 +768,6 @@
       boolean radioOn = isFmOn();
       boolean recording = isRecording();
       boolean RtPlusSupported = isRtPlusSupported();
-      boolean mSpeakerPhoneOn = isSpeakerEnabled();
       boolean searchActive = isScanActive() || isSeekActive();
 
       item = menu.findItem(MENU_SCAN_START);
@@ -865,7 +863,7 @@
    }
 
    private void enableSpeaker() {
-    //This method with toggle Speaker phone based on existing state .
+       //This method with toggle Speaker phone based on existing state .
        boolean bSpeakerPhoneOn = isSpeakerEnabled();
        if(mService != null) {
            try {
@@ -1476,7 +1474,6 @@
         new View.OnClickListener() {
           @Override
           public void onClick(View v) {
-             // TODO Auto-generated method stub
              mSpeakerButton.setClickable(false);
              mSpeakerButton.setOnClickListener(null);
              mHandler.removeCallbacks(mEnableRadioTask);
