Commit Graph

858 Commits

Author SHA1 Message Date
Svetoslav Ganov
871078e91b Add WiFi toggle prompts - settings
If permission review is enabled toggling WiFi on or off
results in a user prompt to collect a consent. This applies
only to legacy apps, i.e. ones that don't support runtime
permissions as they target SDK 22.

bug:28715749

Change-Id: I10d1231ea0c47eec5993dbe367cc0c245cba9385
2016-08-09 01:55:26 +00:00
Christopher Wiley
9170100f6c Merge \"Do not use TetherUtil.setWifiTethering\" into nyc-mr1-dev
am: 62edbf484e

Change-Id: I023592acc146cbddb2917556a0fb7c3dade417f4
2016-07-19 16:02:42 +00:00
Christopher Wiley
9d251279ca Do not use TetherUtil.setWifiTethering
This functionality is replaced by ConnectivityManager.startTethering()
and ConnectivityManager.stopTethering().

Bug: 30147602
Test: Can toggle tethering on/off via all of settings, quick settings,
      and quick quick settings.
Change-Id: I4d190185c473237982b988f898e76d4997dc401c
2016-07-18 11:17:14 -07:00
Jason Monk
167f6cc87c Merge \"Remove PreferenceActivity\" into nyc-dev
am: 7f7092c705

Change-Id: I1d7431bd7bf4654f2fbfe8c43344e22d28b5b2f7
2016-06-08 19:15:42 +00:00
Jason Monk
b7e4380cd2 Remove PreferenceActivity
Its broken and isn't worth maintaining, instead port the few things
using it over to SettingsPreferenceActivity with wrapping blank
Activities like the rest of Settings.

Change-Id: Ic82f0dcb63ed9b4078f7da6a79c0c52f0130e8d1
Fixes: 28779941
2016-06-08 09:48:58 -04:00
Paul Stewart
aa5afb18fe Merge "Display connect button in the wifi connection menu" am: 9126cfba19
am: ace9f52725

* commit 'ace9f527253a5464308f8dd3aa97f841d5d2d996':
  Display connect button in the wifi connection menu

Change-Id: Ia72d92c7e50cfb316772609e561b34d0b8c62333
2016-05-27 15:06:06 +00:00
Felipe Leme
5c09184e00 Disable tethering when Data Saver mode is on.
BUG: 28313291
Change-Id: Idbedd440a1baa41f1407b32e86f5ae0080e60798
2016-04-22 14:25:35 -07:00
Jason Monk
623a289b9a Merge "Potential fix for receiver leak problem" into nyc-dev 2016-04-20 13:49:32 +00:00
Jason Monk
8ab081e304 Potential fix for receiver leak problem
The background thread is not stopping listening fast enough and is
resulting in first a receiver leak message followed by a crash when
trying to finally unregister the receiver.

Fix this by adding a registerReceiver to SummaryLoader that will
automatically unregister the receiver on the main thread to ensure
it happens in time.

Change-Id: I0104e929d5505eb53993f6765e4c90120df35cf6
Fixes: 28211606
2016-04-18 15:30:42 -04:00
Zoltan Szatmary-Ban
3f6208170d Apply policy transparency to HotspotCondition and WiFi settings...
...when there is an active hotspot and user restriction for disallowing
tether config is in effect. This is to avoid getting security exceptions
from WifiManager when engaging with HotspotCondition or Wifi enable switch.

Bug:27936528
Change-Id: Ib3324e853277c177966b55668758d349ffe6ecf5
2016-04-15 16:13:27 +01:00
Jason Monk
9e9ba0d751 Fix localization issues with disabled
Change-Id: Iba63b50000f546a1e323c855462841e82fce4df8
Fixes: 27948378
2016-04-11 09:58:55 -04:00
Jason Monk
85da859392 Fix wifi animation issues
There are still some remaining animation issues on the wifi screen.
To avoid regressions from M, just disable animations on the entire
wifi screen.

Change-Id: Iabf8ace731638ae7af483c6f3887ca351b17ac60
Fixes: 26271353
2016-03-30 16:22:39 -04:00
Pierre Imai
47f67c1ff7 Prevent multicast addresses in static Wifi config.
Change-Id: I1961b10d67d322fb863620813fe9039b63bb7895
2016-03-29 16:04:47 +09:00
Jason Monk
2de6a287ca Merge changes I22d799f8,I1bc14e7a into nyc-dev
* changes:
  Guard against crash in dev options
  Switch to whitelist for animations
2016-03-28 14:14:01 +00:00
Sudheer Shanka
ed0d4dd463 Merge "Add more policy transparency for wifi settings." into nyc-dev 2016-03-23 17:53:19 +00:00
Sudheer Shanka
561a88cfcd Merge "Add disabled by policy empty views to more screens." into nyc-dev 2016-03-23 17:53:15 +00:00
Nathan Harold
582b287595 Fix Crash in the WiFi Status Test Menu
-Remove fragments of the defunct/removed ip-address ping test
-Update a dangling resource reference

Bug: 27771038
Change-Id: Ib26eb6427eb6fbe6ef2d1f235277af3d2e8093f1
2016-03-21 23:22:55 +00:00
Jason Monk
f38fb38f26 Switch to whitelist for animations
Disable animations for all SettingsPreferenceFragments, unless they
explicitly ask for them before creating their preference screens.

Turn it on for all fragments using the cached removal currently.

Bug: 27713314
Change-Id: I1bc14e7aeb3ee5b8ddb4f3547f472305cd312edf
2016-03-18 15:16:12 -04:00
Sudheer Shanka
e2b2c3ffe4 Add more policy transparency for wifi settings.
Show policy transparency dialog if user tries to modify a
wifi configuration locked by device owner.

Bug: 27375948
Change-Id: I504082282f57bc5de9f097e962d195ecd2cc9da4
2016-03-17 15:35:15 -07:00
Sudheer Shanka
f1e78d35dc Add disabled by policy empty views to more screens.
Bug: 27588316
Bug: 27588671
Bug: 27588740
Change-Id: Id614067d76e936e9c3c585fdaed304bfbc88dc74
2016-03-16 22:33:37 -07:00
pkanwar
68d1ca6de5 Remove band preference in WiFi settings.
Bug: b/25743379

Change-Id: Id330e2bb59a4a03479603a90c206662d3e3c5068
2016-03-14 21:05:56 +00:00
pkanwar
fae7e6cd97 Remove band preference in WiFi settings.
Bug: b/25743379

Change-Id: Iddea166e0e0925fffb70de80978501945e8999a7
2016-03-11 08:28:18 -08:00
Jason Monk
3e19fc5600 Move temporary metrics constants to proto
Change-Id: I8fb3ac22df7bdc52039dd640f7696ebd32281f0b
2016-03-08 14:18:30 -05:00
Jason Monk
ebfbe5cfe6 Fix add network alignment
Bug: 26759951
Change-Id: I5ba657b5a4099d9f2f1ecf2f27a6a25908bc4a86
2016-03-07 10:19:47 -05:00
Jason Monk
6af0b9db4c Wifi p2p fix?
Bug: 27431029
Change-Id: Ic9661dbb75d633d4b6e778cde796785aa33c04e0
2016-03-01 15:27:38 -05:00
Damien Vagner
41a57e23a3 Display connect button in the wifi connection menu
When you quickly try to reconnect after forgeting the AP, the connection
is in DISCONNECTED state and we may still display the connect button

Change-Id: I755a259fdf68fab470d7f69aa461f5bcedddfd5b
Signed-off-by: Damien Vagner <damienx.vagner@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
2016-03-01 16:11:39 +08:00
Jason Monk
2071eda150 Workarounds to avoid removing all prefs
Removing all prefs causes ugly animations, so avoid it at all cost
and cache all the prefs (while still added) as long as possible.

Bug: 26271353
Change-Id: I33b84d751938b460f4b66c0158057407dd45d974
2016-02-26 11:00:01 -05:00
Samuel Tan
18d9865388 WifiConfigController: set ca_path and ca_cert to null if unused
am: d147f0090c

* commit 'd147f0090ce28e1ad70f7a9b582dec91161139e8':
  WifiConfigController: set ca_path and ca_cert to null if unused
2016-02-20 00:12:03 +00:00
Sudheer Shanka
7dbbe13168 Add disabled by policy empty views to more screens.
Bug: 27214401
Change-Id: I6cd4292a63610671070bf2134105e9e348c3ab32
2016-02-19 20:18:43 +00:00
Sudheer Shanka
5d8e963c83 Merge "Part3 - Don't add padlock if the restriction is not set by admin." into nyc-dev 2016-02-19 19:31:45 +00:00
Samuel Tan
d147f0090c WifiConfigController: set ca_path and ca_cert to null if unused
The WPA supplicant ca_cert and ca_path directives should not
both be non-null, since our EAP settings logic only allows one
or the other to be used.

Modify logic in getConfig() to explicitly set ca_path or ca_cert
to null if it is not used. This explicit null value is necessary
to override a previously non-null value saved in an existing
configuration.

Also, always set the domain_suffix_match directive, which
will lead to this directive to be reset when the Domain
field is hidden.

BUG: 27194668
TEST: 1) Install custom ca certificate onto device as "testcert"
TEST: 2) Configure an EAP-TLS network with CA certificate
         "testcert", Domain "testdomain",
         User certificate "Do not provide", identity empty, and save.
TEST: 3) Read network variables in data/misc/wifi/wpa_supplicant.conf
         and ensure that ca_cert is "testcert", ca_path is not
         present, and domain_suffix_match is "testdomain".
TEST: 4) Modify that same EAP-TLS network configured in step 2 with
         CA certificate "Use system certificates", Domain "testdomain",
         User certificate "Do not provide", identity empty, and save.
TEST: 5) Read network variables in data/misc/wifi/wpa_supplicant.eonf
         and ensure that ca_cert is "keystore://CACERT_testcert",
         ca_path is not present, and domain_suffix_match is
         "testdomain".
TEST: 6) Modify that same EAP-TLS network configured in step 2 to be
         an EAP-PWD network. Leave Identity and Password blank, and
         save.
TEST: 7) Read network variables in data/misc/wifi/wpa_supplicant.eonf
         and ensure that ca_cert, ca_path, and domain_suffix_match are
         not present.

Change-Id: I547f3e359bc8e9b77e51e10e60356b857230636f
2016-02-19 09:01:21 -08:00
Sudheer Shanka
9e9e63b7b3 Part3 - Don't add padlock if the restriction is not set by admin.
Bug: 26687435
Change-Id: Ibfea6d7d5bd32e7a05dcc2cc32b121c9e50b6a34
2016-02-16 11:04:11 +00:00
Samuel Tan
aedb058e1b Allow trusted system certificates to be used in EAP network configs
am: 2b16cd3920

* commit '2b16cd3920f95b2cd5c2426d81b5e1584ffc682d':
  Allow trusted system certificates to be used in EAP network configs
2016-02-09 18:24:20 +00:00
Samuel Tan
2b16cd3920 Allow trusted system certificates to be used in EAP network configs
Add an option to the "CA certificate" field of the EAP network
configuration menu, "Use system certificates". Choosing this option
will cause the trusted, pre-installed, system CA certificates
to be used to validate EAP servers during the authentication process.
This only applies to EAP-TLS, EAP-TTLS, and EAP-PEAP network
configurations, where the CA certificate option is available.

If the user selects "Use system certificates" and leaves the
"Domain" field empty, display a warning and prevent the
EAP network configuration from being saved. Such a configuration
would be insecure--the user should constrain the domain that
the system certificates can be used to validate.

BUG: 26879191
TEST: 1)  Set up AP connected to test RADIUS server.
TEST: 2)  Generate a self-signed cert (Cert 1)
TEST: 3)  Use Cert 1 to sign another cert (Cert 2) with common name
          "sub1.sub2.domain.com"
TEST: 4)  Setup RADIUS server, and configure it to present Cert 2 to EAP peer.
TEST: 5)  Build angler image with Cert 1 installed in
          /system/etc/security/cacerts/
TEST: 6)  Set up an AP connected to the RADIUS server to broadcast
          a WPA-Enterprise network.
TEST: 7)  On Angler, connect to this WPA-Enterprise network with settings:
            Network name: (AP SSID)
            Security: 802.1x EAP
            EAP method: TLS
            CA certificate: Use system certificates
            Domain: domain.com
            User certificate: (test certificate from RADIUS setup)
            Identity: (identity used for RADIUS setup)
TEST: 8)  Verify that we connect successfully to the AP.
TEST: 9)  Verify that connection still succeeds if Domain is set to
          "sub2.domain.com" and "sub1.sub2.domain.com".
TEST: 10) Verify that connection fails if Domain is set to
          "sub0.sub1.domain.com" and "otherdomain.com".
TEST: 11) Verify that network configuration cannot be saved, and an
          warning message "Must specify a domain" is displayed if Domain
          is left blank in the configuration in step 7
TEST: 12) Verify that the "Do not validate" option still appears in the
          CA certificate dropdown menu.

Change-Id: I346d4d301305719033b84ec4599bf3d57d9d4ee5
2016-02-08 08:54:42 -08:00
Samuel Tan
5e5038255c Correctly load saved EAP CA cert and user cert options
am: 3d8cdb10f6

* commit '3d8cdb10f6103a794e4cb68adb5de03a325d1c8f':
  Correctly load saved EAP CA cert and user cert options
2016-02-05 20:58:15 +00:00
Samuel Tan
3d8cdb10f6 Correctly load saved EAP CA cert and user cert options
Previously, we did not properly load the "Do not validate"
and "Do not provide" options for the CA certificate and
User certificate EAP network configuration fields respectively
when the user previously selected these options and saved the
configuration.

Fix this by properly checking the saved CA certificate and user
certificate aliases in the saved enterprise config.

BUG: 26686071
Change-Id: If180c611f7210718cfb11c0578545b6f027827b5
TEST: Saved EAP network with the abovementioned options.
TEST: Long-pressed saved network on Wifi menu and selected "Modify Network"
TEST: "Do not validate" and "Do not provide" options are re-loaded.
2016-02-03 13:29:54 -08:00
Samuel Tan
3848ddc1a0 Allow domain suffix match to be set in UI for EAP configurations
am: d54bbd5193

* commit 'd54bbd519303b8eb0a7822cea00c55ef5e4f6652':
  Allow domain suffix match to be set in UI for EAP configurations
2016-02-02 18:59:52 +00:00
Samuel Tan
d54bbd5193 Allow domain suffix match to be set in UI for EAP configurations
Add a "domain" field that allows the user to specify a domain
suffix match for an EAP network configuration. This field
will only be available when the user specifies a CA certificate for
an EAP-PEAP, EAP-TLS, or EAP-TTLS network. Under the hood, the
value entered into this field will be passed to WPA supplicant
as the |domain_suffix_match| configuration variable.

BUG: 25180141
Change-Id: Ib69b9519f475e90e40441ddff61c80be43cf624b
TEST: On angler, domain field appears for the EAP-PEAP, EAP-TLS
TEST: and EAP-TTLS networks.
2016-01-29 15:40:43 -08:00
Samuel Tan
57c329c9f9 Display warning if users does not provide CA cert in EAP config
Display an explicit warning in the WiFi configuration menu if
the user selects the option to not validate the EAP server (i.e.
does not provide a CA certificate) in an EAP configuration.

BUG: 26686071
Change-Id: I73620b60defdcf40865f8c67d5de24b5dad636f8
TEST: Warning appears when the abovementioned option is selected.
2016-01-27 14:10:40 -08:00
Samuel Tan
f827c929dd Add menu options for not specifying a EAP CA cert and User cert
Add the "Do not validate" and "Do not provide" menu
options for not providing a CA certificate and User certificate
respectively for EAP configurations.

Choosing these options are essentially equivalent to leaving
these fields alone as "(unspecified)" (when that option existed),
but now we require the user to make a conscious choice not to
provide these certificates.

BUG: 26686071
Change-Id: I4b9c07528d6d2ba3eb0787e7cfff69d05dd25679
TEST: Both the added options appear in the relevant menus.
TEST: Choosing both these added options in an EAP-TLS configuration
TEST: allows the configuration to be saved.
2016-01-27 14:10:34 -08:00
Samuel Tan
fffc5936b9 Disable configuring EAP-TLS without user certificate.
Disallow configuring EAP-TLS without a user certificate,
since this is probably an invalid configuration.

Also:
- change the wording of the default option for
  EAP CA and user certificates from "(unspecified)" to
  "Please select", to make it obvious that a choice
  needs to be made to proceed.
- Fix style issues found in WifiConfigController.java by checkstyle.py.

BUG: 26686071
Change-Id: I7ccfdf40db97328e3297a03cc43033ff2428980f
TEST: Save option is grayed out when configuring EAP-TLS network
TEST: while leaving "User Certificate" left at "Please select".
2016-01-27 14:10:25 -08:00
Chris Wren
9d1bfd1e8d port settings over to new metrics enum
Change-Id: I0b3efd2f4db773ccbc52bfe59ee8eb0dab9584fb
2016-01-27 10:58:58 -05:00
Sudheer Shanka
7ff7ea1e7f Made changes to menu items in WifiSettings and AccountSyncSettings.
When the admin has set disallow_config_wifi, menu items are not added.
we need to check if the menu items can be added after this fragment is
resumed. And for remove account menuitem, check whether any admin has
disabled management of a specific account type.

Change-Id: I58f5a59fe0614c9bc7068b15f43f89527939359d
2016-01-27 14:08:44 +00:00
Samuel Tan
03a117bcfa Display warning if users does not provide CA cert in EAP config
Display an explicit warning in the WiFi configuration menu if
the user selects the option to not validate the EAP server (i.e.
does not provide a CA certificate) in an EAP configuration.

BUG: 26686071
Change-Id: I73620b60defdcf40865f8c67d5de24b5dad636f8
TEST: Warning appears when the abovementioned option is selected.
2016-01-26 17:45:32 -08:00
Samuel Tan
30f7b5a7cf Add menu options for not specifying a EAP CA cert and User cert
Add the "Do not validate" and "Do not provide" menu
options for not providing a CA certificate and User certificate
respectively for EAP configurations.

Choosing these options are essentially equivalent to leaving
these fields alone as "(unspecified)" (when that option existed),
but now we require the user to make a conscious choice not to
provide these certificates.

BUG: 26686071
Change-Id: I4b9c07528d6d2ba3eb0787e7cfff69d05dd25679
TEST: Both the added options appear in the relevant menus.
TEST: Choosing both these added options in an EAP-TLS configuration
TEST: allows the configuration to be saved.
2016-01-26 17:45:32 -08:00
Samuel Tan
933b6ed98f Disable configuring EAP-TLS without user certificate.
Disallow configuring EAP-TLS without a user certificate,
since this is probably an invalid configuration.

Also:
- change the wording of the default option for
  EAP CA and user certificates from "(unspecified)" to
  "Please select", to make it obvious that a choice
  needs to be made to proceed.
- Fix style issues found in WifiConfigController.java by checkstyle.py.

BUG: 26686071
Change-Id: I7ccfdf40db97328e3297a03cc43033ff2428980f
TEST: Save option is grayed out when configuring EAP-TLS network
TEST: while leaving "User Certificate" left at "Please select".
2016-01-26 17:23:11 -08:00
Sanket Padawe
30e812b731 [DO NOT MERGE] Disable configuring EAP-TLS/TTLS/PEAP without CA certificates.
Bug: 15162357
Change-Id: I9b1be9837b104670adc1cc7ed47a5095ff38d335
2016-01-26 16:51:39 -08:00
Rubin Xu
b557817abc resolve merge conflicts of 55d7fcbfc2 to master.
Change-Id: Ib0876ea153e8a8f7c8ad5438915d39c9ae97e51b
2016-01-27 00:34:53 +00:00
Rubin Xu
e34ea11fca Support multiple CA certs when editing a saved Wifi network.
SSID with multiple CA certs can only be added programmtically. However it
can still be edited in the UI by long-pressing the item when currently
connected to the network. This change makes sure the UI shows up with
 meaningful indications that the SSID is configured with multiple CA certs.

Bug: 22547958
Change-Id: I5d42313efb141db521dd09ff3fbc520915b6fb79
2016-01-27 00:25:10 +00:00
Bartosz Fabianowski
d40c11a7d5 Merge "Allow user to specify whether a new network is shared or private" 2016-01-26 09:38:42 +00:00