use of com.eveningoutpost.dexdrip.G5Model.Transmitter in project xDrip by NightscoutFoundation.
the class SystemStatusFragment method forgetDeviceListener.
private void forgetDeviceListener() {
forget_device.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (mBluetoothManager != null && ActiveBluetoothDevice.first() != null) {
final BluetoothAdapter bluetoothAdapter = mBluetoothManager.getAdapter();
if (bluetoothAdapter != null) {
for (BluetoothDevice bluetoothDevice : bluetoothAdapter.getBondedDevices()) {
if (bluetoothDevice.getAddress().compareTo(ActiveBluetoothDevice.first().address) == 0) {
try {
Method m = bluetoothDevice.getClass().getMethod("removeBond", (Class[]) null);
m.invoke(bluetoothDevice, (Object[]) null);
notes.append("\n- Bluetooth unbonded, if using share tell it to forget your device.");
notes.append("\n- Scan for devices again to set connection back up!");
} catch (Exception e) {
Log.e("SystemStatus", e.getMessage(), e);
}
}
}
ActiveBluetoothDevice.forget();
bluetoothAdapter.disable();
mHandler.postDelayed(new Runnable() {
public void run() {
bluetoothAdapter.enable();
set_current_values();
mHandler2.postDelayed(new Runnable() {
public void run() {
CollectionServiceStarter.restartCollectionService(safeGetContext());
set_current_values();
}
}, 5000);
}
}, 1000);
}
}
String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel");
if (collection_method.compareTo("DexcomG5") == 0) {
Transmitter defaultTransmitter = new Transmitter(prefs.getString("dex_txid", "ABCDEF"));
mBluetoothAdapter = mBluetoothManager.getAdapter();
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if ((pairedDevices != null) && (pairedDevices.size() > 0)) {
for (BluetoothDevice device : pairedDevices) {
if (device.getName() != null) {
String transmitterIdLastTwo = Extensions.lastTwoCharactersOfString(defaultTransmitter.transmitterId);
String deviceNameLastTwo = Extensions.lastTwoCharactersOfString(device.getName());
if (transmitterIdLastTwo.equals(deviceNameLastTwo)) {
try {
Method m = device.getClass().getMethod("removeBond", (Class[]) null);
m.invoke(device, (Object[]) null);
notes.append("\nG5 Transmitter unbonded, switch device mode to prevent re-pairing to G5.");
} catch (Exception e) {
Log.e("SystemStatus", e.getMessage(), e);
}
}
}
}
}
}
}
});
}
use of com.eveningoutpost.dexdrip.G5Model.Transmitter in project xDrip by NightscoutFoundation.
the class SystemStatus method setCurrentDevice.
public void setCurrentDevice() {
if (activeBluetoothDevice != null) {
current_device.setText(activeBluetoothDevice.name);
} else {
current_device.setText("None Set");
}
String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel");
if (collection_method.compareTo("DexcomG5") == 0) {
Transmitter defaultTransmitter = new Transmitter(prefs.getString("dex_txid", "ABCDEF"));
mBluetoothAdapter = mBluetoothManager.getAdapter();
if (mBluetoothAdapter != null) {
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if ((pairedDevices != null) && (pairedDevices.size() > 0)) {
for (BluetoothDevice device : pairedDevices) {
if (device.getName() != null) {
String transmitterIdLastTwo = Extensions.lastTwoCharactersOfString(defaultTransmitter.transmitterId);
String deviceNameLastTwo = Extensions.lastTwoCharactersOfString(device.getName());
if (transmitterIdLastTwo.equals(deviceNameLastTwo)) {
current_device.setText(defaultTransmitter.transmitterId);
}
}
}
}
} else {
current_device.setText("No Bluetooth");
}
}
}
use of com.eveningoutpost.dexdrip.G5Model.Transmitter in project xDrip by NightscoutFoundation.
the class G5CollectionService method getTransmitterDetails.
private synchronized void getTransmitterDetails() {
prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Log.d(TAG, "Transmitter: " + prefs.getString("dex_txid", "ABCDEF"));
defaultTransmitter = new Transmitter(prefs.getString("dex_txid", "ABCDEF"));
final boolean previousBondedState = isBonded;
isBondedOrBonding = false;
isBonded = false;
if (mBluetoothAdapter == null) {
Log.wtf(TAG, "No bluetooth adapter");
return;
}
final Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if ((pairedDevices != null) && (pairedDevices.size() > 0)) {
for (BluetoothDevice device : pairedDevices) {
if (device.getName() != null) {
final String transmitterIdLastTwo = Extensions.lastTwoCharactersOfString(defaultTransmitter.transmitterId);
final String deviceNameLastTwo = Extensions.lastTwoCharactersOfString(device.getName());
if (transmitterIdLastTwo.equals(deviceNameLastTwo)) {
isBondedOrBonding = true;
isBonded = true;
if (!previousBondedState)
Log.e(TAG, "Device is now detected as bonded!");
// TODO should we break here for performance?
} else {
isIntialScan = true;
}
}
}
}
if (previousBondedState && !isBonded)
Log.e(TAG, "Device is no longer detected as bonded!");
Log.d(TAG, "getTransmitterDetails() result: Bonded? " + isBondedOrBonding.toString() + (isBonded ? " localed bonded" : " not locally bonded"));
}
use of com.eveningoutpost.dexdrip.G5Model.Transmitter in project xDrip-plus by jamorham.
the class SystemStatusFragment method setConnectionStatus.
private void setConnectionStatus() {
boolean connected = false;
if (mBluetoothManager != null && activeBluetoothDevice != null && (Build.VERSION.SDK_INT >= 18)) {
for (BluetoothDevice bluetoothDevice : mBluetoothManager.getConnectedDevices(BluetoothProfile.GATT)) {
if (bluetoothDevice.getAddress().compareTo(activeBluetoothDevice.address) == 0) {
connected = true;
}
}
}
if (connected) {
connection_status.setText(safeGetContext().getString(R.string.connected));
} else {
connection_status.setText(safeGetContext().getString(R.string.not_connected));
}
String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel");
if (collection_method.compareTo("DexcomG5") == 0) {
Transmitter defaultTransmitter = new Transmitter(prefs.getString("dex_txid", "ABCDEF"));
if (Build.VERSION.SDK_INT >= 18)
mBluetoothAdapter = mBluetoothManager.getAdapter();
if (mBluetoothAdapter != null) {
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
if (device.getName() != null) {
String transmitterIdLastTwo = Extensions.lastTwoCharactersOfString(defaultTransmitter.transmitterId);
String deviceNameLastTwo = Extensions.lastTwoCharactersOfString(device.getName());
if (transmitterIdLastTwo.equals(deviceNameLastTwo)) {
final String fw = G5CollectionService.getFirmwareVersionString(defaultTransmitter.transmitterId);
connection_status.setText(device.getName() + " Authed" + ((fw != null) ? ("\n" + fw) : ""));
break;
}
}
}
}
} else {
connection_status.setText(safeGetContext().getString(R.string.no_bluetooth));
}
}
}
use of com.eveningoutpost.dexdrip.G5Model.Transmitter in project xDrip-plus by jamorham.
the class SystemStatusFragment method setCurrentDevice.
public void setCurrentDevice() {
if (activeBluetoothDevice != null) {
current_device.setText(activeBluetoothDevice.name);
} else {
current_device.setText("None Set");
}
String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel");
if (collection_method.compareTo("DexcomG5") == 0) {
Transmitter defaultTransmitter = new Transmitter(prefs.getString("dex_txid", "ABCDEF"));
if (Build.VERSION.SDK_INT >= 18) {
mBluetoothAdapter = mBluetoothManager.getAdapter();
}
if (mBluetoothAdapter != null) {
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if ((pairedDevices != null) && (pairedDevices.size() > 0)) {
for (BluetoothDevice device : pairedDevices) {
if (device.getName() != null) {
String transmitterIdLastTwo = Extensions.lastTwoCharactersOfString(defaultTransmitter.transmitterId);
String deviceNameLastTwo = Extensions.lastTwoCharactersOfString(device.getName());
if (transmitterIdLastTwo.equals(deviceNameLastTwo)) {
current_device.setText(defaultTransmitter.transmitterId);
}
}
}
}
} else {
current_device.setText("No Bluetooth");
}
}
}
Aggregations