blob: 6bbc3ad3ba0e22dbb97ebd19a4351fb077b78c80 [file] [log] [blame]
Adrien Béraud29556042013-04-26 17:35:43 +10001package com.savoirfairelinux.sflphone.client;
2
Adrien Béraud29556042013-04-26 17:35:43 +10003import android.app.Activity;
4import android.app.Fragment;
5import android.os.Bundle;
6import android.view.LayoutInflater;
7import android.view.View;
8import android.view.ViewGroup;
9import android.view.View.OnClickListener;
10import android.widget.Button;
11import android.widget.TextView;
12
13import com.savoirfairelinux.sflphone.R;
14import com.savoirfairelinux.sflphone.model.SipCall;
15
Adrien Béraud71b2f812013-04-26 18:51:02 +100016public class OngoingCallFragment extends Fragment implements CallActivity.CallFragment, OnClickListener
Adrien Béraud29556042013-04-26 17:35:43 +100017{
Adrien Béraud71b2f812013-04-26 18:51:02 +100018 private CallActivity listener;
Adrien Béraud29556042013-04-26 17:35:43 +100019 private Button end_btn, suspend_btn;
Adrien Béraud71b2f812013-04-26 18:51:02 +100020 private TextView callstatus_txt;
21 private TextView calllength_txt;
22 private TextView contact_name_txt;
Adrien Béraud29556042013-04-26 17:35:43 +100023
Adrien Béraud71b2f812013-04-26 18:51:02 +100024 private SipCall mCall = null;
25
26 public void setCall(SipCall call)
Adrien Béraud29556042013-04-26 17:35:43 +100027 {
Adrien Béraud71b2f812013-04-26 18:51:02 +100028 mCall = call;
29 if(isAdded())
30 updateUI();
Adrien Béraud29556042013-04-26 17:35:43 +100031 }
32
33 @Override
34 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
35 {
Adrien Béraud71b2f812013-04-26 18:51:02 +100036 ViewGroup v = (ViewGroup) inflater.inflate(R.layout.frag_call_ongoing, container, false);
37
38 contact_name_txt = (TextView) v.findViewById(R.id.contact_name_txt);
Adrien Béraud29556042013-04-26 17:35:43 +100039 end_btn = (Button) v.findViewById(R.id.end_btn);
40 suspend_btn = (Button) v.findViewById(R.id.suspend_btn);
Adrien Béraud71b2f812013-04-26 18:51:02 +100041 callstatus_txt = (TextView) v.findViewById(R.id.callstatus_txt);
42 calllength_txt = (TextView) v.findViewById(R.id.calllength_txt);
43
Adrien Béraud29556042013-04-26 17:35:43 +100044 end_btn.setOnClickListener(this);
45 suspend_btn.setOnClickListener(this);
46
Adrien Béraud71b2f812013-04-26 18:51:02 +100047 updateUI();
Adrien Béraud29556042013-04-26 17:35:43 +100048 return v;
49 }
50
Adrien Béraud71b2f812013-04-26 18:51:02 +100051 private void updateUI()
52 {
53 if (mCall == null)
54 return;
55 contact_name_txt.setText(mCall.getDisplayName());
56 callstatus_txt.setText(mCall.getCallStateString());
57 }
58
Adrien Béraud29556042013-04-26 17:35:43 +100059 @Override
60 public void onAttach(Activity activity)
61 {
62 super.onAttach(activity);
Adrien Béraud71b2f812013-04-26 18:51:02 +100063 listener = (CallActivity) activity;
Adrien Béraud29556042013-04-26 17:35:43 +100064 }
65
66 @Override
67 public void onClick(View v)
68 {
Adrien Béraud71b2f812013-04-26 18:51:02 +100069 if (v == end_btn) {
Adrien Béraud29556042013-04-26 17:35:43 +100070 listener.onCallEnded();
71 } else if (v == suspend_btn) {
72 listener.onCallSuspended();
73 }
74 }
75}