blob: f8b35cb1603a0d81ba8c156c7b7a75b9e8b7c6c3 [file] [log] [blame]
Emeric Vigier12d61d82012-09-19 15:08:18 -04001package com.savoirfairelinux.sflphone.service;
Emeric Vigier9380ae52012-09-14 17:40:39 -04002
Alexandre Savard74c1cad2012-10-24 16:39:00 -04003import android.content.Context;
4import android.content.Intent;
Emeric Vigier9380ae52012-09-14 17:40:39 -04005import android.util.Log;
Alexandre Savard74c1cad2012-10-24 16:39:00 -04006import android.os.Bundle;
7import android.support.v4.content.LocalBroadcastManager;
Emeric Vigier9380ae52012-09-14 17:40:39 -04008
9public class CallManagerCallBack extends Callback {
10
11 private static final String TAG = "CallManagerCallBack";
Alexandre Savard74c1cad2012-10-24 16:39:00 -040012 private Context mContext;
13
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040014 static public final String SIGNAL_NAME = "signal-name";
15 static public final String NEW_CALL_CREATED = "new-call-created";
16 static public final String CALL_STATE_CHANGED = "call-state-changed";
17 static public final String INCOMING_CALL = "incoming-call";
18
Alexandre Savard74c1cad2012-10-24 16:39:00 -040019 public CallManagerCallBack(Context context) {
20 mContext = context;
21 }
Emeric Vigier9380ae52012-09-14 17:40:39 -040022
23 @Override
Alexandre Savard6b8d1df2012-10-23 16:44:43 -040024 public void on_new_call_created(String accountID, String callID, String to) {
25 Log.d(TAG, "on_new_call_created(" + accountID + ", " + callID + ", " + to + ")");
Alexandre Savard74c1cad2012-10-24 16:39:00 -040026 sendNewCallCreatedMessage(accountID, callID, to);
Alexandre Savard6b8d1df2012-10-23 16:44:43 -040027 }
28
29 @Override
Alexandre Savard14323be2012-10-24 10:02:13 -040030 public void on_call_state_changed(String callID, String state) {
31 Log.d(TAG, "on_call_state_changed(" + callID + ", " + state + ")");
Alexandre Savard74c1cad2012-10-24 16:39:00 -040032 sendCallStateChangedMessage(callID, state);
Alexandre Savard14323be2012-10-24 10:02:13 -040033 }
34
35 @Override
Emeric Vigier9380ae52012-09-14 17:40:39 -040036 public void on_incoming_call(String accountID, String callID, String from) {
37 Log.d(TAG, "on_incoming_call(" + accountID + ", " + callID + ", " + from + ")");
Alexandre Savard74c1cad2012-10-24 16:39:00 -040038 sendIncomingCallMessage(accountID, callID, from);
39 }
alision7f18fc82013-05-01 09:37:33 -040040
41 @Override
42 public void on_transfer_state_changed(String result){
43 Log.w(TAG,"TRANSFER STATE CHANGED:"+result);
44 }
alision43a9b362013-05-01 16:30:15 -040045
46 @Override
47 public void on_conference_created(String confID){
48 Log.w(TAG,"CONFERENCE CREATED:"+confID);
49 }
Alexandre Savard74c1cad2012-10-24 16:39:00 -040050
51 private void sendNewCallCreatedMessage(String accountID, String callID, String to) {
52 Bundle bundle = new Bundle();
53 bundle.putString("AccountID", accountID);
54 bundle.putString("CallID", callID);
55 bundle.putString("To", to);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040056 Intent intent = new Intent(NEW_CALL_CREATED);
57 intent.putExtra(SIGNAL_NAME, NEW_CALL_CREATED);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040058 intent.putExtra("com.savoirfairelinux.sflphone.service.newcall", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040059 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
60 }
61
62 private void sendCallStateChangedMessage(String callID, String state) {
63 Bundle bundle = new Bundle();
64 bundle.putString("CallID", callID);
65 bundle.putString("State", state);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040066 Intent intent = new Intent(CALL_STATE_CHANGED);
67 intent.putExtra(SIGNAL_NAME, CALL_STATE_CHANGED);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040068 intent.putExtra("com.savoirfairelinux.sflphone.service.newstate", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040069 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
70 }
71
72 private void sendIncomingCallMessage(String accountID, String callID, String from) {
73 Bundle bundle = new Bundle();
74 bundle.putString("AccountID", accountID);
75 bundle.putString("CallID", callID);
76 bundle.putString("From", from);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040077 Intent intent = new Intent(INCOMING_CALL);
78 intent.putExtra(SIGNAL_NAME, INCOMING_CALL);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040079 intent.putExtra("com.savoirfairelinux.sflphone.service.newcall", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040080 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Emeric Vigier9380ae52012-09-14 17:40:39 -040081 }
82}