1578 Commits

Author SHA1 Message Date
Peter Qiu
bffe405e1f hotspot2: expose Passpoint APIs as public
Bug: 34862444
Test: frameworks/base/wifi/tests/runtests.sh
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh

Change-Id: I8bf5c715b9088c673e59a73a78e18f6e6b64d1d1
2017-02-07 13:34:47 -08:00
Peter Qiu
da8a67e8a6 hotspot2: fix class/function/variable names to comply with API guideline
Bug: 34862444
Test: frameworks/base/wifi/tests/runtests.sh
Test: frameworsk/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Ide425c06be46bc41c8f601e732dca0543de096b1
2017-02-07 13:34:46 -08:00
Peter Qiu
a77809766c hotspot2: rename classes to comply with API guideline
This is purely a file rename operation.

Bug: 34862444
Test: None
Change-Id: I297a228f3ee7e09c9cce5ca9f677eb1db478fd46
2017-02-07 13:34:46 -08:00
Treehugger Robot
e724f82b3d Merge "wifi: WifiConfiguration: add isHomeProviderNetwork field" 2017-02-02 19:29:53 +00:00
Treehugger Robot
2ac992fcad Merge "hotspot2: implement hashCode() for classes with equals() function" 2017-02-01 03:12:13 +00:00
Treehugger Robot
cf7f9dd6a1 Merge "Print the package name and creator UID in dump()." 2017-02-01 02:41:00 +00:00
Jeremy Joslin
711efaccd2 Print the package name and creator UID in dump().
Add a little more info to help differentiate the registered score
caches during a dump.

Test: adb shell dumpsys network_score
Change-Id: I59cb877b3237aaa85cb564795fb8a41c3d95e315
2017-01-31 14:48:01 -08:00
Peter Qiu
ddafc73496 hotspot2: implement hashCode() for classes with equals() function
According to API guideline, classes that override equals()
function should override hashCode() as well.  Make it so.

Bug: 34198926
Test: frameworks/base/wifi/tests/runtests.sh
Change-Id: I4c3afed78a2fc06cdc26dd04d076f579b3472139
2017-01-31 13:26:36 -08:00
Peter Qiu
aef5b6095f hotspot2: update PasspointConfiguration APIs
Based on the API guideline, use of public variables are discouraged.
So update PasspointConfiguration and its associated classes to use
private variables with public accessor methods.

While there, cleanup unit tests to reduce code duplications.

Bug: 34627062
Test: frameworks/base/wifi/tests/runtests.sh
Change-Id: I6ea45bbcf03aec01c187425a66094fad6098d75d
2017-01-31 13:26:36 -08:00
Peter Qiu
04959d48e1 wifi: WifiConfiguration: add isHomeProviderNetwork field
This is a boolean field indicating if the given WiFi network is provided
by a Passpont home provider. This is useful for the Passpoint provisioning
app to determine if the current WiFi connection is allowed to perform
Passpoint subscription or policy updates when it needs to.

This field will be set by PasspointNetworkEvaluator when generating
a WifiConfiguration for a Passpoint network.

Bug: 34467212
Test: make update-api; make -j32
Change-Id: Ia8ec2508de9658a9ee520087359ff2cd68091b63
Merged-In: I47310cda078cbf1f2d1b0a9bf79f487230fb668f
2017-01-31 11:43:14 -08:00
Treehugger Robot
161ac8b006 Merge "hotspot2: enclose conditional statement in parenthesis" 2017-01-31 18:12:57 +00:00
Peter Qiu
55078c4fa8 hotspot2: enclose conditional statement in parenthesis
Couple unit tests are failing due to conditional statements
not enclosed in the parenthesis, which causes unexpected
returned value for the equals function.  So fix it.

Bug: 34764955
Test: frameworks/base/wifi/tests/runtests.sh
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: Iaf0151803cb62eb8af308e5de40558617f84cd2f
2017-01-30 17:47:53 -08:00
Etan Cohen
275f323e86 [AWARE] Minor hardening of manager.
Callbacks are possible even if no listener was defined.
Perform a check and print error (as opposed to crashing).

Bug: 32315992
Test: unit-tests + integration tests passing
Change-Id: Ia5eb81448ace6b88abcd448e4f378da6530ac630
2017-01-30 13:09:41 -08:00
Treehugger Robot
c71b5dab72 Merge changes from topic 'enterprise-client-chain'
* changes:
  Test passing null cert/keys to WifiEnterpriseConfig
  Account for null client certificate
  Add a client chain to WifiEnterpriseConfig
2017-01-28 01:38:31 +00:00
Paul Stewart
88b3c589ad Test passing null cert/keys to WifiEnterpriseConfig
Ensure that null certificates and keys don't crash.

Bug: 34765004
Test: This is a test
Change-Id: I439b4f985c1b88ad4a9b58ee6f4eb4f90bd81246
2017-01-27 12:48:55 -08:00
Paul Stewart
1ca57a1d10 Account for null client certificate
If a null certificate is passed to setClientKeyEntry() we should
not pass a non-null array with a single null element to the
setClientKeyEntryWithCertificateChain helper method.  Instead we
should pass a null array.

Cherry-pick of 410a3498ac28dccf69212d94a533040893c7ce0c

Bug: 34765004
Test: cts-tradefed run cts -d --module CtsNetTestCases --test android.net.wifi.cts.WifiEnterpriseConfigTest
Change-Id: I02793b4b29bc7325f98833c58bf652ba68353827
2017-01-27 12:47:20 -08:00
Paul Stewart
291ddaef78 Add a client chain to WifiEnterpriseConfig
Add a list of supporting certificates to be presented in the process
of presenting client credentials.

Cherry-pick of e3511767169357a1409119b5666c62d50e005583

Bug: 34688653
Test: Compile, unit tests
Change-Id: I6afd8baf67312e8ddaaeefd26f30dacc51aa33bb
2017-01-27 09:46:27 -08:00
Treehugger Robot
0a649bffcc Merge changes If5025361,Iabe27cd8
* changes:
  hotspot2: added remaining parameters to PasspointConfiguration
  hotspot2: add support for complete PerProviderSubscription/Policy subtree
2017-01-26 22:41:19 +00:00
Peter Qiu
4f5c0ccfda wifi: WifiManager API change for supporting Passpoint Release 2
The changes include:
- Split WNM notifications intent to dedicated intent for each
  event: Deauth Imminent Notice and Subscription Remediation
- Add intent for broadcast OSU Providers List
- Update Passpoint icon intent definitions to conform to the
  API guide
- Make WifiManager#queryPasspointIcon public

All added/updated intents will required receiver to have
android.Manifest.permission.ACCESS_WIFI_STATE in order to
receive the intents.

The deprecated hidden intent definitions will be removed once
the WifiService is updated to use the new intents.

Bug: 34198926
Test: make -j32
Change-Id: If28a5710f68271069c663a953538f920512e3240
Merged-In: Ic17eef8364d79144eb530c68c6877712efcb5209
2017-01-26 10:12:19 -08:00
Peter Qiu
ddf6fa06c6 hotspot2: added remaining parameters to PasspointConfiguration
Added remaining parameters to PasspointConfiguration to support complete
PerProviderSubscription tree for Release 2 support.

The new parameters include:
- Update identifier
- Credential priority
- AAA server trust root
- Subscription update
- Subscription parameters

Bug: 34198926
Test: frameworks/base/wifi/test/runtests.sh
Change-Id: If50253612f7777b3b693a344378a2e4810b3ff47
2017-01-25 10:20:22 -08:00
Peter Qiu
2d7af45e93 hotspot2: add support for complete PerProviderSubscription/Policy subtree
Added Policy to PasspointConfiguration and the corresponding parser
support in PPSMOParser.

While there, fix a typo in node name "CertSHA256Fingerprint" under
CertificateCredential.

Bug: 34198926
Test: frameworks/base/wifi/test/runtests.sh
Change-Id: Iabe27cd83b6658ed7d4f895d7fe2255fe2094ebb
2017-01-25 10:14:37 -08:00
Peter Qiu
444dc5d099 hotspot2: add support for complete PerProviderSubscription/Credential subtree
Added missing fields in Credential subtree for supporting Release 2
and added parsing support for the new fields.

Bug: 34198926
Test: frameworks/base/wifi/test/runtests.sh
Change-Id: Ic3665c963ab77ddc4b9a03262517a3c7a4ec3ffc
2017-01-24 16:18:31 -08:00
Peter Qiu
e6e7baa600 hotspot2: add support for complete HomeSP subtree
Added missing fields in HomeSP subtree for supporting Release 2
and added parsing support for the new fields.

Bug: 34198926
Test: frameworks/base/wifi/test/runtests.sh
Change-Id: Id2766b6b48be8bd97b56eb7c57a0e8527f38e06c
2017-01-24 16:07:26 -08:00
Glen Kuhne
6862d2f6c6 Unhide WifiConfiguration proxy accessors
Unhiding HttpProxy accessors in WifiConfiguration.
This change occurs in parrallel with changes that restrict updating of
WifiConfigurations with new or updated proxy info to uids
holding permission OVERRIDE_WIFI_CONFIG, or holding DeviceOwner or
ProfileOwner policies.

Bug: 14669153
Test: None
Change-Id: Id69525cfec152ea52697693f9a3bd6f86019c694
Merged-In: Id69525cfec152ea52697693f9a3bd6f86019c694
2017-01-17 15:33:12 -08:00
Randy Pan
438643b151 Keep WIFI_FEATURE defines in sync with HAL
Bug: 33673826
Test: build
Change-Id: Ifec7b28ef7b08a478d889d40d13b45f3a60a7e07
2017-01-13 14:59:30 -08:00
Stephen Chen
58ddbd76bb Expose WifiManager#connect and ActionListener as @SystemApi
This is needed by Wifi Wakeup and Notifications which live within
NetworkRecommendation package.

Bug: 33224871
Test: GTS
Change-Id: If4f1f9957f82b1292af4187c7728cbccab0184e8
Merged-In: If4f1f9957f82b1292af4187c7728cbccab0184e8
2017-01-11 21:51:36 -08:00
Etan Cohen
6a4b323f08 [AWARE] Unhide Wi-Fi Aware API (baseline)
Baseline Wi-Fi Aware API providing discovery and connectivity (data-path).

Bug: 30983968
Test: unit tests + integration (sl4a) tests passing.
Change-Id: Idd7c6a625f168717b083d5f13e291ce916571933
2017-01-11 11:13:26 -08:00
Amin Shaikh
bdc89f99ea Expose fields in WifiConfiguration.
hasNoInternetAccess and isNoInternetAccessExpected are key signals needed
to determine whether Wi-Fi should be woken up for a given saved network.

Test: make
Bug: 33224312
Change-Id: I3f48735ebae72e15fbdb0a3057cf7c71fb0cc307
Merged-In: I3f48735ebae72e15fbdb0a3057cf7c71fb0cc307
2017-01-09 18:47:46 +00:00
Treehugger Robot
b1c9bc5ea5 Merge "wifi: hotspot2: Passpoint configuration APIs update" 2017-01-08 06:51:52 +00:00
Etan Cohen
b84ad8062d [AWARE] Remove reason from discovery session terminate callback
Only valid reason is per request (destroy or timeout/count).

Bug: 32670068
Test: unit tests & integration tests (sl4a) passing
Change-Id: I85d417442e26a16d7f09d6d2d4cbb8ae7a9eba7e
2017-01-06 16:07:41 -08:00
Etan Cohen
3de35a5e55 [AWARE] Simplify Wi-Fi Aware API namespace
Simplify Wi-fi Aware API namespace. Rely on project and remove WifiAware
prefix from most classes.

(pure rename operation: no functional changes)

Bug: 31470256
Test: unit-tests + integration (sl4a) tests.
Change-Id: I38b8137c1730c8f40c482c6770caafcaeafd5c46
2017-01-06 16:06:42 -08:00
Peter Qiu
90eb89ed06 wifi: hotspot2: Passpoint configuration APIs update
- renamed addPasspointConfiguration to addOrUpdatePasspointConfiguration
  to match the implementation of the API
- updated getPasspointConfigurations to return an empty list instead of
  a null when no configuration is installled

Bug: 33587910
Test: frameworks/base/wifi/tests/runtests.sh
Change-Id: Id40185edb08910c01454c44b77957e2d5c0df722
2017-01-06 14:06:52 -08:00
Sundeep Ghuman
0a5b3e2fe9 Fix failing WifiNetworkScoreCacheTest.
There was a NPE thrown by an unintialized mock.

Bug: 33818187
Test: Android unit tests
Change-Id: I478885dcebaf41f93488a6a12bb83652ad462be5
2016-12-21 16:44:46 -08:00
Amin Shaikh
3d18c621cb Expose ScanResult#untrusted as a @SystemApi.
- Expose ScanResult#untrusted to inform NetworkRecommendationProviders
  that a ScanResult does not correspond to a saved network.
- Add static construction methods and assertions to RecommendationResult

Test: runtest frameworks-services

Bug: 33490132
Change-Id: If7006040f63843c1c468c9d95c5c017383c5c5dd
Merged-In: If7006040f63843c1c468c9d95c5c017383c5c5dd
2016-12-21 11:46:22 -08:00
Treehugger Robot
31a8f712ab Merge "Create and implement a CacheListener inside WifiNetworkScoreCache." 2016-12-21 00:28:48 +00:00
Sundeep Ghuman
d76e65bead Create and implement a CacheListener inside WifiNetworkScoreCache.
Bug: 33041117
Test: Unit tests
Change-Id: Ic07522062f79223079b84c49210fcfc0217ecd38
2016-12-20 15:07:01 -08:00
Amin Shaikh
d3dfd3b8e9 Make WifiConfiguration#meteredHint a @SystemApi
This allows NetworkRecommendationProviders to set this field on
returned WifiConfigurations.

Test: make
Bug: 33760009
Change-Id: I4d34272a1fb8d88bcc56cf4f00d8beadd06ac603
Merged-In: I4d34272a1fb8d88bcc56cf4f00d8beadd06ac603
2016-12-20 12:46:50 -08:00
Sundeep Ghuman
46169f946b Copy WifiNetworkScoreCache into frameworks/base. Add tests.
Begin process of migrating WifiNetworkScoreCache.java from System Server
(//frameworks/opt/net/wifi/service/java/com/android/server/wifi/) to a
SystemApi. This CL is a straight copy and paste of
WifiNetworkScoreCache.java. Only new code is located in
WifiNetworkScoreCacheTest.java

Bug: b/33050254
Test: Unit tests added to cover most common use cases.
Change-Id: I7510420d293339ce7811fcf71a6efceb8d809c3a
2016-12-12 14:57:10 -08:00
Michael Plass
1ff5bd2646 Remove user-triggered disconnect counters
Removes these fields of WifiConfiguration:
  numUserTriggeredWifiDisableLowRSSI
  numUserTriggeredWifiDisableBadRSSI
  numUserTriggeredWifiDisableNotHighRSSI
  numTicksAtBadRSSI
  numTicksAtNotHighRSSI
  numUserTriggeredJoinAttempts

Add parcel test for WifiConfiguration.

Bug: 33013630
Test: unit tests pass
Change-Id: I39566c4e7845b01899739c36d6ec633f272fec6f
2016-12-07 08:50:10 -08:00
Etan Cohen
65617f21bf Merge "[AWARE] Fix javadocs for match filter update"
am: 7241d28826

Change-Id: I67b2798b0eb1bc7e4ccd727aad9e761da49a8823
2016-12-05 15:57:37 +00:00
Etan Cohen
7241d28826 Merge "[AWARE] Fix javadocs for match filter update" 2016-12-05 15:51:18 +00:00
Paul Stewart
1fd6f643ac Add constants for 802.11r
am: e72f7dc385

Change-Id: I06d93c3ce96cddd6447b340304ce9fec2d4e41f2
2016-12-03 04:16:58 +00:00
Roshan Pius
f301986727 Merge changes from topic 'fast-bss-transition'
* changes:
  Add capability flag for 802.11r fast BSS transition
  Add constants for 802.11r
2016-12-02 23:57:40 +00:00
Etan Cohen
0ae58fa665 [AWARE] Fix javadocs for match filter update
Javadocs update. Specifically, cannot contain generics (since
under-the-hood generics are just the undecorated class).

Bug: 32840891
Test: generated docs (no functional change)
Change-Id: I4bc2967a60ad27d137fd5a4dd3db18625343c910
2016-12-01 16:59:41 -08:00
Etan Cohen
7f12aa5470 Merge "AWARE: Abstract structure of match filters"
am: f358a69cba

Change-Id: Ic7e87e47e9a9beebb11aa7465e4d2be9dd3e767a
2016-12-01 21:35:05 +00:00
Etan Cohen
f358a69cba Merge "AWARE: Abstract structure of match filters" 2016-12-01 15:42:35 +00:00
Stephen Chen
dfd9942a31 Merge "Add meteredOverride field to WifiConfiguration."
am: f9479fe639

Change-Id: I0d2540cf0a360f07c1dd103191fd348602099ff5
2016-12-01 03:23:32 +00:00
Treehugger Robot
f9479fe639 Merge "Add meteredOverride field to WifiConfiguration." 2016-12-01 03:08:44 +00:00
Etan Cohen
1857b982c3 AWARE: Abstract structure of match filters
Replace byte[] representation with a List<byte[]> representation
which abstracts the LV (TLV without a type field) structure of
the match filters.

Tlv utilities: remove tag indicating that will be made public API.
That is no longer expected (will be an internal utility) since the
match filter structure is now parsed when exposed to API.

Lv utilities: removed. Was a simple wrapper around Tlv utilities -
no longer needed since will not be exposed as API.

(cherry-pick of commit c9870d0d431471bf1362e46fc4f2f1bc6722896a)

Bug: 32840891
Test: unit-tests and integration (sl4a) tests passing
Change-Id: I6d792c4d7584ce002f6c11692e83e7654ef3e764
2016-11-30 17:01:52 -08:00
Stephen Chen
c76fda7269 Add meteredOverride field to WifiConfiguration.
This stores a user's metered selection. This will be set by
Settings -> Data Usage -> Network restrictions and used in conjunction
with WifiConfiguration.meteredHint to properly track a Wifi network's
metered state.

Bug: 33106464
Bug: 26545374
Test: runtest --path
frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/util/XmlUtilTest.java
runtest --path
frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java

Change-Id: I1a378ef2946c1b5b6091bba379f2ab48a15d29d8
2016-11-30 11:15:13 -08:00