From c985b3693b09ae9cfa04802de8aa3cacf7f6e000 Mon Sep 17 00:00:00 2001
From: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
Date: Tue, 10 Dec 2013 17:45:03 -0500
Subject: [PATCH] fix:- do not route audio to speakers when headset is on     -
 one liner bug in call UI

---
 src/org/sflphone/client/HomeActivity.java | 7 +++----
 src/org/sflphone/model/BubbleModel.java   | 2 +-
 src/org/sflphone/utils/MediaManager.java  | 2 +-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/org/sflphone/client/HomeActivity.java b/src/org/sflphone/client/HomeActivity.java
index 7c435fc4e..4fc6e9c72 100644
--- a/src/org/sflphone/client/HomeActivity.java
+++ b/src/org/sflphone/client/HomeActivity.java
@@ -575,7 +575,6 @@ public class HomeActivity extends Activity implements DialingFragment.Callbacks,
             }
         } else {
             createNotRegisteredDialog().show();
-            ;
         }
 
     }
@@ -629,10 +628,10 @@ public class HomeActivity extends Activity implements DialingFragment.Callbacks,
 
     @Override
     public void toggleDrawer() {
-        if (!mContactDrawer.isExpanded())
-            mContactDrawer.expandPane(0.3f);
-        else if (mContactDrawer.isAnchored())
+        if (mContactDrawer.isAnchored())
             mContactDrawer.expandPane();
+        else if (!mContactDrawer.isExpanded())
+            mContactDrawer.expandPane(0.3f);
         else
             mContactDrawer.collapsePane();
     }
diff --git a/src/org/sflphone/model/BubbleModel.java b/src/org/sflphone/model/BubbleModel.java
index 9e2a5c412..100a4551f 100644
--- a/src/org/sflphone/model/BubbleModel.java
+++ b/src/org/sflphone/model/BubbleModel.java
@@ -90,7 +90,7 @@ public class BubbleModel {
         // to avoid garbage collection glitches caused by iterator objects.
         for (int i = 0, n = bubbles.size(); i < n; i++) {
 
-            if (i > bubbles.size()) { // prevent updating a bubble already removed
+            if (i >= bubbles.size()) { // prevent updating a bubble already removed
                 return;
             }
             Bubble b = bubbles.get(i);
diff --git a/src/org/sflphone/utils/MediaManager.java b/src/org/sflphone/utils/MediaManager.java
index b1963a454..82d7554d6 100644
--- a/src/org/sflphone/utils/MediaManager.java
+++ b/src/org/sflphone/utils/MediaManager.java
@@ -38,7 +38,7 @@ public class MediaManager implements OnAudioFocusChangeListener {
     public void obtainAudioFocus(boolean requestSpeakerOn) {
         mAudioManager.requestAudioFocus(this, Compatibility.getInCallStream(false), AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
-        if(requestSpeakerOn){
+        if(requestSpeakerOn && !mAudioManager.isWiredHeadsetOn()){
             RouteToSpeaker();
         }
     }
-- 
GitLab