History log of /frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
02e1422fc015b3dc38f8afdfb8e1aec95881fefc 16-Mar-2018 Etan Cohen <etancohen@google.com> [RTT] Wi-Fi RTT Metrics

Add Wi-Fi RTT metrics collection.

Testing:
- Unit tests (new)
- Integration tests:
-RangeApSupporting11McTest:test_rtt_80211mc_supporting_aps
- RangeAwareTest
- After integration tests (i.e. full framework run) exercised
consolidation by:
- adb shell dumpsys wifi
- adb shell dumpsys wifi wifiMetricsProto
- adb shell dumpsys wifi wifiMetricsProto clean

Bug: 68819947
Test: unit tests
Test: integration tests + adb
Change-Id: I9c98a9801bc912d7f4ae68aa7261d3a068cf3339
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
05dbaa4579483e9f53f4b6c6e02c02d620f1890f 13-Mar-2018 Etan Cohen <etancohen@google.com> [AWARE] Metrics for Discovery + Ranging

Add metrics for Wi-Fi Aware discovery with ranging constraints.

Bug: 63906015
Test: unit tests for aware
Test: integration tests ThroughputTest
Change-Id: I06330edb906a72de33b8777587deed4f27fc6f41
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
353ed66e1af63e0e01eb01751a6e2874413f47ca 15-Feb-2018 Etan Cohen <etancohen@google.com> [AWARE] React to Wi-Fi state changes: disable when Wi-Fi is off

Disable Wi-Fi Aware completely when Wi-Fi is disabled (whether or not
the chip is still on - i.e. irrespective of scanning mode).

Bug: 73348515
Test: unit tests, existing integration tests (AttachTest)
Change-Id: I92ce65c86c66dba616c9e6f84204ae2a77864e63
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
41d34a7db8366519140877e2609560a2817f8a72 05-Feb-2018 Etan Cohen <etancohen@google.com> [AWARE] Enable/disable Aware based on LocationMode status

Add sensitivity to LocationMode in Wi-Fi Aware:
- Location Mode enabled: Aware may be enabled (depending on other
gating controls such as doze mode)
- Location Mode disabled: Aware disabled

Bug: 70218191
Test: units tests + new testEnableDisableOnLocationModeChanges
Change-Id: Ic93faca094a664cf16b45d92b0ace3e4373a0313
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
c5585d6ea42a6ad9f6e7aa127f1987d7f1b23b5c 20-Jan-2018 Etan Cohen <etancohen@google.com> [AWARE] Remove ability to accept connections from ANYONE

Wi-Fi Aware data-path (NDP) setup requires an Initiator and a Responder.
Both Initiator and a Responder are set up with the MAC address of the
peer to which to connect to as well as a security configuration (Open,
PMK, Passphrase).

The original API (27) allowed a Responder to be configured to accept
a connection from anyone (e.g. using a null MAC address). This creates
ambiguous semantics when an NDP already exists. The second Responder
request could refer to the previously setup NDP or to a new one to be
created. We cannot tell the difference up-front.

Remove the "Accept request from ANYONE" API for newer APIs.

The service implementation retains the original code allowing (some API
levels) to specify the option.

Bug: 72175022
Test: unit tests and integration tests
Change-Id: Idc0ec67bb6481827340439e77463f6579a994104
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
799e25461ac99b02acd864cce867b72f9d4f04b9 29-Dec-2017 Etan Cohen <etancohen@google.com> [AWARE] Record NDP channel info if provided

Record the NDP channel information if provided in either:
- Creation (onConfirm notification)
- Update (onScheduleUpdate notification)

Information is recorded - no other usage (except logging is done
for now).

Bug: 37007030
Test: unit test + integration tests
Change-Id: If424765efecb5824d8576ac2e5d591bef860fd3b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
29ad45cb86b1d431cda152877b41a06925f88914 12-Dec-2017 Etan Cohen <etancohen@google.com> [AWARE] Only create Aware HAL interface when needed

Will only create the Aware HAL interface when needed (i.e. Aware
is being enabled) and will release when Aware is shut-down.

Previous implementation was to create the Aware HAL interface as
soon as it became possible (i.e. no higher priority interface blocked
its creation) - even if it wasn't necessary. The problem is that
this would cause lower priority interfaces to never get a chance -
even when it should be possible to use them. Specifically, the
possible STA+STA feature where 2nd STA has lower priority than
Aware.

Bug: 69863101
Test: unit tests and integration tests (including stress tests)
Change-Id: I77efd60cd7544a744bcb6ee52cb8a9c1dc3a25fd
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
9340e8f34b979b06bb90f92852353957120abf41 14-Dec-2017 Etan Cohen <etancohen@google.com> [AWARE] Configure DBG vs. VDBG

Move some messages to normal DBG vs. VDBG to allow verbose run-time
debugging.

Bug: 69432628
Test: build, enable verbose & verify log
Change-Id: I7162dca0daf728657fb946b36299bede35fa8a3b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
d187886254382d86f6884f593d851594575acd0c 14-Dec-2017 Etan Cohen <etancohen@google.com> [AWARE] Restructure debugging flags to enable dynamic updates

Restructure the debugging flags to allow dynamic updates of the debug
flag. Each class has a static VDBG and a dynamically updated mDbg.

Note: there are no (or minimal changes) to the actual debugging - all
of which is gated by VDBG. A subsequent CL will move some messages to
the lower-level mDbg.

Bug: 69432628
Test: builds, runs, toggle debug flag
Change-Id: I61df2a0bb790832c7136aa1ad67a745eb388b1da
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
3709e0d8752b945e19f4c7c9f75b929ee261dfe4 13-Nov-2017 Etan Cohen <etancohen@google.com> [AWARE] Aware ranging (RTT) to Aware discovery

Add configuration of ranging information (enabling, specifying
geofence) to the Aware discovery process:
- Pipe information to HAL
- Call location-specific discovery callback

Bug: 33821639
Test: unit tests and (non-functioning) integration tests
Change-Id: I66c674b5c97f286311ff3c0e35d23c6e89305043
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
0d5a9d5c9f0914ad145926beb96fb72b39089e02 30-Oct-2017 Etan Cohen <etancohen@google.com> [HDM] Run Destroy notification immediately after creation

Change priority of Destroy notifications to run as soon as possible -
by running them in front of the queue.

Requires changing the API to accept a Handler instead of a Looper.

Bug: 68385222
Test: unit tests, manual test
Change-Id: I9dffc43695e508a887b1f45a7810208991fa43d3
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
65a853f556d382c358e026115333022b814d2fea 28-Sep-2017 Etan Cohen <etancohen@google.com> [AWARE] Add API to translate PeerHandle to MAC address

Add an internal only (protected) API which translates PeerHandle (id)
to the corresponding MAC address (if available). Useful for services
such as RTT whose public API accepts a PeerHandle, but whose backend
requires an actual MAC address.

Bug: 65015034
Test: unit tests + RTT integrated tests
Change-Id: I5e6f3fbc1d9aa67630024ed55326c9f11bd58395
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
6c5bee3546470fc31ff5bb40d67affe874fb3abd 20-Sep-2017 Etan Cohen <etancohen@google.com> [RTT2] Remove Aware RTT code

Original WIP Aware RTT API routed RTT through the Aware manager. This
will be replaced by direct usage of the WifiRttManager API. First step
is to remove the old code.

Bug: 65015034
Test: unit tests pass
Change-Id: I6774b94c5d5d729ffe36fcc91d46ccece3590447
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
86ce666f62db6b464536d68944780b46996af04b 20-Jul-2017 Etan Cohen <etancohen@google.com> [AWARE] Support multiple NDPs on an NDI

Support multiple NAN data-paths (NDPs) on a single NAN data-interface
(NDI). Interface bring-up and bring-down should be tied to first NDP
and last NDP.

Bug: 63635780
Test: unit tests and integrated (sl4a) tests pass (or bugs filed)
Change-Id: I05ac824e551d33897eba7b7e0d5ab45b56492558
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
eddf3faabf426d18b7d3dff187ec91fe6a96665d 13-Jul-2017 Etan Cohen <etancohen@google.com> [AWARE] Create a locally maintained peer ID instead of firmware ID

The firmware provides a peer requestor ID + peer MAC to identify the
peer. The peer requestor ID alone is insufficient.

Original code used the peer requestor ID as the only identifier. This
failed once started testing with >2 devices.

Allocate a local (unique) peer ID which is mapped to the peer requestor
ID and peer MAC by the framework.

Bug: 63642354
Test: all unit tests + integration (sl4a) tests
Change-Id: Ic1b3a97b9675be8d8561f4500e8c777ddff42950
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
f28f838f3fe502fff47bcb3098098556b167ed88 29-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Add NAN data-path (NDP/NDI) metrics

Add metrics on the number of Wi-Fi Aware (NAN) data-paths,
data-interfaces, and status codes.

Bug: 26565416
Test: unit tests passing
Change-Id: Ie90ec6e94d4124d66d8f80f2035bb0af3d1cd592
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
da389f4b673e0f3fe54dc5b1123221037eb96e42 27-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Metrics for Aware enable/disable cycle

Bug: 26565416
Test: (new) unit tests passing
Change-Id: I3c3d11354032ebbfa650cdbe5c120dc1b416a5fd
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
d8135fd1779f30c7934d87fd65fbfa678db14548 27-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Metrics for discovery sessions

Bug: 26565416
Test: (new) unit tests passing
Change-Id: I0d3f2eb159c8f517156431fb0b09deb4c90fd4b9
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
efadd5383b5a98dcc249d3b8700142d3d748989f 21-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Mask passphrase/pmk information

Bug: 62866763
Test: validated that logs don't show pmk/passphrase anymore
Change-Id: I8ce5b2e6192af05f8748bee51e13312b65185a1d
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
a939bad4d61d9e750994b0fa4e0caa2e6cddefc7 21-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Increase NDP creation timeout from 5 to 20 secs

The framework gives an uppper timeout for NDP (NAN data-path)
negotiation to complete. The original value of 5 seconds is too
low for:
- Secure NDPs (requires additional message transmission)
- Low power modes (slots are further apart)

Increase to 20 seconds.

Bug: 62844546
Test: integration tests passing (high & low power modes)
Change-Id: Id7d09c74cfa5129ff3cddfc811744609f5f694d5
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
d087cd9cef52f82d863e261375acd67a98f2b581 14-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Replace possibly legit error code log wtf with e

The disable command should not fail - but if it does there could
be legit reasons - e.g. NAN already disabled. No reason to spread
WTFs around.

Bug: 62619907
Test: builds, runs without messages
Change-Id: I06c8c90d7566c21d04c97a131bb29d42c960c99b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
9a4b9d97dc46509222e6192596fbdb37a2b8fca6 13-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Add command to reset parameters

Add the 'reset' command which resets all configurable parameters
to their default values.

Bug: 31940045
Test: test parameters from command line
Change-Id: I78a7adb579197d3ad5548c0f33339e11af724d72
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
2fd51661e2e6a50e7d1de53ab590114d9f4e6789 07-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[AWARE] Enforce permissions for Aware data-path PMK usage"
159f2184beb39cfe0d786105cc69e54265747e56 01-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Enforce permissions for Aware data-path PMK usage

The Aware data-path using PMK API is system-only. Add code to
actually enforce that restriction.

Add test coverage for PMK/Passphrase code path.

Bug: 62266163
Test: unit tests, integration tests
Change-Id: Id833cbf81518df67f0fec4c8d944767b8c46ab82
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
eb558d6b74ba14a5ff08866166b109dda8e0ab20 05-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Power reduction parameters: non-interactive, idle

Set default power saving parameters:
- Non-interactive: disable 5G + increase latency on 2.4G
- Idle: disable

May be modified based on later power measurements.

Bug: 30771807
Test: Verified Aware not available on doze
Change-Id: I8f50f3228edd574cfd6005a20ac5a60f01cc433b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
c5742a340a7cc7d1d66b12d35103fa6b0a6633c5 01-Jun-2017 Etan Cohen <etancohen@google.com> [AWARE] Perform delayed initialization on Aware thread

Currently performed all intialization on main system server thread
during boot phases. Move some of the initialization to a delayed action
(new command) on the local Aware thread.

This moves contention for the HIDL interface from the main thread to
a local thread - reducing impact on system server start-up time.

Bug: 62238717
Test: unit tests, integration (sl4a) tests
Change-Id: Iec6bacebb07cba8b519d5b1d0cbb6c59778ff8f7
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
a83967f56939392072253162731bfe090c2e7709 08-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Attach metrics

Attach attach session metrics.
Fix bug in framework which causes an incorrect identity change
value to be used in session configuration.

Bug: 26565416
Test: builds + unit-tests
Change-Id: I6cd1d39eeffcf176c82629cc235a2f39aa029366
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
910fdc720f0bf62b5529cb37a5f001ae585a5c59 26-Apr-2017 Etan Cohen <etancohen@google.com> [AWARE] Metrics framework

Plug-in to the Wi-Fi metrics framework. Metrics proto and hooks
created but not populated.

Bug: 26565416
Test: builds + unit-tests
Change-Id: I4a8eb76342c140767279aa46753d604b37af613e
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
15e67cbe12ce8ef15a5c3cf0420749211fe611ff 24-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Clean-up after session if fw indicates it no longer exists

When a session terminates and informs the host, it's state is
cleaned-up (erased). However, if the session is configured not
to inform the host (e.g. for power saving) then it's state still
exists. An attempt to reconfigure such a session will be passed to
the fw which will call back a failure with a specific 'invalid ID'
error code. In such a case clean up the state.

Bug: 62054202
Test: Discovery:test_ttl* pass, unit-tests pass.
Change-Id: I89d751cb5bee4e2cfb5519f3d3965922f5215eda
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
cf0214972d1b9196f301e18c4c2a4f2dd1344310 23-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Fix extra call to HAL re-configure API

Code was not checking correctly whether state changed and called
HAL API even when no change was needed. The current state of identity
required configuration was compared against the requested configuration,
should have been compared to the configuration of all current clients.

Bug: 31940045
Test: AttachTest:test_attach_multiple_sessions shows correct behavior.
Change-Id: Ic62c6b143b91c3673a336653a16b9440f8fd1c50
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
571652b491d11ca5437840ecc224fb37e52f95e8 19-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Add shell command to obtain HAL capabilities

Print out capabilities as a JSON string. Useful for debugging
and for automated scripts trying to test the upper limits of
capabilities.

Bug: 31940045
Test: builds, runs manually, runs through script
Change-Id: I62d13d85e4492adee956d27bc6d10188ac34754e
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
0d8e6a7d72e6bd953939dc6976c00eafc08b8fce 18-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Fix update publish/subscribe

When updating an existing publish/subscribe discovery session the
native API must take the session ID of the existing session. The code
provided 0 - which was an indication to create a new discovery session.

Bug: 38397363
Test: unit tests and integration (sl4a) tests
Change-Id: I8657493a39fe39d12a55af2bdee140b850351c1f
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
2178f60b508f34f618d123da5fb00c545b464504 15-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Delay aware_data* interface creation until aware enabled

Currently Aware NDI (data-interfaces) are created when Aware becomes
available (e.g. on Wi-Fi being enabled). This CL moves the creation
to when Aware is actually enabled (and destroys them when aware is
disabled).

Purpose: reduce aware interaction surface with infra mode.

Bug: 38271432
Test: unit tests, integration (sl4a) tests, cts (known issues), CtsVerifier
Change-Id: Ia939ae22a1e37822e74f5f85a77ab1b253d77376
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
72d03f1feaec8829be3b9a8c1286dbcd79910b37 10-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Wait for disable

The NAN disable command now waits for a response from the HAL. This
introduces a slight ordering in disable/enable sequences - which can
prevent some driver/firmware race conditions. Though it is not perfect
in that we are not waiting for the down indication (the state machine
isn't set up for that).

Intended to work-around a system crash regression observed by running
Cts SingleDeviceTest#testAttachDiscoveryAddressChanges which executes
rapid enable/disable cycles. Does not solve issue - but a good safety.

Bug: 38195097
Test: unit tests and integration (sl4a) pass
Change-Id: Idc4622ca69e7e1c1591a8bb1f6872f2d071c6e84
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
f2344ef55a71f1b2e47a7913c756f0af546d0cb1 12-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Add a fixed service-name for OOB passphrase-protected data-path

PMK generation from Passphrase uses passphrase + service name + PMI.
However, service name is not available for OOB setups. In such a case
use a fixed string.

Already added for initiator. This CL adds it for the responder as well.

Bug: 38171946
Test: unit tests + existing integrated (sl4a) tests + CtsVerifier
Change-Id: I175fe524dc16363f663a8fb10c200831b11ceaf9
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
2b8d172f337298ac1da2f9a69662474529e11bc1 12-May-2017 Etan Cohen <etancohen@google.com> Merge "[AWARE] Initial power optimization framework - hooks & config"
c760a66378bbd844eb421658799b4d55c76b98fa 25-Apr-2017 Etan Cohen <etancohen@google.com> [AWARE] Initial power optimization framework - hooks & config

Create hooks in Wi-Fi Aware service to respond to power state
change events: interactive on/off (aka screen on/off) and
idle (doze).

Initial implementation transitions to higher latency (assumed
to be lower power) discovery duty cycles.

Bug: 35457252
Test: unit tests
Change-Id: I3a2a67db3e0b47ab982d7c67326e7fa20e429fad
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
813bba29bf7d48c1d829841457cf27365e0aaa68 11-May-2017 Etan Cohen <etancohen@google.com> Merge "[AWARE] Inform app of attach failure when aware isn't available"
77d47d4250ee148e0934cd00de72d40c8464475f 11-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Inform app of attach failure when aware isn't available

When Aware is disabled there's a broadcast informing apps. This
also implies to app that all operations they have pending will
fail - whether or not they get callbacks for them (the whole service
is effectively shut down).

This change adds a failure callback in such a scenario for attach
create. Minor change which makes the interface a bit richer (app
doesn't have to coordinate two different information streams), and
is useful for test scripts validating such a flow.

Bug: 31940045
Test: unit tests + integration (sl4a) tests passing
Change-Id: I76985cc0ec24150bf3f6128e7f37e40c243ea717
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
ff05cbcaccc03d1f64d1cb232a3c40a664c4be57 09-May-2017 Etan Cohen <etancohen@google.com> [AWARE] Add a fixed service-name for OOB passphrase-protected data-path

PMK generation from Passphrase uses passphrase + service name + PMI.
However, service name is not available for OOB setups. In such a case
use a fixed string.

Bug: 38171946
Test: unit tests + existing integrated (sl4a) tests
Test: CtsVerifier still fails - but a separate issue
Change-Id: Ic1d92438b242aa1264c0589af8ad333c172a2cbf
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
0b31edb987c0552b75667e05f0d589937a16f1ad 24-Apr-2017 Etan Cohen <etancohen@google.com> [AWARE] Fix race condition of Aware state machine & HAL

The Wi-Fi Aware HAL was started before the Aware state machine
was ready. In case where the HAL was able to obtain a handle on
the NAN interface it would attempt to enable Aware through the
state machine - resulting in an NPE.

Added an explicit start method to the Aware HAL which is called
in order.

Bug: 37613363
Test: unit tests and integration (sl4a) test
Change-Id: I66698bd926ca5d4bdb19b3025ed2f26c61028d21
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
b44557082dfab11dcd4b4344dfa6de7259058297 24-Apr-2017 Etan Cohen <etancohen@google.com> [AWARE] Fix crash of system service due to race condition with Aware

Aware service registers for callback with HalDeviceManager before it is
fully initialized.

This CL fixes the crash but not the underlying bug - will be fixed in a
subsequent CL.

Bug: 37613363
Test: builds
Change-Id: Ic6d77157a2287abcb7a31cf2aa4a98e253792bd6
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
fed87ea776ae79754b001a0a8cf5cd7d6a312139 30-Mar-2017 Etan Cohen <etancohen@google.com> [AWARE] Implement custom network specifier

Implement support for Wi-Fi Aware custom network specifier.
Simplifies code (no string parsing) and provides infrastructure
for additional controls on network matching (to be added later).

Bug: 36275276
Bug: 36053921
Test: unit tests and integration (sl4a) tests.
Change-Id: If526f80f3d0a76002b0b5f8a013f8d188b14e456
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
31389a22a6f12b12cca89d53b5f9f80fdcd76385 21-Feb-2017 Etan Cohen <etancohen@google.com> [AWARE] Add data-path security configuration (Passphrase)

Add support for Passphrase-based security.

Bug: 33552694
Test: unit tests and integration (sl4a) tests
Change-Id: Id883367f79ca38501e8670097a31245f048e5d71
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
69eb934f563ac0099113bf24587c729df25b15bf 21-Feb-2017 Etan Cohen <etancohen@google.com> [AWARE] Add data-path security configuration (PMK)

Modify the data-path configuration to use the (optional)
PMK to configure security on the data-path.

Remove the old 'token' usage. While that information is
available from the HAL it doesn't provide any security
functionality.

Bug: 33552694
Test: unit tests and integration (sl4a) tests
Change-Id: I0d0aedc7f00405d7325d7af016666c51669653d4
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
86e4c343394565f8e59e02d25334589f96de38f0 25-Feb-2017 Etan Cohen <etancohen@google.com> [AWARE] Data-path negotiation update

Complete the data-path negotiation cycle. Add
responder-side code to respond to initiator
and check for errors in data-path negotiation.

Bug: 33552694
Test: unit tests and integration (sl4a) tests
Change-Id: I06f17658e244617cc7fb4cb3788f45fbe3542609
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
49a847941e08faec5901d4824040a522b773ef83 15-Feb-2017 Etan Cohen <etancohen@google.com> [AWARE] Pipe discovery window period configuration to HAL

Discovery window period configuration was added to ConfigRequest.
Pipe the information to the HAL (HIDL) API.

Bug: 33552536
Test: integration (sl4a) tests
Change-Id: I1570f98650cc5dbb51d9e722088f9f13931474cd
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
26f57d4921a2390f90d4bf474cb76ec3761d6c69 04-Feb-2017 Etan Cohen <etancohen@google.com> [AWARE] Send message: error code handling

Send message operates by queueing messages to the firmware
and then reacting to the status of the queue and the actual
over-the-air transmission.

Added:
- Code to handle immediate queueing failure (need to be more
concerned with transition to HIDL - likelihood of immediate
errors increased, e.g. due to service failure).
- Code to differentiate QUEUE FULL error code from other firmware
errors.
- More robust testing framework: including a model of the device
and randomized responses.

Bug: 29061728
Bug: 29459286
Test: unit tests + integration (sl4a) tests
Change-Id: I218ec9b9107fae0efc7299341ad02e19034d2f09
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
5254a256676974e9db86fcb86b2f41af7d4a59f5 01-Feb-2017 Etan Cohen <etancohen@google.com> [AWARE] Handle HAL failure correctly

HAL calls may fail asynchronously or synchronously. The frameworks finds
out about async failures through notification callbacks - already handled.
The synchronous failures happen immediately on HAL API calls. These are
rarer and have not been handled until now. Add code to handle the sync
failures - by calling appropriate failure callbacks. Add unit tests.

Bug: 29061728
Test: unit tests + integration (sl4a) tests pass.
Change-Id: I7ad35c989aa146f74eaad4eaa781d2e628586846
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
db3c9d35a7f08de03beec81e801d917a5375f63e 30-Jan-2017 Etan Cohen <etancohen@google.com> [AWARE] Wi-Fi Aware HAL: move to HIDL

Transition from JNI-based HAL to HIDL-based HAL.

Bug: 32315992
Test: unit tests + integration (sl4a) tests passing
Change-Id: I8deeaa501b90b1b2a92c3f57a7e0251f21cc40ff
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
66c17d08de5b28134f172317c87132d1818f30f0 20-Dec-2016 Etan Cohen <etancohen@google.com> [AWARE] Simplify Wi-Fi Aware API namespace

Simplify Wi-fi Aware API namespace. Rely on project and remove WifiAware
prefix from most classes.

(pure rename operation: no functional changes)

Bug: 31470256
Test: unit-tests + integration (sl4a) tests.
Change-Id: I2a3de693ba0945300f973ab66fec195077568d79
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
d45abba86c33bd93863fc9d8f7c84ca28deb17b2 14-Dec-2016 Etan Cohen <etancohen@google.com> [AWARE] Use WifiInjector in WifiAware library

Convert the WifiAware library to use the WifiInjector.
- Reduces use of reflection to configure unit tests
- Lays the ground work for merging all Wi-Fi handler threads

Bug: 27924886
Test: boots & unit tests passing
Change-Id: I43f1896182a64bc89249e49b6e2bbce238f68f82
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
69689c0657d0b6c7a2616ff9a55ecae15d1f084d 10-Nov-2016 Etan Cohen <etancohen@google.com> [AWARE] Update framework code for simplified HAL error codes

HAL error codes have been simplified (fewer) and a description
string (vendor-specific) added. Update framework code to use the
new error codes and log the description string.

(cherry-pick of commit 53007ea43c28fb700e37ba1fa74dc51953d5be71)

Bug: 27914592
Test: unit tests + integration tests passing
Change-Id: Ifb8d1c694e4ca72ecc0c4fe60c180b8a189f43d7
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java
c29acea6ceda3aa4ee537c05ce7d05dac2655cf9 26-Oct-2016 Etan Cohen <etancohen@google.com> [NAN-AWARE] Rename NAN to Aware

Rename only (and any reformatting needed to pass lint) - no
functional changes!

(cherry-pick of commit a61b9fb569153917a650f1d48efa20ba8846a9f3)

Bug: 32263750
Test: All unit tests and integration (sl4a) tests pass.
Merged-In: Idd8d0ad8d1fa1058c1bcd0de169a02e1fad9d070
Change-Id: I761b8f5b588d74eea66d7150a2f9a1e1ac5c1dfd
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/aware/WifiAwareStateManager.java