* #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