public static Device createDevice(String address, String alias) {
Logger.debug("address is " + address);
Device dev = null;
final int Location_Jsr179 = 2;
final int Location_Mock = 1;
final int Location_Bluetooth = 0;
int locationProvider = 0;
if (GpsUtilities.checkJsr179IsPresent()) {
Logger.debug("dbg0");
if ("internal".equals(address)) {
Logger.debug("dbg1");
// Jsr179Device requires permission, which it might not get.
// In that event we need to abort this creation process so a new
// device can be selected.
// Create an internal (non bluetooth) gps device
if (Controller.getController().getUseJsr179()) {
Logger.debug("dbg2");
locationProvider = Location_Jsr179;
}
}
}
else if ("Mock".equals(address)) {
Logger.debug("dbg3");
locationProvider = Location_Mock;
} else {
Logger.debug("dbg4");
locationProvider = Location_Bluetooth;
}
locationProvider = 0;
switch(locationProvider) {
case Location_Jsr179:
Logger.debug("Using JSR179: " + address);
dev = new Jsr179Device(address, alias);
break;
case Location_Mock:
Logger.debug("Using mock: " + address);
dev = new MockGpsDevice(address, alias);
break;
case Location_Bluetooth:
default:
Logger.debug("Using default/bluetooth: " + address);
dev = new BluetoothGPSDeviceImpl(address, alias);
break;
}
return dev;
}