diff options
author | Juffin Alex Varghese <jalex@codeaurora.org> | 2014-11-26 14:38:30 +0530 |
---|---|---|
committer | Juffin Alex Varghese <jalex@codeaurora.org> | 2014-11-26 14:40:55 +0530 |
commit | a38e8ba5b5faad8d0775f1534af2ee1cb33d9406 (patch) | |
tree | 282e3645fd47303325cdb70d8cf93225b537b8de | |
parent | c7c9a230ac47120fc82739bac450e997cbb923f6 (diff) | |
download | android_packages_apps_Bluetooth-a38e8ba5b5faad8d0775f1534af2ee1cb33d9406.tar.gz android_packages_apps_Bluetooth-a38e8ba5b5faad8d0775f1534af2ee1cb33d9406.tar.bz2 android_packages_apps_Bluetooth-a38e8ba5b5faad8d0775f1534af2ee1cb33d9406.zip |
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
-rw-r--r-- | src/com/android/bluetooth/opp/BluetoothOppNotification.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/com/android/bluetooth/opp/BluetoothOppNotification.java b/src/com/android/bluetooth/opp/BluetoothOppNotification.java index 6563ef824..ec180e844 100644 --- a/src/com/android/bluetooth/opp/BluetoothOppNotification.java +++ b/src/com/android/bluetooth/opp/BluetoothOppNotification.java @@ -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 |