blob: 4ef7cc4e7c457389fa452ae15561e4f20cc6149e [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
14 public CallManagerCallBack(Context context) {
15 mContext = context;
16 }
Emeric Vigier9380ae52012-09-14 17:40:39 -040017
18 @Override
Alexandre Savard6b8d1df2012-10-23 16:44:43 -040019 public void on_new_call_created(String accountID, String callID, String to) {
20 Log.d(TAG, "on_new_call_created(" + accountID + ", " + callID + ", " + to + ")");
Alexandre Savard74c1cad2012-10-24 16:39:00 -040021 sendNewCallCreatedMessage(accountID, callID, to);
Alexandre Savard6b8d1df2012-10-23 16:44:43 -040022 }
23
24 @Override
Alexandre Savard14323be2012-10-24 10:02:13 -040025 public void on_call_state_changed(String callID, String state) {
26 Log.d(TAG, "on_call_state_changed(" + callID + ", " + state + ")");
Alexandre Savard74c1cad2012-10-24 16:39:00 -040027 sendCallStateChangedMessage(callID, state);
Alexandre Savard14323be2012-10-24 10:02:13 -040028 }
29
30 @Override
Emeric Vigier9380ae52012-09-14 17:40:39 -040031 public void on_incoming_call(String accountID, String callID, String from) {
32 Log.d(TAG, "on_incoming_call(" + accountID + ", " + callID + ", " + from + ")");
Alexandre Savard74c1cad2012-10-24 16:39:00 -040033 sendIncomingCallMessage(accountID, callID, from);
34 }
35
36 private void sendNewCallCreatedMessage(String accountID, String callID, String to) {
37 Bundle bundle = new Bundle();
38 bundle.putString("AccountID", accountID);
39 bundle.putString("CallID", callID);
40 bundle.putString("To", to);
41 Intent intent = new Intent("new-call-created");
42 intent.putExtra("signal-name", "new-call-created");
43 intent.putExtra("newcall", bundle);
44 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
45 }
46
47 private void sendCallStateChangedMessage(String callID, String state) {
48 Bundle bundle = new Bundle();
49 bundle.putString("CallID", callID);
50 bundle.putString("State", state);
51 Intent intent = new Intent("call-state-changed");
52 intent.putExtra("signal-name", "call-state-changed");
53 intent.putExtra("newstate", bundle);
54 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
55 }
56
57 private void sendIncomingCallMessage(String accountID, String callID, String from) {
58 Bundle bundle = new Bundle();
59 bundle.putString("AccountID", accountID);
60 bundle.putString("CallID", callID);
61 bundle.putString("From", from);
62 Intent intent = new Intent("incoming-call");
63 intent.putExtra("signal-name", "incoming-call");
64 intent.putExtra("newcall", bundle);
65 LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Emeric Vigier9380ae52012-09-14 17:40:39 -040066 }
67}