Search in sources :

Example 11 with Transmitter

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);
                                }
                            }
                        }
                    }
                }
            }
        }
    });
}
Also used : Set(java.util.Set) BluetoothDevice(android.bluetooth.BluetoothDevice) ActiveBluetoothDevice(com.eveningoutpost.dexdrip.Models.ActiveBluetoothDevice) Transmitter(com.eveningoutpost.dexdrip.G5Model.Transmitter) Method(java.lang.reflect.Method) View(android.view.View) TextView(android.widget.TextView) BluetoothAdapter(android.bluetooth.BluetoothAdapter)

Example 12 with Transmitter

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");
        }
    }
}
Also used : BluetoothDevice(android.bluetooth.BluetoothDevice) ActiveBluetoothDevice(com.eveningoutpost.dexdrip.Models.ActiveBluetoothDevice) Transmitter(com.eveningoutpost.dexdrip.G5Model.Transmitter)

Example 13 with Transmitter

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"));
}
Also used : BluetoothDevice(android.bluetooth.BluetoothDevice) Transmitter(com.eveningoutpost.dexdrip.G5Model.Transmitter)

Example 14 with Transmitter

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));
        }
    }
}
Also used : BluetoothDevice(android.bluetooth.BluetoothDevice) ActiveBluetoothDevice(com.eveningoutpost.dexdrip.Models.ActiveBluetoothDevice) Transmitter(com.eveningoutpost.dexdrip.G5Model.Transmitter)

Example 15 with Transmitter

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");
        }
    }
}
Also used : BluetoothDevice(android.bluetooth.BluetoothDevice) ActiveBluetoothDevice(com.eveningoutpost.dexdrip.Models.ActiveBluetoothDevice) Transmitter(com.eveningoutpost.dexdrip.G5Model.Transmitter)

Aggregations

BluetoothDevice (android.bluetooth.BluetoothDevice)18 Transmitter (com.eveningoutpost.dexdrip.G5Model.Transmitter)18 ActiveBluetoothDevice (com.eveningoutpost.dexdrip.Models.ActiveBluetoothDevice)14 Method (java.lang.reflect.Method)6 BluetoothAdapter (android.bluetooth.BluetoothAdapter)4 View (android.view.View)4 TextView (android.widget.TextView)4 Set (java.util.Set)4 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 InvalidKeyException (java.security.InvalidKeyException)2 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)2 BadPaddingException (javax.crypto.BadPaddingException)2 IllegalBlockSizeException (javax.crypto.IllegalBlockSizeException)2 NoSuchPaddingException (javax.crypto.NoSuchPaddingException)2