* #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/fragments/OngoingCallFragment.java b/src/com/savoirfairelinux/sflphone/fragments/OngoingCallFragment.java
new file mode 100644
index 0000000..dca9117
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/fragments/OngoingCallFragment.java
@@ -0,0 +1,113 @@
+package com.savoirfairelinux.sflphone.fragments;
+
+import android.app.Activity;
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import com.savoirfairelinux.sflphone.R;
+import com.savoirfairelinux.sflphone.client.CallActivity;
+import com.savoirfairelinux.sflphone.client.CallActivity.CallFragment;
+import com.savoirfairelinux.sflphone.model.SipCall;
+
+public class OngoingCallFragment extends Fragment implements CallActivity.CallFragment, OnClickListener
+{
+	private CallActivity listener;
+	private Button end_btn, suspend_btn;
+	private TextView callstatus_txt;
+	private TextView calllength_txt;
+	private TextView contact_name_txt;
+
+	private SipCall mCall = null;
+
+	public void setCall(SipCall call)
+	{
+		mCall = call;
+		if(isAdded())
+			updateUI();
+	}
+
+	EditText transfer_txt;
+	@Override
+	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
+	{
+		ViewGroup v = (ViewGroup) inflater.inflate(R.layout.frag_call_ongoing, container, false);
+		
+		transfer_txt = (EditText) v.findViewById(R.id.text_transfer);
+		contact_name_txt = (TextView) v.findViewById(R.id.contact_name_txt);
+		end_btn = (Button) v.findViewById(R.id.end_btn);
+		suspend_btn = (Button) v.findViewById(R.id.suspend_btn);
+		Button transfer_btn = (Button) v.findViewById(R.id.transfer);
+		transfer_btn.setOnClickListener(new OnClickListener() {
+            
+            @Override
+            public void onClick(View v) {
+                listener.onCalltransfered(transfer_txt.getText().toString());
+                    
+                
+            }
+        });
+		
+		
+		
+		callstatus_txt = (TextView) v.findViewById(R.id.callstatus_txt);
+		calllength_txt = (TextView) v.findViewById(R.id.calllength_txt);
+
+		end_btn.setOnClickListener(this);
+		suspend_btn.setOnClickListener(this);
+		
+		updateUI();
+		return v;
+	}
+
+	private void updateUI()
+	{
+		if (mCall == null)
+			return;
+		contact_name_txt.setText(mCall.getDisplayName());
+		callstatus_txt.setText(mCall.getCallStateString());
+		
+		int state = mCall.getCallStateInt();
+		if(state == SipCall.CALL_STATE_HOLD) {
+			suspend_btn.setText("Resume");
+		} else {
+			suspend_btn.setText("Suspend");
+		}
+		/*
+		switch(mCall.getCallStateInt()) {
+		case SipCall.CALL_STATE_HOLD:
+			suspend_btn.setText("Resume");
+			break;
+		case SipCall.CALL_STATE_HOLD:
+			suspend_btn.setText("Resume");
+			break;
+
+		}*/
+	}
+
+	@Override
+	public void onAttach(Activity activity)
+	{
+		super.onAttach(activity);
+		listener = (CallActivity) activity;
+	}
+
+	@Override
+	public void onClick(View v)
+	{
+		if (v == end_btn) {
+			listener.onCallEnded();
+		} else if (v == suspend_btn) {
+			if(mCall.getCallStateInt() == SipCall.CALL_STATE_HOLD)
+				listener.onCallResumed();
+			else
+				listener.onCallSuspended();
+		}
+	}
+}
\ No newline at end of file