blob: bcd358f695b0744d31306ebf53338d578e5197b9 [file] [log] [blame]
alisionfe9cf712013-05-03 17:26:08 -04001package com.savoirfairelinux.sflphone.client;
2
3import android.app.Activity;
Adrien Béraud25fc4092013-05-06 15:28:39 +10004import android.graphics.PointF;
alisionfe9cf712013-05-03 17:26:08 -04005import android.os.Bundle;
alision4a0eb092013-05-07 13:52:03 -04006import android.util.DisplayMetrics;
7import android.util.Log;
alisionfe9cf712013-05-03 17:26:08 -04008import android.view.View;
9import android.view.View.OnClickListener;
10import android.widget.Button;
11
12import com.savoirfairelinux.sflphone.R;
Adrien Béraud04463092013-05-06 14:17:22 +100013import com.savoirfairelinux.sflphone.model.Bubble;
14import com.savoirfairelinux.sflphone.model.BubbleModel;
alisionfe9cf712013-05-03 17:26:08 -040015import com.savoirfairelinux.sflphone.model.BubblesView;
16
alision4a0eb092013-05-07 13:52:03 -040017public class BubblesViewActivity extends Activity {
18 private static final String TAG = BubblesViewActivity.class.getSimpleName();
alisionfe9cf712013-05-03 17:26:08 -040019
alision4a0eb092013-05-07 13:52:03 -040020 BubblesView view;
Adrien Béraud04463092013-05-06 14:17:22 +100021
alision4a0eb092013-05-07 13:52:03 -040022 PointF screenCenter;
23 int radiusCalls;
24 int angle_part;
Adrien Béraud04463092013-05-06 14:17:22 +100025
alision4a0eb092013-05-07 13:52:03 -040026 BubbleModel model;
Adrien Béraud04463092013-05-06 14:17:22 +100027
alision4a0eb092013-05-07 13:52:03 -040028 int num_bubble;
Adrien Béraud04463092013-05-06 14:17:22 +100029
alision4a0eb092013-05-07 13:52:03 -040030 /** Called when the activity is first created. */
31 @Override
32 public void onCreate(Bundle savedInstanceState) {
33 super.onCreate(savedInstanceState);
34 setContentView(R.layout.bubbleview_layout);
Adrien Béraud04463092013-05-06 14:17:22 +100035
alision4a0eb092013-05-07 13:52:03 -040036 num_bubble = 0;
37 model = new BubbleModel();
38 DisplayMetrics metrics = getResources().getDisplayMetrics();
39 screenCenter = new PointF(metrics.widthPixels / 2, metrics.heightPixels / 3);
40 radiusCalls = metrics.widthPixels / 2 - 150;
41 // model.listBubbles.add(new Bubble(this, metrics.widthPixels / 2, metrics.heightPixels / 4, 150, R.drawable.me));
42 // model.listBubbles.add(new Bubble(this, metrics.widthPixels / 2, metrics.heightPixels / 4 * 3, 150, R.drawable.callee));
Adrien Béraud04463092013-05-06 14:17:22 +100043
alision4a0eb092013-05-07 13:52:03 -040044 Button b = (Button) findViewById(R.id.add_bubble);
45 view = (BubblesView) findViewById(R.id.main_view);
46 view.setModel(model);
Adrien Béraud04463092013-05-06 14:17:22 +100047
alision4a0eb092013-05-07 13:52:03 -040048 b.setOnClickListener(new OnClickListener() {
49 @Override
50 public void onClick(View v) {
51 addBubble();
52 }
53 });
Adrien Béraud04463092013-05-06 14:17:22 +100054
alision4a0eb092013-05-07 13:52:03 -040055 }
56
57 public void addBubble() {
58 /*
59 * Bubble.Builder builder = new Bubble.Builder(getContext()); builder.setRadiusPixels(200).setX(200).setY(300);
60 */
61 DisplayMetrics metrics = getResources().getDisplayMetrics();
62 Bubble b = new Bubble(this, metrics.widthPixels / 3, metrics.heightPixels / 4 * 3, 150, -1);
63 model.listBubbles.add(b);
64 num_bubble++;
65 angle_part = 360 / num_bubble;
66
67 double dX = 0;
68 double dY = 0;
69 for(int i = 0; i < model.listBubbles.size() ; ++i){
70 dX = Math.cos(Math.toRadians(angle_part * i)) * radiusCalls;
71 dY = Math.sin(Math.toRadians(angle_part * i)) * radiusCalls;
72 Log.i(TAG,"dX "+dX+ " dY "+dY);
73 model.listBubbles.get(i).setAttractor(new PointF((int)dX + screenCenter.x, (int)dY + screenCenter.y));
74 }
75
76
77 // listBubbles.get(listBubbles.size() - 1).setRegion(width, height);
78 }
alisionfe9cf712013-05-03 17:26:08 -040079}