blob: 7f586d834ae80219f95ff4e2f0496b76b16a6908 [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 IncomingCallFragment extends Fragment implements CallActivity.CallFragment, OnClickListener
Adrien Béraud29556042013-04-26 17:35:43 +100017{
Adrien Béraud29556042013-04-26 17:35:43 +100018
Adrien Béraud71b2f812013-04-26 18:51:02 +100019 private CallActivity listener;
Adrien Béraud29556042013-04-26 17:35:43 +100020 private Button accept_btn, decline_btn;
Adrien Béraud71b2f812013-04-26 18:51:02 +100021 private TextView contact_name_txt;
Adrien Béraud29556042013-04-26 17:35:43 +100022
Adrien Béraud71b2f812013-04-26 18:51:02 +100023 private SipCall mCall = null;
Adrien Béraud29556042013-04-26 17:35:43 +100024
Adrien Béraud71b2f812013-04-26 18:51:02 +100025 public void setCall(SipCall call)
Adrien Béraud29556042013-04-26 17:35:43 +100026 {
Adrien Béraud71b2f812013-04-26 18:51:02 +100027 mCall = call; // = new WeakReference<SipCall>(mCall);
28 if(isAdded())
29 updateUI();
Adrien Béraud29556042013-04-26 17:35:43 +100030 }
31
32 @Override
33 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
34 {
35 ViewGroup v = (ViewGroup) inflater.inflate(R.layout.frag_call_incoming, container, false);
Adrien Béraud71b2f812013-04-26 18:51:02 +100036
37 contact_name_txt = (TextView) v.findViewById(R.id.contact_name_txt);
Adrien Béraud29556042013-04-26 17:35:43 +100038 decline_btn = (Button) v.findViewById(R.id.decline_btn);
39 accept_btn = (Button) v.findViewById(R.id.accept_btn);
Adrien Béraud71b2f812013-04-26 18:51:02 +100040
Adrien Béraud29556042013-04-26 17:35:43 +100041 decline_btn.setOnClickListener(this);
42 accept_btn.setOnClickListener(this);
43
Adrien Béraud71b2f812013-04-26 18:51:02 +100044 updateUI();
Adrien Béraud29556042013-04-26 17:35:43 +100045 return v;
46 }
Adrien Béraud71b2f812013-04-26 18:51:02 +100047
48 private void updateUI()
49 {
50 if (mCall == null)
51 return;
52 contact_name_txt.setText(mCall.getDisplayName());
53 }
Adrien Béraud29556042013-04-26 17:35:43 +100054
55 @Override
56 public void onAttach(Activity activity)
57 {
58 super.onAttach(activity);
Adrien Béraud71b2f812013-04-26 18:51:02 +100059 listener = (CallActivity) activity;
Adrien Béraud29556042013-04-26 17:35:43 +100060 }
61
62 @Override
63 public void onClick(View v)
64 {
65 if(v == accept_btn) {
66 listener.onCallAccepted();
67 } else if (v == decline_btn) {
68 listener.onCallRejected();
69 }
70 }
71}