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

Commit e281f0f3 authored by Hemant Gupta's avatar Hemant Gupta Committed by Linux Build Service Account
Browse files

OPP: BUG Fixes in kikat

Bluetooth-OPP: Restart OPP service on ACL disconnect

Whenever OPP service is forcefully stopped, it will get
restarted on reception of ACL disconnected intent from frameworks.

Change-Id: I8b976c44dc5edd62288fd87abd84a1831e820957

Bluetooth: OPP: set csv format as acceptable shareinbound types

Adding csv format to acceptable inbound types, to be able to
receive these file formats from remote device.

Change-Id: I4ef8da4672d021412f806276c9bc292db17bf0c5

Bluetooth: OPP: Display proper name while cancelling transfer

Saves names of all the selected files to be transferred even
before starting of client thread so that names remain intact
in the outbound information even when the batch is cancelled
from initiator.

Change-Id: I1763e6fee04dc8bbac943ec1db4d739d46f40939

Bluetooth: OPP: Change for updating BT recipients prompt information

This patch adds changes for getting the updated name of the BT recipient
during OPP in case the device name is getting changed in between the two
consecutive transfers.

Change-Id: I0d2102343638b693fe6e02bf27ac4c603ff86962

Bluetooth: OPP: null check for optional header length

Adding null check for optional header length in put request
to avoid NUll pointer Exception.

Change-Id: Iac3b96b3803fb0ac83a41e75b7dcc6ce1f7c982f

Bluetooth: OPP: Handle Try Again exception to retry write

When the write to socket is faster than BT maximum throughput
socket buffer gets full and it returns EAGAIN, writing application
has to retry in this case. This return value is thrown as exception
from JNI layer and has to be handled properly to retry the write
operation.

Change-Id: I14db1d85a2e406cf70ae3687db8b727baaba782b

Allow an empty file information to be stored in ContentValues

OPP implementation doesn't store an empty file information in
ContentValues though the file has a valid URI info and it is allowed
to transfer an empty file to the remote device. Due to which, in OPP
file transfer history it became an unknown file. The change enables
OPP to update the valid empty file info in ContentValues which can be
processed by a ContentResolver.

Change-Id: I852bf0d51dc00325854ff1e76436cf4f104ac85c

Cleanup Opp session during ACL disconnect

Process ACL_DISCONNECT message in OPP module to clean up
the transfer related data as soon as ACL is disconnected.
This removes the delay we observe in displaying File not received
message when Remote device's Battery is abbruptly taken out
or remote disconnects the ACL when authorization request is in
pending state in DUT.

Change-Id: Ie749990987e43a02636c4e573e706f615e58fe7b

Bluetooth: Mark proper file transfer status upon OBEX response timeout

This patch will handle the scenario of obex timeout which occurs due
to cancelling the transfer in between and trying sending again.

Change-Id: I92a269be6cd7e972ddc98b10f036b19e7aebbbe5

Bluetooth: Do not terminate session when a Batch contains an empty file

If an empty file is rejected by the remote device, client session is
terminated and remaining files in the batch also marked as failure.
This change continues to send the pending files in the batch even an
empty file is rejected by the remote device. Also it provides appropriate
message to the user.

Change-Id: I0a48e1fb652c51b8e7eb8fa1c9a66efe99acd3d2

Bluetooth: OPP: Update the user confirmation with proper value

User confirmation for the Incoming Files is updated in the Array
from the Database. There are two Database reads, the first read
is used for evaluating the user confirmation and the second read
to update the information in the Local Array. The stored
information in the Array will be used to evaluate a change in
its value in the database. Because of this, if there is a change
in the database from the point of first read to second read, the
value stored in the array would be different than the value
evaluated. In this case the evaluation during next updateShare
call will not see any change in user confirmation value in database
and array and hence will not result in Notifying the ServerSession
which is waiting for user confirmation.

Change-Id: I382f9cccf63a8f53f46bb84639ab1345f784ad43

Bluetooth: Add send file information before retransmission

This patch adds send file information before retrying failed file transfer.
without this change, file outbound file could not be sent as file
information was missing resulting in error.
CRs-Fixed: 505101

Change-Id: I53e828672d107e80a600fbbcc73c7b0ec7bf0737

Bluetooth: OPP Update progress in worker thread

OPP throughput was seen very less because of the progress update
from BT Read/Write path. Moved it to worker thread.

Change-Id: I884356dc8b42a7f7eca1b8581e3118d5ec2ce9e2

Clean up file when file transfer is aborted by remote/local device

Delete File when the transfer is terminated due to
Remote's BT is turned off, remote being taken out of reach or
remote is turned off properly. Also delete the file on the next
reboot while the previous inbound transfer was interrupted by
local device power off.
CRs-Fixed: 506182

Change-Id: I96211e701610322881eda8345d04898ae3f18ab6

Bluetooth: set apk format as acceptable shareinbound types.

Adding apk format as a acceptable inbound types ,to be able
to receive these file formats from remote device.

Change-Id: I5175b634b88418b0d5c9baaedb84a48fe0d97357
CRs-fixed: 497427

OPP: Set ics format as acceptable shareinbound type

Adding ics format to acceptable inbound type, to be
able to receive these file format from remote device.

Change-Id: Ief9da2c745378ea28fa03da770aee3c8310892c4
CRs-fixed: 570922

OPP: Support for Obex Tx Rx at the same time

This change will allow the OPP Rx to be done even when
Tx is ongoing.

Change-Id: I87a048e8fdb1090bb755fe977901cc6325ce5415
CRs-fixed: 565447

Bluetooth-OPP: Separating Inbound and Outbound notifications

This change will ensure that inbound and outbound notifications will
be updated separately. Otherwise, during simultaneous Rx and Tx if
one of the ongoing transfer is aborted notification status will not
be updated and will show transfer in progress because there is one
active transfer.

CRs-Fixed: 601855, 609292, 653842
Change-Id: I907bd9706a747df82162ce3e5ce42eb40f8fc96f

Bluetooth-OPP: Truncate receiving file name instead of rejecting it

Truncate receiving filename if name exceeds OPP_LENGTH_OF_FILE_NAME
instead of rejecting file by the Obex server with response
OBEX_HTTP_INTERNAL_ERROR.

CRs-Fixed: 576621
Change-Id: I2ef5fbe22252f41a8c87958a2558476a310b7f39

Bluetooth-OPP: Cleanup OPP transfer sessions after abort

When user cancelled the tranfer while ongoing transfer,the transfer
session will be cleaned up properly. Otherwise, while Tx + Rx concurrency
if user abort the Tx and start Tx again new tranfer session will be created
only after Rx is finished.

CRs-Fixed: 585962
Change-Id: I9b5e1c0f1748ccc47811d669ddab96ba43f424f5

Bluetooth-OPP: Update notification while BT is turning OFF

Update notification while BT is turning OFF. Otherwise, if
notification thread didn't start when BT is turning OFF
inbound/outbound file transfer status notification will not properly
updated and show transfer in progress.

CRs-Fixed: 550485, 594171
Change-Id: I0752bcddcf218726c8564d26da7bc7c86a0005fd

Bluetooth-OPP: Handle Exceptions while OPP operation

Handle Exceptions while OPP operation. Otherwise, during transfer
if there is database or security error which will cause bluetooth
app crash.

CRs-Fixed: 568920
Change-Id: Id64facc10d08be7b7a60cd3b2b6a54e46f844777

Bluetooth-OPP: Cleaning up cursor object to avoid memory leak

Cursor objects are leaked after BT OFF/ON, when it is referenced
(Directly OR Indirectly). So Garbage Collector doesn't collect
cursor objects which are referenced. Setting NULL to cursor object
after closing to mark those variable as weak reference object.
Any objects memory is immediately claimed by GC, which are marked
as weak Reference.

CRs-Fixed: 579016
Change-Id: Ic019ae5bf6eb91fb25a259673216cd67fce4afe2

Bluetooth-OPP: Add pending state for multiple connection request

This change will ensure that multiple client connections are set to
pending when there already exist an OPP client connection. Otherwise,
some application can start OPP Server session without transfer and
if another client sends a file request during this time will cause
multiple incoming file request popup in DUT if first device trys to
send the file while DUT is already waiting for user confirmation for
the incoming file request from the second device.

CRs-Fixed: 659167
Change-Id: Iac6b3c160bd5be6a4ddcd31f8e82d1ee2528d0ec

Bluetooth-OPP: Fixed the BT occurs ANR when tap "try again" button

When tap the "try again" button on the send failed dialog, the
method "BluetoothOppSendFileInfo::generateFileInfo()" will be
call, if there are about 1500 contacts, execute this method
would be very time consuming, So caused the ANR happen.
Changed this method into the child thread execution, through
a Handler send a message to the main thread after this method
return, and then retry the failed transfer.

CRs-Fixed: 522213
Change-Id: I22bd04160e826789f8154bd334d948bb66ea1296

Bluetooth-OPP: Avoid IndexOutOfBoundsException if share is zero

This change will avoid IndexOutOfBoundsException if number of sharing
files are zero. Otherwise, Bluetooth application will force close itself
when exception encountered.

CRs-Fixed: 628860
Change-Id: I42473c8ca2d9116c6d57707ab8f3c452d7027e67

Bluetooth-OPP: Add ogg format support

Add ogg format to acceptable share inbound types to send/receive
these file format using OPP.

CRs-Fixed: 623953
Change-Id: I0547a4aee11db294f1d58a61b0b2c68f62e3498c

Bluetooth-OPP: Clear incoming file notification while BT turned OFF

This change will ensure that incoming file notification will be cleared
from notification bar while BT is turned OFF. Otherwise, incoming file
notification will be displayed on notification bar even though BT is OFF.

CRs-Fixed: 610549
Change-Id: I11d6cc0360802862d836d082e2b16e139090dad0

Bluetooth-OPP: Cleanup pending share while BT turn OFF

This will ensure that pending OPP shares will be removed from database
while BT is turning OFF. Otherwise, BT turned back ON if there are some
pending share in database it will start sending automatically.

CRs-Fixed: 611970
Change-Id: Ibc2664840f11bfeaefb5984e8ac18a171d515129

Bluetooth-OPP: Avoid sending TRANSFER_COMPLETED_ACTION intent

This change ensure that TRANSFER_COMPLETED_ACTION intent will not
sent to receiver if there is any exception occurred during OPP
operation because this intent is already sent to receiver from message
handler. Otherwise, OPP toast message will come twice in UI.

So no need to sent it twice.

CRs-Fixed: 609287
Change-Id: I5fbd78d51102dad27145133cd867150f886cc997

Bluetooth: Fix the issue of certain files didn't send by bluetooth

DUT didn't send APK files or files whose format were not supported.
DUT didn't send several MP3 files by one time. These caused by the
bluetooth file transfer limit.

Add file type for bluetooth.

CRs-Fixed: 591288

Change-Id: Iaa7443dafa724a7c34597bd14bd160528a05fd06

Bluetooth: The hint display English when share a 0kb file in Chinese

Add the Chinese resource for "empty_file_notification_sent" string.

CRs-Fixed: 670792

Change-Id: I6e1db8b6a9abc672009a2d2d6d9bab11e7a5e822

Bluetooth:Invalid turning on BT under CMCC mode

In CMCC mode, share a picture through BT will turn on BT when airplane
mode is on. Return when airplane on and in CMCC mode when shareing
files through BT. Use res-overlay variable to control it.

CRs-Fixed: 655125

Change-Id: I4682d8eaf3c8faf990605f89b5f9b885df35e542

Bluetooth-OPP: Orientation change fix for tranfer history popup

Enable screen orientation support in Manifest file of Bluetooth app
for Bluetooth file tranfer history activity. Otherwise "Clear List"
popup will disappears soon after screen orientation changes.

CRs-Fixed: 584258
Change-Id: Ia6cfe1e6a48d37271fe6d558ea090fe39669410f

OPP: Use long as file size instead of int

This patch fixes issue of problems in sending/receiving files
which cannot be accomodated in int type of Java. Instead of using
int, long data type is used, which can hold 64 bits data size in JAVA
which is suitable for storing file sizes in GB. Changes are done
in how updates are sent to progress bar which supports only int
by using the percentage of data transferred to update the progress.

Change-Id: Ie545fd483c46dd7f41da56857e67decbe7f5a167
CRs-Fixed: 583275

OPP: Always try to get current name of device from stack

This patch tries to retrieve current name of device from BD stack
everytime, so as to avoid using cached device name which would lead
to wrong name when remote device name has been changed.

Change-Id: I0ae604b0cb7203dec79bdeeb6bd8d89793f29fa9
CRs-Fixed: 593828

Conflicts:
	src/com/android/bluetooth/opp/BluetoothOppNotification.java

Conflicts:
	res/values/strings.xml

Change-Id: I4682d8eaf3c8faf990605f89b5f9b885df35e542
parent dae0e70d
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment