History log of /frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3135402748487080c61e34b08cc2ab4991e52a56 01-Jun-2018 Etan Cohen <etancohen@google.com> Revert "[HDM] Add API to check for STA+AP concurrency"

This reverts commit 5a2a9e11a8f3f4d82e9d451a2fe06eba9e8b39fc.

Reason for revert: API only functions if Wi-Fi is on - otherwise it returns incorrect information.

Bug: 80251951
Test: N/A
Change-Id: I847b394816252b417158f5c83d3b3c3efc14aabb
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
5a2a9e11a8f3f4d82e9d451a2fe06eba9e8b39fc 25-May-2018 Etan Cohen <etancohen@google.com> [HDM] Add API to check for STA+AP concurrency

Add API which checks for availability of STA+AP concurrency (>0 STAs
and >0 APs).

Bug: 80251951
Test: unit tests on 4 chip configurations
Change-Id: I966c522f5a629849ed235803bbb18f1f3e075534
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
09f8a2202ec9c0b6982daa35e90bc3e71d9d06b9 02-Mar-2018 Etan Cohen <etancohen@google.com> [HDM] Add concept of low priority interfaces

Add low priority interface request mechanism (API exposed only for STA,
but applicable to any).

Low priority interfaces:
- Will not be created if any other interface needs to be destroyed (even
another low priority interface)
- Will be destroyed for any interface request

Bug: 74078114
Test: unit tests
Change-Id: I7f96258779501ccf1981ca8c3e4ddbe631a9bd17
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
7dadc4d68ea820779ec513073347890b842a6f9c 02-Mar-2018 Etan Cohen <etancohen@google.com> [HDM] Pipe through argument to create low priority STA (scanning STA)

Add argument to specify creation of a low priority STA (scanning STA)
or not (normal STA). The CL only adds the argument and modifies all
calling code and test code.

No functional change in behavior!

Bug: 74078114
Test: unit tests pass
Change-Id: Ic4f5c153dd3a4dd68930b40f5e2cd25315f91a90
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
f889b032189894962c283b003f9f63fadde4c592 02-Mar-2018 Etan Cohen <etancohen@google.com> [HDM] Create new TestChip configuration for STA + AP, STA + (NAN||P2P)

Add unit tests to verify the "STA + AP, STA + (NAN||P2P)" configuration.

Bug: 74080283
Test: unit tests pass
Change-Id: I86230c1ebb3e0ce19b5d86b0cdcff2600a623232
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
776132d6c856d8869c026fc87e51366acf5225ae 05-Dec-2017 Etan Cohen <etancohen@google.com> [HDM] Interface availability semantics change to call on change

Modify the interface availability listener semantics:

WAS: call any time interface is available

NOW:
- Called on interface available or not available
- Only called if that specific listener was not called before
or called with a different value

Bug: 69863101
Test: unit tests, integration time, manual test
Change-Id: I152ce8d813194f4fb178a1e9b73cf9e1b6815cb7
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
a306b5648b07d863e3f218781e59a57c2e427e4b 19-Dec-2017 Roshan Pius <rpius@google.com> HalDeviceManager: Use name + type for interface cache

IWifiNanIface & IWifiStaIface uses the same interface name. So, using
just the interface name to key into the interface cache leads to the
wrong interface being deleted from the internal cache.

Bug: 70811488
Test: Modified Unit tests to reflect the interfae naming scheme used
on Pixel devices (i.e sta0 = wlan0, nan0 = wlan0, ap0 = wlan0, sta1 =
wlan1).
Change-Id: Idb6a46146a710f2ea79109c213c47c4b13b1e03b
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
c796d1845c04f83b3f7c38b9778123d2dff5b683 01-Dec-2017 Etan Cohen <etancohen@google.com> [HDM] New chip configuration: priority updates & tests

Add support and test code for chip configuration:
- STA + (STA || AP)
- STA + (NAN || P2P)

Update priorities to specify that any but 1st interface (e.g.
second STA, second AP) have the lowest priority and can be
removed for any other interface.

Bug: 69863101
Test: unit test
Change-Id: Id98907b192da8a6a13c8f837942f6e0b76981058
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
555837e6c385b7b3350230b2a5b9b6113086aba7 28-Nov-2017 Roshan Pius <rpius@google.com> HalDeviceManager: Allow synchronous callbacks

Changes in the CL:
a) Passing 'null' for handler in any of the callbacks will now result in
the callback being invoked directly in the context of the client
triggering the change.
b) Added annotations to the various arguments to specify which of them
can be null or non-null.
c) Revert the old mechanism of queing the destroy callbacks in front of
the handler.

Bug: 69797565
Test: Unit tests

Change-Id: I639c514d334117b9738bc31e3fe0ccffbb435123
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
968a755132c525e5e1f1224a05eef7a58809fbd9 20-Nov-2017 Roshan Pius <rpius@google.com> HalDeviceManager: Send iface name in destroyed listener

This will help clients managing mulitple ifaces to map the iface
being destroyed.

Bug: 69562278
Test: Unit tests
Test: Device boots up and connects to wifi networks.
Change-Id: I87b57b68c8df7402f7b31d5b855a778a0634807a
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.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/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
5d3b40466d9db68b1c282f3bbd714353ed207a98 28-Oct-2017 Etan Cohen <etancohen@google.com> [HDM] Add rules to supports STA+STA and STA+AP

Add priority rules for STA+STA and STA+AP use-cases:
- Don't permit a STA||AP to destroy a STA||AP if another interface of
the same type exists. E.g.
- STA+AP and get a STA request -> rejected (STA already exists)
- STA+STA and get an AP request -> accepted (no AP)
- When selecting interfaces to be destroyed, destroy the most recently
created ones first

Add test cases to cover the new use-cases.

Bug: 68381183
Test: unit tests
Change-Id: I9a9dc54e2eacd7a3cc680951102e9ef15b6ab38b
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
1b5a160b60933487326ffd7e025cabe2bc10f253 28-Oct-2017 Etan Cohen <etancohen@google.com> [HDM] Add test chip 2 configuration - based on expected future chips

Add another test chip configuration and run baseline tests (the common
tests).

Bug: 68381183
Test: unit tests
Change-Id: I2207765c2ef8b22822c57b617c857a0bc409e66a
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
9d5b1898eee58c3dd612efbd198c35bf38c6513d 27-Oct-2017 Etan Cohen <etancohen@google.com> [HDM] Reorganize unit test

Re-organize unit test to clarify:
- Tests of HDM itself
- Tests of a specific chip but which should be run the same way on
every chip
- Test which are specific to a chip and cannot be run as-is on other
chips

No actual change to tests.

Bug: 68381183
Test: unit tests pass
Change-Id: Ia164b6b3eca95d48ff59ec31796c9ef71c5c1d3d
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
5fe35a364ebe279a7b0022eb14584e62d9c52d8e 27-Oct-2017 Etan Cohen <etancohen@google.com> [HDM] Rename BaselineChip -> TestChipV1

Rename only. Ease subsequent additions of new test chips.

Bug: 68381183
Test: unit tests pass
Change-Id: If4bfd7b7d27586cad7b4fbf360f3b1d874d16e68
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
7e91548e461e52af8e78ba2e968395caf29b55bf 02-Aug-2017 Roshan Pius <rpius@google.com> RELAND: HalDeviceManager: Get IWifi proxy immediately

Try to get IWifi proxy as a part of HalDeviceManager.initialize()
directly instead of waiting for the IServiceMAnager callback.

When HalDeviceManager.initialize() is invoked:
a) If the wifi service is up at that point, we will get the proxy immediately
and IServiceManager callback will be ignored.
b) If the wifi service is not up at that point, we will get the proxy as a part
of the IServiceManager callback.

Bug: 64226605
Test: Unit tests
Test: Regression test request.
Change-Id: I3d6b89edb3f446bb39984d1ebb3caeb53011bec9
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
30f34829e0e7e49dc09c897c72dd0ded7d9805eb 13-May-2017 Roshan Pius <rpius@google.com> WifiNative: Add VINTF check for vendor HAL

Currently, we're ignoring HAL start failures to support devices like
gce, hikey which did not have any vendor HAL support previously.

To solve that problem:
1. Remove the Vendor HAL daemon (HIDL shim) from such device's
device.mk.
Handled by other CL's in the topic.
2. Add the Wifi HAL's to the VINTF (manifest.xml) on all devices which
has the Vendor HAL daemon running. (Unfortunately, there is no automatic
translation from the module missing in device.mk to manifest.xml
currently).
Handled by other CL's in the topic.
3. Use the HalDeviceManager to query the VINTF to figure out if the
Vendor HAL is present on the device or not.
4a. If the Vendor HAL is not supported, ignore start/stop calls.
4b. If the Vendor HAL is present, report failure if start/stop fails.

Also, fixed a few invalid mock expectations set.

Bug: 36886769
Test: Device boots up and connects to wifi on 2017 devices.
Test: Unit tests.
Change-Id: Ia3d90c8fafe2f8c156c843f5f47b94deaabe5a56
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
3895a16e00aa5899e90c014566e4fe33a63e3619 29-Apr-2017 Ningyuan Wang <nywang@google.com> Add retry logic for wifi Hal starting failure

This add the retry logic for starting the wifi HAL because
wifi HAL might still be in the process of stopping.

Bug: 37681479
Test: compile, unittests
Test: manual test toggling the hotspot mode quickly

Change-Id: If87d8a0ebdcdf8a0aca233808b9d84393d21f738
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
e450fe1a611e4dcf05046a6aa0df0bc8300cba61 14-Feb-2017 Etan Cohen <etancohen@google.com> [HAL Device Manager] getSupportedIfaceTypes() mod to never return null

Change the semantics of HalDeviceManager.getSupportedIfaceTypes so
that it never returns null. It now always returns a Set<IfaceType> -
possibly an empty set.

Cleaner than clients trying to figure out error conditions.

Bug: 35101185
Test: unit tests (including new one for error)
Change-Id: Icdff4192b3b7dc5901110e243a0a021a1593c01b
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
307acde0b29838b817a4fd3659a46c22be0ea314 10-Feb-2017 Etan Cohen <etancohen@google.com> [HAL Device Manager] API to return available interfaces

Return the set of interfaces supported by the device (all
chips) or a particular chip.

Bug: 35101185
Test: (new) unit tests
Change-Id: I02c7efd0ec1c11aa2301fe7192d202ce40053f24
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
d857cf147e21018690e12e7ae4f84c692a63b091 31-Jan-2017 Etan Cohen <etancohen@google.com> [HAL Device Manager] Minor clean-up of unit tests

Remove duplicate in-order object initialization. Only
use global in-order verifier.

Bug: 34474043
Test: unit tests pass (before and after)
Change-Id: If3fb10ad5ec8a59a5c8a7bf2139e686a0cced68e
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
a5dc1667f752dc2446e6de12279614a4fd9e2fe2 30-Jan-2017 Etan Cohen <etancohen@google.com> [HAL Device Manager] Stop Wi-Fi if (re)started

When getting notification that Wi-Fi service is started
we don't know if this is a re-start of the service or
potentially of the framework itself. If the framework is
restarted then it is possible that the state of the service
and framework are out-of-sync.

Therefore, on every service restart make sure to reset it by
stopping Wi-Fi.

Bug: 34474043
Test: unit tests
Change-Id: I5968598756cae3c1181659ef153b36cada7c2c16
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
448a7b6b7b16cf39ed25729ceaf61edb30368567 27-Jan-2017 Etan Cohen <etancohen@google.com> [HAL Device Manager] Available for request API + STA/STA request bug

Updated available for request API:
- Simple register/unregister API
- Will be called immediately on registration (if valid)
- Will be registered until unregistered
- Only a single copy is kept (duplicates detected)

Fixed issue whereby the requested interface wasn't counted toward
the total of required interfaces. So with only one STA allowed, a
second STA would have been allowed.

Bug: 34474043
Test: unit tests pass (with new unit tests added)
Change-Id: Ic19731b66a609b828cda07f8065ef27ead077b2d
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
3145bb4d3359647cccd9b4aba1734066f36bb2e6 26-Jan-2017 Etan Cohen <etancohen@google.com> [Wi-Fi HAL Device Manager] Status callback semantics change

Change behavior of status callback/API:
- Listener provides a status change only (onStatusChange)
- Triggered when Wi-Fi is started or stopped
- Triggered when Wi-Fi HAL service dies or restarts
- API for
- isStarted(): indicates if Wi-Fi is started or stopped
- isReady(): indicates if Wi-Fi HAL service is alive

Bug: 34474043
Test: unit tests
Change-Id: I8babb00ea8a2c8c485d1661255644434f0787d8e
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
5e9a23e2472ac7ba67924b8a8f79dff9f6e5e186 25-Jan-2017 Etan Cohen <etancohen@google.com> [Wi-Fi HAL Device Manager] Comments/nits

Update naming and comments per original CL reviews.

Bug: 34474043
Test: unit tests passing
Change-Id: Ie32df5e2910d1b6c6efeecf7a2134653521ced51
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
d887e5c6bf4abf2f098ea6f087e717e29c551548 23-Jan-2017 Etan Cohen <etancohen@google.com> Wi-Fi HAL Device Manager: implement available for request logic

Added code which dispatches the 'available for request'
listeners.

Bug: 34474043
Bug: 34633162
Test: (new) unit tests pass
Change-Id: I77074a3dc59fafff0688c921ca8ca4156ca68d1f
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
a78e7cf8de28fd836f7a111e39e7d7e7005bf942 23-Jan-2017 Etan Cohen <etancohen@google.com> Wi-Fi HAL device manager: implement coordination logic

The coordination logic for the HAL device management: uses
chip information and hard-coded interface priority to determine
interface creation decisions:

- Changes mode
- Destroys interfaces (dispatches listeners)
- Creates new interface

Unit tests based on the current default chip configuration.

TODO: dispatch interface available for request listeners.

Bug: 34474043
Test: (new) unit tests pass
Change-Id: I5d2e865baac7e9948aad6d8f607757b8db485952
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java
dd4dcab629d1045b08f58f699a4a09ecc8cd23e3 20-Jan-2017 Etan Cohen <etancohen@google.com> Wi-Fi HAL device manager: baseline for init/start/stop

Wi-Fi HAL device manager. All Wi-Fi services should use this
manager to start/stop and monitor status of Wi-Fi.

Baseline: will be extended to coordinate interface.

Bug: 34474043
Test: unit tests
Change-Id: I3846cb57f301bcd91534f1b5943d996f4c84ed63
/frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/HalDeviceManagerTest.java