* #23692 Modified attractors display bubbles in circle
* #23415 Small fixes
* #23697 Implementation of hold/unhold a conference -buggy
diff --git a/src/com/savoirfairelinux/sflphone/client/BubblesViewActivity.java b/src/com/savoirfairelinux/sflphone/client/BubblesViewActivity.java
index b80de7c..bcd358f 100644
--- a/src/com/savoirfairelinux/sflphone/client/BubblesViewActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/BubblesViewActivity.java
@@ -1,9 +1,10 @@
 package com.savoirfairelinux.sflphone.client;
 
-
 import android.app.Activity;
 import android.graphics.PointF;
 import android.os.Bundle;
+import android.util.DisplayMetrics;
+import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Button;
@@ -13,47 +14,66 @@
 import com.savoirfairelinux.sflphone.model.BubbleModel;
 import com.savoirfairelinux.sflphone.model.BubblesView;
 
-public class BubblesViewActivity extends Activity
-{
-	private static final String TAG = BubblesViewActivity.class.getSimpleName();
+public class BubblesViewActivity extends Activity {
+    private static final String TAG = BubblesViewActivity.class.getSimpleName();
 
-	BubblesView view;
+    BubblesView view;
 
-	BubbleModel model;
+    PointF screenCenter;
+    int radiusCalls;
+    int angle_part;
 
-	/** Called when the activity is first created. */
-	@Override
-	public void onCreate(Bundle savedInstanceState)
-	{
-		super.onCreate(savedInstanceState);
-		setContentView(R.layout.bubbleview_layout);
+    BubbleModel model;
 
-		model = new BubbleModel();
-		model.listBubbles.add(new Bubble(this, 200, 300, 150, R.drawable.me));
-		model.listBubbles.add(new Bubble(this, 200, 700, 150, R.drawable.callee));
+    int num_bubble;
 
-		Button b = (Button) findViewById(R.id.add_bubble);
-		view = (BubblesView) findViewById(R.id.main_view);
-		view.setModel(model);
+    /** Called when the activity is first created. */
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.bubbleview_layout);
 
-		b.setOnClickListener(new OnClickListener() {
-			@Override
-			public void onClick(View v)
-			{
-				addBubble();
-			}
-		});
+        num_bubble = 0;
+        model = new BubbleModel();
+        DisplayMetrics metrics = getResources().getDisplayMetrics();
+        screenCenter = new PointF(metrics.widthPixels / 2, metrics.heightPixels / 3);
+        radiusCalls = metrics.widthPixels / 2 - 150;
+        // model.listBubbles.add(new Bubble(this, metrics.widthPixels / 2, metrics.heightPixels / 4, 150, R.drawable.me));
+        // model.listBubbles.add(new Bubble(this, metrics.widthPixels / 2, metrics.heightPixels / 4 * 3, 150, R.drawable.callee));
 
-	}
+        Button b = (Button) findViewById(R.id.add_bubble);
+        view = (BubblesView) findViewById(R.id.main_view);
+        view.setModel(model);
 
-	public void addBubble()
-	{
-		/*Bubble.Builder builder = new Bubble.Builder(getContext());
-		builder.setRadiusPixels(200).setX(200).setY(300);*/
-		Bubble b = new Bubble(this, 200, 300, 200, -1);
-		b.attractor = new PointF(b.getPosX(), b.getPosY());
-		model.listBubbles.add(b);
-		//listBubbles.get(listBubbles.size() - 1).setRegion(width, height);
-	}
+        b.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                addBubble();
+            }
+        });
 
+    }
+
+    public void addBubble() {
+        /*
+         * Bubble.Builder builder = new Bubble.Builder(getContext()); builder.setRadiusPixels(200).setX(200).setY(300);
+         */
+        DisplayMetrics metrics = getResources().getDisplayMetrics();
+        Bubble b = new Bubble(this, metrics.widthPixels / 3, metrics.heightPixels / 4 * 3, 150, -1);
+        model.listBubbles.add(b);
+        num_bubble++;
+        angle_part = 360 / num_bubble;
+        
+        double dX = 0;
+        double dY = 0;
+        for(int i = 0; i < model.listBubbles.size() ; ++i){
+            dX = Math.cos(Math.toRadians(angle_part * i)) * radiusCalls;
+            dY = Math.sin(Math.toRadians(angle_part * i)) * radiusCalls;
+            Log.i(TAG,"dX "+dX+ " dY "+dY);
+            model.listBubbles.get(i).setAttractor(new PointF((int)dX + screenCenter.x, (int)dY + screenCenter.y));
+        }
+       
+
+        // listBubbles.get(listBubbles.size() - 1).setRegion(width, height);
+    }
 }
\ No newline at end of file