package edu.fsu.cs.contextprovider.rpc;
import java.util.HashMap;
import edu.fsu.cs.contextprovider.ContextProvider;
import edu.fsu.cs.contextprovider.monitor.LocationMonitor;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
public class ContextProviderService extends Service {
private static final String TAG = "ContextProviderService";
private final IContextProviderService.Stub mBinder = new IContextProviderService.Stub() {
public HashMap<String, String> getAll() throws RemoteException {
HashMap<String, String> cntx = ContextProvider.getAllUnordered();
return cntx;
}
public double proximityToAddress(String loc) throws RemoteException {
return LocationMonitor.proximityTo(loc);
}
public double proximityToExact(double longitude, double latitude) throws RemoteException {
return LocationMonitor.proximityTo(longitude, latitude);
}
/**
* Returns array, longitude, latitude
*/
public double[] getCurrentCoordinates() {
double[] values = new double[2];
values[0] = LocationMonitor.getLongitude();
values[1] = LocationMonitor.getLatitude();
return values;
}
public String getCurrentAddress() {
return LocationMonitor.getAddress();
}
};
public int onStartCommand(Intent intent, int flags, int startId){
Log.i(TAG, "onStartCommand");
return 0;
}
@Override
public IBinder onBind(Intent arg0) {
Log.i(TAG, "onBind");
return mBinder;
}
}