Commit Graph

383 Commits

Author SHA1 Message Date
Eric Schwarzenbach
389daf02ff Show updated Speed Label on Wifi detail page.
Fixes a bug where the detail page sometimes doesn't show a speed label
even when WifiSettings shows it. WifiSettings stores its connected
AccessPoint in a bundle on page load and connect. If that AccessPoint's
score cache doesn't have a score yet, it won't (can't) store it in the
bundle. If the score cache is then updated, it will display a score in
WifiSettings, but since the bundle has already been saved, the
AccessPoint that WifiNetworkDetailPage receives will not have a score.

This change modifies the preference to store the bundle only once the
user clicks the preference, so the detail page will be in sync with
WifiSettings.

Bug: 67607122
Test: manual
Change-Id: I6b33129b5a03b0e3e6d6e48ea48726e8dbe840b9
2017-10-10 15:22:56 -07:00
Tony Mantler
df2567cbad Make WifiTracker lifecycle aware
Bug: 66953027
Test: m -j checkbuild
Change-Id: I004c889b887a67614a5e0b6ae62fdbf8d6070ebd
2017-09-29 11:25:39 -07:00
Eric Schwarzenbach
79f3476021 Add since_visible_millis to Settings action logs.
This change adds a new action logging method on MetricsFeatureProvider
within Settings.

Uses the VisibilityLoggerMixin to calculate the elapsed time since
the fragment has been visible. Adds tagged data in
MetricsFeatureProvider#action() to store this elapsed time in
NOTIFICATION_SINCE_VISIBLE_MILLIS in MetricsEvents. Modifies the
LogWriter interface to accept variadic taggedData args in its action()
methods. Annotates the old subtype #action() methods as deprecated.

EventLogWriter also no longer casts the subtype values to strings before
sending them to MetricsLogger, so they are correctly stored as subtype
instead of package.

Bug: 65371699, 65631695
Test: make RunSettingsRoboTests
Change-Id: Iec6a61dd6a49ab237e2bdc4469fed45e89d9c380
2017-09-20 11:26:35 -07:00
Sundeep Ghuman
00685675c8 Merge "Gate WifiSettings verbose logging on toggle." into oc-mr1-dev am: 77aeb2a0a7
am: ea98db9946

Change-Id: I5b125c60c4cc39b8f8661b2eff6d19de0c1c5eff
2017-09-19 21:22:08 +00:00
Doris Ling
dee1a22c45 Consolidate all wrappers used for testing.
- Add the wrapper package and move all wrappers to the wrapper package.
- Get rid of some wrapper interface/impl implementation and have a
wrapper class directly.

Bug: 65634579
Test: make RunSettingsRoboTests
Change-Id: Ic757d8f7bacfa7a034c7e692205bc1dc4b0e1de1
2017-09-14 18:24:49 -07:00
Sundeep Ghuman
381987a8ce Gate WifiSettings verbose logging on toggle.
These aids in debugging bugreports, which are filed with verbose
logging.

Bug: b/64989100
Test: NA
Change-Id: Ife1940ddb5fdec997cc07304b8c160244ec8356b
2017-09-11 15:43:49 -07:00
Eric Schwarzenbach
5a7e46dd80 Add modify button to WifiNetworkDetailsFragment.
Adds pencil icon to Wifi Detail action bar to modify the network.
Modifies package/public visibility to allow the detail package to
use the WifiDialog. Listens for changes in WifiConfigurations to
propagate changes to the UI in WifiNetworkDetailsFragment.

Changes WifiNetworkDetail preference launch to conform to pattern
of other Settings apps. Removes unused WifiDetailActionBarObserver.

Bug: 36483704, 37082355
Test: make -j40 RunSettingsRoboTests
Change-Id: Ie9dc1892eaefdfad4a6bd7040bfc5dbf6236cfb4
2017-09-08 13:39:22 -07:00
Stephen Chen
fbc7a00a5c Merge "Make auto Wi-Fi summary text consistent with feature availability." into oc-mr1-dev am: 194638ac78
am: d2f9de37c7

Change-Id: Id8725588b14f6a74efbdb2065864f2fce1561873
2017-09-08 19:04:48 +00:00
TreeHugger Robot
194638ac78 Merge "Make auto Wi-Fi summary text consistent with feature availability." into oc-mr1-dev 2017-09-08 18:47:08 +00:00
Charles He
0a72c23393 Merge "Enforce wifi config lockdown on details page." into oc-mr1-dev am: 10adff1163
am: e7cf5e6221

Change-Id: I356a58cadd3e19e61d9585f08e47c9d4cdcf4318
2017-09-06 16:12:08 +00:00
Charles He
289af93896 Enforce wifi config lockdown on details page.
Fixes the bug that, on the new WifiDetailPreference page, the "Forget"
button is not disabled properly for wifi configs created and protected
by DevicePolicyManger.

Robolectric test to follow in a separate CL.

Test: manual, by locking down wifi config with TestDPC
Test: make RunSettingsRoboTests
Bug: 64971700
Bug: 65396674
Change-Id: I27740eabd5eb94415e4258c9c80f91df2d9ab476
2017-09-06 15:58:14 +00:00
Stephen Chen
8ffcbccbce Make auto Wi-Fi summary text consistent with feature availability.
"Turn Wi-Fi on automatically" feature is disabled when airplane mode or
battery saver mode is enabled, when Wi-Fi scanning is disabled, or when
network recommendations are disabled / scorer unset. This change
captures these negative cases in the summary text.

Bug: 65085700
Test: make ROBOTEST_FILTER=WifiWakeupPreferenceControllerTest
RunSettingsRoboTests -j40
Change-Id: I2f2d22b5bef3ad03a28d34e79a27e6545cac557f
2017-09-05 13:51:58 -07:00
Sundeep Ghuman
8adf634a54 Merge "Scroll to top when user connects to a network." into oc-mr1-dev am: a253e1d416
am: 501975914c

Change-Id: Ic3489f58b427ee0be5b3ad39a801af02ec15835b
2017-08-25 00:57:11 +00:00
Sundeep Ghuman
055079ba38 Scroll to top when user connects to a network.
We now track when the user initiates a connection request, and upon
connection will scroll to the connected network.

Bug: 34093572
Test: Open wifi picker. Connect to a new or different network. The picker
should scroll to the top of list

Change-Id: I7bed31b0dd4f40333f76f8389612f7fd55f2620e
2017-08-16 17:51:31 -07:00
TreeHugger Robot
65e557754e Merge "onConnectedChanged should not update access points" 2017-08-10 23:35:07 +00:00
Eric Schwarzenbach
69fa528074 Fix issue where connected network sometimes doesn't update.
Ensures that the connected network Preference and WifiTracker have the
same reference so that updates to one propagate to the other.

Bug: 64124982
Test: manual
Change-Id: I1b838b1cf65da1b5aebf4f5f37f0df0c5e473dba
2017-08-08 16:08:19 -07:00
Sundeep Ghuman
45bb3a1a77 onConnectedChanged should not update access points
In WifiSettings, invocation of onConnectedChanged should not update
access points. This is controller by another callback,
onAccessPointsChanged. Furthermore, this is fired before any changes
have even been made to the AccessPoints.

This is exacerbating a problem where old scan results are not shown in
the WifiPicker, or sometimes the platform does not return any scan
results.

Bug: b/38212080
Test: runtest --path
packages/apps/Settings/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java

Change-Id: Ibbc067d9952525b4edd85389996509e9b17bb1bd
2017-07-31 13:23:02 -07:00
Eric Schwarzenbach
bc1cf7e260 Make only the "Add Network" WifiDialog fullscreen.
Fixes an issue where other instances of WifiDialog were being launched
fullscreen. Creates static methods for creating fullscreen and modal
WifiDialogs to make the style more explicit.

Bug: 63889135
Test: make -j40 RunSettingsRoboTests
Change-Id: I2200b5d7f817b9f69a6abb73bf2c04ea24556d19
2017-07-26 17:04:42 -07:00
Antony Sargent
1e69f27a41 Merge "Allow open password dialog for wrong-password wifi access points" into oc-dr1-dev
am: 9fb7a3b8b4

Change-Id: Ic44e0cf3972085439a603e25374d46447ebe7a8f
2017-07-26 16:18:50 +00:00
TreeHugger Robot
9fb7a3b8b4 Merge "Allow open password dialog for wrong-password wifi access points" into oc-dr1-dev 2017-07-26 10:53:30 +00:00
TreeHugger Robot
8eb816c940 Merge "Allow open password dialog for wrong-password wifi access points" 2017-07-26 07:23:37 +00:00
Antony Sargent
c00fedc639 Allow open password dialog for wrong-password wifi access points
When we're failing to connect to a wifi access point due to an incorrect
password, we want to allow an intent from a notification to open up the
wifi settings page and bring up the dialog for entering a different
password. We already have code in settings to do this for not-yet-saved
access points, so this CL just changes it slightly to also allow it for
saved access points.

Unfortunately WifiSettings can't be tested with Robolectric due to it
not supporting PreferenceScreen, so this adds a test to
WifiSettingsUiTest. There were some existing test failures in that file
which I've fixed while I was in there:

-The TestAccessPointBuilder class wasn't being found at runtime because
 it was getting stripped out at build time due to not being used in
 settings.

-The changingSecurityStateOnApShouldNotCauseMultipleListItems test was
 asserting that we don't end up with multiple entries for the same SSID
 in the access point list when changing the security state for the AP,
 but it was accidentally passing multiple AP's with the same name the
 first time.

Bug: 33245941
Test: runtest --path WifiSettingsUiTest.java
Change-Id: I16c9c8b0d8380a0e26f9b23df6a8d012af6a2476
Merged-In: I929ca6892242059df157c01d6e9ea30e8d1c5e78
2017-07-26 07:00:51 +00:00
Christine Franks
a1f56b5faa Merge "Restrict changing wi-fi networks" into oc-dr1-dev
am: a7e10e0316

Change-Id: Ifcb15f741c4bcb72c32789870bc50027d2fc4cbb
2017-07-26 02:52:52 +00:00
Christine Franks
a0dd987d20 Restrict changing wi-fi networks
Bug: 31852835
Test: manual - verify unrestricted as regular user, but that a password
is required in demo mode.
Change-Id: I60f95ccbb10ba728b384b9c8c2ae723934fb2928
2017-07-25 13:31:12 -07:00
Antony Sargent
5d137f0f2c Allow open password dialog for wrong-password wifi access points
When we're failing to connect to a wifi access point due to an incorrect
password, we want to allow an intent from a notification to open up the
wifi settings page and bring up the dialog for entering a different
password. We already have code in settings to do this for not-yet-saved
access points, so this CL just changes it slightly to also allow it for
saved access points.

Unfortunately WifiSettings can't be tested with Robolectric due to it
not supporting PreferenceScreen, so this adds a test to
WifiSettingsUiTest. There were some existing test failures in that file
which I've fixed while I was in there:

-The TestAccessPointBuilder class wasn't being found at runtime because
 it was getting stripped out at build time due to not being used in
 settings.

-The changingSecurityStateOnApShouldNotCauseMultipleListItems test was
 asserting that we don't end up with multiple entries for the same SSID
 in the access point list when changing the security state for the AP,
 but it was accidentally passing multiple AP's with the same name the
 first time.

Bug: 33245941
Test: runtest --path WifiSettingsUiTest.java
Change-Id: I929ca6892242059df157c01d6e9ea30e8d1c5e78
2017-07-25 20:25:59 +00:00
Fan Zhang
62a3220efb Use a grey shade under progress spinner in wifi settings
Change-Id: I1c3fa3a05fe66924989607d73e77ca2616a898e6
Fix: 62545533
Test: visual
2017-07-10 14:46:29 -07:00
Sundeep Ghuman
b963c1190f Merge "Don't scroll when removing saved networks." into oc-dr1-dev
am: 1e561edb45

Change-Id: I9fa78596bdcbaeac90aaee55ddcde3f698ad907f
2017-06-30 00:04:37 +00:00
Sundeep Ghuman
1e561edb45 Merge "Don't scroll when removing saved networks." into oc-dr1-dev 2017-06-29 23:56:51 +00:00
Shunta Sato
97419f8d52 Merge "Fix Wi-Fi list adds same AP repeatedly" into oc-dr1-dev
am: 9638e020e5

Change-Id: I4c947cddb3ee000bc51dd8ea2f9eefbc54927824
2017-06-29 20:38:03 +00:00
TreeHugger Robot
9638e020e5 Merge "Fix Wi-Fi list adds same AP repeatedly" into oc-dr1-dev 2017-06-29 20:31:18 +00:00
Sundeep Ghuman
14cc864122 Don't scroll when removing saved networks.
Bug: b/62374459
Test: Open saved networks from WifiSettings. Remove a saved network.
Screen should not scroll to the top of the list.

Change-Id: Ia78fc0b5435f659c8fe31abee8b76006d7986b66
2017-06-28 20:27:15 -07:00
Shunta Sato
22080a1df5 Fix Wi-Fi list adds same AP repeatedly
When switch AP security mode, several same APs are shown.

To fix this issue, append security type to preference
key for avoiding different APs have same key.
git fetch

Cherrypick of:
https://partner-android-review.googlesource.com/#/c/799829/

Bug: 37558394
Test: runtest --path
packages/apps/Settings/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java

Change-Id: I39621636f14b29e45ba96ff76dc3c21a4996a136
2017-06-28 20:21:46 -07:00
Sundeep Ghuman
9ff2435ebc Merge "Scroll to top when connecting to network." into oc-dr1-dev
am: ea3d314a10

Change-Id: I78adb370cf5261611ad0a56effae652c494e9592
2017-06-28 23:36:12 +00:00
Sundeep Ghuman
eb41c8cf15 Scroll to top when connecting to network.
Bug: b/34093572
Test: Open wifi picker. Select new network. Picker should scroll to top
of list to display the connected access point category.

Change-Id: Ie555f076a62e8cb589f8c6157d628b345cd84a4c
2017-06-26 16:57:27 -07:00
Shinji Sogo
d6db6d8938 Merge "Cleanup unused WifiP2pSettings code in WifiSettings" am: cd1f7a3146 am: 27ca1272a5
am: 879fd4b406

Change-Id: Ie7b7de6ab3e9d8ebf13beffffd0ca0aa4026e8ea
2017-06-16 19:06:38 +00:00
Shinji Sogo
879fd4b406 Merge "Cleanup unused WifiP2pSettings code in WifiSettings" am: cd1f7a3146
am: 27ca1272a5

Change-Id: I70f81796a7c29c416729cc7fd7b4fd8150fdc981
2017-06-16 19:00:18 +00:00
Sundeep Ghuman
60b814ba43 Allow WifiSettings to show old APs on app resume.
If we do not have any recent scan results, show the previous APs from
when the app was last paused, by not triggering a force update.

Accompanying changes are also made in WifiTracker to prevent
onAccessPointsChanged callbacks from being invoked until the tracker
receives a new 'SCAN_RESULTS_AVAILABLE' broadcast (ag/2409026).

Bug: b/38212080
Test: runtest --path
packages/apps/Settings/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
one minute later.

Change-Id: I4f9b2ec855e057e28235b0253ab42c6b4521bebc
Merged-In: I4f9b2ec855e057e28235b0253ab42c6b4521bebc
2017-06-14 19:07:05 -07:00
Sundeep Ghuman
4ae59dde43 Allow WifiSettings to show old APs on app resume.
MANUAL MERGE of ag/2398149 to avoid merge conflicts when trying to
submit to oc-dev.

If we do not have any recent scan results, show the previous APs from
when the app was last paused, by not triggering a force update.

Accompanying changes are also made in WifiTracker to prevent
onAccessPointsChanged callbacks from being invoked until the tracker
receives a new 'SCAN_RESULTS_AVAILABLE' broadcast (ag/2409026).

Bug: b/38212080
Test: runtest --path
packages/apps/Settings/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
one minute later.

Change-Id: I4f9b2ec855e057e28235b0253ab42c6b4521bebc
2017-06-14 19:05:21 -07:00
Shinji Sogo
ba1b520505 Cleanup unused WifiP2pSettings code in WifiSettings
Cleanup commented code giving access to WifiP2pSettings from option menu
is not needed anymore.

Bug: 38333540
Test: Manual test
Change-Id: I5884ec219ba09601d9602f026fa8ad89f765934f
2017-06-07 22:55:24 +00:00
Fan Zhang
015c7706e4 Hide saved network preference when there is none.
We already do this when wifi is enabled. This change brings same
behavior when wifi is off.

Change-Id: I44301fe46a6183735f8be71c80cfe719ad0e82b4
Fix: 62094681
Test: runtest --path tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
2017-06-01 12:38:08 -07:00
Stephen Chen
a99b86c56a Update Wi-Fi Wakeup setting to check whether the feature is available.
Bug: 38037361
Test: make ROBOTEST_FILTER=WifiWakeupPreferenceControllerTest
RunSettingsRoboTests -j40

Change-Id: I1c1b930546cc090d72f3047058a428acd1b2883a
2017-05-10 11:06:05 -07:00
Stephen Chen
f5d02aa765 Fix Disallow config Wi-Fi message for AFW Do mode.
Correctly displays the custom message set by the Test DPC tool
for devices in AFW Do mode.

This change also fixes an issue where when Wi-Fi is disabled, the
disabled message is not shown instantly on Settings app start.

Bug: 37134344
Bug: 37911257
Test: runtest --path
packages/apps/Settings/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
for off message testing, manual inspection using the Test DPC tool, and
verifying Guest mode behavior.

Change-Id: I61e48f605d75cb5665461536beeedcb32f6aa7f9
2017-05-02 18:05:00 -07:00
Sundeep Ghuman
87bf49a436 Force update APs when enabling wifi in WifiSettings.
This reverts commit b2bdc8f17b
and fixes a broken Espresso test case.

Reason for revert: Rolling forward after fix in ag/2133493, to fix b/37324736

Bug: b/37324736
Test: runtest --path
packages/apps/Settings/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java

Change-Id: I9cdf8cb1043af5d527eccbd9cc56d3b02419d7ac
2017-04-25 15:12:00 -07:00
Sundeep Ghuman
b2bdc8f17b Revert "Force update APs when enabling wifi in WifiSettings."
This reverts commit 1c231d32b1.

Reason for revert: b/37530557 - ANR in Settings due to deadlock

Change-Id: I85d70aa957dca76189b7600d7b39cb9a09437e91
2017-04-20 17:49:20 +00:00
Sundeep Ghuman
1c231d32b1 Force update APs when enabling wifi in WifiSettings.
Bug: b/37324736
Test: See bug for repro steps.
Change-Id: I2a789e13781c64d2cc72b059685c5f3dfb9ff2ad
2017-04-18 20:28:50 -07:00
Sundeep Ghuman
bb46d23c8f Remove animations in WifiSettings.
This addresses jank issues when first showing the WifiSettings. Given
the new loading bar, animated transitions seem less relevant. Based on
user feedback, animations may be readded after a delay in ODR.

Bug: b/37429702
Test: Visual
Change-Id: I9a44820bb354885d0ef31d50278aee6a47727701
2017-04-18 16:45:04 -07:00
Sundeep Ghuman
60c1d4ec64 Fix startup jank in the Wifi Picker.
Synchronously fetch the latest APs during onResume and show these before
displaying the other wifi preferences. This fixes a visibile shuffling
issue. Additional Setting preferences are now programatically added
during onStart and hidden during onStop in order to avoid the animation
delay which causes a shuffling effect.

Bug: b/36406983
Test: Visual inspection. Animation jank is difficult to programatically
test.

Change-Id: I34b2d737a8e72e1dc296c170f753975fafce7a3e
2017-04-17 13:36:35 -07:00
TreeHugger Robot
0c4747401a Merge "Link to "scanning settings" when Wi-Fi is off." into oc-dev 2017-04-06 01:41:43 +00:00
Amin Shaikh
0820ee350f Link to "scanning settings" when Wi-Fi is off.
Always link to scanning settings when wifi is off. Previously, the link
was only shown when wifi was off and scanning settings were on.

Bug: 36033488
Test: m RunSettingsRoboTests and manually testing on device
Change-Id: I0abc6f4a25072c78fea6a971621cebc1a97b658b
2017-04-04 17:58:59 -07:00
Peter Qiu
36b68df4d4 wifi: allow manual connection to a Passpoint provided network
While connected to other WiFi network, a Passpoint AP with its
provider installed will shown as "<SSID> available via
<Provider Name>", since the installed provider contained
necessary credentials needed to connect to that AP.

This CL will trigger a connection to that AP when the user
taps on it for manual connection.

Bug: 36357280
Test: manual connecting to a Passpoint network while connected
      to other network

Change-Id: Idec440aa1606e80bcea56054e77ef2dc50a7ac93
2017-04-04 14:06:28 -07:00