blob: ab92b6bbbb462b615461e759c58e8a51186d95f4 [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";
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040018
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 }
alision4a0eb092013-05-07 13:52:03 -040050
51 @Override
alision04a00182013-05-10 17:05:29 -040052 public void on_incoming_message(String ID, String from, String msg){
53 Log.w(TAG,"on_incoming_message:"+msg);
54 sendIncomingTextMessage(ID, from, msg);
55 }
56
57 @Override
alision4a0eb092013-05-07 13:52:03 -040058 public void on_conference_removed(String confID){
59 Log.w(TAG,"CONFERENCE REMOVED:"+confID);
60 }
61
62 @Override
63 public void on_conference_state_changed(String confID, String state){
64 Log.w(TAG,"CONFERENCE STATE CHANGED:"+confID);
65 }
Alexandre Savard74c1cad2012-10-24 16:39:00 -040066
67 private void sendNewCallCreatedMessage(String accountID, String callID, String to) {
68 Bundle bundle = new Bundle();
69 bundle.putString("AccountID", accountID);
70 bundle.putString("CallID", callID);
71 bundle.putString("To", to);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040072 Intent intent = new Intent(NEW_CALL_CREATED);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040073 intent.putExtra("com.savoirfairelinux.sflphone.service.newcall", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040074 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
75 }
76
77 private void sendCallStateChangedMessage(String callID, String state) {
78 Bundle bundle = new Bundle();
79 bundle.putString("CallID", callID);
80 bundle.putString("State", state);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040081 Intent intent = new Intent(CALL_STATE_CHANGED);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040082 intent.putExtra("com.savoirfairelinux.sflphone.service.newstate", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040083 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
84 }
85
86 private void sendIncomingCallMessage(String accountID, String callID, String from) {
87 Bundle bundle = new Bundle();
88 bundle.putString("AccountID", accountID);
89 bundle.putString("CallID", callID);
90 bundle.putString("From", from);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040091 Intent intent = new Intent(INCOMING_CALL);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040092 intent.putExtra("com.savoirfairelinux.sflphone.service.newcall", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040093 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Emeric Vigier9380ae52012-09-14 17:40:39 -040094 }
alision04a00182013-05-10 17:05:29 -040095
96 private void sendIncomingTextMessage(String id, String from, String msg) {
97 Bundle bundle = new Bundle();
98
99 bundle.putString("CallID", id);
100 bundle.putString("From", from);
101 bundle.putString("Msg", msg);
alisiona2a2da12013-06-05 15:58:39 -0400102 Intent intent = new Intent(INCOMING_TEXT);
alision04a00182013-05-10 17:05:29 -0400103 intent.putExtra("com.savoirfairelinux.sflphone.service.newtext", bundle);
104 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
105
106 }
Emeric Vigier9380ae52012-09-14 17:40:39 -0400107}