blob: b72738c5054402aa965415488cc8c46465ab520c [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 }
40
41 private void sendNewCallCreatedMessage(String accountID, String callID, String to) {
42 Bundle bundle = new Bundle();
43 bundle.putString("AccountID", accountID);
44 bundle.putString("CallID", callID);
45 bundle.putString("To", to);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040046 Intent intent = new Intent(NEW_CALL_CREATED);
47 intent.putExtra(SIGNAL_NAME, NEW_CALL_CREATED);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040048 intent.putExtra("com.savoirfairelinux.sflphone.service.newcall", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040049 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
50 }
51
52 private void sendCallStateChangedMessage(String callID, String state) {
53 Bundle bundle = new Bundle();
54 bundle.putString("CallID", callID);
55 bundle.putString("State", state);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040056 Intent intent = new Intent(CALL_STATE_CHANGED);
57 intent.putExtra(SIGNAL_NAME, CALL_STATE_CHANGED);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040058 intent.putExtra("com.savoirfairelinux.sflphone.service.newstate", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040059 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
60 }
61
62 private void sendIncomingCallMessage(String accountID, String callID, String from) {
63 Bundle bundle = new Bundle();
64 bundle.putString("AccountID", accountID);
65 bundle.putString("CallID", callID);
66 bundle.putString("From", from);
Alexandre Savard3bdce7b2012-10-24 18:27:45 -040067 Intent intent = new Intent(INCOMING_CALL);
68 intent.putExtra(SIGNAL_NAME, INCOMING_CALL);
Alexandre Savardc58c0fd2012-10-25 10:44:08 -040069 intent.putExtra("com.savoirfairelinux.sflphone.service.newcall", bundle);
Alexandre Savard74c1cad2012-10-24 16:39:00 -040070 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Emeric Vigier9380ae52012-09-14 17:40:39 -040071 }
72}