History log of /system/bt/osi/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8d0a6a408ff57cb221e67963a95822f080911f20 10-Mar-2016 Marie Janssen <jamuraa@google.com> osi: add osi_rand()

Provide a replacement for rand() which has a better random source.

Change-Id: I38a8c74d86b89ec160b43b0f648f53b463be89bb
/system/bt/osi/Android.mk
2998946db9b820806d4a3e6decf1d01f090a8031 24-Feb-2016 Jakub Pawlowski <jpawlowski@google.com> Move properties get/set code to osi

Currently we use Android-specific property_get and property_set
through the code. This patch adds osi_property_get and osi_property_set
that is encapsulating all external dependencies. This is step further
for errorless compilation on linux.

Bug: 27324453
Change-Id: I97c34344617a5855b683328bcd196a21a2fae6f9
/system/bt/osi/Android.mk
06b3a5741afa443966ec1268241c98b8549f8c44 23-Mar-2016 Ying Wang <wangying@google.com> Tell the build system this is a host module.

We need to tell the build system this is a host module before calling
local-generated-sources-dir.

Change-Id: Ie36ad938c0c7124865148f20fcb70d5187f158b8
(cherry-pick from commit df515a46dd4fe27040c39d35b14b3e071319156d)
/system/bt/osi/Android.mk
e064f0846d382180a7955b7e45fcb73fa13ff992 18-Feb-2016 Ajay Panicker <apanicke@google.com> Write Protobuf in Base64

Change-Id: I3868365e7fd166517b13ff03a15d629271bd47b4
/system/bt/osi/Android.mk
0b60bb04b966030fd1dfdffe68099da8f280ade0 12-Feb-2016 Pavlin Radoslavov <pavlin@google.com> Cleanup C and C++ compiler flags

Cleanup the setting of C and C++ compiler flags:
* (Almost) all compiler flags are set uniformly
in the system/bt/Android.mk file.
* Enable by default breaking the compilation if there is a
compilation warning: -Werror
* Enable most compilation warnings: -Wall -Wextra
* Renamed Android.mk related flags:
- bdroid_C_INCLUDES -> bluetooth_C_INCLUDES
- bdroid_CFLAGS -> bluetooth_CFLAGS
* Introduce variables for C-only and C++ only compiler:
- bluetooth_CFLAGS: common C and C++ compiler flags
- bluetooth_CONLYFLAGS: C only compiler flags
- bluetooth_CPPFLAGS: C++ only compiler flags
* Disable warnings for existing issues - to be removed as issues are
resolved
* Add a workaround for libchrome and -DNDEBUG usage.

Bug: 26879229
Change-Id: Ie7595965ca0c8ead0e95e983e76c327e7891b2c3
/system/bt/osi/Android.mk
75be8ac2970284b8dbd7cdb2323bd3cf80f9c6ff 11-Feb-2016 Marie Janssen <jamuraa@google.com> osi: Don't use -std=c99 to compile

Using -std=c99 to compile breaks when we are using C++ files, which
metrics uses for protobufs.

Bug: 27077250
Change-Id: Ie94e3ea5d8b219671329108e7795cdc02ecc38b4
/system/bt/osi/Android.mk
aa11644f763b1d33123b3f71d1a6c3977e7d69cf 16-Jan-2016 Marie Janssen <jamuraa@google.com> osi: add metrics API

Add a metrics API, which supports creating events which are eventually
passed up to the clearcut logging to track pairings and other events.

Connect this to the dumpsys call when it is called.

Change-Id: Idcf75541fd18b0413cc843d6c7e23a5f08a634a5
/system/bt/osi/Android.mk
10978011f286d20f10eb949e3557ad00a62c8424 22-Jan-2016 Pavlin Radoslavov <pavlin@google.com> A workaround for kernels missing CLOCK_BOOTTIME_ALARM

If the kernel doesn't have support for CLOCK_BOOTTIME_ALARM,
then timer_create(CLOCK_BOOTTIME_ALARM) will fail.

Added #ifdef KERNEL_MISSING_CLOCK_BOOTTIME_ALARM guard to get around
the issue. Platforms that don't have CLOCK_BOOTTIME_ALARM should have
the following lines in the device's "bdroid_buildcfg.h" file:

/* Defined if the kernel does not have support for CLOCK_BOOTTIME_ALARM */
#define KERNEL_MISSING_CLOCK_BOOTTIME_ALARM TRUE

Bug: 26611369
Change-Id: I455dbbc20f43b21a83998cd60cac8dea0a73080d
/system/bt/osi/Android.mk
78bcff79e1b1f0efce436b33bdd6da88745bfc8a 05-Dec-2015 Pavlin Radoslavov <pavlin@google.com> Refactor the Bluetooth timers

* Updated the alarm API:
- Existing API alarm_new() is modified to take an alarm name
as an argument.
- New API alarm_new_periodic() is used to create a periodic
alarm.
- Added new API alarm_is_scheduled() to test whether an alarm is
scheduled.
- Existing API alarm_set_periodic() is removed: a periodic
alarm is created by alarm_new_periodic().
- Added new API alarm_set_on_queue() to set an alarm whose
callback is executed on a specific queue.
- Added new API alarm_register_processing_queue() and
alarm_unregister_processing_queue() to register/unregister
a queue and the corresponding thread for alarm processing.
- Added corresponding unit tests.

* Updated the alarm internals:
- Added alarm_info_t for collecting alarm-related information
and statistics.
- Collect and store alarm-related statistics into alarm_info_t
per alarm.
- Include the alarm-related statistics and info into the native
dumpsys output for Bluetooth.
- Once an alarm expires, the alarm execution is scheduled for
processing on another internal alarm-specific thread, not
on the thread that is maintaining the alarms.
- Implemented callback execution ordering guarantee among
timers on the same thread with exactly same timeout values.

* Refactor some of the usage of alarm_set() and simplify the
code by using alarm_set_on_queue() instead.

* Removed the non_repeating timers wrapper, and use directly
the alarm mechanism / API.

* Refactored all timer_entry_t timers and replaced them with alarm_t
timers:
- Replaced the btu_start_timer() / btu_stop_timer() /
btu_start_quick_timer() / btu_stop_quick_timer() /
btu_oneshot_alarm() mechanism with alarm_set_on_queue() and
alarm_cancel()
- Removed the whole mechanism around the BTU_TTYPE_* timers.

* Fixed a bug when processing the GATT indication confirmation timer
expiration (timer tGATT_TCB.conf_timer: b/26610829).

* Renamed and/or split misc. timeout functions, fields, and timers

* Renamed time-related constants and changed the values from seconds
to milliseconds

* Replaced timer tAVDT_CCB.timer_entry with three mutually exclusive timers:
idle_ccb_timer, ret_ccb_timer, rsp_ccb_timer
The reason we are using three timers, is because in the original code
function avdt_ccb_chk_timer() used the timer type in its logic: it
would stop the timer only if the type is "idle".

* Removed btm_ble_timeout() and replaced it with multiple timeout
callback functions (per timer)

* Fix the actual value of the global constant BT_1SEC_TIMEOUT and
rename it to BT_1SEC_TIMEOUT_MS

* Removed btu_cb and associated timers and events, because they are
never used.

* Removed unused timers, functions, struct and declarations that are
not used / needed.

Bug: 26611369
Bug: 26610829

Change-Id: I812c8c31710a5daefc58b01fcf35c353768f390f
/system/bt/osi/Android.mk
d2e250824fca5c42b87b3b6f5fa19646ffa2d321 25-Aug-2015 Pavlin Radoslavov <pavlin@google.com> Add support for native kernel and callout wakelocks

* Moved wakelock-related code to osi/src/wakelock.c
The API is in osi/include/wakelock.h

* Use wakelock_set_os_callouts() to specify native kernel
or callout-based wakelock.
On Android, wakelock_set_os_callouts() is called to
set the bt_os_callouts_t callbacks into the Java layer.

* Renamed alarm_set_wake_lock_paths() to wakelock_set_paths()

Also, added Bluetooth Wakelock Statistics to the bugreport.
Sample output:

$ adb shell dumpsys bluetooth_manager
...
Bluetooth Wakelock Statistics:
Wakelock is acquired : false
Wakelock acquired/released count : 5 / 5
Wakelock acquired/released errors : 0 / 0
Wakelock last acquired time (ms) : 1524
Wakelock acquired time min/max/avg (ms) : 1511 / 8104 / 3167
Wakelock total acquired time (ms) : 15836
Bluetooth total run time (ms) : 44123

Bug: 26645431
Change-Id: I42bfb7db5b016719faea39e47ebc77c3ad02467b
/system/bt/osi/Android.mk
48df46b8398cf224a5209002cce3d534c4480d99 23-Dec-2015 Andre Eisenbach <eisenbach@google.com> Properly reset NONBLOCK flag in semaphore_try_wait()

Without this fix, calling semaphore_try_wait() on a semaphore that
wasn't currently set, would leave the NONBLOCK flag on the file
descriptor as a side-effect.

Also added a unit test for semaphores, including a test specifically for
this condition.

Change-Id: I0ea37bb68b14c76febaab25b3aee1bb4f5acee8c
/system/bt/osi/Android.mk
153bdfb9784b21e235676508c75bf2f4ee2b937f 14-Nov-2015 Pavlin Radoslavov <pavlin@google.com> Fix the fixed_queue_try_remove_from_queue() internals

Calling fixed_queue_try_remove_from_queue() should update
queue->dequeue_sem and queue->enqueue_sem as appropriate.

Also:
* Removed function fixed_queue_init() because it is not used
* Added fixed_queue_test.cpp unit tests for fixed_queue
* Updated some of the fixed_queue API description

Bug: 25973053

Change-Id: I3a0931f34fed34a2d60f82904601ef4157ee8ff9
/system/bt/osi/Android.mk
45a94e198ec424c1f15d9735a605a6876fa6a493 05-Nov-2015 Pavlin Radoslavov <pavlin@google.com> Removed libpower-related references.

Removed libpower-related references, because those are not
needed anymore. Now, the wakelock-related calls and references
are implemented within osi/src/alarm.c

Change-Id: Ifdb232b9724af216b9b414f8b65e85cd713c20d3
/system/bt/osi/Android.mk
41ddf544d038e3ae0a26b6989bfb3d6727161e84 04-Sep-2015 Sharvil Nanavati <sharvil@google.com> DO NOT MERGE Revert "am b3ca1b37: resolved conflicts for merge of a905eb62 to mnc-dr-dev-plus-aosp"

This reverts commit 2f86b2fc188edb0ba50483e624bd982a594c6633, reversing
changes made to 15c3ad9c08b864f63ed2581a10a65107fbe04752.

Change-Id: I43500eb0513180db8ba5b4ecc9f2dec934173c7f
/system/bt/osi/Android.mk
5de9c923d39c9fc9991620d7bd1572c38466d6ad 19-Oct-2015 Pavlin Radoslavov <pavlin@google.com> am 1eb1ea0c: GKI cleanup - Moved functions GKI_disable() and GKI_enable() to OSI

* commit '1eb1ea0cf2da992a3193506806e571dcbe3ec947':
GKI cleanup - Moved functions GKI_disable() and GKI_enable() to OSI
b22aeb23fa102920199f2a537e6628bc8c3781eb 19-Oct-2015 Pavlin Radoslavov <pavlin@google.com> resolved conflicts for c196f214 to stage-aosp-master

Change-Id: I3c8acd59271180d5c11760d08ea960bb90040a8e
1eb1ea0cf2da992a3193506806e571dcbe3ec947 25-Sep-2015 Pavlin Radoslavov <pavlin@google.com> GKI cleanup - Moved functions GKI_disable() and GKI_enable() to OSI

Added new functions mutex_global_lock() and mutex_global_unlock()
within the OSI module, and replaced GKI_disable() and GKI_enable()
with those functions.

Also, minor cleanup in the gki.h header file.

Change-Id: I5f410e3174541224fcf30f37e1524ef099c25193
/system/bt/osi/Android.mk
c196f214c5ae349ec2022f8d3cbaf56910b3b9f8 24-Sep-2015 Pavlin Radoslavov <pavlin@google.com> GKI cleanup - Moved GKI_get_os_tick_count() to OSI

* Renamed function GKI_get_os_tick_count() to time_get_os_boottime_ms()
and moved it to the OSI module: to the new file osi/src/time.c .
The corresponding header file is osi/include/time.h

* Added unit tests for function time_get_os_boottime_ms() in file
osi/test/time_test.cpp

* Removed "osi/include" from the list of paths to search for include
files. This is needed, because file name collision of "time.h"
in osi/include and the system <time.h>

Change-Id: I934be0c8f392150a352947326546bcf8aa070f97
/system/bt/osi/Android.mk
de86bfa27b3ae6a9812788efe2b76fa3e7931d56 10-Sep-2015 Sharvil Nanavati <sharvil@google.com> Add libpower as a dependency to all device targets that include libosi.

Bug: 23902077

Change-Id: Icc7119a2b3199310e2210d46f599da00261fdff6
/system/bt/osi/Android.mk
ba6af45bc75b1218e9f97ba836dec9dd547beb0a 10-Sep-2015 Sharvil Nanavati <sharvil@google.com> Add libpower as a dependency to all device targets that include libosi.

Bug: 23902077

Change-Id: Icc7119a2b3199310e2210d46f599da00261fdff6
/system/bt/osi/Android.mk
0fcfc9058a699a71c9949ca5884f5b2d6cebcb2d 10-Sep-2015 Bart Sears <bsears@google.com> Revert "Add libpower to all build targets that depend on libosi."

This reverts commit 5997f91a5224ac6072eff11c89b7b9658d3d7df0.

Change-Id: If682757bca55ecc0057bdd058b654ecbdcc7e50a
/system/bt/osi/Android.mk
5997f91a5224ac6072eff11c89b7b9658d3d7df0 10-Sep-2015 Sharvil Nanavati <sharvil@google.com> Add libpower to all build targets that depend on libosi.

Change-Id: I26e8b27077a6bd016198b90c5aabb2b2d7cdcaa2
/system/bt/osi/Android.mk
b3ca1b3756cb8682045456526aee924cd0290da5 04-Sep-2015 Sharvil Nanavati <sharvil@google.com> resolved conflicts for merge of a905eb62 to mnc-dr-dev-plus-aosp

Change-Id: I331ff78fefe13bd6fddd74d5c7e27f35dcd1c419
25efb5035f3bed89e9edd6b6b9200b4ee03ce59e 01-Sep-2015 Sharvil Nanavati <sharvil@google.com> DO NOT MERGE Directly acquire wake locks from the Bluetooth stack.

The wake lock callouts go through JNI and then across Binder to
PowerManager. As a result, the cost of each callout is very high.
There are cases where the stack is acquiring and releasing the wake
lock tens of times per second. When that happens, the CPU load on
some devices can reach 100% and the RFCOMM throughput can drop by
50% or more.

This change reduces the cost of acqiring / releasing a wake lock.
Instead of JNI + Binder + PowerManager overhead, we simply write to
the /sys/power/wake_lock and /sys/power/wake_unlock nodes. The cost
of each is a single syscall.

Bug: 23375670
Change-Id: I760a86b557b02c3d70be7a902c943b7ee2f515b1
/system/bt/osi/Android.mk
d36a6e956b18d478d03d589f43595c1bcf73c964 22-Aug-2015 Chih-hung Hsieh <chh@google.com> am ad588372: Merge "Enable clang compilation, use stdatomic.h."

* commit 'ad5883726417d06ee79fa26e4050f8c3a9439578':
Enable clang compilation, use stdatomic.h.
1da5196b9dd61f835ed54571e5a5c7044065cd8a 22-Aug-2015 Chih-hung Hsieh <chh@google.com> am ad588372: Merge "Enable clang compilation, use stdatomic.h."

* commit 'ad5883726417d06ee79fa26e4050f8c3a9439578':
Enable clang compilation, use stdatomic.h.
918e5a6832fa22bfe1e53e501af8f53ffc55b454 13-Aug-2015 Chih-Hung Hsieh <chh@google.com> Enable clang compilation, use stdatomic.h.

* Remove old atomic.h and atomic_test.cpp.
Use stdatomi.h in counter.c.
* Suppress warnings on unused variables/parameters.
* Suppress warnings on redefined typedef.

Change-Id: Ic7ec652608f2c9423984a3631fb58efea5a835e7
/system/bt/osi/Android.mk
75a2a9787537c461ddd6521513f50644ecc9b37d 05-Aug-2015 Arman Uguray <armansito@google.com> resolved conflicts for merge of 145cf576 to mnc-dev-plus-aosp

Change-Id: I717d2959e50309b272b3b76851015871b5095fc1
e9e080f7ca72123f8925dda65e545a8d3fc5e3ee 05-Aug-2015 Arman Uguray <armansito@google.com> resolved conflicts for merge of 145cf576 to mnc-dr-dev-plus-aosp

Change-Id: I1452632bb670d639c5c2b4d07a3045b9ccaa88bd
145cf576b55bc1eba7818d28e580a7729c94deea 01-Aug-2015 Arman Uguray <armansito@google.com> Compile libbtcore and libosi for host

The static libraries now also compile for a Linux host as libbtcore-host and
libosi-host. The unittests are compiled for the target against Bionic libc and
for the host against glibc.

Bug: 22884515
Change-Id: Iac1310a48cfd2ff43c356cb31165fd176d0e1d39
/system/bt/osi/Android.mk
a5db1d45cec965537568e041d39ad96a7e24ee59 29-Jul-2015 Miao Chou <mcchou@google.com> resolved conflicts for merge of f993a9c4 to mnc-dev-plus-aosp

Change-Id: Iaef9ab0fd5f4ed0ede18fd2a9899669293d9343c
269b5ca62c6cecca2811c6baa2895af7859e6f46 29-Jul-2015 Miao Chou <mcchou@google.com> resolved conflicts for merge of f993a9c4 to mnc-dr-dev-plus-aosp

Change-Id: I10f47626ef8dcba857a36c93b8b5b4071511fc7b
98a9641e77a247e5ba9a7f263066058d17e2b0a0 08-Jul-2015 Miao Chou <mcchou@google.com> build: Eliminate cutils/str_parms dependency from system/bt

Eliminate cutils/str_parmss dependency from system/bt by adding osi_str_parms:
- Added hash_map_utils which implements partial functions of cutils/str_parms
and uses osi/hash_map instead of cutils/hashmap.
- Updated osi/Android.mk, osi/BUILD.gn and the includes in audio_a2dp to use
osi_str_parms.
- Added unittest for hash_map_utils.

Bug: 21957864
Change-Id: I8458d9e45df6cab2b71840d24d17b9d75de9842c
/system/bt/osi/Android.mk
50356f0e5be2bb857e4eb52c9a1ee76640bdfcaf 25-Jun-2015 Miao Chou <mcchou@google.com> am 10969128: build: Eliminate cutils/sockets dependencies from system/bt

* commit '109691281c0135fd4298debcdec37fdc5855261e':
build: Eliminate cutils/sockets dependencies from system/bt
109691281c0135fd4298debcdec37fdc5855261e 10-Jun-2015 Miao Chou <mcchou@google.com> build: Eliminate cutils/sockets dependencies from system/bt

Eliminate cutils/sockets dependencies by pulling sources files from
core/libcutils into osi/.
- Pulled source files from cutils/ into osi/ and modified GN files and
Android.mk
- Updated includes to use the headers in osi/ and removed unused/duplicated
headers.
- Renamed the functions of osi/sockets and updated wherever they are called
to avoid usign symbols from cutils/sockets, since other cutils
dependencies have not been eliminated yet.

Bug: 21667795
Change-Id: I3dd4371d585f120d97ac0433ab1f35edb820dbb9
/system/bt/osi/Android.mk
1bd76059e72b7a0d54f6b325882f6eccd311f874 05-Dec-2014 Andre Eisenbach <eisenbach@google.com> Bluetooth native dumpsys logging support (2/5)

Includes support for BTSnoop logging in memory.

Bug: 18508263
Change-Id: I175da528cbcdc00d40622647d518a74210cfe6fd
/system/bt/osi/Android.mk
b959a4070b56c9b08132eb8756759046c24c1384 28-May-2015 Ian Coolidge <icoolidge@google.com> resolved conflicts for merge of 1f81b64b to mnc-dev-plus-aosp

Change-Id: I7997086b1d83bc5ee06068f82ca31c290389bc44
1f81b64b337832452e9ba1f530e612a685aebb82 22-Apr-2015 Ian Coolidge <icoolidge@google.com> Set default symbol visibility to 'hidden'.

Bug: 20427982
Change-Id: I003469d6dfce681a38baa71b5709236a1a4a2189
/system/bt/osi/Android.mk
3e3d2a1d3bb9ada4fa612bf9d58c05b629385af2 18-May-2015 Andre Eisenbach <eisenbach@google.com> Shutdown alarm callbacks on stack disable; added OSI module

Change-Id: Iecf1e2258da012bdac69a4f57d38b12a272e3edd
/system/bt/osi/Android.mk
89f5e411d9ef31436741288a2267e46dd744e273 05-Dec-2014 Andre Eisenbach <eisenbach@google.com> Bluetooth native dumpsys logging support (2/5)

Includes support for BTSnoop logging in memory.

Bug: 18508263
Change-Id: I175da528cbcdc00d40622647d518a74210cfe6fd
/system/bt/osi/Android.mk
4b04b8d4da2cb2e73baf3467bacb4b329aa3bbd1 04-May-2015 Chih-Hung Hsieh <chh@google.com> Work around clang/llvm compilation problems.

These patches will allow us to compile the whole AOSP with clang/llvm
before all the following problems are fixed.
* Suppress warnings on unused variables.
* Remove unused static variables.
* Use only gcc to compile code that requires gcc atomic functions.
They should be converted to standard atomic functions later.
* Suppress warnings on redefined typedefs.

BUG: 20765701
Change-Id: Ib1d6e2ef86c255ba87c1d51f9fdeabe5c8de2ada
(cherry picked from commit 23546918662bba21937c4f8fb4c3373588710b5c)
/system/bt/osi/Android.mk
23546918662bba21937c4f8fb4c3373588710b5c 04-May-2015 Chih-Hung Hsieh <chh@google.com> Work around clang/llvm compilation problems.

These patches will allow us to compile the whole AOSP with clang/llvm
before all the following problems are fixed.
* Suppress warnings on unused variables.
* Remove unused static variables.
* Use only gcc to compile code that requires gcc atomic functions.
They should be converted to standard atomic functions later.
* Suppress warnings on redefined typedefs.

BUG: 20765701
Change-Id: I19bc0a256c19502fabcabd1ca158637a8b5741a2
/system/bt/osi/Android.mk
1878c42ef822ef66df7f9bc69bb613efc37156ec 15-Dec-2014 Sharvil Nanavati <sharvil@google.com> Add a reference counted buffer implementation.

This implementation introduces the notion of a 'slice'. A slice is
simply a sub-buffer of the original buffer. Slices refer to their
parent buffer so no memory is copied and slice creation becomes an
O(1) operation. Although I'm introducing a new concept, in practice,
a slice is indistinguishable from a buffer (they share a type and
all operations).

I expect slices to be used heavily during packet construction. For
example, an RFCOMM implementation would request a buffer from the
L2CAP layer (which may in turn request a buffer from the HCI layer).
The L2CAP layer would reserve some space in the buffer for its header
and return a slice to the RFCOMM layer.
/system/bt/osi/Android.mk
61683578a90c46aea254b22bda4ceda0e1207600 29-Dec-2014 Sharvil Nanavati <sharvil@google.com> Rename Bluetooth binaries to use the net_ and net_test_ prefixes.
/system/bt/osi/Android.mk
badeb92ca9a17f6bbc9e69ccaf5943aeec09fc4e 14-Nov-2014 Sharvil Nanavati <sharvil@google.com> Introduce a growing array class.

Arrays are useful for storing a collection of small objects where
linked list node allocations would be a lot of overhead. They are
also useful for random access through the container. Lastly, this
implementation assumes copy semantics which are intentionally
different from list's reference semantics (since objects are assumed
to be smaller).

The current interface is intentionally sparse.
/system/bt/osi/Android.mk
408ffb6006319c2db1812c1572b04859d7b366eb 13-Nov-2014 Chris Manton <cmanton@google.com> Explicitly add include paths

Allocation test harness included relatively local
header allocation_tracker.h. Change to include
absolute header location from bluedroid root.
/system/bt/osi/Android.mk
2e241dbe76facf02450c86d9fb4bf3d76d6dde21 19-Sep-2014 Zach Johnson <zachoverflow@google.com> s/async_result/future/g and also improve the future API

Freeing now happens implicitly upon await, and immediate
futures will allow a uniform usage pattern for calls
that are async and calls that are not.
/system/bt/osi/Android.mk
358e6719a5a24930e6fb5b299b56eca649a70434 10-Sep-2014 Zach Johnson <zachoverflow@google.com> async_result abstraction for signaling async return values

This will be useful when signaling success/fail during individual
asynchronous steps of stack start up and shut down.
/system/bt/osi/Android.mk
bb9b7170d8dba6a41b828fb2a349b8edd418dcfa 09-Sep-2014 Zach Johnson <zachoverflow@google.com> Add non-repeating timer wrapper for alarm

Refactor the hci layer to use it.

The timer wrapper allows you to specify the duration, etc at construction time
rather than at start time, making some usage patterns of alarm more convenient.
/system/bt/osi/Android.mk
3b72a14c2515c1169d5501ada5499cf232fc643b 26-Aug-2014 Zach Johnson <zachoverflow@google.com> Implement memory allocation tracker

Provides an interface to track memory allocations, and assert
bad things like double frees don't happen.
/system/bt/osi/Android.mk
b88b2bbce4cfa78e37f303e55c66fd43719cbc4c 26-Aug-2014 Zach Johnson <zachoverflow@google.com> Add common hash functions so we don't have to redefine everywhere
/system/bt/osi/Android.mk
7359477fe6ecb65d8d8fb7574fbb841e6f8da904 26-Aug-2014 Chris Manton <cmanton@google.com> Add back hash_map_test to ositests

Somewhere along the way it got lost
/system/bt/osi/Android.mk
d18cfd09c96740f57c5645b18d9582aa8afffced 05-Aug-2014 Zach Johnson <zachoverflow@google.com> Add eager reader
/system/bt/osi/Android.mk
2bbb33c648fd27233421a721e067d8c0e9012a7e 16-Aug-2014 Zach Johnson <zachoverflow@google.com> Refactor alarm tests to use a test harness

This improves the test writing experience for tests that rely on alarm code.
/system/bt/osi/Android.mk
dcbfea8f812315c93568ef1fccf429fbaa03ce82 16-Aug-2014 Zach Johnson <zachoverflow@google.com> Add an allocator interface + default malloc allocator
/system/bt/osi/Android.mk
3605c802486424c2fe22b3474c941f224cd56419 30-Jul-2014 Zach Johnson <zachoverflow@google.com> Implement a data dispatcher.

This will be useful at layer boundaries.
/system/bt/osi/Android.mk
52f0230cc9c30a1473f9fdc7ddf0ff9f4a62d2e1 30-Jul-2014 Chris Manton <cmanton@google.com> osi: Support for atomic data types
/system/bt/osi/Android.mk
c2031c4fbab9ed2d2e51a0b287a3fab805932ca4 26-Jul-2014 Sharvil Nanavati <sharvil@google.com> Introduce a socket class

This socket implementation is limited to TCP server sockets and
provides no mechanism to connect to a remote host. It's primarily
intended to be used to interface with debugging tools. It's designed
to work seamlessly with the reactor (event-driven) model.
/system/bt/osi/Android.mk
3a2ee939c61a1c3f57fa3eb99899ba908c41e7d5 03-Jun-2014 Chris Manton <cmanton@google.com> osi: hash map implementation
/system/bt/osi/Android.mk
f0e7c8b895c61104ce962b7c5e3705a32943d711 02-Jul-2014 Sharvil Nanavati <sharvil@google.com> A simple, thread-safe timer API for bluedroid.

Change-Id: I5fa21b48506e4d1d65da4b8bedbbf39e03dad559
/system/bt/osi/Android.mk
118bdd58389c77dd69b37e377b4e98ea89d2b14e 08-May-2014 Sharvil Nanavati <sharvil@google.com> Start of threading library

So far it's a thin shim around pthreads which allows setting thread
name and querying tids from any thread.

Change-Id: Id156f662778806a54a8a302be424ee051fac4710
/system/bt/osi/Android.mk
19084c6242d8ddb366a52eba5084c974280cce0f 24-Jun-2014 Sharvil Nanavati <sharvil@google.com> Implement the reactor pattern in C.

This code will form the basis of most select-based event loops in
bluedroid. It provides a thread-safe abort routine and a separation
between the dispatcher and event handler code.

Change-Id: I6f1c033d18f045ba273187dab607c209dfe32d30
/system/bt/osi/Android.mk
f886773891f1cfe37f8824ed8e63230954e5c2d8 05-May-2014 Sharvil Nanavati <sharvil@google.com> Add a generic config parser for the INI file format.

There are currently multiple INI parsers in bluedroid and they're
special-purpose for the task at hand even though they parse the
same format. This implementation is general-purpose, loosely coupled
with the rest of bluedroid, and has unit tests to verify behaviour.

Change-Id: I61caf416cc16d76b871cbf04f333c26894ab3fef
/system/bt/osi/Android.mk
c11b407e78d96e05b0991bbe6dfde0d7eb5349b5 03-May-2014 Sharvil Nanavati <sharvil@google.com> Implement a fixed queue.

Change-Id: Ifad7605d0b6e1a57f4767f9de1bed7e99284ded7
/system/bt/osi/Android.mk
cef7695cb3c0e1a5d462deac6508ade2726918cf 25-Apr-2014 Sharvil Nanavati <sharvil@google.com> Add a singly linked list implementation for OSI.

Change-Id: Ifffd6f9eabee482a81b326c9cf8d06163aede0f4
/system/bt/osi/Android.mk