OSDN Git Service

android-x86/packages-apps-Bluetooth.git
8 years agoSynchronize access to ServiceDeclaration fields.
Calvin On [Wed, 20 Apr 2016 02:17:50 +0000 (19:17 -0700)]
Synchronize access to ServiceDeclaration fields.

ServiceDeclaration objects are accessed by both the binder thread
(addService, addCharacteristic, etc) and the GattService callback thread
(onServiceAdded, etc) and so must be made thread-safe.

Bug: 28201656
Change-Id: Ic2e4b5c21dafceb62f33738b781f908f502f60b3

8 years agoAVRCP: Use MediaController
Marie Janssen [Tue, 19 Apr 2016 14:12:42 +0000 (07:12 -0700)]
AVRCP: Use MediaController

RemoteController has been depreciated since M.
MediaController lets us track a lot more things and update data as the
state of audio changes.

This also should fix some bugs related to metadata display not happening
on startup / track change / app change.

Bug: 27178384
Bug: 27745277
Bug: 26837775
Bug: 27534794
Bug: 27153373
Change-Id: I246d9641a5e921ed4434495f5c2dfac67d568952

8 years ago"DO NOT MERGE" Add write SMS protection
Seven Shen [Wed, 6 Apr 2016 19:25:17 +0000 (12:25 -0700)]
"DO NOT MERGE" Add write SMS protection

Bug: 25138326
Change-Id: I9f418370b8725d49e3734406b6f435107bcff021

8 years agoAdd guest mode functionality (1/5)
Ajay Panicker [Fri, 18 Mar 2016 00:12:08 +0000 (17:12 -0700)]
Add guest mode functionality (1/5)

Add a flag to enable() to start Bluetooth in restricted
mode. In restricted mode, all devices that are paired during
restricted mode are deleted upon leaving restricted mode.
Right now restricted mode is only entered while a guest
user is active.

Bug: 27410683
Change-Id: If4a8855faf362d7f6de509d7ddc7197d1ac75cee

8 years ago"DO NOT MERGE" Add write SMS protection am: fd7a794 -s ours am: daa8d67 am: 5eee2cd...
Ajay Panicker [Tue, 19 Apr 2016 20:48:43 +0000 (20:48 +0000)]
"DO NOT MERGE" Add write SMS protection am: fd7a794  -s ours am: daa8d67 am: 5eee2cd am: 48115bb  -s ours am: e2dca1a am: 63bcffd am: c522820
am: 8a05cda  -s ours

* commit '8a05cdab974dc2c3eef692a721dcf8c2c892c92d':
  "DO NOT MERGE" Add write SMS protection

Change-Id: Ida61f3ba3d91a67185cb06411251dea62d8eedc4

8 years ago"DO NOT MERGE" Add write SMS protection am: fd7a794 -s ours am: daa8d67 am: 5eee2cd...
Ajay Panicker [Tue, 19 Apr 2016 20:45:25 +0000 (20:45 +0000)]
"DO NOT MERGE" Add write SMS protection am: fd7a794  -s ours am: daa8d67 am: 5eee2cd am: 48115bb  -s ours am: e2dca1a am: 63bcffd
am: c522820

* commit 'c5228202951c7bc4e52efa5fc37aded7a3447347':
  "DO NOT MERGE" Add write SMS protection

Change-Id: I040910aa52e542acad0fffda4ae4ff5dad101008

8 years ago"DO NOT MERGE" Add write SMS protection am: fd7a794 -s ours am: daa8d67 am: 5eee2cd...
Ajay Panicker [Tue, 19 Apr 2016 20:41:25 +0000 (20:41 +0000)]
"DO NOT MERGE" Add write SMS protection am: fd7a794  -s ours am: daa8d67 am: 5eee2cd am: 48115bb  -s ours am: e2dca1a
am: 63bcffd

* commit '63bcffd3da5054da678f927e75c60d71cc45df47':
  "DO NOT MERGE" Add write SMS protection

Change-Id: Ia5e0c102295f430fc4ec1d4230b70016d8e4c33e

8 years ago"DO NOT MERGE" Add write SMS protection am: 64745b1 am: 9accc36 am: 6c32c81
Seven Shen [Tue, 19 Apr 2016 20:41:24 +0000 (20:41 +0000)]
"DO NOT MERGE" Add write SMS protection am: 64745b1 am: 9accc36 am: 6c32c81
am: b90c267  -s ours

* commit 'b90c26765772a8cf5cf20c86a89dc24490cb1ccd':
  "DO NOT MERGE" Add write SMS protection

Change-Id: I7c3b38bd4ca8c28f20fc89ac936da6e2f0d80480

8 years ago"DO NOT MERGE" Add write SMS protection am: fd7a794 -s ours am: daa8d67 am: 5eee2cd...
Ajay Panicker [Tue, 19 Apr 2016 20:38:06 +0000 (20:38 +0000)]
"DO NOT MERGE" Add write SMS protection am: fd7a794  -s ours am: daa8d67 am: 5eee2cd am: 48115bb  -s ours
am: e2dca1a

* commit 'e2dca1a7cf3fa6b4d1d8c5769f5d0e052726c699':
  "DO NOT MERGE" Add write SMS protection

Change-Id: I79c8f9bc90ba6ad16b854d68c74b075188a6caa0

8 years ago"DO NOT MERGE" Add write SMS protection am: 64745b1 am: 9accc36
Seven Shen [Tue, 19 Apr 2016 20:33:41 +0000 (20:33 +0000)]
"DO NOT MERGE" Add write SMS protection am: 64745b1 am: 9accc36
am: 6c32c81

* commit '6c32c815bfbe1058791c6dbee0a98c6b30792963':
  "DO NOT MERGE" Add write SMS protection

Change-Id: I4cca8e8ac4b4659ce7dc28264ccd39a53d68098c

8 years ago"DO NOT MERGE" Add write SMS protection am: fd7a794 -s ours am: daa8d67 am: 5eee2cd
Ajay Panicker [Tue, 19 Apr 2016 20:33:14 +0000 (20:33 +0000)]
"DO NOT MERGE" Add write SMS protection am: fd7a794  -s ours am: daa8d67 am: 5eee2cd
am: 48115bb  -s ours

* commit '48115bb85ee7c7692b9c70afaa8b0d6a32c24a95':
  "DO NOT MERGE" Add write SMS protection

Change-Id: I39546ac3a880b12ddeb33c383184967e90209349

8 years ago"DO NOT MERGE" Add write SMS protection am: 64745b1
Seven Shen [Tue, 19 Apr 2016 20:30:39 +0000 (20:30 +0000)]
"DO NOT MERGE" Add write SMS protection am: 64745b1
am: 9accc36

* commit '9accc36b1a6a9779d31ea6edcc861a69167d37e5':
  "DO NOT MERGE" Add write SMS protection

Change-Id: Id5bc27d73ed66c9f12ecf94ec2ef1dc727a6b5c4

8 years ago"DO NOT MERGE" Add write SMS protection am: fd7a794 -s ours am: daa8d67
Ajay Panicker [Tue, 19 Apr 2016 20:30:02 +0000 (20:30 +0000)]
"DO NOT MERGE" Add write SMS protection am: fd7a794  -s ours am: daa8d67
am: 5eee2cd

* commit '5eee2cd8453f5990d1202d010df01eca724e1010':
  "DO NOT MERGE" Add write SMS protection

Change-Id: Id83f27fd2d8b2431cea51c8eb5a4ca152a872647

8 years ago"DO NOT MERGE" Add write SMS protection am: fd7a794 -s ours
Ajay Panicker [Tue, 19 Apr 2016 20:26:39 +0000 (20:26 +0000)]
"DO NOT MERGE" Add write SMS protection am: fd7a794  -s ours
am: daa8d67

* commit 'daa8d67fe2e26eb9d5282006eb7ec17306b7e277':
  "DO NOT MERGE" Add write SMS protection

Change-Id: Ia8f55d6ba4a5d008b107673d8830208c3eefd30a

8 years ago"DO NOT MERGE" Add write SMS protection
Seven Shen [Tue, 19 Apr 2016 20:23:31 +0000 (20:23 +0000)]
"DO NOT MERGE" Add write SMS protection
am: 64745b1

* commit '64745b114948ea0c774f74af5721b6283087247d':
  "DO NOT MERGE" Add write SMS protection

Change-Id: Idb905753e4e4d711b11b7d5274e622df4e9c4251

8 years ago"DO NOT MERGE" Add write SMS protection
Ajay Panicker [Tue, 19 Apr 2016 20:23:20 +0000 (20:23 +0000)]
"DO NOT MERGE" Add write SMS protection
am: fd7a794  -s ours

* commit 'fd7a794fc57e06606244b9fc1673c9c549cce5c4':
  "DO NOT MERGE" Add write SMS protection

Change-Id: I3dcb78c9213b10ad354c72ab756af773c04213c7

8 years agoAVRCP: Don't assume 0:00 on metadata change
Marie Janssen [Fri, 15 Apr 2016 21:57:04 +0000 (14:57 -0700)]
AVRCP: Don't assume 0:00 on metadata change

When changing between apps, and changing between songs, the Media
framework sends us the position data before the metadata, so
setting it to 0 wipes out our position.

Fixes: 27745277
Change-Id: I2d309df424c8889928da9601b367d488bba89919

8 years agoMerge "Implement new async response method for controller activity info" into nyc-dev
Adam Lesinski [Mon, 18 Apr 2016 23:27:08 +0000 (23:27 +0000)]
Merge "Implement new async response method for controller activity info" into nyc-dev

8 years agoHandle all kinds of focuses and make fault tolerant to phone calls.
Sanket Agarwal [Thu, 7 Apr 2016 20:48:40 +0000 (13:48 -0700)]
Handle all kinds of focuses and make fault tolerant to phone calls.

Audio Focus Loss Transient: We stop music and wait for focus gain.
Audio Focus Loss Transient May Duck: We lower the volume (via Gain).

Sometimes phones do not resume even after sending play after the phone
call. This is possible if there is a race condition of when A2dp thinks
it got focus back vs phone actually releasing the call. To avoid this we
add retry logic to try playing again. This also avoids janky situations
when playing music will not initiate at first.

Bug: b/28003743
Bug: b/28065071

Change-Id: I1d31156d134d98959ff3044c98206c60515d7e5a

8 years agoMerge "Import translations. DO NOT MERGE" into nyc-dev
Baligh Uddin [Fri, 15 Apr 2016 22:35:07 +0000 (22:35 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-dev

8 years agoMerge "Rename btif audio_focus_state -> set_audio_focus_state." am: 93b6179 am: c481822
Sanket Agarwal [Fri, 15 Apr 2016 20:13:48 +0000 (20:13 +0000)]
Merge "Rename btif audio_focus_state -> set_audio_focus_state." am: 93b6179 am: c481822
am: ef9aa9f

* commit 'ef9aa9f2514bafcaee96901dac2baffdf149e848':
  Rename btif audio_focus_state -> set_audio_focus_state.

Change-Id: Ib250b9355a44eae5e6d2fbf575c2bd9c04ffbcd4
(cherry picked from commit c7056ffc0c16fb35fda2cfc5adb51a736c9bb56a)

8 years agoImplement new async response method for controller activity info
Adam Lesinski [Mon, 11 Apr 2016 21:50:36 +0000 (14:50 -0700)]
Implement new async response method for controller activity info

Bug:26842468
Change-Id: I35e6bd6996d408aa2c8ccda754d5b2f05bcb8056

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 agoImport translations. DO NOT MERGE
Baligh Uddin [Fri, 15 Apr 2016 07:55:11 +0000 (00:55 -0700)]
Import translations. DO NOT MERGE

Change-Id: I5d2ac0ced0d0453a000307a544259d8e033e4914
Auto-generated-cl: translation import

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 agoImport translations. DO NOT MERGE
Bill Yi [Sat, 9 Apr 2016 13:51:28 +0000 (06:51 -0700)]
Import translations. DO NOT MERGE

Change-Id: I33cceec5deb5b2f221c143167397a3ee0c60c332
Auto-generated-cl: translation import

8 years ago"DO NOT MERGE" Add write SMS protection
Seven Shen [Wed, 6 Apr 2016 19:25:17 +0000 (12:25 -0700)]
"DO NOT MERGE" Add write SMS protection

Bug: 25138326
Change-Id: I9f418370b8725d49e3734406b6f435107bcff021

8 years agoBluetooth streaming should wait for AVRCP to start.
Sanket Agarwal [Thu, 7 Apr 2016 18:56:26 +0000 (11:56 -0700)]
Bluetooth streaming should wait for AVRCP to start.

Currently we are waiting for A2DP to come up before we can start
streaming. This is not ideal since unless AVRCP comes up we cannot show
the UI reliably. That said, for compatibility with devices only having
A2DP we will need to modify this code. For now the A2DP SNK is only
supposed to work with AVRCP TG implementation on the remote.

Bug: b/27744764
Change-Id: I972cf94f5b276d9b0e08315175ae605ccfe6a423

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 ago"DO NOT MERGE" Add write SMS protection
Ajay Panicker [Wed, 6 Apr 2016 22:55:15 +0000 (15:55 -0700)]
"DO NOT MERGE" Add write SMS protection

Bug: 25138326
Change-Id: I494db57e9291fac108e2abae85db367992ad81a1

8 years agoMerge "Import translations. DO NOT MERGE" into nyc-dev
Bill Yi [Wed, 6 Apr 2016 17:07:53 +0000 (17:07 +0000)]
Merge "Import translations. DO NOT MERGE" into nyc-dev

8 years agoImport translations. DO NOT MERGE
Bill Yi [Wed, 6 Apr 2016 13:38:59 +0000 (06:38 -0700)]
Import translations. DO NOT MERGE

Change-Id: I53e5b0bb59d7d67e82fc367bf8493c22deb594bb
Auto-generated-cl: translation import

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 agoMake PBAP PCE (Client) role auto-connectable.
Joseph Pirozzo [Tue, 5 Apr 2016 21:25:18 +0000 (14:25 -0700)]
Make PBAP PCE (Client) role auto-connectable.

Set the default flag to enable contact sharing from Car Kit by default
like the other autoconnect profiles.

Bug: 27977457
Change-Id: Ibbd09ea93ff402193e8a03ba77148dea9417a488

8 years agoChange A2dpSinkService package from a2dp -> a2dpsink.
Sanket Agarwal [Tue, 5 Apr 2016 23:26:29 +0000 (16:26 -0700)]
Change A2dpSinkService package from a2dp -> a2dpsink.

Change go/ag/901764/ changed the package of A2dpSinkService but the JNI
did not do the appropriate change.

Bug: 27744764
Bug: 28025011
Change-Id: I9a6cc0e695bef152c1bdf461a5f92468db5172ab

8 years agoMove MediaBrowserService to Bluetooth Process
Sanket Agarwal [Thu, 31 Mar 2016 00:53:54 +0000 (17:53 -0700)]
Move MediaBrowserService to Bluetooth Process

MediaBrowserService exports A2DP streaming features to the rest of stack
using the MediaBrowser API. Currently it was being stareted by
BOOT_COMPLETE which made it start very late. Also that meant that some
of the broadcasts for the connection events is lost. Now it is started
by the A2DP state machine so that we do not miss any state changes.

Bug: 27744764
Change-Id: I193b4adfea09cbd90e41f1a217383b6aa234ef2b

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 agoAutoconnect Car Profiles
Joseph Pirozzo [Fri, 1 Apr 2016 23:51:31 +0000 (16:51 -0700)]
Autoconnect Car Profiles

Update profiles used in Car to enable and require PRIORITY_AUTO_CONNECT
to automatically connect when Adapter turns on.

Bug: 27899874
Change-Id: I33bf7cabe959b47954e3aced2af8a5ce8444b9ad

8 years agoRemove DayNight theme
Alan Viverette [Thu, 31 Mar 2016 20:18:44 +0000 (16:18 -0400)]
Remove DayNight theme

Bug: 21854466
Change-Id: Iebd75177ca302af975a76787a22fecf79a77ef26

8 years agoMerge "PBAP client priority settings." into nyc-dev
Joseph Pirozzo [Wed, 30 Mar 2016 21:00:52 +0000 (21:00 +0000)]
Merge "PBAP client priority settings." into nyc-dev

8 years agoPBAP client priority settings.
Joseph Pirozzo [Fri, 25 Mar 2016 23:34:34 +0000 (16:34 -0700)]
PBAP client priority settings.

Implement get/setPriority for PbapClient such that the settings dialog
and connect at startup work appropriately.

Bug: 27642222
Change-Id: I9c02d4d08809c6cc4230c71031d880b3d09f0cc4

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 agoRevert "Add guest mode functionality (1/5)"
Ajay Panicker [Mon, 28 Mar 2016 21:58:49 +0000 (21:58 +0000)]
Revert "Add guest mode functionality (1/5)"

This reverts commit 6e2c4a130d93e448decc67991690fd8d1f83a343.

Change-Id: Iae9ecfc53a4e405bc04d21822a79112f7dc63247

8 years agoAdd guest mode functionality (1/5)
Ajay Panicker [Fri, 18 Mar 2016 00:12:08 +0000 (17:12 -0700)]
Add guest mode functionality (1/5)

Add a flag to enable() to start Bluetooth in restricted
mode. In restricted mode, all devices that are paired during
restricted mode are deleted upon leaving restricted mode.
Right now restricted mode is only entered while a guest
user is active.

Bug: 27410683
Change-Id: I561225652509b29ac6b0d194a3a50e29c5569365

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 changes from topic 'pts-test-fix-sync-20160335-1' into nyc-dev
Andre Eisenbach [Mon, 28 Mar 2016 04:33:51 +0000 (04:33 +0000)]
Merge changes from topic 'pts-test-fix-sync-20160335-1' into nyc-dev

* changes:
  Fix more merge issues in BluetoothPbapVcardManager.java
  PBAPS: Don't filter out DateTime when requested
  PBAPS: Fix duplicate entries fetched from database
  PBAPS: Get vcard when asked in alphabetical order
  PBAPS: Enable contact search with full or part of given string
  SAP: Fix ANR(s) in SAP server code
  SAP: Remove sdp record while BT is being turned off to prevent leak
  SAP: Fix issue of socket listener not getting re-started
  SAP: Update UI connection and notifications properly
  SAP: Handle disconnect request during call ongoing state
  OPP: Update share status when interrupted at remote side.
  OPP: Use long instead of int
  MAP: Fix ANR for blocking operations on UI thread
  MAP: Track ProfileState, register and unregister of BroadcastReceivers
  MAP: CleanUp for SDP record in MAP Service shutdown
  MAP: GETMessagesLisitng include mandatory field always.
  MAP: Cleanup PendingIntent in cancelUserTimeoutAlarm.
  MAP: Handle possible NPE while disconnect map.
  MAP: Add MNS SDP Search during setNotificationRegistration.
  MAP: Declare and fetch only 'INTERESTED_MESSAGE_TYPE_CLAUSE' MMS.
  MAP: Synchronize notifcationReg reply and MNS connect action.
  Send error for if VR is initiated during call.

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 agoFix more merge issues in BluetoothPbapVcardManager.java
Andre Eisenbach [Fri, 25 Mar 2016 21:39:40 +0000 (14:39 -0700)]
Fix more merge issues in BluetoothPbapVcardManager.java

Change-Id: I901042e69b3beea93684fe1a194353664fabd0c2

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 "Add Android.mk so that underneath targets can be updated." into nyc-dev
Sanket Agarwal [Wed, 23 Mar 2016 19:23:02 +0000 (19:23 +0000)]
Merge "Add Android.mk so that underneath targets can be updated." into nyc-dev

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 agoAdd Android.mk so that underneath targets can be updated.
Sanket Agarwal [Wed, 23 Mar 2016 01:27:47 +0000 (18:27 -0700)]
Add Android.mk so that underneath targets can be updated.

Bug: b/27744764

Change-Id: I88b2be8b1d362e890a0784115b83c7710e48e51b

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 "PBAP abort operations when disconnected" into nyc-dev
Joseph Pirozzo [Tue, 22 Mar 2016 20:57:43 +0000 (20:57 +0000)]
Merge "PBAP abort operations when disconnected" into nyc-dev

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 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 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 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 agoPBAP abort operations when disconnected
Joseph Pirozzo [Mon, 21 Mar 2016 21:23:06 +0000 (14:23 -0700)]
PBAP abort operations when disconnected

Push long running activities relating to the contacts database onto its
own thread such that the main service thread can remain responsive to
new bluetooth requests.

Bug: 27697738
Change-Id: I0202962a49d6a0279b5672152955840dd02bdf31

8 years agoForward in iPhone leads to play state being presisted as STOP.
Sanket Agarwal [Mon, 21 Mar 2016 21:00:30 +0000 (14:00 -0700)]
Forward in iPhone leads to play state being presisted as STOP.

When we press forward in iPhone (via AVRCP pass through or iPhone UI)
while connected over AVRCP we are resetting the state and expecting
AVRCP to give us a new play state when next song resumes. Turns out that
iPhone always keeps it state to be Playing.

The fix is to keep the mRemoteMediaPlayers a replica of what AVRCP says
so that when song resumes (from A2dpSinkService via startAvrcpUpdates)
we can restore the playing state.

Tested on iPhone and regression tested on Nexus 5X.

Bug: b/27768620
Change-Id: I8caf56072fa5743f28e1680860c161d3cd75b83c

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 agoImport translations. DO NOT MERGE
Geoff Mendal [Sat, 19 Mar 2016 03:39:57 +0000 (04:39 +0100)]
Import translations. DO NOT MERGE

Change-Id: I6df2f8330fbce97f53729c931fe78e1a77482107
Auto-generated-cl: translation import

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 agoDisable Account Authenticator
Joseph Pirozzo [Thu, 17 Mar 2016 22:06:46 +0000 (15:06 -0700)]
Disable Account Authenticator

Conditionally disable account authenticator when pbap client service is
unavailable.

Bug: 27689917
Change-Id: Ia215b40805568e10f44b6c784abbfd9d39586bdf

8 years agoImplement PBAP PCE client role service.
Joseph Pirozzo [Wed, 9 Mar 2016 23:22:11 +0000 (15:22 -0800)]
Implement PBAP PCE client role service.

Migrate code from frameworks/opt/bluetooth for pbap client to support
pbap as a bluetooth profile.

Bug: 27490041
Change-Id: I7a486af1c58d17ee10348aae044786df670a781e

8 years agoMerge "HFP is exposed via Telecom ConnectionService." into nyc-dev
Sanket Agarwal [Mon, 14 Mar 2016 22:58:01 +0000 (22:58 +0000)]
Merge "HFP is exposed via Telecom ConnectionService." into nyc-dev

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 agoHFP is exposed via Telecom ConnectionService.
Sanket Agarwal [Wed, 9 Mar 2016 23:29:38 +0000 (15:29 -0800)]
HFP is exposed via Telecom ConnectionService.

Telecom provides a ConnectionService mechanism where in order to make
calls you only need to provide the right phone account (which can be
queried using a predefined scheme).

This change adds a new middleware called ConnectionService which
provides a translation medium from Bluetooth <-> Telecom. Anyone who
wishes to use HFP HF role can then simply use TelecomManager (and
TelecomManager's InCallService) interfaces.

Bug: b/26757899

Change-Id: I66e47b6ff6330cfd9040a4a6cf4edadac28d63de

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 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 agoAutoConnect A2DP and HFP for Car Kitt roles.
Sanket Agarwal [Wed, 9 Mar 2016 00:02:21 +0000 (16:02 -0800)]
AutoConnect A2DP and HFP for Car Kitt roles.

1. Current auto connect sequence is not enabled for HeadsetClient.
2. On profile init consider A2DP and HFP in Car Kitt roles as
privellaged profiles.

Bug: b/27551485

Change-Id: I477b34ad1598d0a3ab9563ccd5b3770a4a1e2a57

8 years agoAudio Focus for A2DP.
Sanket Agarwal [Fri, 12 Feb 2016 22:48:51 +0000 (14:48 -0800)]
Audio Focus for A2DP.

When AVRCP is available we provide the following focus management on
SINK role:
a) Both AVRCP CT and AVRCP TG can notify the A2DP SNK about play status
change. A2DP SNK will only play when either CT or TG says play.
b) If AVRCP does not exist or neither of CT or TG have explicitly said
play (pass through or notification) then we simply throw away the data.

TODO:
Implement additional policy where we take the data from the A2DP SRC
irrespective of whether AVRCP exists or not. This should be implemented
as a separate streaming state machine and we should be able to flip the
state machine at run time (via settings app).

Bug: b/26928143

Change-Id: Ie5fab15ba4cdd5738c59fa646ca0824770489ec5

8 years agoMerge "Fix a bug where batch scan wasn't stopped correctly." into nyc-dev
Wei Wang [Thu, 3 Mar 2016 18:41:48 +0000 (18:41 +0000)]
Merge "Fix a bug where batch scan wasn't stopped correctly." into nyc-dev

8 years agoMerge "Add more statistics to scan logs" into nyc-dev
Ajay Panicker [Wed, 2 Mar 2016 17:24:38 +0000 (17:24 +0000)]
Merge "Add more statistics to scan logs" into nyc-dev

8 years agoDO NOT MERGE ANYWHERE Implement new API for retrieving supported Bluetooth profiles...
Bryce Lee [Wed, 2 Mar 2016 03:22:40 +0000 (03:22 +0000)]
DO NOT MERGE ANYWHERE Implement new API for retrieving supported Bluetooth profiles. am: 90b78410c2  -s ours
am: 2c0f222c4e  -s ours

* commit '2c0f222c4e3637dfce4c0a5d9e0ea9ba26e3f6d0':
  DO NOT MERGE ANYWHERE Implement new API for retrieving supported Bluetooth profiles.

8 years agoDO NOT MERGE ANYWHERE Implement new API for retrieving supported Bluetooth profiles.
Bryce Lee [Wed, 2 Mar 2016 03:13:17 +0000 (03:13 +0000)]
DO NOT MERGE ANYWHERE Implement new API for retrieving supported Bluetooth profiles.
am: 90b78410c2  -s ours

* commit '90b78410c20e3232954891d66bed3352fc5c97e7':
  DO NOT MERGE ANYWHERE Implement new API for retrieving supported Bluetooth profiles.

8 years agoAdd more statistics to scan logs
Ajay Panicker [Tue, 1 Mar 2016 21:46:00 +0000 (13:46 -0800)]
Add more statistics to scan logs

Added length of connection time to connections. Also added scan type
(opportunistic/background) to last X scans.

Example of new print:
GATT Client Map
  Entries: 2

  no.nordicsemi.android.mcp (Registered)
  LE scans (started/stopped)         : 2 / 2
  Scan time in ms (min/max/avg/total): 1604 / 7274 / 4439 / 8878
  Last 2 scans                       :
    1970/02/19 21:30:20 - 1604ms
    1970/02/19 23:59:00 - 7274ms
  Application ID                     : 6
  UUID                               : 0c452531-a57e-44df-9ac6-e2b780d2f715
  Connections: 1
    6: FF:08:11:53:44:A1 10008ms

  com.example.apanicke.bletest (Registered)
  LE scans (started/stopped)         : 2 / 2
  Scan time in ms (min/max/avg/total): 2946 / 9996 / 6471 / 12942
  Last 2 scans                       :
    1970/02/19 21:30:07 - 2946ms Opp
    1970/02/19 21:30:17 - 9996ms Opp
  Application ID                     : 5
  UUID                               : f25c1bdf-559f-43a6-8348-40ca92975b33
  Connections: 0

Bug: 27294154
Change-Id: I7460fb1568f20a1ce13b01d101517852cf9aec4a

8 years agoMerge "Protect ScanStats from race conditions" into nyc-dev
Ajay Panicker [Wed, 2 Mar 2016 02:21:36 +0000 (02:21 +0000)]
Merge "Protect ScanStats from race conditions" into nyc-dev

8 years agoFix a bug where batch scan wasn't stopped correctly.
Wei Wang [Tue, 1 Mar 2016 21:02:07 +0000 (13:02 -0800)]
Fix a bug where batch scan wasn't stopped correctly.

Stop batch was broken as the current logic tried to find
batch client information from regular scan clients when
stopping scans.

Bug:27209867
Change-Id: I935119950de1d839a6cfce672dfc00f4540f21dc

8 years agoProtect ScanStats from race conditions
Ajay Panicker [Mon, 29 Feb 2016 18:37:33 +0000 (10:37 -0800)]
Protect ScanStats from race conditions

Bug: 27294154
Change-Id: Icc0b0a6cfb93fca4a9a2aee49b94c0be1d62527f