Loading src/com/android/bluetooth/opp/BluetoothOppManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ public class BluetoothOppManager { public boolean mMultipleFlag; private int mfileNumInBatch; private int mfileNumInBatch = 1; private int mInsertShareThreadNum = 0; Loading src/com/android/bluetooth/opp/BluetoothOppNotification.java +14 −7 Original line number Diff line number Diff line Loading @@ -109,10 +109,11 @@ class BluetoothOppNotification { private static final int NOTIFICATION_ID_INBOUND = -1000006; private boolean mPendingUpdate = true; private boolean mOutboundUpdateCompleteNotification = true; private boolean mInboundUpdateCompleteNotification = true; private int confirmation = 0; private int mConfirmation = 0; private int mInboundActiveNotificationId = 0; private int mOutboundActiveNotificationId = 0; private int mRunning = 0; Loading Loading @@ -158,7 +159,9 @@ class BluetoothOppNotification { * Update the notification ui. */ public void updateNotification() { if (V) Log.v(TAG, "Updating the notification"); synchronized (BluetoothOppNotification.this) { mPendingUpdate = true; if (mUpdateNotificationThread == null) { if (V) Log.v(TAG, "new notify thread!!!"); mUpdateNotificationThread = new NotificationUpdateThread(); Loading Loading @@ -203,6 +206,7 @@ class BluetoothOppNotification { throw new IllegalStateException( "multiple UpdateThreads in BluetoothOppNotification"); } mPendingUpdate = false; } updateActiveNotification(); Loading @@ -210,7 +214,7 @@ class BluetoothOppNotification { updateIncomingFileConfirmNotification(); try { if ((confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED) if ((mConfirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED) || mPowerManager.isScreenOn()) { Thread.sleep(BluetoothShare.UI_UPDATE_INTERVAL); } Loading @@ -219,9 +223,12 @@ class BluetoothOppNotification { return; } if (V) Log.v(TAG, "Running = " + mRunning); } while ((mRunning > 0) && (mPowerManager.isScreenOn() || (confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED))); if (V) { Log.v(TAG, "Running = " + mRunning + " Pending notification is " + mPendingUpdate); } } while ((mPendingUpdate || (mRunning > 0)) && (mPowerManager.isScreenOn() || (mConfirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED))); synchronized (BluetoothOppNotification.this) { mUpdateNotificationThread = null; Loading Loading @@ -314,7 +321,7 @@ class BluetoothOppNotification { int id = cursor.getInt(idIndex); long total = cursor.getLong(totalBytesIndex); long current = cursor.getLong(currentBytesIndex); confirmation = cursor.getInt(confirmIndex); mConfirmation = cursor.getInt(confirmIndex); String destination = cursor.getString(destinationIndex); String fileName = cursor.getString(dataIndex); Loading Loading @@ -347,7 +354,7 @@ class BluetoothOppNotification { item.totalCurrent = current; item.totalTotal = total; item.handoverInitiated = confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED; mConfirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED; item.destination = destination; mNotifications.put(batchID, item); Loading src/com/android/bluetooth/opp/BluetoothOppService.java +9 −3 Original line number Diff line number Diff line Loading @@ -96,6 +96,8 @@ public class BluetoothOppService extends Service { /** Class to handle Notification Manager updates */ private BluetoothOppNotification mNotifier; private boolean mPendingUpdate = true; private UpdateThread mUpdateThread; private ArrayList<BluetoothOppShareInfo> mShares; Loading Loading @@ -448,7 +450,9 @@ public class BluetoothOppService extends Service { }; private void updateFromProvider() { if (V) Log.v(TAG, "Updating the provider"); synchronized (BluetoothOppService.this) { mPendingUpdate = true; if ((mUpdateThread == null) && (mAdapter != null) && mAdapter.isEnabled()) { if (V) Log.v(TAG, "Starting a new thread"); Loading Loading @@ -477,6 +481,7 @@ public class BluetoothOppService extends Service { } if (V) Log.v(TAG, "keepUpdateThread is " + keepService + " sListenStarted is " + mListenStarted); mPendingUpdate = false; } Cursor cursor; try { Loading Loading @@ -627,15 +632,16 @@ public class BluetoothOppService extends Service { } try { if (((mServerSession != null) || (mTransfer != null)) && mPowerManager.isScreenOn()) { if (mPowerManager.isScreenOn()) { Thread.sleep(BluetoothShare.UI_UPDATE_INTERVAL); } } catch (InterruptedException e) { if (V) Log.v(TAG, "OppService Thread sleep is interrupted (1), exiting"); return; } } while (mPowerManager.isScreenOn() && ((mServerSession != null) || (mTransfer != null))); if(V) Log.v(TAG, "PendingUpdate is " + mPendingUpdate); } while (mPendingUpdate); synchronized (BluetoothOppService.this) { mUpdateThread = null; Loading src/com/android/bluetooth/opp/BluetoothOppTransfer.java +6 −1 Original line number Diff line number Diff line Loading @@ -475,6 +475,7 @@ public class BluetoothOppTransfer implements BluetoothOppBatch.BluetoothOppBatch private void startObexSession() { mBatch.mStatus = Constants.BATCH_STATUS_RUNNING; BluetoothOppManager mOppManager = BluetoothOppManager.getInstance(mContext); mCurrentShare = mBatch.getPendingShare(); if (mCurrentShare == null) { Loading Loading @@ -507,7 +508,11 @@ public class BluetoothOppTransfer implements BluetoothOppBatch.BluetoothOppBatch } if (mSession != null) { mSession.start(mSessionHandler, mBatch.getNumShares()); /* Read the number of files are sharing from OPP Manager instead of getting * the number of files from Batch before OBEX session start. */ if (V) Log.v(TAG, "Sharing files = " + mOppManager.getBatchSize()); mSession.start(mSessionHandler, mOppManager.getBatchSize()); processCurrentShare(); } Loading Loading
src/com/android/bluetooth/opp/BluetoothOppManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ public class BluetoothOppManager { public boolean mMultipleFlag; private int mfileNumInBatch; private int mfileNumInBatch = 1; private int mInsertShareThreadNum = 0; Loading
src/com/android/bluetooth/opp/BluetoothOppNotification.java +14 −7 Original line number Diff line number Diff line Loading @@ -109,10 +109,11 @@ class BluetoothOppNotification { private static final int NOTIFICATION_ID_INBOUND = -1000006; private boolean mPendingUpdate = true; private boolean mOutboundUpdateCompleteNotification = true; private boolean mInboundUpdateCompleteNotification = true; private int confirmation = 0; private int mConfirmation = 0; private int mInboundActiveNotificationId = 0; private int mOutboundActiveNotificationId = 0; private int mRunning = 0; Loading Loading @@ -158,7 +159,9 @@ class BluetoothOppNotification { * Update the notification ui. */ public void updateNotification() { if (V) Log.v(TAG, "Updating the notification"); synchronized (BluetoothOppNotification.this) { mPendingUpdate = true; if (mUpdateNotificationThread == null) { if (V) Log.v(TAG, "new notify thread!!!"); mUpdateNotificationThread = new NotificationUpdateThread(); Loading Loading @@ -203,6 +206,7 @@ class BluetoothOppNotification { throw new IllegalStateException( "multiple UpdateThreads in BluetoothOppNotification"); } mPendingUpdate = false; } updateActiveNotification(); Loading @@ -210,7 +214,7 @@ class BluetoothOppNotification { updateIncomingFileConfirmNotification(); try { if ((confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED) if ((mConfirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED) || mPowerManager.isScreenOn()) { Thread.sleep(BluetoothShare.UI_UPDATE_INTERVAL); } Loading @@ -219,9 +223,12 @@ class BluetoothOppNotification { return; } if (V) Log.v(TAG, "Running = " + mRunning); } while ((mRunning > 0) && (mPowerManager.isScreenOn() || (confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED))); if (V) { Log.v(TAG, "Running = " + mRunning + " Pending notification is " + mPendingUpdate); } } while ((mPendingUpdate || (mRunning > 0)) && (mPowerManager.isScreenOn() || (mConfirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED))); synchronized (BluetoothOppNotification.this) { mUpdateNotificationThread = null; Loading Loading @@ -314,7 +321,7 @@ class BluetoothOppNotification { int id = cursor.getInt(idIndex); long total = cursor.getLong(totalBytesIndex); long current = cursor.getLong(currentBytesIndex); confirmation = cursor.getInt(confirmIndex); mConfirmation = cursor.getInt(confirmIndex); String destination = cursor.getString(destinationIndex); String fileName = cursor.getString(dataIndex); Loading Loading @@ -347,7 +354,7 @@ class BluetoothOppNotification { item.totalCurrent = current; item.totalTotal = total; item.handoverInitiated = confirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED; mConfirmation == BluetoothShare.USER_CONFIRMATION_HANDOVER_CONFIRMED; item.destination = destination; mNotifications.put(batchID, item); Loading
src/com/android/bluetooth/opp/BluetoothOppService.java +9 −3 Original line number Diff line number Diff line Loading @@ -96,6 +96,8 @@ public class BluetoothOppService extends Service { /** Class to handle Notification Manager updates */ private BluetoothOppNotification mNotifier; private boolean mPendingUpdate = true; private UpdateThread mUpdateThread; private ArrayList<BluetoothOppShareInfo> mShares; Loading Loading @@ -448,7 +450,9 @@ public class BluetoothOppService extends Service { }; private void updateFromProvider() { if (V) Log.v(TAG, "Updating the provider"); synchronized (BluetoothOppService.this) { mPendingUpdate = true; if ((mUpdateThread == null) && (mAdapter != null) && mAdapter.isEnabled()) { if (V) Log.v(TAG, "Starting a new thread"); Loading Loading @@ -477,6 +481,7 @@ public class BluetoothOppService extends Service { } if (V) Log.v(TAG, "keepUpdateThread is " + keepService + " sListenStarted is " + mListenStarted); mPendingUpdate = false; } Cursor cursor; try { Loading Loading @@ -627,15 +632,16 @@ public class BluetoothOppService extends Service { } try { if (((mServerSession != null) || (mTransfer != null)) && mPowerManager.isScreenOn()) { if (mPowerManager.isScreenOn()) { Thread.sleep(BluetoothShare.UI_UPDATE_INTERVAL); } } catch (InterruptedException e) { if (V) Log.v(TAG, "OppService Thread sleep is interrupted (1), exiting"); return; } } while (mPowerManager.isScreenOn() && ((mServerSession != null) || (mTransfer != null))); if(V) Log.v(TAG, "PendingUpdate is " + mPendingUpdate); } while (mPendingUpdate); synchronized (BluetoothOppService.this) { mUpdateThread = null; Loading
src/com/android/bluetooth/opp/BluetoothOppTransfer.java +6 −1 Original line number Diff line number Diff line Loading @@ -475,6 +475,7 @@ public class BluetoothOppTransfer implements BluetoothOppBatch.BluetoothOppBatch private void startObexSession() { mBatch.mStatus = Constants.BATCH_STATUS_RUNNING; BluetoothOppManager mOppManager = BluetoothOppManager.getInstance(mContext); mCurrentShare = mBatch.getPendingShare(); if (mCurrentShare == null) { Loading Loading @@ -507,7 +508,11 @@ public class BluetoothOppTransfer implements BluetoothOppBatch.BluetoothOppBatch } if (mSession != null) { mSession.start(mSessionHandler, mBatch.getNumShares()); /* Read the number of files are sharing from OPP Manager instead of getting * the number of files from Batch before OBEX session start. */ if (V) Log.v(TAG, "Sharing files = " + mOppManager.getBatchSize()); mSession.start(mSessionHandler, mOppManager.getBatchSize()); processCurrentShare(); } Loading