1 package com.example.xub3.speakerlocator;
3 import android.content.Context;
4 import android.os.AsyncTask;
5 import android.util.Log;
8 import org.json.JSONException;
9 import org.json.JSONObject;
11 import java.net.HttpURLConnection;
12 import java.net.MalformedURLException;
13 import java.net.ProtocolException;
15 import java.util.Date;
20 * Created by xub3 on 4/14/16.
22 public class CallReceiver extends PhonecallReceiver {
28 ** Interrupt the playing music when phone is ringing
31 protected void onIncomingCallReceived(Context ctx, String number, Date start) {
32 String driverIP = ctx.getResources().getString(R.string.gateway_ip);
33 new MakeRequestTask(driverIP, true, "setRingStatus").start();
37 protected void onIncomingCallAnswered(Context ctx, String number, Date start) {
41 ** Resume the music after the phone call
44 protected void onIncomingCallEnded(Context ctx, String number, Date start, Date end) {
45 String driverIP = ctx.getResources().getString(R.string.gateway_ip);
46 new MakeRequestTask(driverIP, false, "setRingStatus").start();
49 ** Interrupt the music when starting an outgoing call
52 protected void onOutgoingCallStarted(Context ctx, String number, Date start) {
54 String driverIP = ctx.getResources().getString(R.string.gateway_ip);
55 new MakeRequestTask(driverIP, true, "setRingStatus").start();
58 ** Resume the music when finishing calls
61 protected void onOutgoingCallEnded(Context ctx, String number, Date start, Date end) {
62 String driverIP = ctx.getResources().getString(R.string.gateway_ip);
63 new MakeRequestTask(driverIP, false, "setRingStatus").start();
67 protected void onMissedCall(Context ctx, String number, Date start) {
68 String driverIP = ctx.getResources().getString(R.string.gateway_ip);
69 new MakeRequestTask(driverIP, false, "setRingStatus").start();
74 class MakeRequestTask implements Runnable {
76 private Helper helper = MainActivity.helper;
77 private String driverIP;
78 private boolean status;
79 private String methodName;
81 MakeRequestTask(String ip, boolean ring, String name) {
89 helper.makeRequest(driverIP, status, methodName);
93 t = new Thread(this, "makeRequest");