Index: sources/view/settings/VBluetooth.cpp =================================================================== diff -u -re8262d170bb94046ddb767074a31530bdf4a2319 -r2ef03b2ce51b4dc507f66e9671953a8e0824bde9 --- sources/view/settings/VBluetooth.cpp (.../VBluetooth.cpp) (revision e8262d170bb94046ddb767074a31530bdf4a2319) +++ sources/view/settings/VBluetooth.cpp (.../VBluetooth.cpp) (revision 2ef03b2ce51b4dc507f66e9671953a8e0824bde9) @@ -1,15 +1,15 @@ /*! * - * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file VBluetooth.cpp - * \author (last) Behrouz NematiPour - * \date (last) 8/23/2021 + * \author (last) Vy + * \date (last) 05-Sep-2023 * \author (original) Behrouz NematiPour - * \date (original) 8/23/2021 + * \date (original) 24-Aug-2021 * */ #include "VBluetooth.h" @@ -105,7 +105,6 @@ */ void View::VBluetooth::onStateChange(const BluetoothData &vData) { - pairedAddr(""); Model::MBluetooth::InterfaceStates state = vData.state; if ( state == MBluetooth::eIS_Local_Error_POST ) { isInvalid( true ); @@ -114,12 +113,12 @@ } // TODO: re-evaluate the states for the scan button enable/disable. - // scanEnabled(state == MBluetooth::eIS_Idle || - // state == MBluetooth::eIS_Scan_Done || - // state == MBluetooth::eIS_Scan_NotFound || - // state == MBluetooth::eIS_Device_Error || - // state == MBluetooth::eIS_Device_Waiting - // ); + // scanEnabled(state == MBluetooth::eIS_Idle + // || state == MBluetooth::eIS_Scan_Done + // || state == MBluetooth::eIS_Scan_NotFound + // || state == MBluetooth::eIS_Device_Error + // || state == MBluetooth::eIS_Device_Waiting + // ); switch (state) { // The device name is not always available and the interface may be in investigation. @@ -129,18 +128,32 @@ break; case MBluetooth::eIS_Scan_Start : + pairedAddr(""); + // DEBUG: LOG_APPED_UI(tr("Bluetooth unpaired." )); // pairedAddr == "" implies unpaired + scanEnabled(false); // disable the scan button while the device is scanning reset(); break; case MBluetooth::eIS_Scan_Done : if (! _devices.count()) state = MBluetooth::eIS_Scan_NotFound; + scanEnabled(true); // enable the scan button when scanning is not running break; case MBluetooth::eIS_Device_Waiting : // Selected device connected and is in waiting mode for read. pairedAddr(vData.deviceAddr); pairedBatt(vData.deviceBatt); + scanEnabled(true); break; + case MBluetooth::eIS_Device_Connect : + if ( vData.devicePair != QBluetoothLocalDevice::Unpaired ) LOG_APPED_UI(tr("Bluetooth reconnected." )); + else LOG_APPED_UI(tr("Bluetooth paired and connected." )); + break; + + case MBluetooth::eIS_Device_Disconnect : + LOG_APPED_UI(tr("Bluetooth paired and disconnected." )); + break; + case MBluetooth::eIS_Idle : case MBluetooth::eIS_Local_Connect : case MBluetooth::eIS_Local_Error_Invalid : @@ -158,11 +171,9 @@ case MBluetooth::eIS_Device_Init : case MBluetooth::eIS_Device_Start : - case MBluetooth::eIS_Device_Connect : case MBluetooth::eIS_Device_Error_Init : case MBluetooth::eIS_Device_Error : case MBluetooth::eIS_Device_Done : - case MBluetooth::eIS_Device_Disconnect : case MBluetooth::eIS_Service_Start : case MBluetooth::eIS_Service_Invalid : @@ -186,6 +197,8 @@ error (vData.error ); notify( state ); + + //DEBUG: qDebug()<< "bt state : " << state << " currently paired to addr: "<< _pairedAddr; } /*! @@ -257,7 +270,7 @@ case MBluetooth::eIS_Device_Init : message = tr("Device Initializing ..." ); break; case MBluetooth::eIS_Device_Error_Init : message = tr("Device Initialization Error" ); break; case MBluetooth::eIS_Device_Start : message = tr("Device Connecting ..." ); break; - case MBluetooth::eIS_Device_Waiting : message = tr("Device Ready For Measurement ..." ); break; // received feedback and changed the "Waiting" to this to avoid user confusion. + case MBluetooth::eIS_Device_Waiting : message = tr("Device Waiting For Measurement ..." ); break; // received feedback and changed the "Waiting" to this to avoid user confusion. case MBluetooth::eIS_Device_Error : message = tr("Device Connection Error" ); break; case MBluetooth::eIS_Device_Connect : message = tr("Device Connected" ); break; case MBluetooth::eIS_Device_Done : message = tr("Device Clean Up" ); break;