Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a38e8ba5 authored by Juffin Alex Varghese's avatar Juffin Alex Varghese
Browse files

Bluetooth-OPP: Keep Notification thread running when transfer is via NFC

OPP notification thread should be running when file transfer is
via NFC because NFC module is listening to TRANSFER_PROGRESS intent
from notification. Otherwise, after 20 seconds NFC will turn OFF BT
and cause transfer failure.

CRs-Fixed: 762328
Change-Id: Ibf40439f1c304e878eb90bfa805d6994eb878c83
parent c7c9a230
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ class BluetoothOppNotification {
    private boolean mOutboundUpdateCompleteNotification = true;
    private boolean mInboundUpdateCompleteNotification = true;

    private int confirmation = 0;
    private int mInboundActiveNotificationId = 0;
    private int mOutboundActiveNotificationId = 0;
    private int mRunning = 0;
@@ -199,7 +200,8 @@ class BluetoothOppNotification {
                updateIncomingFileConfirmNotification();

                try {
                    if (mPowerManager.isScreenOn()) {
                    if ((confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED)
                            || mPowerManager.isScreenOn()) {
                        Thread.sleep(BluetoothShare.UI_UPDATE_INTERVAL);
                    }
                } catch (InterruptedException e) {
@@ -208,7 +210,8 @@ class BluetoothOppNotification {
                }

                if (V) Log.v(TAG, "Running = " + mRunning);
            } while ((mRunning > 0) && mPowerManager.isScreenOn());
            } while ((mRunning > 0) && (mPowerManager.isScreenOn()
                    || (confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED)));

            synchronized (BluetoothOppNotification.this) {
                mUpdateNotificationThread = null;
@@ -301,7 +304,7 @@ class BluetoothOppNotification {
                int id = cursor.getInt(idIndex);
                long total = cursor.getLong(totalBytesIndex);
                long current = cursor.getLong(currentBytesIndex);
                int confirmation = cursor.getInt(confirmIndex);
                confirmation = cursor.getInt(confirmIndex);

                String destination = cursor.getString(destinationIndex);
                String fileName = cursor.getString(dataIndex);
@@ -369,6 +372,7 @@ class BluetoothOppNotification {
                intent.putExtra(Constants.EXTRA_BT_OPP_TRANSFER_PROGRESS, progress);
                intent.putExtra(Constants.EXTRA_BT_OPP_ADDRESS, item.destination);
                mContext.sendBroadcast(intent, Constants.HANDOVER_STATUS_PERMISSION);
                if (V) Log.v(TAG, "Handover OPP transfer is inprogress");
                continue;
            }
            // Build the notification object