blob: 965d2b80b61bee7d7d9ad97b439cc89307f615d1 [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 NEW_CALL_CREATED = "new-call-created";
15 static public final String CALL_STATE_CHANGED = "call-state-changed";
16 static public final String INCOMING_CALL = "incoming-call";
alision04a00182013-05-10 17:05:29 -040017 static public final String INCOMING_TEXT = "incoming-text";
alision907bde72013-06-20 14:40:37 -040018 static public final String CONF_CREATED = "conf_created";
alision806e18e2013-06-21 15:30:17 -040019 static public final String CONF_REMOVED = "conf_removed";
20 static public final String CONF_CHANGED = "conf_changed";
alisiondf1dac92013-06-27 17:35:53 -040021 static public final String RECORD_STATE_CHANGED = "record_state";
alision907bde72013-06-20 14:40:37 -040022
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040023
Alexandre Savard74c1cad2012-10-24 16:39:00 -040024 public CallManagerCallBack(Context context) {
25 mContext = context;
26 }
Emeric Vigier9380ae52012-09-14 17:40:39 -040027
28 @Override
Alexandre Savard6b8d1df2012-10-23 16:44:43 -040029 public void on_new_call_created(String accountID, String callID, String to) {
30 Log.d(TAG, "on_new_call_created(" + accountID + ", " + callID + ", " + to + ")");
alision806e18e2013-06-21 15:30:17 -040031
Alexandre Savard6b8d1df2012-10-23 16:44:43 -040032 }
33
34 @Override
Alexandre Savard14323be2012-10-24 10:02:13 -040035 public void on_call_state_changed(String callID, String state) {
36 Log.d(TAG, "on_call_state_changed(" + callID + ", " + state + ")");
alisiondf1dac92013-06-27 17:35:53 -040037 Bundle bundle = new Bundle();
38 bundle.putString("CallID", callID);
39 bundle.putString("State", state);
40 Intent intent = new Intent(CALL_STATE_CHANGED);
41 intent.putExtra("com.savoirfairelinux.sflphone.service.newstate", bundle);
42 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Alexandre Savard14323be2012-10-24 10:02:13 -040043 }
44
45 @Override
Emeric Vigier9380ae52012-09-14 17:40:39 -040046 public void on_incoming_call(String accountID, String callID, String from) {
47 Log.d(TAG, "on_incoming_call(" + accountID + ", " + callID + ", " + from + ")");
alisiondf1dac92013-06-27 17:35:53 -040048 Bundle bundle = new Bundle();
49 bundle.putString("AccountID", accountID);
50 bundle.putString("CallID", callID);
51 bundle.putString("From", from);
52 Intent intent = new Intent(INCOMING_CALL);
53 intent.putExtra("com.savoirfairelinux.sflphone.service.newcall", bundle);
54 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040055 }
alision7f18fc82013-05-01 09:37:33 -040056
57 @Override
58 public void on_transfer_state_changed(String result){
59 Log.w(TAG,"TRANSFER STATE CHANGED:"+result);
60 }
alision43a9b362013-05-01 16:30:15 -040061
62 @Override
63 public void on_conference_created(String confID){
64 Log.w(TAG,"CONFERENCE CREATED:"+confID);
alision806e18e2013-06-21 15:30:17 -040065 Intent intent = new Intent(CONF_CREATED);
66 intent.putExtra("confID", confID);
alision907bde72013-06-20 14:40:37 -040067 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
alision43a9b362013-05-01 16:30:15 -040068 }
alision4a0eb092013-05-07 13:52:03 -040069
70 @Override
alision04a00182013-05-10 17:05:29 -040071 public void on_incoming_message(String ID, String from, String msg){
72 Log.w(TAG,"on_incoming_message:"+msg);
alisiondf1dac92013-06-27 17:35:53 -040073 Bundle bundle = new Bundle();
74
75 bundle.putString("CallID", ID);
76 bundle.putString("From", from);
77 bundle.putString("Msg", msg);
78 Intent intent = new Intent(INCOMING_TEXT);
79 intent.putExtra("com.savoirfairelinux.sflphone.service.newtext", bundle);
80 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
alision04a00182013-05-10 17:05:29 -040081 }
82
83 @Override
alision4a0eb092013-05-07 13:52:03 -040084 public void on_conference_removed(String confID){
alision806e18e2013-06-21 15:30:17 -040085 Intent intent = new Intent(CONF_REMOVED);
86 intent.putExtra("confID", confID);
87 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
alision4a0eb092013-05-07 13:52:03 -040088 }
89
90 @Override
91 public void on_conference_state_changed(String confID, String state){
alision806e18e2013-06-21 15:30:17 -040092 Intent intent = new Intent(CONF_CHANGED);
93 intent.putExtra("confID", confID);
94 intent.putExtra("State", state);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040095 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
96 }
alision04a00182013-05-10 17:05:29 -040097
alisiondf1dac92013-06-27 17:35:53 -040098 @Override
99 public void on_record_playback_filepath(String id, String filename){
100 Intent intent = new Intent(RECORD_STATE_CHANGED);
101 intent.putExtra("id", id);
102 intent.putExtra("file", filename);
alision04a00182013-05-10 17:05:29 -0400103 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
alision04a00182013-05-10 17:05:29 -0400104 }
alisiondf1dac92013-06-27 17:35:53 -0400105
Emeric Vigier9380ae52012-09-14 17:40:39 -0400106}