• Home
  • History
  • Annotate
  • only in /frameworks/opt/net/wifi/service/java/com/android/server/wifi/hotspot2/
History log of /frameworks/opt/net/wifi/service/java/com/android/server/wifi/hotspot2/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8f4f48b96b690aa099f85aad7a361cf39e431f42 01-May-2017 Peter Qiu <zqiu@google.com> hotspot2: update method name for timestamp related APIs

Bug: 37514629
Test: build
Change-Id: Ib8ade875bd51df6b8fd0f1acb6b730cc545aa084
asspointXmlUtils.java
140de55c011751c1add7644425d4bd87fa3e0e68 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "hotspot2: fix parsing of IMSI from legacy Passpoint config file" into oc-dev
ab83ab09b554e4012af5cf439efe081504a29b88 03-Apr-2017 Peter Qiu <zqiu@google.com> hotspot2: fix parsing of IMSI from legacy Passpoint config file

The parsing of IMSI form the legacy Passpoint config file is incorrect.
The IMSI field is under "Credential/SIM" node instead of "Credential" node.

Bug: 36531896
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: manual upgrade device with EAP-SIM Passpoint profile from N to O
Change-Id: If6ff9facfb380def84818a4c03c80c0bad4c08a9
egacyPasspointConfigParser.java
07816a4745b8030911869ceb58fa735e47834fe4 03-Apr-2017 Peter Qiu <zqiu@google.com> [Reland] hotspot2: track creator UID for installed providers

This is purely for debugging purpose. It is not used for restricting
apps that can update/remove configs. Since for Passpoint configuration,
the app that's responsible for adding a config might not be the app
that's responsible for removing that config.

Bug: 36566563
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: verify Creator UID in the output of "adb shell dumpsys"
and the config store file

Change-Id: I5c651fb204b6e07c2b1d6324350d63d25a38c894
asspointConfigStoreData.java
asspointManager.java
asspointObjectFactory.java
asspointProvider.java
31eb1e8997a0ee98df33f6d8b3b907e0fcb070ed 02-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "hotspot2: request ANQP element for OSU Providers" into oc-dev
9eacd39e43a93090038e24b6145735408b774387 01-Apr-2017 Peter Qiu <zqiu@google.com> Merge "Revert "hotspot2: track creator UID for installed providers"" into oc-dev
f3fd8c5cdaa66dbaceecbe52a125a4657e0c68c4 01-Apr-2017 Peter Qiu <zqiu@google.com> Revert "hotspot2: track creator UID for installed providers"

This reverts commit 2e60a41775fc66f245e7413db72002aebe69e823.

Change-Id: Ifa60c015adb2bac7d91d000ea21e53d1217bb72f
asspointConfigStoreData.java
asspointManager.java
asspointObjectFactory.java
asspointProvider.java
27f71578063f5cf8bc500610091fdbf72cca4bae 01-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "hotspot2: track creator UID for installed providers" into oc-dev
968b1098f6389047b075abacbfa316a012c722a5 01-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "hotspot2: verify CA certificate before installing Passpoint provider" into oc-dev
bfeb0f81cfc23628978146cb84626cc20ef21b11 01-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "hotspot2: set domain_suffix_match for Passpoint network" into oc-dev
d6ba42b153a41a19c9ce4fb8e63abbe859ad67e9 27-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: set WifiConfiguration#isHomeProviderNetwork for Passpoint networks

When creating a WifiConfiguration for a Passpoint network, set
isHomeProviderNetwork based on the matching status, set to true
when matching a home Passpoint provider.

Bug: 36592220
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ibe0d9b2f19f9d563547788dba45cee9bcde6a233
asspointManager.java
asspointNetworkEvaluator.java
e8fd83b34e2d7e7ac275fef0baa1f33b9982a0b1 20-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: request ANQP element for OSU Providers

Ideally, we would only want to request OSU Providers ANQP element
when no provider is installed and request all elements when at least one
provider is installed. However, this would result in more complexity
on the cache management and the code.

Since the ANQP results will cached, the traffic hits should be minimized.
This can be optimized in the future if needed to.

Bug: 36174048
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ie948caf4f37b2ff206271bd1d34d14fc2061ead6
NQPRequestManager.java
asspointManager.java
f331a6bf511cc9d105a45219548d0ad3feab5a70 20-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: verify CA certificate before installing Passpoint provider

For Hotspot 2.0 Release 1, the provisioning method is not standardized,
so to improve security, the CA certificate must be trusted by one
of the pre-loaded public CAs in the system key store.

So verify the CA certificate if one is provided before installing
the Passpoint provider.

A utility class CertificateVerifier is created in order to easily mock
the certificate verification in unit tests.

Bug: 34460350
Test: manual test
Change-Id: I627ef9da2876ffbaf29aadb2d5b281c75ec1d145
ertificateVerifier.java
asspointManager.java
asspointObjectFactory.java
2e60a41775fc66f245e7413db72002aebe69e823 24-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: track creator UID for installed providers

This is purely for debugging purpose. It is not used for restricting
apps that can update/remove configs. Since for Passpoint configuration,
the app that's responsible for adding a config might not be the app
that's responsible for removing that config.

Bug: 36566563
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: verify Creator UID in the output of "adb shell dumpsys"
and the config store file

Change-Id: I66b744934c1643c6d66eb96d4ee437d6cc09fb52
asspointConfigStoreData.java
asspointManager.java
asspointObjectFactory.java
asspointProvider.java
2aa7cc7c13207c3afa3ef428ec1c8cdc1893c50c 24-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: set domain_suffix_match for Passpoint network

This is needed to be compliant with the Hotspot 2.0 spec,
was missed during the refactoring.

Bug: 36569007
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: Verify Passpoint network connections
Change-Id: Idf1c5ac565d48a38f87f2e2aba824c7cab8c9e9a
asspointProvider.java
17c2a7b30e5680b11fc0073ce322ee7bc14ef2c5 03-Feb-2017 Randy Pan <zpan@google.com> Local log buffer shared by connectivity modules

Move the creation of the local log buffer for connectivity modules to
WifiInjector. Then pass it over to all the connectivity modules.
Dump the log buffer via WifiConnectivityManager.

While there, removed the null check in localLog() for all the
connectivity modules.

Bug: 35642622
Test: runtest.sh and manual test
Change-Id: I31866c6fecdd9f50061f47e34e16c701ff230a6c
asspointNetworkEvaluator.java
6a5a04fa4fcd71b1448cc6499599b8935f246b6a 16-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: use android.graphics.drawable.Icon for Passpoint icon data

Bug: 35857805
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I0936eb28a4e820b49cdab99fa31364696a27c0f0
asspointManager.java
50bc1e851d073d4a986f5b32072f94bbaba86a95 16-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: dump Passpoint related info to dumpsys

While there, added more debug logs.

Bug: 35850988
Test: verify logs in "adb logcat"
Test: verify Passpoint info in "adb shell dumpsys"
Change-Id: I40d197b3b303eab4d67d7714102ac1aa2ccc8335
NQPData.java
nqpCache.java
asspointManager.java
asspointNetworkEvaluator.java
asspointProvider.java
48c93da3c53650a62bc827199840137417c0825a 09-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: add support for WifiStateMachine#syncGetMatchingWifiConfig

This function will try to match a Passpoint AP to an installed Passpoint
provider. Once a match is found, it will generate and return a
WifiConfiguration for the given Passpoint AP, which will contain
all necessary credentials for connecting to it.

Note that, the generated configuration is not added to WifiConfigManager.
The consumer of this WifiConfiguration (e.g. Settings app) can use
this WifiConfiguration to initiate a connection via WifiManager's API.

This operation is only supported in client mode, since PasspointManager
might issue ANQP requests when matching scan result to a provider.

Bug: 35888100
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: install Global Reach Passpoint profile and verify the Global
Reach Passpoint AP in the Settings UI is shown with
"available via xxx" text.

Change-Id: I9bbd57819326d285367e89a342f21da79fc33555
asspointManager.java
b54f07e01c9daef8883c85e09f61436f2c06cc72 07-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: update semantics for PasspointManager#matchProvider

Instead of returning a list of matched providers, it will now
return the best provider for the given AP (based on ScanResult).
It will return null if no match is found.

So PasspointManager is responsible for ranking providers for
a given AP (based on ScanResult), while PasspointNetworkEvalutor
is responsible for ranking Passpoint networks with matched provider.

Bug: 35888100
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: Manual test with Global Reach Passpoint AP
Change-Id: I9e2a76aaf319f6180d7767fe8f713547221feb6c
asspointManager.java
asspointNetworkEvaluator.java
ec28f863c5e46c0a75e8bdb92283304b875ee0f2 07-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: use ScanResult to match Passpoint providers

This removes ScanDetail and NetworkDetail dependencies from
PasspointManager, and allows provider matching to be performed
using ScanResult instead of ScanDetail.

Bug: 35888100
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: manual test using Global Reach Passpoint profile
Change-Id: I229f042352e2d51cfaf9c154d707f3b6b39b2c5d
NQPRequestManager.java
asspointManager.java
asspointNetworkEvaluator.java
asspointNetworkScore.java
7c4e3b39a5fba0749cab3c244dcda45a1ff3c35b 15-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "hotspot2: ignore Passpoint networks in SavedNetworkEvaluator"
67a4541372684c5d0a3f834f8be76bd8d29ca7ac 14-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: ignore Passpoint networks in SavedNetworkEvaluator

While there, enable the Passpoint network when it is created
by PasspointNetworkEvaluator to be more consistent.

Bug: 36218488
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I72fa55a9cb6baf71e8650e10cb54b496a7be1343
asspointNetworkEvaluator.java
b48796131ddd016071144f77f208360e8c408f0e 02-Mar-2017 Peter Qiu <zqiu@google.com> hotspot2: use the updated public intent definitions

While there, add unit tests for handling WNM frames.

Bug: 35857805
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ic546aa2854d925a9546fcabdca92fc056c2435f4
Merged-In: Ic546aa2854d925a9546fcabdca92fc056c2435f4
asspointManager.java
b8b3fb8228a1f90106bad8c59ce006b81ef7921c 09-Mar-2017 Roshan Pius <rpius@google.com> Remove all legacy HAL usage from framework

WifiNative now just becomes a module to route calls into the appropriate
native module: WifiVendorHal, WificondControl, SupplicantStaIfaceHal,
SupplicantP2pIfaceHal.

Changes in the CL:
1. Cleanup WifiNative to remove the legacy HAL usage.
2. Remove the |HIDL*| flags in WifiNative.
3. Remove static instance of WifiNative/WifiMonitor.
4. Remove WifiMonitor code parsing the string events from
wpa_supplicant.
5. Remove all unused jni code used for legacy HAL interactions.
6. Remove dependency of libwifi-hal & libwifi-system from framework.

Notes:
a) We can now potentially split up WifiNative into separate chunks:
WifiStaNative, WifiP2pNative, WifiRttNative, etc instead of having a
monolithic WifiNative instance.
b) We may have to add back the local log in WifiNative (b/36059665).

Bug: 35702893
Bug: 34457880
Bug: 34884202
Bug: 35421721
Test: Compiles, existing unit tests pass.
Test: Device boots up and connects to wifi networks.
Test: Verified with wifi regression (b/36068282)

Change-Id: I3e13522c912242af8023471e029edb1ce47fd3e9
nqpEvent.java
nmData.java
5e4822d5dba15e45c5ff43dfba3ac7803b3f4e28 23-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: migrate legacy Passpoint configurations

When the legacy Passpoint configuration is read from the legacy
store, it will represented as WifiConfiguration and stored in the
share store. When the owner of the legacy Passpoint configuration
logs in, the configuration will be converted to PasspointConfiguration
and added to PasspointManager, then persist to the user store in the
new format.

Bug: 34206769
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: manually upgrade a bullhead containing Boingo and Global Reach
Passpoint profiles from N to O, verify configurations are
maintained and still able to connect to those APs

Change-Id: Idcd858326968463cea0cdc99452ba67b13d2ac77
asspointManager.java
asspointProvider.java
8c22a001ebe4537fe5c0da1112e256dbd9d55ae7 17-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: PasspointProvider: update semantics for certificate and key alias

Instead of using the full name for the installed certificate and key as the
alias, use the suffix of the name (without the certificate or key type).
This will make the certificate/key alias meaning consistent with the usage in
WifiEnterpriseConfig.

This will make it cleaner/easier for converting the legacy Passpoint configuration
to the new one.

Bug: 34206769
Test: frameworks/opt/net/tests/wifitests/runtests.sh
Test: manual testing using a Boingo profile
Change-Id: Iab005d98f83c9e217f87ab780787bdcc618b6509
asspointProvider.java
fc34ddb26c7b65bcf06d65325ec407186011a285 27-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: do not verify against installed SIM at provider install time

The validation is only needed when attempting to match a provider
to a network. This allows a Passpoint provider with SIM credential
to be installed at the time when the SIM card is not installed.

Bug: 35797905
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: If27c7ebdedf2864757535530d9752e2b05430f1b
asspointManager.java
15eeedd83c258ae7eec5065880b0887545124456 16-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: add config parser for legacy Passpoint configuration file

For Hotspot 2.0 Release 1, most of the configuration data are
already stored as part of WifiConfiguration across multiple files
in N and older. There are number of fields contained in the
legacy Passpoint configuration file
(/data/misc/wifi/PerProviderSubscription.conf) that needed in order
to complete the configuration. Mainly:
- Friendly Name
- Roaming Consortium OI
- Realm
- IMSI (for SIM credential)

So add the parsing support for the legacy Passpoint configuration
file to retrieve the missing configuration fields.

Refer to the javadoc in LegacyPasspointConfigParser for the format
of the configuration file.

Bug: 34206769
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I1d1a96a2534e123fcd06e91eaa9fc18af842bea1
egacyPasspointConfig.java
egacyPasspointConfigParser.java
85d8b1c9985b1baa589877fc951ef7a2fc357076 22-Feb-2017 Chih-Hung Hsieh <chh@google.com> Use Android Gerrit OWNERS file syntax.

* Use email addresses instead of user name.
* No directory path in per-file glob.

Bug: 33166666
Test: default build targets
Change-Id: I0e6c9ad4103333f1d08cfb49ef238786d4b3bc6b
WNERS
5a1adfdef3025a595544b3d17e1d5d9afca7673b 17-Feb-2017 Roshan Pius <rpius@google.com> SupplicantStaIfaceHal: Handle Hotspot 2.0 callbacks

Bug: 33383725
Test: Unit tests
Change-Id: I631c2e32850183b0f20391f964bea1efee350960
nmData.java
fc83b303a3382329c28d631b1e0fb2bb35969f85 17-Feb-2017 Roshan Pius <rpius@google.com> PasspointEventHandler: Stop creating wpa_supplicant string commands

Add new WifiNative API's for Anqp-query/Icon requests. This API will
internally create the string commands needed for now. Will be hooked up
to the HIDL interface method soon.

Bug: 35393853
Test: Unit tests
Change-Id: Ie93a318abd7bf5d1d94ea01d072fd6e0551d0354
asspointEventHandler.java
773ef3483e18f1afbd9cdce1564add3d89cb21fa 16-Feb-2017 Roshan Pius <rpius@google.com> Passpoint: Change ICON response handling

Currently, the ICON done notification from WifiMonitor is used
as a trigger to fetch icon data in PasspointEventHandler.
In the HIDL interface, the callback itself will contain all the
necessary icon data. So, change the currently handling to prepare for
integration with HIDL interface.

Changes in the CL:
1. Move the icon data fetching to WifiMonitor away from
PasspointEventHandler.
2. Change the params of the icon done event to include the icon data.
3. Add a new public method in WifiMonitor to send the notification out
from WifiMonitor, which will be used by the HIDL interface in the
future.

Note: There are no unit tests for any of these changes because this CL
is just moving things around and most of it is going to be removed when
we integrate with HIDL.

Bug: 35393853
Test: Connects to passpoint networks.
Test: Will send for regression tests.
Change-Id: I197180c8a8ec8673e5e8fa29ba8bb51b026d44fb
conEvent.java
asspointEventHandler.java
asspointManager.java
65d8ba5dd551cd132789e8feb270dfc7998dfbdc 15-Feb-2017 Roshan Pius <rpius@google.com> Passpoint: Change ANQP response handling

Currently, the ANQP done notification from WifiMonitor is used
as a trigger to fetch anqp data in PasspointEventHandler.
In the HIDL interface, the callback itself will contain all the
necessary ANQP data. So, change the currently handling to prepare for
integration with HIDL interface.

Changes in the CL:
1. Move the ANQP data fetching to WifiMonitor away from
PasspointEventHandler.
2. Change the params of the ANQP done result to include a newly created
struct (AnqpResult) which would contain the bssid and the ANPQ results.
3. Add a new public method in WifiMonitor to send the notification out
from WifiMonitor, which will be used by the HIDL interface in the future.
4. Remove the redundant PasspointEventHandler.parsANQPLines().

Note: There are no unit tests for any of these changes because this CL
is just moving things around and most of it is going to be removed when
we integrate with HIDL.

Bug: 35393853
Test: Connects to passpoint networks.
Test: Will send for regression tests.
Change-Id: I7fdf8fbdba13d267eb986db3f8a5854c606bcd4c
nqpEvent.java
etworkDetail.java
asspointEventHandler.java
asspointManager.java
99d4b81a25df948c46cac9027eb111ee7a786742 14-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: save and load Passpoint configurations to/from config store

Bug: 31065385
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: install Boingo Passpoint profile on an angler, verify
the profile persist over boot and automatically connect
after boot

Change-Id: I026cd52c01702babcbe3c761437fc340260e5fe5
asspointManager.java
asspointObjectFactory.java
a7f0f6e6fc75c94ab9af3cf1a6f390390c640d70 13-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: add config store data for Passpoint

Two types of Passpoint configuration will be persisted to the storage:
- System wide configuration - persisted to share store
- User specific configuration - persisted to user store

Currently, the system wide configuration only consists of provider index,
which is used for assigning unique ID to providers during provider
creation. And the user specific configuration will contain information
for each installed provider.

Bug: 31065385
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ic378bd761af4e45f83428210dd3a493d845a786b
asspointConfigStoreData.java
asspointProvider.java
d501fd07f0e2ab6a320a1570e426926838a1b316 10-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: add utility class for XML serialization of Passpoint configurations

This is used for serializing/deserializing Passpoint related configurations
to/from config store.

Bug: 31065385
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I373c9a0f30a8ccf47f2df860f43982dc03630322
asspointXmlUtils.java
c5d349d814e5eeb72beb62d722699a9624fb9932 13-Feb-2017 Julia Reynolds <juliacr@google.com> Fix bootloop.

Bug: 35310090
Test: user device
Change-Id: Ia4bd2943b88c61d7c648d898b26bb2fd9e4fe094
Merged-In: Ia4bd2943b88c61d7c648d898b26bb2fd9e4fe094
etworkDetail.java
260f8f7ab5595c36ab5d130441cabe3dc944830c 02-Feb-2017 Peter Qiu <zqiu@google.com> hotspot2: Passpoint API rename update

Some Passpoint APIs are renamed to follow the API guideline, so
update the callsite accordingly.

Bug: 34862444
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Iff7b5aafac0b0062c4575e24383530f91849db36
asspointProvider.java
25e0d91a8d152c7c59bf6295e1931e7450bd1d8c 01-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "hotspot2: use updated PasspointConfiguration APIs"
4f4d745ca28b915ea4a7c91ec5df3ea8a2db64ad 25-Jan-2017 Peter Qiu <zqiu@google.com> hotspot2: use updated PasspointConfiguration APIs

PasspointConfiguration APIs are updated to use private variables
with public accessor methods based on the API guideline. So update
the callsite to use accessor methods instead of using the variables
directly.

While there, refactor the test a bit to reduce code duplications.

Bug: 34627062
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I96ce7c3bdb3b6a6dce1715f29e5e1e019dbeeb5e
asspointManager.java
asspointProvider.java
850116348dacd6baf16645641c3383970e4a1157 31-Jan-2017 Peter Qiu <zqiu@google.com> hotspot2: cache ScanDetail for Passpoint network

When a new WifiConfiguration is created/added for a Passpoint network,
we need to cache the initial ScanDetail for it. So that others can
get more detail information about the network (e.g. NetworkDetail)
when needed.

Bug: 34735964
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ia8ee3fef2eab3c4bcd81c23a0adf9b805abaaf6f
asspointNetworkEvaluator.java
f91694ff0b589d5b9fbe55b5da1b80642990321a 13-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "util: fix parsing logic for ExtendedCapabilities IE"
b86089a48fae8878b5a27533a116c97b0be6d0e7 10-Jan-2017 Peter Qiu <zqiu@google.com> util: fix parsing logic for ExtendedCapabilities IE

The IEEE 802.11 standard specified that Extended Capabilities IE contained
a bit field of variable length. So use BitSet to represent the data instead
of an integer.

Bug: 34179560
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I1df2c92c475f1dbc4e7b17c243b4560d822ff129
etworkDetail.java
50f36ec6fe906445db996bf3918e5cb3f170bc79 22-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: integration of network evaluator for Passpoint

Bug: 32714185
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: Manual testing with a Boingo Passpoint AP using a bullhead

Change-Id: Ib71723bed332aa850485edd98ebdcbfcf8ec22c7
asspointNetworkEvaluator.java
49036aa383a6dfdaaf84e760e72d627638a9d86a 04-Jan-2017 Peter Qiu <zqiu@google.com> hotspot2: PasspointNetworkScore cleanup

This reduce the complexity of the scoring system by removing
considerations for AP station count and link speeds. Can be
added back on in the future if needed.

Also added consideration for the RSSI level associated with
the network and if the network is currently active.

Bug: 32714185
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ice8e6af907a8ecf6e61f2b061c11f62f5e363036
asspointNetworkScore.java
1be0ef19e27c5bf8091643128c17906ce10c82a8 04-Jan-2017 Peter Qiu <zqiu@google.com> hotspot2: rename PasspointMatchInfo to PasspointNetworkScore

Bug: 32714185
Test: None
Change-Id: Iad731d2fcd5b57ce4378b35f9df697cb5038eab4
asspointMatchInfo.java
asspointNetworkScore.java
79b81a96a2dd5ce45cb4b9206f04e4b37f7220f1 21-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: add support for generating WifiConfiguration from PasspointProvider

Bug: 33246489
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh

Change-Id: I3387d0bf35563bb403d55f7ed918fac0454670d6
asspointProvider.java
33c46cd7132df4ce72eee0ed2783e1a1e15bc007 19-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: add ANQPRequestManager for managing ANQP requests

The main objective is to hold off ANQP requests to an AP
after the previous request is unanwered or failed.

This can eaisly be expanded in the future to throttle ANQP requests
further by taking into consideration of the current connection
status and other criteria, to reduce the impact of ANQP
requests on the network performance and the power consumption.

Bug: 33746564
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I906508f72832a9e461be6b2db2ceacb997765bb8
NQPRequestManager.java
asspointManager.java
asspointObjectFactory.java
87c6f1b149804685e46c18d2ad11262f611c9255 16-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: add support for matching Passpoint provider

Added support for matching Passpoint provider based on the
content of ANQP elements.

While there:
- updated IMSIParameter and added unit tests for it
- added utility class ANQPMatcher for providing ANQP
element matching functions

Bug: 33246489
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ibdd49aaf44a097c1ee523284888faace6b866485
NQPMatcher.java
uthMatch.java
asspointManager.java
asspointObjectFactory.java
asspointProvider.java
nqp/eap/NonEAPInnerAuth.java
d28cfdde236d3d7c72f0c57ca7f18622b16d421a 13-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: Passpoint configuration APIs update

- renamed addPasspointConfiguration to addOrUpdatePasspointConfiguration
to match the implementation of the API
- updated PasspointManager to update passpoint provider using exact FQDN
string matching instead of base domain matching, to avoid unnecessary
complexities.
- updated getPasspointConfigurations to return an empty list instead of
a null when no configuration is installled
- updated PasspointManager to use a 64-bit counter for assigning provider
IDs instead of using the wall clock to avoid possible ID conflicts. The
use of an unique provider ID is necessary to avoid leaving keys and
certificates in a bad state when failing to install keys and certificates
on the update operation.

Bug: 33587910
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh

Change-Id: Iee304fe742085ec91d8d448e0939201d293ab7e5
asspointManager.java
29074fe3d2125eeb33db6b9d4425b54e72036661 12-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: cleanup ANQPParser

Below is the list of cleanups:
- removed unused function
- cleaned up parsing of vendor specific element
- only support Hotspot 2.0 elements, since these are the only
elements that we cared about
- added unit tests

Bug: 33000864
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I2e492525dfa5e28c12336e2bbec2f2882e0af57c
asspointEventHandler.java
nqp/ANQPParser.java
3a46e1804baf10d514d7d79bdad9ab0b1dc1759c 09-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: rename ANQPFactory to ANQPParser

This is a purely rename operation. Class name and call reference
updates will be done in the follow-on CL.

Bug: 33000864
Test: None
Change-Id: I3e4d03fee31480d7d851e221a8d5347b7a740587
nqp/ANQPFactory.java
nqp/ANQPParser.java
d8dddd9671750e6bfbcfa218db16ad096b9904ee 09-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: ANQP elements cleanup Part 4

Cleaned up the implementation and added unit tests for NAIRealmElement
and the classes used by it.

While there, remove the match() function from NAIRealmElement for now.
So that all ANQP elements class are purely data storages for the element.
The match() function will be added to PasspointProvider for matching
a NAI Realm Element against the provider's configuration.

Other changes included:
- removed the now unused EAP.java
- removed the uses of enum for EAP Method ID and Authentication
Parameter type constants.
- renamed Credential to CredentialType

Bug: 33000864
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I940f6d7cecb9bec405f0786845af768caf527990
nqp/ANQPFactory.java
nqp/NAIRealmData.java
nqp/NAIRealmElement.java
nqp/eap/AuthParam.java
nqp/eap/Credential.java
nqp/eap/CredentialType.java
nqp/eap/EAP.java
nqp/eap/EAPMethod.java
nqp/eap/ExpandedEAPMethod.java
nqp/eap/InnerAuthEAP.java
nqp/eap/NonEAPInnerAuth.java
nqp/eap/VendorSpecificAuth.java
54481f724e41249c4e036a9f59e8cb3e6fb821d8 08-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: ANQP elements cleanup Part 3

This CL contained cleanups for ThreeGPPNetworkElement and CellularNetwork.

Bug: 33000864
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ibba64207e0f22e3247a3cc8387eeca277bcd577b
nqp/ANQPFactory.java
nqp/CellularNetwork.java
nqp/ThreeGPPNetworkElement.java
1dc52f076977039a6bf112885feca6638c05cd29 06-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: ANQP elements cleanup Part 2

This CL contained cleanups for the following ANQP elements:
- DomaniNameElement
- HSConnectionCapabilityElement
- HSWanMetricsElement
- RawByteElement

Bug: 33000864
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I6c4737bdb04cc54aa5b3ea7462e44afd423f1b27
asspointMatchInfo.java
nqp/ANQPFactory.java
nqp/DomainNameElement.java
nqp/HSConnectionCapabilityElement.java
nqp/HSWanMetricsElement.java
nqp/ProtocolPortTuple.java
nqp/RawByteElement.java
74339de52d7066f22771d914e698da503232c107 06-Dec-2016 Peter Qiu <zqiu@google.com> hotspot2: ANQP elements cleanup Part 1

Cleanup and add unit tests for the following ANQP elements (and
the underlying classes used by those elements):
- HSFriendNameElement
- IPAddressTypeAvailabilityElement
- RoamingConsortiumElement
- VenueNameElement

The cleanup included using a static #parse function for parsing
raw bytes into an element object, the new ByteBufferReader APIs
for reading integer and string from ByteBuffer, and documented
possible runtime exceptions.

Additional changes include:
- remove the unnecessary setting of byte order for
the ByteBuffer, since we're not using the ByteBuffer's APIs
for reading integer values (all reads are either byte or byte
array).
- remove the unused functions in ANQPFactory

More ANQP elements cleanup will be done in the upcoming CLs.

Bug: 33000864
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I6da918c83722d5c0ca7a2374ff5fa5f630cdea6d
asspointEventHandler.java
asspointMatchInfo.java
nqp/ANQPFactory.java
nqp/HSFriendlyNameElement.java
nqp/I18Name.java
nqp/IPAddressTypeAvailabilityElement.java
nqp/RoamingConsortiumElement.java
nqp/VenueNameElement.java
fa04a81daf829e6e5c099c9a249b8dd8dd112102 02-Dec-2016 Peter Qiu <zqiu@google.com> Cleanup support for parsing various length integer and string from ByteBuffer

Move and cleanup the parsing functions from
com.android.server.wifi.hotspot2.anqp.Constants to the newly created
ByteBufferReader, since these are generic parsing functions (not
specific to ANQP).

An unchecked runtime exception will be thrown when an error is
encountered. The possible exceptions are documented for each
API. It is the caller's responsibility to handle those
exceptions appropriately (e.g. propagate the exceptions upwards
with appropriate documentation or catch the exception).

The handling of unchecked runtime exceptions for ANQP elements
parsing will be added in the follow-on CL as part of the ANQP cleanup.

b/33296974 is filed for tracking handling of unchecked runtime
exceptions for parsing information elements.

Bug: 33000864
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I6964520e7cc86071b2096408d6cb0503e0f618ff
nqp/Constants.java
nqp/DomainNameElement.java
nqp/I18Name.java
nqp/IconInfo.java
nqp/NAIRealmData.java
nqp/RoamingConsortiumElement.java
3d42402e0d282dc75f9c65f29d0f9e0eea753100 30-Nov-2016 Peter Qiu <zqiu@google.com> passpoint: initial support for matching passpoint providers

Bug: 33246489
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: If137412dfc27548062fb4a1bfbeca9c73f575c45
asspointManager.java
asspointObjectFactory.java
asspointProvider.java
f1b7517b04fedc6fd81f34a8cb84ce583b8ea63e 30-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: simplify ANQP cache management

This makes the AnqpCache just a simple data cache, all the logic
related to the ANQP query (e.g. pending query, backoff timeout) will
be handled elsewhere (e.g. PasspointManager).

Also simplify the cache entry expiration timeout (entries with ANQP
domain ID vs entries without ANQP domain ID) by using one timeout
for all entries, since this is already factored in the ANQP entry key.
Entries without ANQP domain ID will be keyed per AP (SSID + BSSID)
and entries with ANQP domain ID will be keyed per ESS (either SSID or
HESSID).

TODO: update unit tests once the cleanup for ANQP elements are completed,
so that we can easily construct an ANQPElement objects (without constructing
a raw byte buffer).

Bug: 31348912
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I6d85f69181755afa7845f9f742c2dfb762c3194c
NQPData.java
NQPNetworkKey.java
nqpCache.java
b40ba9e6ef82ac6c82869d1b562701483b8f1fc2 22-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: cleanup DomainMatcher

- Cleanup the implementation
- Add documentation
- Add unit tests

Bug: 33050774
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I694ab0fc24ed9e8bcd9cd24a4d22208e123dcc5f
omainMatcher.java
nqp/NAIRealmData.java
nqp/NAIRealmElement.java
8ca4ac971a9b862fbd69c57af3a3c0029a6b9f4d 18-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: anqp: update package name to reflect the updated location

Bug: 33000864
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: If842197a027a2c8381aacf5b256191f81bcbd1bb
NQPData.java
nqpCache.java
etworkDetail.java
asspointEventHandler.java
asspointManager.java
asspointMatchInfo.java
tils.java
nqp/ANQPElement.java
nqp/ANQPFactory.java
nqp/CellularNetwork.java
nqp/Constants.java
nqp/DomainNameElement.java
nqp/GenericBlobElement.java
nqp/HSConnectionCapabilityElement.java
nqp/HSFriendlyNameElement.java
nqp/HSWanMetricsElement.java
nqp/I18Name.java
nqp/IPAddressTypeAvailabilityElement.java
nqp/IconInfo.java
nqp/NAIRealmData.java
nqp/NAIRealmElement.java
nqp/RawByteElement.java
nqp/RoamingConsortiumElement.java
nqp/ThreeGPPNetworkElement.java
nqp/VenueNameElement.java
nqp/eap/AuthParam.java
nqp/eap/Credential.java
nqp/eap/EAP.java
nqp/eap/EAPMethod.java
nqp/eap/ExpandedEAPMethod.java
nqp/eap/InnerAuthEAP.java
nqp/eap/NonEAPInnerAuth.java
nqp/eap/VendorSpecificAuth.java
450a34955b855f0d813400013a9dbeead9d84c7b 18-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: move anqp related code to under hotspot2

ANQP is specific to Hotspot 2.0, so move all related code to under
hotspot2/.

This CL is a purely rename operation.

Bug: 33000864
Test: None
Change-Id: I17c3eb5bce37290a13c2e0720b62c82450daae9b
nqp/ANQPElement.java
nqp/ANQPFactory.java
nqp/CellularNetwork.java
nqp/Constants.java
nqp/DomainNameElement.java
nqp/GenericBlobElement.java
nqp/HSConnectionCapabilityElement.java
nqp/HSFriendlyNameElement.java
nqp/HSWanMetricsElement.java
nqp/I18Name.java
nqp/IPAddressTypeAvailabilityElement.java
nqp/IconInfo.java
nqp/NAIRealmData.java
nqp/NAIRealmElement.java
nqp/RawByteElement.java
nqp/RoamingConsortiumElement.java
nqp/ThreeGPPNetworkElement.java
nqp/VenueNameElement.java
nqp/eap/AuthParam.java
nqp/eap/Credential.java
nqp/eap/EAP.java
nqp/eap/EAPMethod.java
nqp/eap/ExpandedEAPMethod.java
nqp/eap/InnerAuthEAP.java
nqp/eap/NonEAPInnerAuth.java
nqp/eap/VendorSpecificAuth.java
ae791278c9032a8b10cf818b98b571c0396add4a 18-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: install Passpoint certificates and keys in keystore

When adding a Passpoint provider, install the certificates and
keys specified in the configuration to the keystore.

While there, move the object creation for Passpoint related
objects out of the WifiInjector and into newly created
PasspointObjectFactory.

Bug: 32619189
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I42ee22a31d30e2c9fa05ece8713b95ebea71256e
asspointManager.java
asspointObjectFactory.java
asspointProvider.java
dc6361c58a4eb2e7dd931ffe1cc0fb5129f004c9 15-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: maintain a copy of PasspointConfiguration in PasspointProvider

This avoids the Passpoint configuration maintained in PasspointProvider
from being updated by others.

Bug: 32714562
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I7101ae0c1bcf70585343e6da5608d7fe1267e689
asspointManager.java
asspointProvider.java
c04479601696f56c9cc240d4c7fc49fa99f51825 02-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: add support for managing Passpoint configurations

Add the initial support to PasspointManager for managing Passpoint
configurations.

More todos:
- add support to WifiKeyStore for installing/removing keys and certificates
in the Passpoint configurations
- add support to WifiConfigStore for loading/storing Passpoint configurations
from/to the persistent storage

Bug: 32618351
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: download/install Boingo passpoint profile and verify configure is installed
using log messages
Merged-In: Id394bcf7514157bfaa3038b3f9f4d1003671d11f
Change-Id: Id394bcf7514157bfaa3038b3f9f4d1003671d11f
asspointManager.java
asspointProvider.java
b378283f8783e0e20e70a3cbbcdcb3e07b434493 01-Nov-2016 Peter Qiu <zqiu@google.com> hotspot2: remove OMADM and PPS code

Now that we are switching over to use PasspointConfiguration parcelable
object for data exchange between the app and the framework, the
existing OMADM parser and the PPS code is no longer needed. So remove
them.

Bug: 32512868
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Merged-In: I5efb2f39e40488c25720efb5db8534e3bbfdd651

Change-Id: I5efb2f39e40488c25720efb5db8534e3bbfdd651
omainMatcher.java
MADMAdapter.java
asspointMatchInfo.java
madm/MOTree.java
madm/ManagementTreeRoot.java
madm/MultiValueMap.java
madm/NodeAttribute.java
madm/OMAConstants.java
madm/OMAConstructed.java
madm/OMAException.java
madm/OMANode.java
madm/OMAParser.java
madm/OMAScalar.java
madm/PasspointManagementObjectManager.java
madm/XMLNode.java
ps/Credential.java
ps/DomainMatcher.java
ps/HomeSP.java
ps/Policy.java
ps/SubscriptionParameters.java
ps/UpdateInfo.java
eaa6ff2e246151fe8f42d7111541225ee0e3f346 12-Sep-2016 Peter Qiu <zqiu@google.com> passpoint: initial support for PasspointManager

Added handling for passpoint icon responses and Wireless Network
Management (WNM) frames.

Bug: 31430212
Test: runtest frameworks-wifi

Change-Id: I21c606f122b22dded37e8faf7bcdea8cd910e2e0
Merged-In: I21c606f122b22dded37e8faf7bcdea8cd910e2e0
asspointManager.java
09044adabba28c56b48922d105994d30e7ab015e 02-Sep-2016 Peter Qiu <zqiu@google.com> passpoint: refactor PasspointEventHandler

Changes include:
- cleanup the callback interface
- remove dependency for ScanDetail
- remove unused code
- add unit tests

BUG: 31264540
TEST: build and run unit tests

Change-Id: Idab62a6e12bef7807e2ef8bc5aec4e46fbf965dc
etworkDetail.java
asspointEventHandler.java
c49f45c75b1db93cd80b8bac4dd5fa8930fcb242 02-Sep-2016 Peter Qiu <zqiu@google.com> Passpoint: rename SupplicantBridge to PasspointEventHandler

Also move WnmData to hotspot2/ since it is passpoint specific.

BUG: 31264540
TEST: Build and test in the follow-on CL

Change-Id: I8cf5d30ad3a3041569e845c75a4c6d3338db54d3
asspointEventHandler.java
upplicantBridge.java
nmData.java
a87858b2d738e777639d811c261c706d9e57cfd6 29-Aug-2016 Glen Kuhne <kuh@google.com> Merge "WiFiMetrics: Count hidden & passpoint networks"
59f9a74676831ba4634b35d56a1e2bbe9bf4e322 01-Aug-2016 Glen Kuhne <kuh@google.com> WiFiMetrics: Count hidden & passpoint networks

1. Extended the WiFiMetrics proto to include counts for hidden and
passpoint networks, counting these for all saved networks, connections
and scan results.
2. Extended the counting of Open, Personal and Enterprise network to
include scans.
3. Extended ConnectionEvent logging to detect and flag passpoint network
connections.
4. Implemented the checks that detect if a scan Result is a hidden network.
While I was here: Cleaned up a couple old WifiMetrics <TODO>s, which we will not be doing.
BUG=28634987

Change-Id: I2e22bf8d79ccbda84ead700272ff0f1b0f13d2e7
Test: Extended unit tests, executed manually
etworkDetail.java
ca62e5b2c8e533e481f7ed0ee7ca1b80670fc8f5 26-Aug-2016 Ningyuan Wang <nywang@google.com> Remove unused code in SupplicantBridge

BUG=31117677
TEST=compile

Change-Id: Ic7b6d1b353aaa5f29b1008ed0f3066338649726a
upplicantBridge.java
0ebc04f557e62093ce22ca16ffb1943b1b4ed4b9 25-Jul-2016 Samuel Tan <samueltan@google.com> Remove unused ANQP parsing code

Remove classes used to parse ANQP elements that are unused.
The deleted classes are:
- CapabilityListElement
- CivicLocationElement
- EmergencyNumberElement
- GEOLocationElement
- GenericStringElement
- HSCapabilityListElement
- HSIconFileElement
- HSOsuProvidersElement
- NetworkAuthenticationTypeElement
- OSUProvider

BUG: 30291919
Change-Id: I5b2c3daeb5260043fbd650cafc2a512198253a4a
TEST: Framework compiles successfully.
upplicantBridge.java
e7399556522efdd3f137aba31c49cbb8d95c59d6 22-Jul-2016 Samuel Tan <samueltan@google.com> Remove Venue Group and Venue Type parsing code

We currently do not use the Venue Group and Venue Type
codes that are parsed from the ANQP Venue Name Element,
so remove the code that parses and internally exposes these
fields.

Note: The Venue Name Duples in Venue Name ANQP element are
exposed on the ScanResult public API, so keep the parsing code
for that field.

BUG: 30291919
TEST: Framework compiles successfully.

Change-Id: I7c20daec9e5c9fe41253fb322c2cfce231846701
etworkDetail.java
0eeeac78a462f1cc1eaf38bf275a52e259170b9f 07-Jun-2016 Jan Nordqvist <jannq@google.com> Merge "Optimization/fix of SupplicantBridge.notifyANQPResponse."
d4623e574071ece6fd20f7afa724e09c9f38218f 24-May-2016 Jan Nordqvist <jannq@google.com> Optimization/fix of SupplicantBridge.notifyANQPResponse.

This change optimizes away an unnecessary extra call to
notifyANQPResponse on successful responses in notifyANQPDone and also
cleans the code a little bit.

TEST: There is no unit test associated that independently verifies the
change, but it has been manually verified to work.

Bug=28914731

Change-Id: Ib47ec7bc7dfac88e61a2975e3735a8d2191987c2
upplicantBridge.java
5de29ec72c54cb73fdc1b59072f66a2627b8764c 25-May-2016 Ningyuan Wang <nywang@google.com> Migrating existing code to Clock abstraction part 1

This CL includes the following changes:
Refactor Clock.java for better readability
Use Clock abstraction for classes which already have
a reference of Clock obejct.

BUG=28701686
TEST=compile
TEST=runtest frameworks-wifi

Change-Id: I49e896a91a63cf4519368a9de259046c21c94ddb
NQPData.java
nqpCache.java
8f14e9784bd8ca8e832fff86597a28755f7e668e 22-Apr-2016 Samuel Tan <samueltan@google.com> NetworkDetail: remove VDBG field

The VDBG is field us currently used as the DBG field is
in other files: as a static, compile-time flag that
determines whether certain messages are logged. The DBG
field, on the other hand, is currently defined but not used.

Replace the uses of VDBG with DBG, and remove the VDBG field,
so that NetworkDetail will only have a single compile-time
debug flag that is consistent with those used in other WiFi
framework classes.

BUG: 28321397
Change-Id: I0b32f47e50e8add7e889ac72e7c9c259802bf083
TEST: 'runtest frameworks-wifi' passes.
etworkDetail.java
0ca72c25df5e02735aa3ccee3c11f6689f30ebb4 27-Apr-2016 Paul Stewart <pstew@google.com> resolve merge conflicts of b73cae1 to nyc-dev-plus-aosp

Change-Id: I039a0d07b921919d4d034902cdd2e028335f6ea6
dad64ed669a47d54bafc460bea7ea5a544540d39 27-Apr-2016 Akihiro Onodera <akihiro.x.onodera@sonymobile.com> Stop ANQP parsing when content of element is empty am: 6d66a0f
am: 295a48c

* commit '295a48c995851c0958934df4a2067a051952f3eb':
Stop ANQP parsing when content of element is empty

Change-Id: I65793e3e1f0624442398184c966f77edfd663023
7934e22219ee2b8da861867266a3e21463d7882f 01-Dec-2015 Kouhei Kuroda <kouhei.x.kuroda@sonymobile.com> Handle EAP-SIM/AKA config without IMSI

Crash happens when adding EAP-SIM/AKA Passpoint config that
doesn't have IMSI parameter. This patch takes care of the case.

Bug: 28329844
Change-Id: I3d520233f5a55221ac34d3cb65af506790c83c19
madm/MOManager.java
6d66a0fbbcb3b3ffa32973c77dd895f7184be58a 14-Sep-2015 Akihiro Onodera <akihiro.x.onodera@sonymobile.com> Stop ANQP parsing when content of element is empty

If 802.11u/HS2.0 elements exist in ANQP response, framework tries to
parse content of element. When it's empty, Exception is sometimes
thrown and it results in that framework doesn't try to connect. This
issue happens at for instance IPAddressTypeAvailabilityElement when
the content of IP Address Type Availability ANQP-element is nothing.

This patch just skips parsing of the element if its content is empty.

Bug: 28336506
Change-Id: I9d5800b88965df1d736cababe4f82c674d7c65be
upplicantBridge.java
af2b79e4cfc1da793b3d8fb4a96c144deefc7d58 01-Mar-2016 Joe Onorato <joeo@google.com> Turn off excess logging

Change-Id: I1e1d116f1e2abfc01255b492a38a7839635b9bed
nqpCache.java
f5cc6a0c7ede374b33de1cf5156bf149e2e76c13 01-Mar-2016 Glen Kuhne <kuh@google.com> Add Supported Rates and 802.11 Mode detection

Added an Information Element parser for Supported and Extended Supported
Rates.
Uses this information and other IEs to determine the 802.11 Mode
(a/b/g/n/ac) being used by APs, stores it in their scan results.
Modified WifiMetrics to receive and store this metric from a ScanDetail
Added calls to WifiMetrics from WifiStateMachine to give it a ScanDetail
Minor fix to WifiStateMachine's tracking of TargetNetworkId, which it
was clearing incorrectly on NETWORK_DISCONNECTION_EVENT

BUG=25691077
BUG=27446779
Change-Id: I63af5911916bfec87628aeb4e1ed4f9138acfafa
etworkDetail.java
2af03130d7f85823223b8591dc52858d851b301d 24-Feb-2016 Mitchell Wills <mwills@google.com> Remove a bunch of dead wifi code

Bug: 26907933

Change-Id: I3398b9bc9a2c915319ac4533b402ba400588f6e8
upplicantBridge.java
3d1baff308fd209648a4d3cf5c02a8bfd1a98a52 24-Feb-2016 Roshan Pius <rpius@google.com> WifiConfigManager: Add SupplicantBridge callbacks

Create a new SupplicantBridge callbacks instead of passing
WifiConfigManager instance to SupplicantBridge.

BUG: 27325803
Change-Id: Id6d61af6e2758492f6779da4487a8238857bd124
upplicantBridge.java
c2a0ff06d58e1cfb9b69fa5b6a8fef5929812f27 22-Feb-2016 Roshan Pius <rpius@google.com> Rename WifiConfigStore to WifiConfigManager

Rename WifiConfigStore class to WifiConfigManager and replace all
existing occurences of WifiConfigStore.
This is in preparation of refactoring WifiConfigStore into a
separate class which will only deal with storing/reading configurations
from a perisistent database.

BUG: 27296463
Change-Id: Ib4c4bd3bdf3fa28771a646e1f3d244f73b690d5e
TEST: Ran unit-tests
upplicantBridge.java
947e55415eab3989f2f5cede0c03745cf9268309 09-Feb-2016 Glen Kuhne <kuh@google.com> InformationElementUtil TIM element parser

Added a parser to InformationElementUtil for the beacon frame Traffic
Indication Map element. Only current use for this is to get DTIM
interval for metrics.

BUG=25691077
Change-Id: I1aba8ca658e446ae5697b6d749687b0dd24f790d
etworkDetail.java
ae815bc71287f8a85727034c40bb07247a3d9415 26-Jan-2016 Vinit Deshpande <vinitd@google.com> UnitTests for MOManager and AnqpCache

MOManager is the repository that holds management
objects for Passpoint networks. This change adds tests
to add/remove and modify management objects.

AnqpCache holds results to save power; this test
verifies basic adding/querying and expiry of entries.

Change-Id: I9b12a6661f689227f7564cc6a7e0fd7e338e1e8a
NQPData.java
nqpCache.java
c9b88562541a0c2acd60d0a01ac1e182e73c79f9 11-Feb-2016 Jan Nordqvist <jannq@google.com> Fixed incorrect XML serialization of MO Tree.

Bug=27145137

Change-Id: Id2016b3ca2cf8091f254b35d8e6ff9cf4a14907a
madm/MOTree.java
madm/ManagementTreeRoot.java
madm/NodeAttribute.java
madm/OMAConstructed.java
madm/OMANode.java
madm/OMAParser.java
madm/OMAScalar.java
madm/PasspointManagementObjectManager.java
madm/XMLNode.java
3fff4c9bd5db730141e75706a7229814d403b363 05-Feb-2016 Jan Nordqvist <jannq@google.com> Removing Hotspot 2.0 OSU client code from framework.

Change-Id: I1be652aeb60cc3c49b606e4e2f467951cf2d68b5
larmHandler.java
hronograph.java
MADMAdapter.java
upplicantBridge.java
ifiNetworkAdapter.java
sn1/Asn1Boolean.java
sn1/Asn1Class.java
sn1/Asn1Constructed.java
sn1/Asn1Decoder.java
sn1/Asn1ID.java
sn1/Asn1Integer.java
sn1/Asn1Object.java
sn1/Asn1Octets.java
sn1/Asn1Oid.java
sn1/Asn1String.java
sn1/Asn1Tag.java
sn1/DecodeException.java
sn1/OidMappings.java
st/ESTHandler.java
madm/OMAConstants.java
madm/PasspointManagementObjectManager.java
su/ClientKeyManager.java
su/ExchangeCompleteResponse.java
su/ExecCommand.java
su/HTTPHandler.java
su/IconCache.java
su/OSUCertType.java
su/OSUClient.java
su/OSUCommand.java
su/OSUCommandID.java
su/OSUError.java
su/OSUInfo.java
su/OSUListener.java
su/OSUManager.java
su/OSUMessageType.java
su/OSUOperationStatus.java
su/OSUResponse.java
su/OSUSocketFactory.java
su/OSUStatus.java
su/PostDevDataResponse.java
su/RequestReason.java
su/ResponseFactory.java
su/SOAPBuilder.java
su/SOAPParser.java
su/SPVerifier.java
su/UserInputListener.java
su/WiFiKeyManager.java
su/XMLParser.java
su/commands/BrowserURI.java
su/commands/ClientCertInfo.java
su/commands/GetCertData.java
su/commands/MOURN.java
su/commands/OSUCommandData.java
su/commands/PasspointManagementObjectData.java
su/service/RedirectListener.java
su/service/SubscriptionTimer.java
tils/HTTPMessage.java
tils/HTTPRequest.java
tils/HTTPResponse.java
2e814680f4dd27a5f825afab189843582235cedc 24-Jan-2016 Jan Nordqvist <jannq@google.com> New System APIs for Passpoint r2 app.

Change-Id: If23e6ab432e871a407cbff94292673524c6d72bd
etworkDetail.java
upplicantBridge.java
madm/MOManager.java
madm/MOTree.java
madm/OMAParser.java
madm/PasspointManagementObjectManager.java
su/OSUClient.java
su/OSUCommand.java
su/OSUManager.java
su/commands/MOData.java
su/commands/PasspointManagementObjectData.java
su/service/SubscriptionTimer.java
ps/HomeSP.java
ps/Policy.java
ps/SubscriptionParameters.java
ps/UpdateInfo.java
e69488000bff995a0a30a7c45322d5ec0522ab6e 19-Dec-2015 Jan Nordqvist <jannq@google.com> DO NOT MERGE Fixed ConcurrentModificationException in WifiConfigStore.

BUG=26241528
BUG=26271352

Change-Id: I96cc0bb247e5be267c5b424942541e9d4e92b300
su/OSUManager.java
6dd42662e45750910d8743f7f154269c2755df93 19-Nov-2015 Jan Nordqvist <jannq@google.com> DO NOT MERGE Changed to use special "in-memory" icon command to wpa_supplicant.

Hotspot2.0: Icon query changed to use new command.
Cherry-picked from e511ec7a4f53f7204a85075b23318f9f11c46d94
Bug: 24681079
Change-Id: Iac65eddff82763d42193edfb683266e7b0b8d720
conEvent.java
upplicantBridge.java
ifiNetworkAdapter.java
su/IconCache.java
su/OSUManager.java
su/OSUSocketFactory.java
18786eca942042388748b0d98979f21c9dff4a89 20-Nov-2015 Mitchell Wills <mwills@google.com> Turn WifiNative into a singleton for each interface

Change-Id: Ida8225c1c8434f5cffbdfd2ebbc4a7b240976a15
upplicantBridge.java
9a069cba2e5ae31ee00d9ec9a3c25bdb7052aa78 25-Nov-2015 Jan Nordqvist <jannq@google.com> Applied changes from comments.

Bug: 25869687
Change-Id: I79a4ae543e7c3797620bf4492f4794523fac8c4d
madm/MOManager.java
5d31cedf4024e0f038b4dfc2081016c8631ee8fe 28-Jul-2015 Mitchell Wills <mwills@google.com> Moved Wifi InformationElement parsing to a common utility class

Change-Id: If3e58aa01ad2a75c0f4942428392c0e7f833143c
etworkDetail.java
1d5cd3938f9191184cd9aea3059a3b62bf3a0372 22-Jul-2015 Jan Nordqvist <jannq@google.com> Hotspot 2.0 relase 2 first cut.

Policy provisioning.
API methods.
Timers for policy and remediation.
Icon and friendly name checking.
Channel bindings for EST.

Change-Id: Ifa7125743ea93d7d4329cb53fd70c99b9b06fffe
NQPData.java
nqpCache.java
etworkDetail.java
MADMAdapter.java
upplicantBridge.java
tils.java
ifiNetworkAdapter.java
sn1/Asn1Boolean.java
sn1/Asn1Class.java
sn1/Asn1Constructed.java
sn1/Asn1Decoder.java
sn1/Asn1ID.java
sn1/Asn1Integer.java
sn1/Asn1Object.java
sn1/Asn1Octets.java
sn1/Asn1Oid.java
sn1/Asn1String.java
sn1/Asn1Tag.java
sn1/DecodeException.java
sn1/OidMappings.java
st/ESTHandler.java
madm/MOManager.java
madm/MOTree.java
madm/MultiValueMap.java
madm/OMAConstants.java
madm/OMAConstructed.java
madm/OMANode.java
madm/OMAScalar.java
madm/RequestDetail.java
madm/SOAPParser.java
madm/XMLNode.java
su/ClientKeyManager.java
su/ExchangeCompleteResponse.java
su/ExecCommand.java
su/HTTPHandler.java
su/IconCache.java
su/OSUCertType.java
su/OSUClient.java
su/OSUCommand.java
su/OSUCommandID.java
su/OSUError.java
su/OSUInfo.java
su/OSUListener.java
su/OSUManager.java
su/OSUMessageType.java
su/OSUOperationStatus.java
su/OSUResponse.java
su/OSUSocketFactory.java
su/OSUStatus.java
su/PostDevDataResponse.java
su/RequestReason.java
su/ResponseFactory.java
su/SOAPBuilder.java
su/SOAPParser.java
su/SPVerifier.java
su/UserInputListener.java
su/WiFiKeyManager.java
su/XMLParser.java
su/commands/BrowserURI.java
su/commands/ClientCertInfo.java
su/commands/GetCertData.java
su/commands/MOData.java
su/commands/MOURN.java
su/commands/OSUCommandData.java
su/service/RedirectListener.java
su/service/SubscriptionTimer.java
ps/HomeSP.java
ps/Policy.java
ps/SubscriptionParameters.java
ps/UpdateInfo.java
tils/HTTPMessage.java
tils/HTTPRequest.java
tils/HTTPResponse.java
42a1bf5e9b21288524d9a5fe90556abefc035879 01-Aug-2015 Jan Nordqvist <jannq@google.com> Failed ANQP responses incorrectly stored as empty data in ANQP cache.

Bug: 22882190
Change-Id: I2793247027579f07301bfc206800827a46af8c4e
upplicantBridge.java
57e85b00f16e03c1c7b24f561117131df33e7a04 28-Jul-2015 Jan Nordqvist <jannq@google.com> Merge "Upped time-out for zero ANQP domain ID from 1 to 5 minutes. Implemented exponential back off for repetetive failing quesries." into mnc-dev
82414ead13eb2554cf412ad00a30d9e21499bf75 23-Jul-2015 Jan Nordqvist <jannq@google.com> Upped time-out for zero ANQP domain ID from 1 to 5 minutes.
Implemented exponential back off for repetetive failing quesries.

Bug: 22662457
Change-Id: Ie9a8ccb71adc74e38c4a5f2a96431dcbd20b7833
NQPData.java
nqpCache.java
5ef40f88bab7e645a5a9e42aeae768d3b916c02c 22-Jul-2015 Jan Nordqvist <jannq@google.com> Added NPE guard around wpa_supplicant results.

Bug: 22661007
Change-Id: I4d8629ba0033599ceb995349ee16139e96970240
upplicantBridge.java
c2db1a4ff61fdf72be070e0c1cb739e755760bf3 16-Jul-2015 Jan Nordqvist <jannq@google.com> Passpoint: Realm or PLMN match should promote SP match to Roaming

Bug: 22531732
Change-Id: Ie695b0e9c70abe50e26e5bcf516d382c90b7aa87
uthMatch.java
ps/HomeSP.java
9f7795c694d048fdfecc4117cf5ddbd3e6ae1406 14-Jul-2015 Jan Nordqvist <jannq@google.com> Added dump of ANQP cache to bugreport.

Bug: 22410118
Change-Id: Ibc396ecf779087473f5fee0db732baf3ece16aab
NQPData.java
nqpCache.java
07f11f6f2ee7ec17cb08180035dfb5002aaaf5df 18-Jun-2015 Jan Nordqvist <jannq@google.com> Reworked code to allow wildcard prefix IMSIs.

Change-Id: I08b7addb8dd407d9fc4f8a32a1fd2f86edde0e7a
madm/MOManager.java
ps/Credential.java
ps/HomeSP.java
83e653cbdcb944038927e4c25837895626354e61 26-Jun-2015 Jan Nordqvist <jannq@google.com> Fixed bad check for Passpoint being enabled.

Bug: 21170278
Change-Id: Id4bee1851ace4673688bc0087e9c4fe40f66c25f
madm/MOManager.java
903814ca886b4a090816216d5e8464b65b0121c9 24-Jun-2015 Jan Nordqvist <jannq@google.com> Merge "Fixed ArrayIndexOutOfBounds and some more sanity in NetworkDetail." into mnc-dev
be24c9af85b8a6e02b24582418a4608e14396f2a 23-Jun-2015 Jan Nordqvist <jannq@google.com> Fixed ArrayIndexOutOfBounds and some more sanity in NetworkDetail.

Bug: 20304261
Change-Id: I4951b5274d148b1c4848363f915d278fbaa1f7c9
etworkDetail.java
b4ece4e093647267e9b57a5eee2754fa0fc6ae09 23-Jun-2015 Vinit Deshpande <vinitd@google.com> am 364f83d..034205e from mirror-m-wireless-internal-release

034205e Added config_wifi_hotspot2_enabled.
883e4cb Merge "dont optimize the pno set/clear commands since framework and driver can get out of sync Bug:21734054" into m-wireless-dev
2f1c1c7 dont optimize the pno set/clear commands since framework and driver can get out of sync Bug:21734054
d565262 add creation/update time to WifiConfiguration fix carry over of validatedInternetAccess Bug:21390908
40c87db Merge "Support 32 channels from different band per bucket for scanning" into m-wireless-dev
7ee84d8 make sure ephemeral config are written to file Bug:21293078
28fc233 Support 32 channels from different band per bucket for scanning
3baa176 Separated auth checking from SP matching.
486cc89 call setWifiLinkLayerStats Bug:21617639
7a94f84 Missing final keyword.
c465290 ANQP cache sweeping.
890e70d make sure validatedInternetAccess boolean is written to disk right away Bug:21390908

Change-Id: Ibacd79799465f11bd82311391f7a9420e0c50927
034205ec8ee3d608546ab9327fb650d9a259efad 12-Jun-2015 Jan Nordqvist <jannq@google.com> Added config_wifi_hotspot2_enabled.

Change-Id: I9c48f9ab9698c167b29af887015442e739af4997
madm/MOManager.java
866c5b061e6e762f2627e3467afc0fe6f29c2668 12-Jun-2015 Jan Nordqvist <jannq@google.com> Separated auth checking from SP matching.

Bug: 21729565

Change-Id: Ia0617efaf32f4dc9dddc6059322265520f2d5c3a
uthMatch.java
etworkDetail.java
ps/HomeSP.java
3baa1769b394a44351228f1b6950706d56fe61fa 12-Jun-2015 Jan Nordqvist <jannq@google.com> Separated auth checking from SP matching.

Bug: 21729565

Change-Id: Ia0617efaf32f4dc9dddc6059322265520f2d5c3a
uthMatch.java
etworkDetail.java
ps/HomeSP.java
c465290772b735d97cba451c9bc5b6cc76db9147 11-Jun-2015 Jan Nordqvist <jannq@google.com> ANQP cache sweeping.

Bug: 21786417

Change-Id: I44b44dd09c00364b0dc7d21640d5e803ffa6263c
nqpCache.java
c85fd892c72e7d15f7e092f29f6cf095b46783a0 09-Jun-2015 Vinit Deshpande <vinitd@google.com> am 5bee0e4..7ec7de9 from mirror-m-wireless-internal-release

7ec7de9 Fixed PLMN ANQP parsing and added Runtime guard on parsing.
54fcb6c Prevent repeating EAP connection forever

Change-Id: I3006e488d5c422330f4cc2aee0d366351ecc36e1
7ec7de9f415179e38a39e7b1be917ba77e3b68eb 09-Jun-2015 Jan Nordqvist <jannq@google.com> Fixed PLMN ANQP parsing and added Runtime guard on parsing.

Bug: 21668177
Change-Id: I36a7bc37752410bed78ab877a69b98f7a952e83d
upplicantBridge.java
5bee0e4616e2f8025d60cbfe3eec3e274a68a452 06-Jun-2015 Jan Nordqvist <jannq@google.com> ANQP caching cleaned up.

Disabling all HS2.0 logic with no SPs.

Bug: 21306404
Bug: 21660552

Change-Id: I080e99b5e41ead0b718c9e14514fba3108f19ac9
NQPData.java
nqpCache.java
etworkDetail.java
upplicantBridge.java
tils.java
cd0af1c9ddcac881f49c815fb9da45433eb50736 02-Jun-2015 Vinit Deshpande <vinitd@google.com> am 21d43c4..9a270a7 from mirror-m-wireless-internal-release

9a270a7 Merge "Removed cert verification from ConfigBuilder." into m-wireless-dev
31891af Minor fixes from comments.
fce249d Merge changes I1da47e51,I5d6b0cbe into m-wireless-dev
0600b63 Removed cert verification from ConfigBuilder.
03a529a Fixed incorrect mnc-mcc matching.
6f3626f dont use wifiscanner pauseScan/restartScan
a203056 fix crash in autojoincontroller Bug:21495346
07a3f9d Fixed sequencing issue for Hotspot 2.0 IMSI matching.
ea748f7 Merge "update current configuration based on wifi SSID whitelist roam" into m-wireless-dev
f71c259 Fix bad logs and a crash while reading configs [DO NOT MERGE]
605c327 Fixed bad network history saving and reading. [DO NOT MERGE]
6dd83f1 Merge "fix handling of command for bssid hot list" into m-wireless-dev
a63da80 fix handling of command for bssid hot list

Change-Id: I1ba36f5939f44551946b4756c2074e02f71cedc9
31891afce40b903ada9b24ec12e3648ae6aa27b2 29-May-2015 Jan Nordqvist <jannq@google.com> Minor fixes from comments.

Bug: 21306404
Bug: 21283355
Bug: 21171957

Fixed trust cert validation.

Fixed bad network history saving and reading.
Bug: 21022868

Bug in domain matcher, fixed some log levels.

Finished HS2.0/legacy network persistence consistency.

Change-Id: Ic93093a41dd87d70a386909bdea744b5810c7299
upplicantBridge.java
madm/MOManager.java
ps/DomainMatcher.java
ps/HomeSP.java
03a529ae85d526110f2a715168739618f0775493 29-May-2015 Jan Nordqvist <jannq@google.com> Fixed incorrect mnc-mcc matching.

Change-Id: I1da47e51f00ea2c25a1e99911b6da27c8849c599
tils.java
ps/HomeSP.java
07a3f9d97394b97965e6754271fb66c1d6bd1753 28-May-2015 Jan Nordqvist <jannq@google.com> Fixed sequencing issue for Hotspot 2.0 IMSI matching.

Change-Id: I5d6b0cbe85d1598901695f923be33ec672580e2d
ps/HomeSP.java
347a9779b10304865e478af01ab95871c7614b29 14-May-2015 Vinit Deshpande <vinitd@google.com> am d7cbebf..6111ff7 from mirror-m-wireless-internal-release

6111ff7 minor fix for warning
e026d53 Added cert path validation for CA cert.
9a64375 Changed SSID consistency check to deal with hidden SSIDs (logging only).
1c03d75 Changed log tag, and fixed a NPE.
7d5357a Disable PDBG in WifiStateMachine

Change-Id: I0100a9e48f383266487c43426a55509cf8868f47
9a64375bfb3431ef8d4ec1f2e97349c106c9c5f0 29-Apr-2015 Jan Nordqvist <jannq@google.com> Changed SSID consistency check to deal with hidden SSIDs (logging only).

Change-Id: I80ef72d6a209571643b49c9fd144144e333f6486
etworkDetail.java
1c03d75c73b9f5fa24a795a0d546f4f56b82ab9b 27-Apr-2015 Jan Nordqvist <jannq@google.com> Changed log tag, and fixed a NPE.

Change-Id: I216a9df2397427a1175ea930c501f47cd843b742
nqpCache.java
etworkDetail.java
upplicantBridge.java
tils.java
madm/MOManager.java
ps/Credential.java
ps/HomeSP.java
c308372401d89ad7a4ec1e04e72d25f3fc34ddb4 01-May-2015 Prerepa Viswanadham <dham@google.com> Merge commit '5199fba' into master_merge
a9831bdcf0a2eb278a4f2b3fc290de6f4d7ad0b4 24-Apr-2015 Etan Cohen <etancohen@google.com> Merge commit '218394c' into merge2
bd6653f996468560cf636e513ec5eda8cbb18b18 24-Apr-2015 Etan Cohen <etancohen@google.com> Merge commit '05d2f4e' into merge2
fa0502b4e2171143f133bb46e03143328c15e995 24-Apr-2015 Etan Cohen <etancohen@google.com> Merge commit 'baa9bdf' into merge2
2070c02cdd4fc765747121c9b02caf1b1bab89fb 24-Apr-2015 Jan Nordqvist <jannq@google.com> Reworked persistence semantics for MO.

Change-Id: I03c44ea9dae2c07634bc8ce1508c80ef78f1892a
tils.java
madm/MOManager.java
ps/Credential.java
820d73615f338d6c71f2d75aba0ad8410e9eed3e 22-Apr-2015 Jan Nordqvist <jannq@google.com> Fixes related to config persistence in PPS.
o Fixed up comparison criteria for rewriting of PPS MO.
o Quoting of id_string added to make wpa_supplicant happy.
o Expire and creation time of credential fully supported in MO.

Change-Id: If7e8104bdec396837d32d11b63ce2dced9a29e95
tils.java
madm/MOManager.java
ps/Credential.java
ps/HomeSP.java
8366a82ee1bff4c66d3f3642bf0a60538de5d9da 22-Apr-2015 Jan Nordqvist <jannq@google.com> Clearing ANQP cache when stopping WiFi service, moved ANQP result handling to DriverStartedState.

Change-Id: I8b9aa953cbf1309ff2d0174c8a23946b3f7086a8
NQPData.java
nqpCache.java
upplicantBridge.java
218394c7dbfc9fb185e9fe405e7bf3a37f42f86e 17-Apr-2015 Jan Nordqvist <jannq@google.com> Changed [gs]etDomSubjectMatch to [gs]etDomainSubjectMatch and added case insensitive matching.

Change-Id: Ic30c8a4a6265b97fe368334c5304275d464fbb79
madm/OMAConstructed.java
05d2f4e6f26834a94b53187e6121379a16749088 17-Apr-2015 Jan Nordqvist <jannq@google.com> Various Passpoint Fixes

- Changed lifecycle of MOManager and confined all PPS access to it.
- Fixed topology issues in the MO.
- Added all HomeSP fields to MO.
- A number of tidy ups: Changed to Java7 diamonds, added curlies, "m_" fixes and dropped a few more PARSE-LOG
- Added anonynmous@realm as anonymous identity to HS2.0 configs.
- Implemented domain_suffix_match for AAA server cert matching.

Change-Id: I79c7a545b396ba3cd409d923c4ee339a1d6fea27
madm/MOManager.java
madm/MOTree.java
madm/OMAConstructed.java
madm/OMANode.java
madm/OMAScalar.java
ps/Credential.java
ps/HomeSP.java
4e940bb499f65b4305dbeb2e01237c43c2b0b42d 15-Apr-2015 Jan Nordqvist <jannq@google.com> Various minor fixes.

Change-Id: I227c67740f7c18f059e37b3c41fd18225365c7d1
madm/MOManager.java
ps/Credential.java
5ee18dc63952ff80f4ea21296a0df4f7b27eafe6 15-Apr-2015 Vinit Deshpande <vinitd@google.com> am f24e3d7..a547460 from mirror-m-wireless-internal-release

a547460 Fix incorrect matching of Passpoint networks
93a1dbd fix RTT crashes runtime This is due to local referencs have been used up Bug:20143987
5faa29d changes to support wifi_logger.h API changes
a7ead3d Corrected and tightened up MO tree and mapping from/to configs.
71cd814 Merge "Use PasspointMatchInfo to select good passpoint network" into m-wireless-dev
0c14982 Merge "Store PasspointMatchInfo in ScanDetailCache" into m-wireless-dev
8eefaf2 Use PasspointMatchInfo to select good passpoint network
4d381bc Store PasspointMatchInfo in ScanDetailCache

Change-Id: If9ce95af4968cee4a458dddf21151eaf015880dc
6aef95a3cfa0b825ff93c45e95f89cc8c5c85164 11-Apr-2015 Prerepa Viswanadham <dham@google.com> Merge commit '70deeca' into merge_work

Change-Id: I77fdf057818f0bc2742e923e71b248648e152e1a
a7ead3d4be45cb69bb5851f1a6f9673e93607fc2 10-Apr-2015 Jan Nordqvist <jannq@google.com> Corrected and tightened up MO tree and mapping from/to configs.

Change-Id: Ia5d8aac3131b5b1985c200b565b692499cc4ae92
upplicantBridge.java
madm/MOManager.java
ps/Credential.java
4d381bc39f5263effdae73ec99065eb299b806ca 09-Apr-2015 Vinit Deshpande <vinitd@google.com> Store PasspointMatchInfo in ScanDetailCache

This change moves ScanDetailCache as a stand alone class; since
it has lot of logic related sorting and finding candidates.

This will get used in network selection going forward.

Change-Id: If039779f4274dca64fa7aceae62dca26caeae2d4
asspointMatchInfo.java
d33dc0d01f16ef7c338c3e3c82eaefa9e914ff83 03-Apr-2015 Jan Nordqvist <jannq@google.com> Refined SSID parsing in NetworkDetail.

Change-Id: Iaf5d796df472a501ce188755061600b255181c46
etworkDetail.java
madm/MOManager.java
a1edc185d46d85e04930a5e12b465de9fea64afe 19-Mar-2015 Jan Nordqvist <jannq@google.com> Various fixes for Passpoint.

A couple of fixes in AnqpCache, better logging.

Fixed BufferUnderdflowException in NetworkDetail.

Bug: 19888749

Modifications to support WiFi config app.

Rework to fit config builder into apps framework.

API for WiFi config app, 3GPP matching, BufferUnderflowException bug fix and some other fixes.

Fixed a log statement.

Clean up.

Change-Id: I763d47b9c7943a8aa4c94afd2678ccea2dd915cc
NQPData.java
nqpCache.java
etworkDetail.java
upplicantBridge.java
tils.java
madm/MOManager.java
madm/OMAParser.java
ps/Credential.java
ps/HomeSP.java
c1072acda7dc8b9d7bc4a9bb0b1177b14ecaf276 27-Mar-2015 xinhe <xinhe@google.com> remove wifi beacon parsing debug log

Bug:19771472
Change-Id: I3b51390d9c825520b6eddea452620f6e07be69ab
etworkDetail.java
f9f7c4ceed78d380a78c2d79a2af3d0cf473e065 25-Mar-2015 Prerepa Viswanadham <dham@google.com> Fix build after m-wireless-internal-release merge

Change-Id: I79ad5b380c06d2096c19328c4f4258abe110c8d8
etworkDetail.java
e9418ca9dd1975f84260e491a041cac87381693c 24-Mar-2015 Prerepa Viswanadham <dham@google.com> Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release' into master_merge

Change-Id: Id9033b0a7d6bd3c8ecab1648fc8c67feae18c41c
ac5ef7ed57cc198486d4c411f39ca89192ed6395 19-Mar-2015 Alan Viverette <alanv@google.com> Hide NetworkDetail logspam behind debug flag

Bug: 19771472
Change-Id: I2ea9f6e040bc094fc331dcf46a5af84bc28d0f87
etworkDetail.java
0047ccf563baa288777e06c6fe95d3681fcf5ccd 18-Mar-2015 Vinit Deshpande <vinitd@google.com> More bug fixes to enable passpoint

Change-Id: Icbf65a731c93deecc49178f9628b1ee3a9c91a00
madm/MOManager.java
398823d45a240ff90ff2ffab3ff4a8b8646f24c9 19-Mar-2015 Jan Nordqvist <jannq@google.com> Fixed bug in IE parser.

Change-Id: I607081f2a651a7859b53f4b5cdda46c48e1e6480
etworkDetail.java
madm/MOManager.java
d3fb9cbb12d013dd70e672ace5c41ab18a3679a0 18-Mar-2015 Vinit Deshpande <vinitd@google.com> Connect to passpoint end-to-end

Change-Id: I9bdec486b2a5963ce8858ad1ed322f6d62e6349f
etworkDetail.java
asspointMatchInfo.java
upplicantBridge.java
madm/MOManager.java
ps/Credential.java
af955ffa0082189fb688429732427c333f2491ce 12-Mar-2015 Vinit Deshpande <vinitd@google.com> Integration fixes to add/save/restore passpoint networks

Change-Id: Ic7fad523e1fe2bdc7ac9509b5998576b62909fcd
madm/MOManager.java
madm/MOTree.java
madm/OMAConstructed.java
madm/OMANode.java
madm/OMAScalar.java
ps/Credential.java
fea443b1b8807443544dfdb29a9c237b3ccf964a 17-Mar-2015 Jan Nordqvist <jannq@google.com> Tightened up and moved IE parse syntax checking.

Change-Id: I5e764dfb4f4d2d83466ee9659da86679bed403e7

Fixed up previous check in.

Change-Id: I8ef944b23d3cb6c8c426377442890bc366593e47
etworkDetail.java
cd605289f40664a2bfa051986a544f1d050961da 17-Mar-2015 Jan Nordqvist <jannq@google.com> Introduced scoring of PassspointMatchInfo

Change-Id: Ib284af5c4e6ba4f0a22df90ca907e8be9a7de90c
asspointMatchInfo.java
207af567531a0813a9c8651d28bc4bda0ea22088 16-Mar-2015 xinhe <xinhe@google.com> remove wifi beacon parsing debug log

Bug:19771472
Change-Id: Ibb56afdb8edbd25396ac4ab51d685a39f1df9c1f
etworkDetail.java
8401b58cd0198a8068cd6ad90215e3cd7fb2c5d0 15-Mar-2015 Vinit Deshpande <vinitd@google.com> am "add 2 side RTT support on scan"

merged from goog/mirror-m-wireless-internal-release
243931f add 2 side RTT support on scan
73185809f4a44a8ee272afe3e5253496aeb966ce 13-Mar-2015 Lorenzo Colitti <lorenzo@google.com> Don't crash the system when an element is too long.

Change-Id: I09b5ed2713ea470dc410f7f2d9cc84413843023c
etworkDetail.java
a7992ef326a670a5a3ae7ccfe6da41649f672104 13-Mar-2015 Vinit Deshpande <vinitd@google.com> am "add 2 side RTT support on scan"

merged from partner/m-wireless-wifi-dev
243931f add 2 side RTT support on scan
243931f3474f6235cfcf5c1a55fa2f192ee264ae 02-Mar-2015 xinhe <xinhe@google.com> add 2 side RTT support on scan

Bug:19533713
Change-Id: I3076cba3c7c7d5f234caa7e35ab96dd3f7471aa2
etworkDetail.java
e2434ec1d0c1c75709f55dcee5e8943c1d68e6c1 03-Mar-2015 Vinit Deshpande <vinitd@google.com> Couple of bug fixes to enable/disable wifi

It is broken, because we now try to read/write passpoint
configurations. Few null and empty checks are missing in
that code path.

Bug: 19568112

Change-Id: I4bfcbf95e19b050ba40d9df006c0f1e4880414ed
madm/MOManager.java
ef1567e413c9ed5f5c4fdb9e354861632f7b2f87 25-Feb-2015 Jan Nordqvist <jannq@google.com> HS20: Selection code moved to WifiAutoJoinController

Change-Id: Ic2f713758ec20f98f63d55b4a610e4dca07742fb
NQPData.java
nqpCache.java
etworkDetail.java
asspointMatchInfo.java
electionManager.java
upplicantBridge.java
tils.java
751c5a4496b6f90656eb24caa35f584d8976063d 24-Feb-2015 Jan Nordqvist <jannq@google.com> Introduce ANQP cache.

Change-Id: Id9bf948ef4aa810b0c2606bd1b0010a43ee564d7
nqpCache.java
77f2b82a2e80af8da52c22d69a76def6d4209757 14-Feb-2015 Jan Nordqvist <jannq@google.com> Integrate passpoint with existing Wifi infrastructure

This change hooks passpoint with rest of the wifi infrastructure.

It includes changes related to passing ANQP and other passpoint
information along with scan results and various fixes to parsing
and selection logic.

Change-Id: Id15ef1aea65dedab3e8e3df0c8a7515974c94021
NQPData.java
larmHandler.java
hronograph.java
etworkDetail.java
etworkInfo.java
asspointMatchInfo.java
electionManager.java
upplicantBridge.java
tils.java
madm/MOManager.java
madm/OMAConstructed.java
ps/Credential.java
ps/DomainMatcher.java
ps/HomeSP.java
imulate/HS20Simulator.java
03e92b925a595a1a467290a2d54ca2602cce9b9e 18-Feb-2015 Vinit Deshpande <vinitd@google.com> Passpoint API - Take 1

Added some common fields to WifiConfigurations; which
should be used with WifiEnterpriseConfig. The network
information is saved in a file.

Change-Id: Ica2069900dfc373e14792cbe81a185586e2954cc
madm/MOManager.java
madm/MOTree.java
ps/Credential.java
ps/HomeSP.java
e0a4f90efb6b6e42c1ece5b4a0c9831770f2f7aa 28-Jan-2015 Jan Nordqvist <jannq@google.com> Added a comment.

Change-Id: Ief2e4d0222dab3187c11a8cfdaee7d1236418fa1
madm/SOAPParser.java
71a988c8e9859244b83cd55bb6b6ee913fcaf95c 28-Jan-2015 Jan Nordqvist <jannq@google.com> Credential/profile storage added, completed network matching and added HS20 Simulator.

Change-Id: I1b27dadf3d65ed0a858dee209df975180a3b90e6
NQPData.java
uthMatch.java
etworkInfo.java
etworkKey.java
asspointMatch.java
electionManager.java
tils.java
madm/MOManager.java
madm/MOTree.java
madm/NodeAttribute.java
madm/OMAConstants.java
madm/OMAConstructed.java
madm/OMAException.java
madm/OMANode.java
madm/OMAParser.java
madm/OMAScalar.java
madm/RequestDetail.java
madm/SOAPParser.java
madm/XMLNode.java
ps/Credential.java
ps/DomainMatcher.java
ps/HomeSP.java
imulate/HS20Simulator.java
6a3903fed590e369b576bddbe1ae2d788768ddfe 23-Jan-2015 Jan Nordqvist <jannq@google.com> Base Hotspot 2.0 code (moved from base).

Change-Id: I9ae5eb0d6ff2cd15c73deaf239465353ab1ee90c
NQPData.java
etworkInfo.java
etworkKey.java
asspointMatch.java
electionManager.java
ps/DomainMatcher.java
ps/HomeSP.java