alision | fe9cf71 | 2013-05-03 17:26:08 -0400 | [diff] [blame] | 1 | package com.savoirfairelinux.sflphone.client; |
| 2 | |
| 3 | import android.app.Activity; |
Adrien Béraud | 25fc409 | 2013-05-06 15:28:39 +1000 | [diff] [blame] | 4 | import android.graphics.PointF; |
alision | fe9cf71 | 2013-05-03 17:26:08 -0400 | [diff] [blame] | 5 | import android.os.Bundle; |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 6 | import android.util.DisplayMetrics; |
| 7 | import android.util.Log; |
alision | fe9cf71 | 2013-05-03 17:26:08 -0400 | [diff] [blame] | 8 | import android.view.View; |
| 9 | import android.view.View.OnClickListener; |
| 10 | import android.widget.Button; |
| 11 | |
| 12 | import com.savoirfairelinux.sflphone.R; |
Adrien Béraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 13 | import com.savoirfairelinux.sflphone.model.Bubble; |
| 14 | import com.savoirfairelinux.sflphone.model.BubbleModel; |
alision | fe9cf71 | 2013-05-03 17:26:08 -0400 | [diff] [blame] | 15 | import com.savoirfairelinux.sflphone.model.BubblesView; |
| 16 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 17 | public class BubblesViewActivity extends Activity { |
| 18 | private static final String TAG = BubblesViewActivity.class.getSimpleName(); |
alision | fe9cf71 | 2013-05-03 17:26:08 -0400 | [diff] [blame] | 19 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 20 | BubblesView view; |
Adrien Béraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 21 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 22 | PointF screenCenter; |
| 23 | int radiusCalls; |
| 24 | int angle_part; |
Adrien Béraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 25 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 26 | BubbleModel model; |
Adrien Béraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 27 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 28 | int num_bubble; |
Adrien Béraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 29 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 30 | /** 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éraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 35 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 36 | 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éraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 43 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 44 | Button b = (Button) findViewById(R.id.add_bubble); |
| 45 | view = (BubblesView) findViewById(R.id.main_view); |
| 46 | view.setModel(model); |
Adrien Béraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 47 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 48 | b.setOnClickListener(new OnClickListener() { |
| 49 | @Override |
| 50 | public void onClick(View v) { |
| 51 | addBubble(); |
| 52 | } |
| 53 | }); |
Adrien Béraud | 0446309 | 2013-05-06 14:17:22 +1000 | [diff] [blame] | 54 | |
alision | 4a0eb09 | 2013-05-07 13:52:03 -0400 | [diff] [blame^] | 55 | } |
| 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 | } |
alision | fe9cf71 | 2013-05-03 17:26:08 -0400 | [diff] [blame] | 79 | } |