History log of /packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0f7c253837f9eff47557990fd1053f62b9600222 04-Apr-2017 Jack He <siyuanh@google.com> OPP: Check target device when receiving SDP search result

* Return and print warning message when target is null while
handling ACTION_SDP_RECORD
* Without this check, a NullPointerException could be triggered
when a previously successful SDP search result landed on a
BluetoothOppTransfer object will recently failed SDP search that would
render mDevice null

Bug: 36260940
Test: make, test sending file through Bluetooth Opp
Change-Id: I861e7e64a7c9b316d4540fd5134892c247753f74
(cherry picked from commit 8e94b07aeccfa09db9add50b116b04393e3d8f1a)
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
9c11dad35ee454d303b4f56a87042fc094bb61d8 06-Feb-2017 Hemant Gupta <hemantg@codeaurora.org> OPP: Replace deprecated API(s) with new API.

Remove unnecessary variable/functions and avoid using
deprecated API(s).

Test: OPP functionality (Tx/Rx) works fine without issues.

Bug: 35013632
Change-Id: Ice9314d599d0c0f4d7cc0e1ed70c7e87fa41e937
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
4aa5e4e2fe52c06d97481db0bf180349053dae48 16-Feb-2017 Hemant Gupta <hemantg@codeaurora.org> OPP: Add OPP 1.2 feature.

Add changes to support OPP 1.2 which uses OBEX over L2CAP.

Test: Connect with Remote OPP Client supporting OPP 1.2 and verify
that connection and transfer happens over L2CAP. Connect with Remote
OPP Client supporting OPP 1.1 and verify that connection and transfer
happens over RFCOMM.

Bug: 33010988
Change-Id: I44c2f2f01fb04f4306d0eb121d66dc08954966c0
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
eb7b90f5b93db1230a5b64caa3d8d05a642e33a6 10-May-2016 Marie Janssen <jamuraa@google.com> Cleanup unused requires in java files

Change-Id: I7b055c1d3d3f6a69e9f49c077853ab45fcad7106
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
bbb4110b455b3aa29106d5b4f0a37e1be8e09475 09-Apr-2015 Casper Bonde <c.bonde@samsung.com> Obex over L2CAP + SDP search API

Each profile had its own implementation of ObexTransport.
These implementations were implemented very similar, and
could easily be merged into a common implementation.

Additionally it will make it easier to adopt the transport
to support L2CAP.

The SDP functionality is implemented in a way that is scalable,
hence adding new record types is easy.
Intents are currently used to distribute the SDP search results,
as we have observed that the new client side profiles have been
located outside the Bluetooth package.
We strongly recommend to keep all bluetooth profiles within the
Bluetooth package, to acoid the need for exposing all bluetooth
interfaces through the Android framework. For instance this new
SDP create API is internal to Bluetooth, hence cannot be used by
the external profiles - hence they cannot use OBEX over L2CAP.

The SDP search currently supports:
- MAP both sides
- OPP server (only the server needs an SDP record)
- PBAP server (only the server needs SDP record)

The SDP create record currently supports:
- MAP both sides
- OPP server
- PBAP server
The new l2cap sockets introduces a new wrapper class for a rfcomm
and an l2cap socket.
The wrapper design:
- Creates two accept threads running while bluetooth is
turned on.
- When a connection is accepted the owner is asked wether or not
to accept the connection if rejected, the connection will be
rejected at obex level, else it will be accepted and the state
is changed to busy.
- Any further connections will be rejected at Obex level, until
the state is changed back to idle.

Notes tor executing the test cases:
Test OBEX using local pipes(no BT) or two bluetooth enabled
devices.

Test SDP using two Bluetooth enabled devices

Start server testcase first on one device, then start
the matching client test on the other device.

You cannot run all tests in one go, as they need to run
on multiple devices.

Edit the test sequesce to add/remove/modify the sequence
of OBEX operations to perform.

Use the new SDP record create interface.

Change-Id: I3941793f9843abf4afa5ffbee40d1d01c118b29b
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
e93cc4d347fd5d263d7740ad85f7f99b64651126 17-Nov-2014 Matthew Xie <mattx@google.com> Check previous user confirmation before auto-confirm put request

Also correct a confirm status change check in updateShare.
Bug: 17770561, 18343032

Change-Id: I8e7d10e73604c0bf1c88801a1caef7d579fbd1eb
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
8eb70f8bdf4e8c970810b3400aba8d08d14ce222 21-Feb-2013 Martijn Coenen <maco@google.com> Add OBEX object count support to Bluetooth.

To support Android Beam receiving information about
the number of files in a OPP transfer, add the Count
OBEX header. Also add a new intent to tell the handover
requested that a transfer has started, including the
count (if any).

Change-Id: Ib5e0e8dbc6c2e3259e0f732a507557c3688e168c
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
ee52ddf33a0ce2cf89cc028136f60ae600c45de5 27-Jul-2012 Jake Hamby <jhamby@google.com> Enable Bluetooth sharing of downloaded files.

Change BT OPP to open the InputStreams of files to share in the
BluetoothOppLauncherActivity (or BluetoothOppHandoverReceiver
for NFC shares), while the process has grantUriPermission() on
the URI's to share.

InputStreams are saved inside the existing BluetoothOppSendFileInfo
objects, which no longer include the mDestination field because
this isn't known at the time the SendFileInfo object is now created
(before the user has chosen the destination BT device). These
objects are stored in a static ConcurrentHashMap in BluetoothOppUtility
and are removed when the file is closed (on success or failure).

If the user tries to share thousands of files in one batch, we may
not be able to open InputStreams for all of the files in the batch.
In this case, the open should fail gracefully.

Bug: 6808783
Change-Id: I3f3f86d2dc1a78a837aeb6a888f90b26434ba499
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
15d36984a79d6e35c659edb0efdf929f0b526bd5 01-Aug-2012 Fred <fredc@broadcom.com> Fix for BT turn on/off issues: NPE, FD/thread leaks, ANR.

This fix addresses numerous BT on/off issues found from the CTS test.
Fixed fD/pipe leak in various state machine Looper objects by calling quit() function.
Fixed cursor leak in AtPhonebook.
Change Pbap to stop the RFCOMM listener on the STATE_TURNING_OFF instead of STATE_OFF.
Removed several cleanup() methods causing NPE.
Reduced RFCOMM listener timeout from 3 seconds to 300ms between retry.
bug 6834336

Change-Id: I52423343d8f52f65294af0143f373871a9874d77
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
7aab11364743cbca6eeefecbbde19f0434aff362 24-Apr-2012 fredc <fredc@broadcom.com> Fixed exception in BondStateMachine when quit message occurs. Fixed exception in OPP when remote does not accept incoming request.

Change-Id: Ibb43a26ee0ac62967518468d243880a0af987ba0
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
3fafe61ef25c1899fdc817c52163aec16c31055c 19-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> Memory profiling changes : Updated the Bluetooth code to handle cleaning up of object references (context, handlers, and collection objects ) during service cleanup.Memory profiling changes : Updated the Bluetooth code to handle cleaning up of object references (context, handlers, and collection objects ) during service cleanup.

Change-Id: I2b0235f71c1feaf32215b2aaf89a2e06d8fa7d73
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
9f0d856f41d443ec23d5aa2eecfc561d7a3c01d1 31-Mar-2012 fredc <fredc@broadcom.com> Initial checkin of OPP and PBAP

Change-Id: Ie43a26874bd5f0c00d69c2ce02430f4a16da327a
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
8099f5e7bfa7227ba674b5f0076f331e737bafd7 06-Apr-2012 Martijn Coenen <maco@google.com> Additional changes to support Bluetooth Beam.

- Added a whitelist permission, to ensure only system
services (such as NFC) can whitelist MAC addresses.
- Added HANDOVER_STATUS permission, to ensure handover
transfer status can only be received by eligible services
(such as NFC).
- Added new confirmation type HANDOVER_CONFIRMED; this indicates
the transfer was initiated by a handover, and doesn't need to be
confirmed. This type is also reused to send broadcasts
to the NFC service, so the NFC service can show notifications
and deal with the received data.
- Added 15 second timeout to whitelist.
- Modify notication code to not show any notifications for handover
transfers; instead, send broadcasts to indicate handover status.
- Modify "transfer complete" code to sendbroasts to indicate handover
status.
Change-Id: I00c08e09eaf44f0bd4bd837cb6b0c37b802742bc
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
66cbd62c4837f1e9a261fb1bde1d470c904f2346 04-Aug-2011 jhtop.kim <jhtop.kim@samsung.com> Bluetooth :fix opp for socket error retry

When the pin or link key missing case occurs,
we need to retry the socket connection. Use a timeout
of 1.5 secs instead of 2.5 secs because the ACL inactivity
timer is 2 secs.

Change-Id: I3d4c096bd823e3204e91040bea608e44471dd4ce
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
44c347ad717ca51b00819736227f7a9c81905396 15-Jun-2011 Liejun Tao <L.J.Tao@motorola.com> Modify the Rfcomm retry logic

In BluetoothOppTransfer where we check mRetry and e.getMessage()
if mRetry is false and e is not "Invalid exchange", the transfer is stuck

Change-Id: Ie7a4da215c9e74e167db9fa29c6e113a7a7a2c77
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
d6a1c1c4bf3da920582e17c8c6e32c7ef74a555f 08-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> Retry rfcomm socket connections after link key exchange error.

If the devices were paired before, but unpaired on the
remote end, it will return an error (when sending a file)for the auth
request for the socket connection. Link keys will get exchanged
but we need to retry the socket connection. There is no good way to
inform this socket asking it to retry apart from
a delayed retry. The socket is opened at the kernel level
but the link key retrys happen at the Bluez userspace level.

Note: This is a temporary change, once the new mgmt interface comes
up in Bluez, we wouldn't need this.

Change-Id: Ifbd93d7f69b93515dda6c6f4ad2796853f9d5841
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
a930b6831d0c70b6c5d34e548e6b1dceaa6529a0 01-Nov-2010 Mohammad Shamsi <m.h.shams@gmail.com> code cleanup.
unused imports, local variabls and static constans removed from
com.android.bluetooth.opp package.

Change-Id: I0fd682a190221e216fac71723c05d3828b9fa42d
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
3a88b20fcd71e42451e402d27374b19eeb2ff0da 08-Oct-2009 Nick Pelly <npelly@google.com> Update application code for BluetoothAdapter.getDefaultAdapter().

Change-Id: I7baafb909b74783da4e51d48f2465e7aacf07eb5
DrNo: eastham
Bug: 2158765
Joke: What goes 99-thump, 99-thump? A centipede with a wooden leg.
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
b0fa09caef6a0748a568dc2a89f5d94b85423bb2 29-Sep-2009 Lixin Yue <L.X.YUE@motorola.com> Update OPP/PBAP UI

Add timeout handling to incoming file confirm dialog, to avoid uncertain
behavior when timeout happen
Fix PBAP request timeout issue when open/close slider, dismiss timeout
dialog to avoid uncertain behavior
Fix typo in strings
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
202e9f669d8972d6371c349ed65f311de465be1a 28-Sep-2009 Nick Pelly <npelly@google.com> Update application for android.bluetooth.ParcelUuid -> android.os.ParcelUuid

Change-Id: Ia0eb46d9bdff6a8ab3333bb0ad1f66d0303c135a
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
9d9e511fe7425fb3105ece227ecedb43d6333333 21-Sep-2009 Tao Liejun <L.J.Tao@motorola.com> Use new SDP API for OPP

Use new API BluetoothDevice.fetchUuidsWithSdp() to query SDP for un-paired device, and request SDP
update when Opp is not in cache.
Handle a concurrent case when incoming connection and file share happens together
Some other minor changes

Change-Id: I7ebf34801518867553551d8f7bba7ac62e22667e
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
68ea2a43de2e7cee20c03332ed9f5ff004e42884 02-Sep-2009 Jaikumar Ganesh <jaikumar@google.com> Change handling of remoteUuids.
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
fa5d402906010cd17c8ed7de0dbcbfdcb78dab20 01-Sep-2009 Nick Pelly <npelly@google.com> Workaround bug in Poloroid Pogo.

Rename extra dots to underscores.

Working with Poloroid to get an updated list of affected MAC addresses. For now
we just have 00:04:48.
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
888485a3f5fe991116c5536bb6d6903d47b63a70 31-Aug-2009 Tao Liejun <L.J.Tao@motorola.com> Cleanup Opp debug code

Stop Rfcomm polling
Delete a few unused functions
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
ce4d93666275df294cb073fe41de5b85932570a8 28-Aug-2009 Nick Pelly <npelly@google.com> Clean up Logging.

Use the pattern if (V) Log.v(...); for logging. The Android style prefers curly braces, but for log lines it is ok to use a one-liner to keep the code manageable.

Remove spaces from some log tags, and rename TAG BluetoothShareProvider to BluetoothOpp.

Rename LOGVV to V, and LOGV to D.

Just before ship we will change Constants.DEBUG and Constants.VERBOSE to false to compile out all the logging code.
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
1ac5507790a87810061a19dadec36eb328a222ea 07-Aug-2009 Tao Liejun <L.J.Tao@motorola.com> OPP update

Rewrite provider permission to allow LiveFolders work
Support file:// uri to share file
Support multiple share from gallery
Fully support sending file queue
Hold incoming connection for a while when OPP is busy instead of reject directly
Move notification update to a thread
Handle many error cases to display correct error messages
Improve server/client timeout
Delete empty file after reject incoming file
Support upper case incoming file extension
Avoid multiple mediascanner connections
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
41ef8d494511c040451f2f887cb31c3100746b61 07-Aug-2009 Nick Pelly <npelly@google.com> Bluetooth: Update Bluetooth.apk to match BT API change.

Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
52236de777c23788df8147de15912a57e8bc36dd 04-Aug-2009 Tao Liejun <L.J.Tao@motorola.com> Fix a few OPP issues

Grab wakelock for server session
Fix send small file bug
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
df7415da0e510ab8e4b73831a5ade38306982fe1 16-Jul-2009 Tao Liejun <L.J.Tao@motorola.com> Fix OPP receive bug

Fix the bug that second receving would fail
Show display name instead of full name in notification
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
6769b59d715ea98bd72eafcfea9acd2714a887da 15-Jul-2009 Tao Liejun <L.J.Tao@motorola.com> Make opp compile

Modify to make opp application compliable in new git
-change package name
-change manifest
-modify a few comments
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java
09e9cba205af60b3f42e7a4d891a7d1392e1f2a5 11-Jul-2009 Nick Pelly <npelly@google.com> Initial drop of Motorola Bluetooth OPP code.

Minor changes from Moto code:
- Added Motorola BSD license
- Moved com.motorola.bluetoothshare to com.android.bluetooth.opp
- Updated com.motorola.obex to javax.obex
- Moved Android.mk to Android.mk.hide: does not yet compile due to changes in
Obex library.
/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppTransfer.java