OSDN Git Service

android-x86/packages-apps-Bluetooth.git
8 years agoMerge "Rename btif audio_focus_state -> set_audio_focus_state."
Treehugger Robot [Fri, 15 Apr 2016 19:57:21 +0000 (19:57 +0000)]
Merge "Rename btif audio_focus_state -> set_audio_focus_state."

8 years agoRename btif audio_focus_state -> set_audio_focus_state.
Sanket Agarwal [Fri, 15 Apr 2016 19:10:01 +0000 (12:10 -0700)]
Rename btif audio_focus_state -> set_audio_focus_state.

Bug: b/28065071
Change-Id: I0b84adfce2c72f03a81693e598c38e1469d7f022

8 years agoMerge "Add a missing null-pointer check in HeadsetService.stop()"
Pavlin Radoslavov [Fri, 15 Apr 2016 17:38:44 +0000 (17:38 +0000)]
Merge "Add a missing null-pointer check in HeadsetService.stop()"

8 years agoAdd a missing null-pointer check in HeadsetService.stop()
Pavlin Radoslavov [Fri, 15 Apr 2016 00:49:45 +0000 (17:49 -0700)]
Add a missing null-pointer check in HeadsetService.stop()

Bug: 27678483

Change-Id: I288b905d6b3f827a94365d512305cd29e186f3d4

8 years agoMerge "Fix PEERS_MAC_ADDRESS permission for Ble Scanning."
con [Thu, 14 Apr 2016 00:33:06 +0000 (00:33 +0000)]
Merge "Fix PEERS_MAC_ADDRESS permission for Ble Scanning."

8 years agoFix PEERS_MAC_ADDRESS permission for Ble Scanning.
Calvin On [Tue, 12 Apr 2016 22:43:59 +0000 (15:43 -0700)]
Fix PEERS_MAC_ADDRESS permission for Ble Scanning.

This changes the location permissions check to only throw a SecurityException
if *both* location and peers mac address permissions are missing.

Bug: 27837639
Change-Id: I5e10c8f0564d1f7edab23ad22dbd5aa5fdcbbf76

8 years agoMerge "Enable logging for AVRCP Metadata changes"
Marie Janssen [Wed, 6 Apr 2016 22:53:41 +0000 (22:53 +0000)]
Merge "Enable logging for AVRCP Metadata changes"

8 years agoEnable logging for AVRCP Metadata changes
Marie Janssen [Tue, 5 Apr 2016 17:49:19 +0000 (10:49 -0700)]
Enable logging for AVRCP Metadata changes

We're seeing a lot of AVRCP metadata issues, so enable some logging of
metadata in hopes of collecting more information.

Bug: 26837775
Bug: 27153373
Bug: 27178384
Bug: 27745277
Change-Id: Ie425ad2a5e090aa4363dab6b853479eeda35cef6

8 years agoMerge "Fix name collected for scan initiator"
Ajay Panicker [Tue, 5 Apr 2016 23:29:18 +0000 (23:29 +0000)]
Merge "Fix name collected for scan initiator"

8 years agoFix name collected for scan initiator
Ajay Panicker [Tue, 5 Apr 2016 00:31:19 +0000 (17:31 -0700)]
Fix name collected for scan initiator

Private information was being collected for the scan statistics.

Bug: 27996307
Change-Id: Idab438967f80f86f4f92e7f03cc5787f8d54e8a1

8 years agoMerge "Fix NPE when performing BLE scans."
Ajay Panicker [Fri, 1 Apr 2016 20:27:21 +0000 (20:27 +0000)]
Merge "Fix NPE when performing BLE scans."

8 years agoFix NPE when performing BLE scans.
Sharvil Nanavati [Sat, 26 Mar 2016 00:03:53 +0000 (17:03 -0700)]
Fix NPE when performing BLE scans.

Bug: 27811549
Change-Id: I017b34745682dd9db5487921df5c01dfde93d67c

8 years agoMerge "Add a missing null check inside A2dpService.resetAvrcpBlacklist()"
Pavlin Radoslavov [Wed, 30 Mar 2016 04:03:02 +0000 (04:03 +0000)]
Merge "Add a missing null check inside A2dpService.resetAvrcpBlacklist()"

8 years agoAdd a missing null check inside A2dpService.resetAvrcpBlacklist()
Pavlin Radoslavov [Tue, 29 Mar 2016 23:41:08 +0000 (16:41 -0700)]
Add a missing null check inside A2dpService.resetAvrcpBlacklist()

Add a missing null pointer check inside method
A2dpService.resetAvrcpBlacklist()

Also:
 - Removed BondStateMachine.setProfilePriority() because it is
   not used.
 - Fix a typo "priorty" -> "priority"
 - Fix a log message.

Bug: 27837879
Change-Id: Ieabf00d2ff1e49aa06598674f14e97eb9086d432

8 years agoMerge "Add GATT server scan stats and extra protection"
Ajay Panicker [Tue, 29 Mar 2016 18:27:31 +0000 (18:27 +0000)]
Merge "Add GATT server scan stats and extra protection"

8 years agoAdd GATT server scan stats and extra protection
Ajay Panicker [Wed, 23 Mar 2016 17:45:52 +0000 (10:45 -0700)]
Add GATT server scan stats and extra protection

Bug: 27811549
Change-Id: I9138193f8e0dec4e548c57b635bad3703961088f

8 years agoMerge "GATT JNI - get_gatt_db_cb leaking local refs"
Andre Eisenbach [Mon, 28 Mar 2016 04:35:42 +0000 (04:35 +0000)]
Merge "GATT JNI - get_gatt_db_cb leaking local refs"

8 years agoGATT JNI - get_gatt_db_cb leaking local refs
Jakub Pawlowski [Thu, 24 Mar 2016 23:39:02 +0000 (16:39 -0700)]
GATT JNI - get_gatt_db_cb leaking local refs

Bug: 27835277
Change-Id: I4bd0beb763507ea8a4a43a0f707408757f6ce8e0

8 years agoMerge "PBAPS: Don't filter out DateTime when requested"
Andre Eisenbach [Wed, 23 Mar 2016 18:56:15 +0000 (18:56 +0000)]
Merge "PBAPS: Don't filter out DateTime when requested"

8 years agoPBAPS: Don't filter out DateTime when requested
Smriti Gupta [Fri, 14 Aug 2015 11:18:48 +0000 (16:48 +0530)]
PBAPS: Don't filter out DateTime when requested

This only adds a special exception for DateTime,
the other "X-" fields are already filtered out since
for vcard 2.1, it is mandatory to provide DateTime
if requested by remote.

Change-Id: Ib25a9b085d5692548156068b9700e2b007c4bcee

8 years agoMerge "PBAPS: Fix duplicate entries fetched from database"
Andre Eisenbach [Wed, 23 Mar 2016 18:53:30 +0000 (18:53 +0000)]
Merge "PBAPS: Fix duplicate entries fetched from database"

8 years agoPBAPS: Fix duplicate entries fetched from database
Smriti Gupta [Mon, 30 Nov 2015 12:45:14 +0000 (18:15 +0530)]
PBAPS: Fix duplicate entries fetched from database

Precondition
================
Have multple contacts with either same number or name in DUT

Steps to reproduce:
===================
1. Perform BT pairing from DUT->RD<1>
2. Search for name from remote.

Expected Result:
================
Single entry with the name should be returned

Actual Result:
==============
Single name entry with different numbers are duplicating

Fix
========
This patch will remove the duplicate entries having same handle
and name fetched from the database sometimes. The check was
there in the stock code but that was not sufficient and was
comparing with the previous value only if these are duplicates
and not with the whole list. I have updated this check to
compare the fetched value if the exact duplicate value
(same ID and NAME) is present in the final list of contacts
which is to be returned.

Change-Id: If32526076baed813d39ce298c307196b63bc46fd

8 years agoMerge "PBAPS: Get vcard when asked in alphabetical order"
Andre Eisenbach [Wed, 23 Mar 2016 18:51:02 +0000 (18:51 +0000)]
Merge "PBAPS: Get vcard when asked in alphabetical order"

8 years agoPBAPS: Get vcard when asked in alphabetical order
Hemant Gupta [Mon, 23 Nov 2015 11:08:05 +0000 (16:38 +0530)]
PBAPS: Get vcard when asked in alphabetical order

Precondition:
=============
- PSE should have atleast 40 contacts with all alphabetical permutations

Step by Step procedure:
=======================
1. Establish PBAP session. Navigate to "Browse" Tab
2. Select telecom/pb.vcf on remote device and select "SETPHONEBOOK"
3. Select "Get Size" from remote device
4. Select default sorting, maxlistcount = 5000 and click "Search" to
   browse phonebook
5. Select "Alphabetical" sorting, maxlistcount = 5000 and click "Search"
   to browse phonebook

Actual Result
============================
After alphabetical sorting the contacts are displayed according to index
but not with sorted request

Expected result:
=========================
When contacts are sorted according to alphabets the contact info should
also be displayed according to contacts.

Root Cause:
========================
While quering vcard entry from database, proper checks of the order (indexed/alphabetical)
was not there in M Stock code compared to L Stock code.

Change-Id: Ie7990992b4dd22add3526aa0050121e680567bb8

8 years agoMerge "PBAPS: Enable contact search with full or part of given string"
Andre Eisenbach [Wed, 23 Mar 2016 18:48:54 +0000 (18:48 +0000)]
Merge "PBAPS: Enable contact search with full or part of given string"

8 years agoPBAPS: Enable contact search with full or part of given string
Hemant Gupta [Mon, 7 Mar 2016 08:12:52 +0000 (13:42 +0530)]
PBAPS: Enable contact search with full or part of given string

Enables searching of text in contact name starting with a given
matching string instead of matching the complete string.

Change-Id: I91258391b7b7cb014d55e17e1ed3b92267a2c7da

8 years agoMerge "SAP: Fix ANR(s) in SAP server code"
Andre Eisenbach [Wed, 23 Mar 2016 18:46:59 +0000 (18:46 +0000)]
Merge "SAP: Fix ANR(s) in SAP server code"

8 years agoSAP: Fix ANR(s) in SAP server code
Hemant Gupta [Mon, 7 Mar 2016 07:16:04 +0000 (12:46 +0530)]
SAP: Fix ANR(s) in SAP server code

Fix ANR in SAP Server code in following scenarios:

  - Multiple call to stop in Sapservice leads to ANR, as check was not
    present in stop to prevent unregistering BroadcastReceiver if not
    already registred.
  - Remove redundant call to closeServerSocket from initSocket as this could
    lead to ANR when there is simultaneous call to closeService as part of BT
    being switched off and call to start SAP as part of BT being turned on when
    BT on off sequence is tried repeatedly.

Change-Id: Ia6bc5ca7c9da9ae4a4c12e8207fb9ff6b9159e82

8 years agoMerge "SAP: Remove sdp record while BT is being turned off to prevent leak"
Andre Eisenbach [Wed, 23 Mar 2016 18:44:04 +0000 (18:44 +0000)]
Merge "SAP: Remove sdp record while BT is being turned off to prevent leak"

8 years agoSAP: Remove sdp record while BT is being turned off to prevent leak
Hemant Gupta [Mon, 7 Mar 2016 07:11:14 +0000 (12:41 +0530)]
SAP: Remove sdp record while BT is being turned off to prevent leak

Remove sdp record created dynamically for SAP server during BT off state.
Without this call, there is leak in sdp layer in stack as sdp record is
never removed, even though the socket is closed.
Also proper checks are added to prevent call to remove sdp record when
adapter is null.

Change-Id: I739cc3115f6cd7fedf9085e8522c96da257e9568

8 years agoMerge "SAP: Fix issue of socket listener not getting re-started"
Andre Eisenbach [Wed, 23 Mar 2016 18:43:12 +0000 (18:43 +0000)]
Merge "SAP: Fix issue of socket listener not getting re-started"

8 years agoSAP: Fix issue of socket listener not getting re-started
Hemant Gupta [Mon, 7 Mar 2016 05:49:44 +0000 (11:19 +0530)]
SAP: Fix issue of socket listener not getting re-started

Add logic to properly handle ACL_DISCONNECTED to restart socketListener
to handle scenarios where socket listener was not getting started due to
abnormal ACL disconnect.

Change-Id: Iac5ec52f485e692b14bb0065e30a68cae007a49d

8 years agoMerge "SAP: Update UI connection and notifications properly"
Andre Eisenbach [Wed, 23 Mar 2016 18:42:17 +0000 (18:42 +0000)]
Merge "SAP: Update UI connection and notifications properly"

8 years agoSAP: Update UI connection and notifications properly
Hemant Gupta [Mon, 7 Mar 2016 05:39:41 +0000 (11:09 +0530)]
SAP: Update UI connection and notifications properly

Update connection state to upper layers only when SAP SLC is connected
i.e. status indication is sent to SAP Client.
Also notification to disconnect SAP Server from UI is shown only when SAP
is successfully connected, and not when SapServer object is created.

Change-Id: Iaf40584220b51f6193bed9a54d159cffd32698e9

8 years agoMerge "SAP: Handle disconnect request during call ongoing state"
Andre Eisenbach [Wed, 23 Mar 2016 18:40:36 +0000 (18:40 +0000)]
Merge "SAP: Handle disconnect request during call ongoing state"

8 years agoSAP: Handle disconnect request during call ongoing state
Hemant Gupta [Mon, 7 Mar 2016 05:14:52 +0000 (10:44 +0530)]
SAP: Handle disconnect request during call ongoing state

Handle disconnect request during call ongoing state properly.
Previously if disconnect was received from SAP client while in
call ongoing state, it was not handled properly, leading to
Server not sending the DISCONNECT response thereby violating
Bluetooth SAP Specification.

Change-Id: I666fab4b4513abfa00df4be5b3a7aab95d5f0331

8 years agoMerge "OPP: Update share status when interrupted at remote side."
Andre Eisenbach [Wed, 23 Mar 2016 18:33:37 +0000 (18:33 +0000)]
Merge "OPP: Update share status when interrupted at remote side."

8 years agoOPP: Update share status when interrupted at remote side.
Hemant Gupta [Fri, 11 Sep 2015 11:34:52 +0000 (17:04 +0530)]
OPP: Update share status when interrupted at remote side.

Use case:
1) Select a file on DUT and send to Remote device through OPP
2) Accept the incoming file on Remote
3) While file transfer is in progress, stop the file transfer on Remote.
4) Again send the same file or different file to the same Remote Device.

Result:
OPP file transfer does not start.

Fix:
Update interrupted outbound content resolver entry when
Transfer is stopped at remote side. Otherwise DUT fails
To push OPP file after earlier OPP file is stopped on
Remote Device.

Change-Id: I9944bdd47ff9e31d0f9f8a157592e407e000e96c

8 years agoMerge "OPP: Use long instead of int"
Andre Eisenbach [Wed, 23 Mar 2016 18:32:21 +0000 (18:32 +0000)]
Merge "OPP: Use long instead of int"

8 years agoOPP: Use long instead of int
Hemant Gupta [Thu, 10 Mar 2016 15:09:46 +0000 (20:39 +0530)]
OPP: Use long instead of int

Use long instead of int data type in OPP Java code to prevent
overflow of timestamp and filesize during transfer of large files
which caused transfer failures.

Change-Id: I58c9b49f59d47f6f162156eb6594e66731732580

8 years agoMerge "MAP: Fix ANR for blocking operations on UI thread"
Andre Eisenbach [Wed, 23 Mar 2016 18:29:42 +0000 (18:29 +0000)]
Merge "MAP: Fix ANR for blocking operations on UI thread"

8 years agoMAP: Fix ANR for blocking operations on UI thread
Hemant Gupta [Fri, 11 Mar 2016 07:48:22 +0000 (13:18 +0530)]
MAP: Fix ANR for blocking operations on UI thread

UseCase:
    Stability Testing steps followed:
    1. Pair and connect with remote phone.
    2. Verify successful profile connection.
    3. Pair & Connect LE device.
    4. Disconnect & Unpair LE device.
    5. Reset BT multiple times.
    6. Repeat above steps 50 times

Failure:
    ANR(s) reported for long running operations perfromed on main thread.

Fix:
    -  Attach MAPService session handler to looper from a
       worker thread to avoid long running tasks handling
       for messages posted from UI thread.

    -  Move AppObserver Account onChange() handling
       to worker thread instead of UI thread.

    -  Avoid running contentobserver for SMS/MMS instance on
       main thread looper to  fix ANR reported while handling
       content changes for SMS and MMS listing. Add NPE checks
       hit during stability testing.

Change-Id: Ie146cd284fd191f7c7be7f0c1e7ed4877b36ae76

8 years agoMerge "MAP: Track ProfileState, register and unregister of BroadcastReceivers"
Andre Eisenbach [Wed, 23 Mar 2016 18:25:44 +0000 (18:25 +0000)]
Merge "MAP: Track ProfileState, register and unregister of BroadcastReceivers"

8 years agoMAP: Track ProfileState, register and unregister of BroadcastReceivers
Hemant Gupta [Fri, 11 Mar 2016 07:04:25 +0000 (12:34 +0530)]
MAP: Track ProfileState, register and unregister of BroadcastReceivers

Use Case:
1. Pair and connect with remote phone.
2. Verify successful profile connection.
3. Pair & Connect LE device.
4. Disconnect & Unpair LE device.
5. Reset BT multiple times.
6. Repeat above steps 50 times

Failure:
BT Crashed, failed to start MAP services after BT reset.

RootCause:
BT Crash for not handling following exceptions:

 - java.lang.IllegalArgumentException: Receiver not registered
   at: android.app.IntentReceiverLeaked: Service
   com.android.bluetooth.map.BluetoothMapService
   has leaked IntentReceiver com.android.bluetooth.map.BluetoothMapAppObserver:
   Are you missing a call to unregisterReceiver()?

Fix:
 - This issue is hit when onStop() for MAPService is triggered without onStart()
   being triggered by the time shutdown process gets invoked.
 - Track registration and unregistration for BluetoothMapAppObserver BroadcastReceiver
   to fix IntentReceiver leaks and also added validation for the AppObserver Data.

Change-Id: Ia1c2160fef369bbff42e8da3ea7d925c483e0a12

8 years agoMerge "MAP: CleanUp for SDP record in MAP Service shutdown"
Andre Eisenbach [Wed, 23 Mar 2016 18:20:13 +0000 (18:20 +0000)]
Merge "MAP: CleanUp for SDP record in MAP Service shutdown"

8 years agoMAP: CleanUp for SDP record in MAP Service shutdown
Hemant Gupta [Fri, 11 Mar 2016 06:35:24 +0000 (12:05 +0530)]
MAP: CleanUp for SDP record in MAP Service shutdown

Remove SDP record per MAS Instance during MAP Service
shutdown procedure.
Add more relevant debug logging.

Change-Id: I222ad97d719b9a2c45db3ab8526dd3de9c553f3d

8 years agoMerge "MAP: GETMessagesLisitng include mandatory field always."
Andre Eisenbach [Wed, 23 Mar 2016 18:16:43 +0000 (18:16 +0000)]
Merge "MAP: GETMessagesLisitng include mandatory field always."

8 years agoMAP: GETMessagesLisitng include mandatory field always.
Hemant Gupta [Fri, 11 Mar 2016 05:41:33 +0000 (11:11 +0530)]
MAP: GETMessagesLisitng include mandatory field always.

Pre condition:
Atleast one SMS is present in any of the folders
with no subject.

UseCase:
1. Connect MAP connection from MCE to DUT
2. Set folder to Telecom/msg/inbox
3. Execute MessageListing with the required data

Failure:
Mandatory field "subject" is not included for few entries
in messagesListing.

Fix:
For GETMessagesLisitng  ensure blank subject string is
set to include this mandatory feild and handle possible
"null" value fetched from database.

Change-Id: Ie29a61c83b22db9008184090a2f5b17d1f34b72b

8 years agoMerge "MAP: Cleanup PendingIntent in cancelUserTimeoutAlarm."
Andre Eisenbach [Wed, 23 Mar 2016 18:13:01 +0000 (18:13 +0000)]
Merge "MAP: Cleanup PendingIntent in cancelUserTimeoutAlarm."

8 years agoMAP: Cleanup PendingIntent in cancelUserTimeoutAlarm.
Ashwini Munigala [Thu, 7 Jan 2016 12:30:58 +0000 (18:00 +0530)]
MAP: Cleanup PendingIntent in cancelUserTimeoutAlarm.

Handle cleanup for timeout Intent and pending Intent
in cancelUserTimeoutAlarm API.

Change-Id: I4f4184785675b2deffa3be8c9dd70b2673020b51

8 years agoMerge "MAP: Handle possible NPE while disconnect map."
Andre Eisenbach [Wed, 23 Mar 2016 18:06:28 +0000 (18:06 +0000)]
Merge "MAP: Handle possible NPE while disconnect map."

8 years agoMAP: Handle possible NPE while disconnect map.
Ashwini Munigala [Tue, 27 Oct 2015 10:54:23 +0000 (16:24 +0530)]
MAP: Handle possible NPE while disconnect map.

Precondition:
Verified with IOT: MecApp in MCE role

UseCase:
1. Connect MAS
2. Register Mas Instance via MNS
3. Disconnect MAS

Failure:
Bluetooth App crash sometimes when disconnect map profile.

Root Cause:
The issue is hit when MAS disconnect is finished before MNS unregister.
In this case NullpointerException is happening because of clearing
BluetoothMapContentObserver already as a part of cleanup.

Fix:
Handle Null pointer exception while last
MAS instance disconnect is handled before MNS
unregistration.

Change-Id: I4e72038a5ddc6c3ac8c515def57cb4f98fe87675

8 years agoMerge "MAP: Add MNS SDP Search during setNotificationRegistration."
Andre Eisenbach [Wed, 23 Mar 2016 18:04:17 +0000 (18:04 +0000)]
Merge "MAP: Add MNS SDP Search during setNotificationRegistration."

8 years agoMAP: Add MNS SDP Search during setNotificationRegistration.
Ashwini Munigala [Thu, 10 Sep 2015 13:02:05 +0000 (18:32 +0530)]
MAP: Add MNS SDP Search during setNotificationRegistration.

Precondition:
Verified with remote MCE device that starts MNS server
only before issuing setNotification Registration to MSE.

Use Case:
1. Discover and Pair with MSE from MCE.
2. Connect to MSE on Mas insance 0.
3. Enable Notification Registration for MAS Instance 0

Failure:
MNS connection happens over RFCOMM
and MAS Instance is connected over L2CAP.

Root Cause:
Current design performs MNS SDP search only at the time
of successful MAS Instance Connect. MNS connect implementation
tries connection over insecure RFCOMM channel based on UUID
when MNS Server record is not available.

Fix:
Add implementation to check and perform MNS SDP search
if this info is not available when MCE requests
setNotificationRegistration. This fix is required to
handle MCE implementation that start MNS Sever and
expose SDP only before sending setNotificationRegistration.

Change-Id: If1e8d33dcac078f04d13b8bacf8e1d1513c119e1

8 years agoMerge "MAP: Declare and fetch only 'INTERESTED_MESSAGE_TYPE_CLAUSE' MMS."
Andre Eisenbach [Wed, 23 Mar 2016 18:02:28 +0000 (18:02 +0000)]
Merge "MAP: Declare and fetch only 'INTERESTED_MESSAGE_TYPE_CLAUSE' MMS."

8 years agoMAP: Declare and fetch only 'INTERESTED_MESSAGE_TYPE_CLAUSE' MMS.
Hemant Gupta [Tue, 22 Dec 2015 13:27:58 +0000 (18:57 +0530)]
MAP: Declare and fetch only 'INTERESTED_MESSAGE_TYPE_CLAUSE' MMS.

Precondition:

Messaging App Settings configured to receive delivery reports for MMS.

Use Case:
Follow standard steps to perform messagesListing type MMS from MCE.
1. Connect to MSE on Mas instance 0.
2. Set Path to root.
3. Set Path to telecom.
4. Set Path to msg.
5. Set Path to inbox.
6. GET messagesListing type MMS.

Failure:
Extra entries like delivery reports that are stored in DB and
which are not user interested types are also included
in MSE messageListing for MMS type.

Fix:
OMA-TS-MMS-ENC MMS Standard defines many types in X-Mms-Message-Type.
Extra entries like delivery reports which is stored in DB are not
required to be shown to user, so these should be filtered, and
only  m-send-req (128), m-retrieve-conf (132), m-notification-ind (130)
types should be fetched and shown to user in messageListing response.
This patch removes these unecessary message types from MMS Messaging Listing.

Change-Id: I1cb5d6e58477a32a89693f555a268e0855267b9a

8 years agoMerge "MAP: Synchronize notifcationReg reply and MNS connect action."
Andre Eisenbach [Wed, 23 Mar 2016 17:59:17 +0000 (17:59 +0000)]
Merge "MAP: Synchronize notifcationReg reply and MNS connect action."

8 years agoMAP: Synchronize notifcationReg reply and MNS connect action.
Hemant Gupta [Mon, 21 Sep 2015 15:29:07 +0000 (20:59 +0530)]
MAP: Synchronize notifcationReg reply and MNS connect action.

Use Case:
1. Connect to carkit
2. Disconnect connection with carkit.
3. Reconnect to carkit

Failure:
MNS Failure during Reconnection.
User will in some timing conditions not get notification
of new messages and then turns OFF/ON the carkit.
MAS is connected fine but for MNS car sends BAD REQUEST.

Root Cause:
This isssue is reported only with one particular carkit in MCE role,
where in MNS Connect request issued before acknowleding
the setNotificationReg Request.

Fix:
Synchronize handleRegistration method in handler thread to ensure
setNotificationReg response from MSE is sent before requesting
a MNS Connect to MCE.

Change-Id: I30559c643af7733754fce551b97e31543a0cb160

8 years agoMerge "MAP: Synchronize mMsgList to avoid extra MessageDeleted MNS event"
Andre Eisenbach [Wed, 23 Mar 2016 17:57:23 +0000 (17:57 +0000)]
Merge "MAP: Synchronize mMsgList to avoid extra MessageDeleted MNS event"

8 years agoMAP: Synchronize mMsgList to avoid extra MessageDeleted MNS event
Hemant Gupta [Fri, 21 Aug 2015 10:08:44 +0000 (15:38 +0530)]
MAP: Synchronize mMsgList to avoid extra MessageDeleted MNS event

Precondition:
There are no messages in Messaging App.

Use Case:
1. Connect to MSE on Mas insance 0,
   Register and Enable Event Notifications from any MCE.
2. Set Path to root.
3. Set Path to telecom.
4. Set Path to msg.
5. Set Path to outbox.
6. Compose an SMS and add the recipient.
7. Click PushMessage option.

Failure:
Map Server sends a unexpected MessageDeleted EventReport Notification
even though PushMessage received from MCE is processed Successfully.

Root Cause:
Issue happens only for one corner case, where onChange() gets triggered
while processing a local initiated pushMsg before the entry is appended
to database, as local MsgListSms contains an extra entry for newly added
msg from MCE.

Fix:
Synchronize contentObserver mMsgList SMS/MMS to update list with
local initiated changes before fetching complete database list and
handling onChange() to avoid extra MessageDeleted MNS event.

Change-Id: Id4d5dad4d2b4b1e17f40218c11d13e39c9b885a0

8 years agoMerge "Send error for if VR is initiated during call."
Andre Eisenbach [Wed, 23 Mar 2016 17:23:41 +0000 (17:23 +0000)]
Merge "Send error for if VR is initiated during call."

8 years agoSend error for if VR is initiated during call.
Satish Kodishala [Fri, 29 Jan 2016 06:39:32 +0000 (12:09 +0530)]
Send error for if VR is initiated during call.

Use case:
Connect to BT headset.
Make a call. Let the call audio be on BT headset.
Initiate voice recognition(VR) from BT headset.

Failure:
AG is not sending error for VR when initiated during call.
Headset might go into bad state if AG don't send error.

Rootcause:
AG is not sending error for VR when initiated during call.

Fix:
When VR is activated during call, send error response to headset.

Change-Id: Ib12d464fc6a6948ddf22250a65a9e5bfeb4a8fb1

8 years agoMerge "Fix register for notification logic"
Andre Eisenbach [Tue, 22 Mar 2016 22:40:33 +0000 (22:40 +0000)]
Merge "Fix register for notification logic"

8 years agoFix register for notification logic
Jakub Pawlowski [Tue, 22 Mar 2016 22:32:55 +0000 (15:32 -0700)]
Fix register for notification logic

Bug: 27790582
Change-Id: I118071b907ec16faad401ba6583ca395d08d6d6e

8 years agoMerge "Use handles to identify GATT attributes (3/4)"
Andre Eisenbach [Tue, 22 Mar 2016 02:35:57 +0000 (02:35 +0000)]
Merge "Use handles to identify GATT attributes (3/4)"

8 years agoUse handles to identify GATT attributes (3/4)
Jakub Pawlowski [Thu, 17 Mar 2016 22:58:19 +0000 (15:58 -0700)]
Use handles to identify GATT attributes (3/4)

Bug: 27778668
Change-Id: Id6ec1229998c9fc2ecd4d0a908405a7148703bec

8 years agoMerge changes I38c8ec64,Iac544226
Andre Eisenbach [Tue, 22 Mar 2016 01:04:45 +0000 (01:04 +0000)]
Merge changes I38c8ec64,Iac544226

* changes:
  Make sure wakelock is held before releaseing it
  Do not delete/re-create wakelock on acquisition/release

8 years agoMake sure wakelock is held before releaseing it
Andre Eisenbach [Mon, 21 Mar 2016 17:15:30 +0000 (10:15 -0700)]
Make sure wakelock is held before releaseing it

Bug: 27748109
Change-Id: I38c8ec640f5def7c53348d2dd96a0a2492ff00cc

8 years agoDo not delete/re-create wakelock on acquisition/release
Andre Eisenbach [Thu, 17 Mar 2016 23:49:59 +0000 (16:49 -0700)]
Do not delete/re-create wakelock on acquisition/release

Also provide additional status for wakelock acquisition/release errors.

Bug: 27721443
Change-Id: Iac544226fed4a73a50bd954e74d96edd4bed93d2

8 years agoMerge "Add scan results to scan stats"
Ajay Panicker [Mon, 21 Mar 2016 16:21:28 +0000 (16:21 +0000)]
Merge "Add scan results to scan stats"

8 years agoAdd scan results to scan stats
Ajay Panicker [Wed, 9 Mar 2016 03:54:18 +0000 (19:54 -0800)]
Add scan results to scan stats

Ex:
GATT Client Map
  Entries: 1

  no.nordicsemi.android.mcp
  LE scans (started/stopped)         : 3 / 3
  Scan time in ms (min/max/avg/total): 3050 / 6901 / 4815 / 14447
  Total number of results            : 338
  Last 3 scans                       :
    1970/01/01 08:20:06 - 6901ms 0 results
    1970/01/01 08:20:13 - 4496ms 171 results
    1970/01/01 08:20:39 - 3050ms 167 results

Bug: 27294154
Change-Id: I32fd6da035f2c37302a105733ac6a9817547b7a3

8 years agoMerge "Change how services are passed up to the stack"
Andre Eisenbach [Fri, 18 Mar 2016 22:11:51 +0000 (22:11 +0000)]
Merge "Change how services are passed up to the stack"

8 years agoChange how services are passed up to the stack
Jakub Pawlowski [Wed, 2 Mar 2016 00:09:14 +0000 (16:09 -0800)]
Change how services are passed up to the stack

Bug: 27455533
Change-Id: I4c8218fb4c7437ab4597071ad9b580a797e34339

8 years agoMerge "Print bluetooth state as a string"
Ajay Panicker [Mon, 14 Mar 2016 20:47:49 +0000 (20:47 +0000)]
Merge "Print bluetooth state as a string"

8 years agoPrint bluetooth state as a string
Ajay Panicker [Mon, 14 Mar 2016 19:56:20 +0000 (12:56 -0700)]
Print bluetooth state as a string

Bug: 27294154
Change-Id: I992f720d94be1f0762424ebad36ec1b6af58600b

8 years agoMerge "Add enabled time to dump output"
Ajay Panicker [Wed, 9 Mar 2016 18:41:33 +0000 (18:41 +0000)]
Merge "Add enabled time to dump output"

8 years agoAdd enabled time to dump output
Ajay Panicker [Wed, 9 Mar 2016 01:38:25 +0000 (17:38 -0800)]
Add enabled time to dump output

Ex:
Bluetooth Status
  enabled: true
  state: 12
  address: F8:CF:C5:CE:F5:69
  name: AOSP on Shamu
  time since enabled: 00:00:32.999

Bug: 27294154
Change-Id: Ie65964411e2095434a082f3d988133190c1f2f59

8 years agoMerge "Move ScanStats to its own file"
Ajay Panicker [Wed, 9 Mar 2016 00:36:15 +0000 (00:36 +0000)]
Merge "Move ScanStats to its own file"

8 years agoMove ScanStats to its own file
Ajay Panicker [Wed, 2 Mar 2016 03:59:51 +0000 (19:59 -0800)]
Move ScanStats to its own file

ScanStats was growing too large and had many components so
it was moved into its own file.

Bug: 27294154
Change-Id: Ic20c9e74d5d8b074f7e966625fb1bffab6c94f2d

8 years agoMerge "Prevent javacrash when TELEPHONY_SERVICE is not found"
Franck Lenormand [Mon, 7 Mar 2016 21:01:15 +0000 (21:01 +0000)]
Merge "Prevent javacrash when TELEPHONY_SERVICE is not found"
am: 8367ebbea6

* commit '8367ebbea6f2298736457345cefe28882ef2e60a':
  Prevent javacrash when TELEPHONY_SERVICE is not found

8 years agoMerge "Prevent javacrash when TELEPHONY_SERVICE is not found"
Andre Eisenbach [Mon, 7 Mar 2016 20:57:17 +0000 (20:57 +0000)]
Merge "Prevent javacrash when TELEPHONY_SERVICE is not found"

8 years agoPrevent javacrash when TELEPHONY_SERVICE is not found
Franck Lenormand [Wed, 8 Apr 2015 13:21:36 +0000 (15:21 +0200)]
Prevent javacrash when TELEPHONY_SERVICE is not found

The API context.getSystemService can return NULL
A Javacrash can happend when trying to obtain the TELEPHONY_SERVICE
and getting null instead.

The patch warn about the value of the instance of the service returned.
It also log and prevent its use in function startListenForPhoneState and
stopListenForPhoneState.

If the TELEPHONY_SERVICE is not available, the internal variables wont
change.

Change-Id: I9e4abc88a58f7f037bbc4f3f7c1cf1b44328ce38
Signed-off-by: franck Lenormand <franckx.lenormand@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
8 years agoMerge "MAP: Support messageListing PARAMETER_MASK_ALL_ENABLED by default."
Hemant Gupta [Fri, 4 Mar 2016 17:18:19 +0000 (17:18 +0000)]
Merge "MAP: Support messageListing PARAMETER_MASK_ALL_ENABLED by default."
am: 6dfb1505ad

* commit '6dfb1505ade8b7543f1ffaaf28d80f4bcac45ab8':
  MAP: Support messageListing PARAMETER_MASK_ALL_ENABLED by default.

8 years agoMerge "MAP: Support messageListing PARAMETER_MASK_ALL_ENABLED by default."
Andre Eisenbach [Fri, 4 Mar 2016 17:11:06 +0000 (17:11 +0000)]
Merge "MAP: Support messageListing PARAMETER_MASK_ALL_ENABLED by default."

8 years agoMAP: Support messageListing PARAMETER_MASK_ALL_ENABLED by default.
Hemant Gupta [Tue, 22 Dec 2015 11:32:16 +0000 (17:02 +0530)]
MAP: Support messageListing PARAMETER_MASK_ALL_ENABLED by default.

Support application parameter mask to enable and send across
all optional and mandatory feilds in GET messagesListing response
instead of only mandatory feilds to handle IOT Specific behavior
that donot include parameter mask attribute in messageListing request.

Some carkits in MCE role show read messages as unread when
"read" feild (optional) is not included in messagesListing
response by default.

Change-Id: I1fc65d85c35573e21d0c9d5bfdefd58de2dcf3ae

8 years agoMerge "Bluetooth: Fix to avoid PAN JNI crash due to ENABLE_TIMEOUT"
Nitin Shivpure [Fri, 4 Mar 2016 16:48:22 +0000 (16:48 +0000)]
Merge "Bluetooth: Fix to avoid PAN JNI crash due to ENABLE_TIMEOUT"
am: 954f845ccc

* commit '954f845cccb897b47fc22753ffca3da3748ff8ed':
  Bluetooth: Fix to avoid PAN JNI crash due to ENABLE_TIMEOUT

8 years agoMerge "Bluetooth: Fix to avoid PAN JNI crash due to ENABLE_TIMEOUT"
Andre Eisenbach [Fri, 4 Mar 2016 16:42:48 +0000 (16:42 +0000)]
Merge "Bluetooth: Fix to avoid PAN JNI crash due to ENABLE_TIMEOUT"

8 years agoBluetooth: Fix to avoid PAN JNI crash due to ENABLE_TIMEOUT
Nitin Shivpure [Tue, 13 Oct 2015 09:49:08 +0000 (15:19 +0530)]
Bluetooth: Fix to avoid PAN JNI crash due to ENABLE_TIMEOUT

A case, where BT ON/OFF is running in the loop(stress). In one
of the iteration, BT ON gets failed due to ENABLE_TIMEOUT.
But BTIF for PAN had already been initialized. SSR cleanup is
triggered due to BT on failure. So PAN JNI callback obj gets deleted,
PAN control_state_callback is triggered just after PAN JNI cleanup.
BT gets crashed. Checking for NULL to avoid crash in any unknown
scenario.

Change-Id: Ie95470348f11be6c9eccc1e4ac3869d6789f3f6c

8 years agoMerge "Remove unused callbacks"
Jakub Pawlowski [Thu, 3 Mar 2016 23:51:31 +0000 (23:51 +0000)]
Merge "Remove unused callbacks"
am: 975faa165d

* commit '975faa165d52a87faa00b56d06fccd9b2a0da865':
  Remove unused callbacks

8 years agoMerge "Remove unused callbacks"
Andre Eisenbach [Thu, 3 Mar 2016 23:49:25 +0000 (23:49 +0000)]
Merge "Remove unused callbacks"

8 years agoRemove unused callbacks
Jakub Pawlowski [Thu, 3 Mar 2016 23:00:46 +0000 (15:00 -0800)]
Remove unused callbacks

Bug: 27455533
Change-Id: I743b8ba7187a397f088ac720f239e368dd84a7a2

8 years agoMerge "Stop accessing statemachine after cleanup"
AnubhavGupta [Thu, 3 Mar 2016 23:47:43 +0000 (23:47 +0000)]
Merge "Stop accessing statemachine after cleanup"
am: 0ef82f788d

* commit '0ef82f788d6362b21a06792d3189a7a57ff9be38':
  Stop accessing statemachine after cleanup

8 years agoMerge "Stop accessing statemachine after cleanup"
Ajay Panicker [Thu, 3 Mar 2016 23:44:31 +0000 (23:44 +0000)]
Merge "Stop accessing statemachine after cleanup"

8 years agoStop accessing statemachine after cleanup
AnubhavGupta [Tue, 15 Sep 2015 09:13:10 +0000 (14:43 +0530)]
Stop accessing statemachine after cleanup

Usecase:
-pair and connect DUT with Remote
-Start A2DP streaming
-Initiate disconnection from DUT

Failure:
Bluetoth crashed after initiating disconnect from DUT

Rootcause:
Accessing state machine context after cleanup.

Fix:
Bluetooth: Added null check to stop accessing state machine after cleanup

Change-Id: I85ca55aaa0b7604125e45a62e32ae02eca605e43

8 years agoMerge "Get whole GATT db, instead of one by one element."
Jakub Pawlowski [Thu, 3 Mar 2016 23:01:39 +0000 (23:01 +0000)]
Merge "Get whole GATT db, instead of one by one element."
am: 34ab8dd613

* commit '34ab8dd6136e674715d2732d0b610cb36008a720':
  Get whole GATT db, instead of one by one element.

8 years agoMerge "Get whole GATT db, instead of one by one element."
Andre Eisenbach [Thu, 3 Mar 2016 22:52:44 +0000 (22:52 +0000)]
Merge "Get whole GATT db, instead of one by one element."

8 years agoGet whole GATT db, instead of one by one element.
Jakub Pawlowski [Fri, 26 Feb 2016 20:01:36 +0000 (12:01 -0800)]
Get whole GATT db, instead of one by one element.

This patch uses new get_gatt_db method instead of current set of
callback to obtain GATT db.t

Bug: 27455533
Change-Id: I52e12253dd850ce8de35297c941638189cbbed1e

8 years agoMerge "Proper handling of BTRH command in HFP client"
Satish Kodishala [Thu, 3 Mar 2016 18:38:26 +0000 (18:38 +0000)]
Merge "Proper handling of BTRH command in HFP client"
am: e8915edfdc

* commit 'e8915edfdc2d0c28d1dec94ae848566f6f7de471':
  Proper handling of BTRH command in HFP client

8 years agoMerge "Proper handling of BTRH command in HFP client"
Ajay Panicker [Thu, 3 Mar 2016 18:28:38 +0000 (18:28 +0000)]
Merge "Proper handling of BTRH command in HFP client"

8 years agoProper handling of BTRH command in HFP client
Satish Kodishala [Thu, 11 Feb 2016 07:50:50 +0000 (13:20 +0530)]
Proper handling of BTRH command in HFP client

Usecase:
1. Enable hf client role and connect to AG.
2. Run PTS test case RHH/BV-04.

Failure:
PTS test case fails since the test expects the call to be active.

Rootcause:
Hf client is not sending AT+BTRH for accepting held call

Fix:
Remove unnecessary check against of action policy flag while
executing BTRH command

Change-Id: Iebd5e02f3bf70cc39288219340cd47ebad3d8349