1223 Commits

Author SHA1 Message Date
Paul Stewart
d292ed866c Merge "WifiManager: Remove static objects" into mm-wireless-dev 2016-03-14 14:13:34 +00:00
Paul Stewart
a016ebbee7 WifiManager: Remove static objects
Thanks to b/24334032, we know that there can be more than one
WifiManager object per process.  Also, due to b/19159232 we know
that holding static references to contexts within WifiManager is
not okay.  This CL addresses both issues by correctly implementing
Wifimanager as the per-context CachedService as it is instantiated
in SystemServiceRegistry.

To do this, all previously static object members of WifiManager
are converted to non-static.  This is primarily safe since:

  - In processes which only instantiated WifiManager from a single
    context, the behavior is functionally identical between the
    static and non-static implementation.

  - In situations where multiple WifiManager objects were created,
    this is not a real issue:

    + sListenerKey is okay to be tracked per-instance since it
      only tracks replies for asynchronous outgoing calls for a
      single WifiManager instance (replies are not multicast to
      all instances within a pid, since replies from
      WifiServiceImpl are addressed to the other end of the
      AsyncConnection the request message came from).
    + The same is true of sListenerMap and sListenerMapLock
    + Having a per-WifiManager-instance mAsyncChannel is at worst
      a small linear increase with the number of contexts that
      use WifiManager, but for the vast majority of processes will
      not be an increase at all.
    + Having a thread per WifiManager is something that has been
      brought up in the past (b/25644527 comes to mind).  I think
      we should continue to track that particular problem there.

One static was added: an sServiceHandlerDispatchLock which ensures
that listeners from multiple ServiceHandler threads will be called
sequentially instead of interleaved.  Since ServiceHandler was
previously static, this preserves the behavior where multiple
WifiManager objects would not deliver callbacks in parallel.

BUG=19159232
BUG=24334032

Change-Id: I24125a285f97e0c5b3ca4fd721ba8ed19aa245e9
2016-03-08 09:57:06 -08:00
Glen Kuhne
45eb1bdf87 Merge "Added EIDs for ERP, Supported & Extended Rates" into mm-wireless-dev 2016-03-08 16:48:35 +00:00
Roshan Pius
d412376ca0 Merge "WifiScanner: Add hidden networkIds in scan setting" into mm-wireless-dev 2016-03-07 22:44:08 +00:00
Lorenzo Colitti
2a3ca73158 DO NOT MERGE: Move PinningNetworkCallback out to a new NetworkPinner class.
Cherry-picked from 531a34430072b9296aaeb47d9e7d04326a93fee4

Bug: 19159232
Change-Id: Ic366b53259ee5944a8e864876425a6558c0a7216
2016-03-07 10:34:32 -08:00
Glen Kuhne
bff37ecdaa Added EIDs for ERP, Supported & Extended Rates
Added EIs to InformationElement to support the parsing of Supported
Rates, Extended Supported Rates, and ERP.

BUG=25691077
Change-Id: Ie540e94f9aa0dca11c3b1d6a46c5a638ec958cff
2016-03-07 08:54:07 -08:00
Roshan Pius
49b6f19ded WifiScanner: Add hidden networkIds in scan setting
Add the hidden networkId list in scan settings to be used for
connectivity scans.

BUG: 27503786
Change-Id: Ibe7eaccd84d03a7b48728e3ea1d98ccc974377ec
TEST: Compiles & unit-test passes
2016-03-06 20:22:11 -08:00
Roshan Pius
e4fd150962 WifiScanner: Add PNO public API
Add the public interface for starting/stopping PNO scan.

This is the internal flow that is going to be used for PNO scan:
1. Set Pno list
2. Start background scan

This flow will not work as is for supplicant, since background scan is
done manually today. So, we'll need a flag to indicate that this
background scan is targetted for PNO.

BUG: 27167559
Change-Id: I3f6921c5d03f7d9e8ad1847e57e12fb38df6c9c9
TEST: Compiles & unit-test passes
2016-03-04 13:37:48 -08:00
Mukesh Agrawal
7516adbd6d Merge "WifiConfiguration: show more detail in toString()" into mm-wireless-dev 2016-03-03 21:15:18 +00:00
Jeremy Joslin
3f7314e331 Merge "Revert "New systemapi to mark a wifi network as metered."" into mm-wireless-dev 2016-03-03 16:49:28 +00:00
mukesh agrawal
e23993848c WifiConfiguration: show more detail in toString()
When debugging WiFi issues, it's helpful to know whether
or not a network uses a hidden SSID. Update
WifiConfiguration.toString(), to provide this information.

BUG=26836097
TEST=capture bugreport, verify "HIDDEN: false" is present for normal net
TEST=capture bugreport, verify "HIDDEN: true" is present for hidden net

Change-Id: I1f7c587fc2eda358e0868e9a7ef0bb2058e726a8
2016-03-03 03:06:05 +00:00
Jeremy Joslin
e9e6083ee1 Revert "New systemapi to mark a wifi network as metered."
This reverts commit 7a598d3d800fc47b7c2f9300411edc0ef06da493.

Change-Id: Ib6b9081ee4ded7582fb90d7a9066de95ab221f61
2016-03-02 22:16:27 +00:00
Randy Pan
366da67282 Retire ScanResult.autoJoinStatus
This attribute is no longer in use.

Bug: 27340037
Change-Id: I2e5dfdc266673388a55ef34a4d088352d2e1723c
2016-02-24 16:51:05 -08:00
Etan Cohen
ad3693d59b [NAN] API cleanup - rename FLAGS. [DO NOT MERGE]
Per API guidelines - non-overlapping constants can be (should be)
named with "FLAG".

Bug: 27122760
Change-Id: If8b2c0f9b2818215a64b5635e76731c8fdfd3b8d
2016-02-23 16:44:09 +00:00
Roshan Pius
2d3bea7f01 Merge "Modify the wake reasons data structure(2/2)" into mm-wireless-dev 2016-02-23 16:08:25 +00:00
Wei Wang
3c0d65de0b Merge "Disallow duplicate listeners for WifiScanner." into mm-wireless-dev 2016-02-23 05:09:38 +00:00
Glen Kuhne
70fc162330 Merge "Add EID_TIM to ScanResult.InformationElement" into mm-wireless-dev 2016-02-19 21:35:10 +00:00
Glen Kuhne
b6cd6fa5a7 Add EID_TIM to ScanResult.InformationElement
Added EID_TIM to enable parsing of TrafficIndicationMap
InformationElements.

BUG=25691077
Change-Id: I99450f0b720175660486da15d6b13affbdb61adc
2016-02-19 10:54:51 -08:00
Roshan Pius
13f378e738 Modify the wake reasons data structure(2/2)
Changes in the android framework to use the modifed HAL API to
fetch the host wakeup reasons from the driver.

BUG: 26902794

Change-Id: I4df53c00b6b4ffd9f9ddb45577f6bccf150c43e4
2016-02-19 08:15:45 -08:00
Paul Stewart
274042519d Properly map EAP-GTC for TTLS
The "auth=GTC" method was never valid for the TTLS outer
authentication for wpa_supplicant.  Instead, to perform
GTC authentication within TTLS, we should use EAP-GTC.

This CL performs this mapping within WifiEnterpriseConfig.
It accomplishes this by making the EAP Method and Phase 2
Method parameters a part of the internal object state
instead of maintaining this value within the mFields
hashmap.

Further, the problematic "getFields" method is removed
since as this actually provided read/write access to the
entirety of the WifiEnterpriseConfig's internal state.
This was understandably suboptimal.  All callers have
been updated to either use getFieldValue() or to call
a newly added getSupplicantFields() / setSupplicantFields()
methods which make the WifiEnterpriseConfig object a sole
arbiter for the mapping between its internal state and
wpa_supplicant.

In the future it might be good to change this logic to
strip WifiEnterpriseConfig of all of the string hashmap
entirely, leaving WifiEnterpriseConfig as a "struct"
and move supplicant mappings to WifiConfigStore.

Bug:26400915
Change-Id: I866e2f77ad53d9a51c5f61acb9adef522661f721
Test:runtest frameworks-wifi # New unit test in the same topic
Test:cts-tradefed run cts -d --class android.net.wifi.cts.WifiEnterpriseConfigTest
2016-02-19 07:10:31 -08:00
Wei Wang
0db6066c7b Merge "Add Java API for secure RTT protocol." into mm-wireless-dev 2016-02-19 09:22:44 +00:00
Wei Wang
3cf4da9886 Disallow duplicate listeners for WifiScanner.
Bug:26663377

Change-Id: I2eea0fd3532c45f493aad7c0d5c28bda07f5bfed
2016-02-19 01:12:34 -08:00
Etan Cohen
0d0f0c7faf [NAN] Renamed listeners to callback per API guidelines [DO NOT MERGE]
The interfaces had multiple functions and are hence callback
and not a listener.

Note: purely a rename operation.

Bug: 27122760
Change-Id: Ib12711f56a64052455843859125d72268c465fc0
2016-02-18 23:48:59 +00:00
Etan Cohen
e4c50de752 [NAN]: API update - consolidate Puslish|Subscribe Data+Subscribe -> Config [DO NOT MERGE]
Simplify configuration and consolidate structures whose difference
wasn't very clear.

Bug: 27122760
Change-Id: I0651cade71eb146d9ea9219baf6d2253588db3de
2016-02-18 23:46:01 +00:00
Wei Wang
71210b1022 Add Java API for secure RTT protocol.
Change-Id: I1c012f9e92e8b2af332524363f8f0c9921bf4bb5
2016-02-18 13:07:43 -08:00
Etan Cohen
aa36f07194 NAN: Support multiple instantiation per UID - introduce a client ID. [DO NOT MERGE]
Add the concept of a client ID which is used to identify a specific
(one of several) clients in all API calls.

Bug: 26962024
Change-Id: I43f13d51bee8b57c6d0ba1174168288b8d6c21c5
2016-02-18 20:57:44 +00:00
Mitchell Wills
07e27b7541 Merge "Remove REPORT_EVENT_CONTEXT_HUB gscan option" into mm-wireless-dev 2016-02-17 20:30:56 +00:00
Peter Qiu
03d7581cf6 Merge "WifiConfiguration: add constants for radio band" into mm-wireless-dev 2016-02-16 18:04:14 +00:00
Peter Qiu
d667616659 WifiConfiguration: add constants for radio band
Change-Id: I2287ffb3d93351d73659327cef37a6d3ecd588b3
2016-02-12 08:50:05 -08:00
Bartosz Fabianowski
00144e8de3 Remove wifiConfiguration.isVisibleToUser()
This method seemed like a good idea at the time (quickly check whether a
network configuration is visible to a given user). However, once managed
profiles come into play, this simple method is no longer appropriate.
There is a more comprehensive replacement at
com.android.server.wifi.WifiConfigurationUtil.isVisibleToAnyProfile()
now and this method here can go.

BUG:26867426

Change-Id: Ia66aa6f74003a16eca24c5088d3aba8e0c9f8140
2016-02-12 11:12:45 +01:00
Etan Cohen
7d6c389edf NAN: Disable all DBG flags.
Change-Id: Ib60cf3c9fd4c8dbf973e118d94340fbfd890a738
2016-02-11 15:00:57 -08:00
Paul Stewart
4e9e3d02e0 Merge "WifiManager: Return empty scan list on remote exception" into mm-wireless-dev 2016-02-11 20:01:18 +00:00
Paul Stewart
ed9297991a WifiManager: Return empty scan list on remote exception
In the (hopefully rare) situation where there is a remote exception
from a call to getScanResults(), do not pass null back to callers.
Nobody expects this, and failures that occur as a result can distract
from the real problem (e.g., the system server crashing).  This CL
now returns an empty list.

BUG=27139097
TEST=None

Change-Id: I637eae1fa8ac1a1bc2b76dea8628359b5dec06e1
2016-02-11 11:16:17 -08:00
Jeremy Joslin
7a598d3d80 New systemapi to mark a wifi network as metered.
The implementation will come after the wifi code base has stablized.

BUG:27120794
Change-Id: I6a8140dae45dcd7ec70ac0c51b9513b907a41b63
2016-02-10 17:20:22 -08:00
Mitchell Wills
5a982939d2 Remove REPORT_EVENT_CONTEXT_HUB gscan option
Since all scan results will now be reported to the context hub this flag
is no longer needed.

Change-Id: I21c157a31fe26169606f6f53e8e0ce44d57c5ca5
2016-02-10 14:37:27 -08:00
Ritesh Reddy
c4a1188afd Merge "Enabling SoftAP Configuration Backup." into mm-wireless-dev 2016-02-10 17:48:31 +00:00
Randy Pan
2750b41d0b Merge "Add RSN Information Element ID" into mm-wireless-dev 2016-02-09 19:13:33 +00:00
Samuel Tan
8629390701 Merge "WifiEnterpriseConfig: allow getting and setting of ca_path" into mm-wireless-dev 2016-02-09 18:18:05 +00:00
Jan Nordqvist
cf132a1bbc Merge "Fixed bad auto-generated method name." into mm-wireless-dev 2016-02-09 17:24:21 +00:00
Wei Wang
03a6b18350 Merge "Enable RTT Responder Role (1/4)." into mm-wireless-dev 2016-02-09 01:07:34 +00:00
Ritesh Reddy
aeb4c06013 Enabling SoftAP Configuration Backup.
SoftAp Conf is backed up as a serialized WifiConfiguration
object.

Change-Id: Ib7f4d130600313a67b710b45df274e15f0baad24
2016-02-08 10:33:13 +00:00
Etan Cohen
02033f800b Merge "NAN: for failed configurations - added configuration which failed." into mm-wireless-dev 2016-02-05 18:27:08 +00:00
Jan Nordqvist
afebe357fb Fixed bad auto-generated method name.
Change-Id: Ic60b0658f0b6a6e06dc9cf82299fe95bbd308972
2016-02-05 17:16:04 +00:00
Randy Pan
c0e86b2e90 Add RSN Information Element ID
Bug: 26908033
Change-Id: I9d7aa7642c51ea59a58e8facc8ad7af681c32b23
2016-02-04 14:56:13 -08:00
Jan Nordqvist
7a504417f2 Fixed bad serialization code in ScanResult.
Bug: 26964162
Change-Id: Ie9ad65936ab5173533773e5a711bcb81799acfb5
2016-02-03 15:00:57 -08:00
Wei Wang
564527dc5a Enable RTT Responder Role (1/4).
Change-Id: Ic1cd9056b3ebc67759d628a45b34287e5b0320b6
2016-02-03 11:32:50 -08:00
Vinit Deshpande
a772f0cf34 New System APIs for Passpoint r2 app.
Change-Id: I09428e9a393999f43aefe5efd77cffe4b1b17da5
2016-02-03 11:28:21 -08:00
Etan Cohen
8340beca62 NAN: for failed configurations - added configuration which failed.
Bug: 26880665
Change-Id: I3c43edfc1a6ba43d7cc393a00c4f41fd2e245f2d
2016-02-02 16:30:16 -08:00
Samuel Tan
c136cf9539 WifiEnterpriseConfig: allow getting and setting of ca_path
Add getters and setters for WPA supplicant's ca_path directive.

BUG: 26879191
Change-Id: Iad2857ddf7f09dd918637f99f740932e1fb7187c
TEST: WifiEnterpriseConfigTest CTS test
2016-02-02 15:57:31 -08:00
Mitchell Wills
934b3b9c6c Merge "Add a hidden anqp field to ScanResult" into mm-wireless-dev 2016-01-29 23:33:50 +00:00