Commit Graph

103 Commits

Author SHA1 Message Date
Raff Tsai
af9eb2d7a7 Application accepts null intents causing a crash
Change-Id: Ia7f98f43567f25ae7abc6e5ac7e07323e75d9047
Fixes: 116869239
Test: adb shell am start -n com.android.settings/com.android.settings.Settings\\\$ApnEditorActivity
Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.network"
2018-10-02 02:04:41 +08:00
Fan Zhang
67793945f0 Remove custom robotest utils in favor of framework support.
Bug: 111195450
Fixes: 111195167
Test: robotests
Change-Id: I8bea43fd86f9ae5ce40eb16dabf733b0fbe89aae
2018-09-26 17:28:08 -07:00
Ben Lin
3210396de9 Check for Data Usage intent before populating "Data Usage" summary.
On some devices, data usage is not available; thus, it is possible that
ACTION_DATA_USAGE_SETTINGS has no matching activity. If no matching
activity is found, we should not populate "data usage" in the summary
field.

Bug: 111398942
Test: Manual check. I see that data usage is no longer visible on
devices without Data Usage activity.
Test: make RunSettingsRoboTests

Change-Id: I838206b76497c6550ef4826ad19e605cd32906ee
2018-09-05 02:29:04 -07:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
jackqdyulei
a9fa4c1d05 Hook up feature flag to mobile network controller
Send intent to phone process if the flag is false.

Bug: 113069948
Test: RunSettingsRoboTests
Change-Id: Ie9726470e718144557f318fe7ea28e863d63679c
2018-08-22 17:58:09 -07:00
Fan Zhang
25d9f3812b [Dynamic Home] Make a new page for all top level settings
Since we are moving conditionals/suggestions to a different place, there
is no need to use DashboardSummary to display top level settings any
more. We can simplify a lot of code for top level settings and reduce it
to a standard DashboardFragment.

- Create a new DashboardFragment + xml for all top level internal items
- Add a PreferenceController to provide summary for Network & internet
  item.
- Mark a bunch of things deprecated for future work.

Bug: 110405144
Test: robotests
Change-Id: I9f778777131c28eb836b722e089e026a59f5ddc6
2018-08-08 17:20:15 -07:00
TreeHugger Robot
fa44a94aa9 Merge "Add a boolean flag to show or hide Private DNS in Network & internet." 2018-08-06 19:07:14 +00:00
Ben Lin
bc4b584446 Add a boolean flag to show or hide Private DNS in Network & internet.
The following boolean flag is added:
config_show_private_dns_settings

When set to false, Private DNS will not be shown in Network & internet.

Bug: 111398942
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest
Change-Id: I62911930680355b7fc109b295d8526bdb7eac0b3
2018-07-26 12:12:25 -07:00
Ben Lin
96dc235f6e Check for WiFi controller for summary population.
WiFiController might return not available, so we should only surface
"Wi-Fi" as a summary entry if it's available in the settings page.

This also checks for empty strings in case they are declared as such in
the XML (since XML can be device/product overlay'd), to avoid situations
such as ", data usage".

Bug: 111398942
Test: Manual check, and I see Wi-Fi no longer visible for cases where
Wifi controller isn't available.
Test: make RunSettingsRoboTests
Change-Id: I24736a6240c50e2ea38ce424fbac2316721290d8
2018-07-25 14:14:11 -07:00
Fan Zhang
420f385a18 Fix a incorrect type cast for alert dialog
Change-Id: I2265c4510785f88ef7950cd29779848eb2e58dc4
Fixes: 111488148
Test: manual
2018-07-16 12:23:57 -07:00
Jordan Liu
a9ec524463 Merge "Preserve leading 0s in mcc mnc" 2018-07-13 20:57:52 +00:00
Jordan Liu
21d5942006 Preserve leading 0s in mcc mnc
Fixes: 79408450
Test: ApnEditorTest.java
Change-Id: Iad7ffe04f23b30857588e50d7f5f0dd307bd2c6e
2018-07-13 10:44:39 -07:00
tmfang
f12e6adcdc Settings Fragment Migration (Fix test cases)
Fix all Roboletric test cases.
In this CL, some test cases are broken.
So, We ignored these test cases temporarily.

Test: make RunSettingsRoboTests -j56
Bug: 110259478
Change-Id: I1a3075438a614432a2de4f2d96d8abf9a83ce58c
2018-07-11 18:24:51 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Erik Kline
e1a5ac804d Merge "Factor in PRIVATE_DNS_MODE_DEFAULTSETTING value" into pi-dev am: 5a0a7ef4bb
am: cf83539e1e

Change-Id: Ia06f5bef6d4103cf65a2c07d8dadecfa815080f7
2018-05-23 15:59:09 -07:00
Matthew Fritze
8f36eb8cfb Update airplane mode key to match framework constant
Change pref key for airplane mode to "airplane_mode" to match the
constant declared in SettingsSlicesContract.

Bug: 80106671
Test: robotests
Change-Id: I898befffbdafc3004fc127414edd04f60ff2554e
2018-05-22 18:51:11 -07:00
TreeHugger Robot
5a0a7ef4bb Merge "Factor in PRIVATE_DNS_MODE_DEFAULTSETTING value" into pi-dev 2018-05-23 01:02:39 +00:00
Matthew Fritze
1dd25fd87c Add isSliceable API to BasePrefController
Only support explicitly approved Settings Slices,
dictated by controllers which return true for the new
method isSliceable.

Updating the supported settings to a whitelist means that
the method to return all available slices must be updated,
and checking slicability when we index slices.

Test: robotests
Change-Id: I85848c2cdf3e151fa94b33dd1dc5c0374ef94b5b
Merged-In: Ib2b9690cdd0036b5cc4a1cb846c52bce7c824ab9
Fixes: 79779103
2018-05-22 22:43:24 +00:00
Matthew Fritze
bf1f5b5813 Add isSliceable API to BasePrefController
Only support explicitly approved Settings Slices,
dictated by controllers which return true for the new
method isSliceable.

Updating the supported settings to a whitelist means that
the method to return all available slices must be updated,
and checking slicability when we index slices.

Test: robotests
Bug: 79779103
Change-Id: Ib2b9690cdd0036b5cc4a1cb846c52bce7c824ab9
2018-05-22 11:06:42 -07:00
Erik Kline
aee4396874 Factor in PRIVATE_DNS_MODE_DEFAULTSETTING value
This setting can be used to change the in-code default.

Test: as follows
    - built, flashed, booted
    - make -j50 RunSettingsRoboTests ROBOTEST_FILTER=PrivateDnsModeDialogPreferenceTest passes
    - make -j50 RunSettingsRoboTests ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest passes
Bug: 79719289
Change-Id: I27e5fb9cc66dde1df72395c22179bca3f62ef782
2018-05-22 10:52:55 +09:00
Nitin Shivpure
ec5a3f9c01 Merge "Bluetooth: Fix to avoid BluetoothPan ServiceConnection leak" into pi-dev am: d924894652
am: 75787c8a77

Change-Id: Ib111a099149a8a6852f029d5c8b1334ea891a7fc
2018-05-16 16:43:00 -07:00
Nitin Shivpure
1b0afb9d1c Bluetooth: Fix to avoid BluetoothPan ServiceConnection leak
Usecase:
1.) Make sure BT is turned off.
2.) Go to Settings -> Network & Internet
3.) Press back  from Network & Internet.
4.) Repeat above step 2000 times

Expected Result:
No ANR/Crashed should be seen.

Observed Result:
ServiceConnection leak is happening & android setting app get crashed.

Root cause: TetherPreferenceController tries to get
pan Proxy object, when BT is oFF, which is leaking one
service connection each time

Fix: getProfileProxy for Pan must only be called, when BT is
      turned on.

Test: lifeCycle_onCreate_shouldNotInitBluetoothPanWhenBluetoothOff

Bug: 79561076
Change-Id: I85208f48ce4dded94020cb156fcdb98b2cc873f9
(cherry picked from commit 31bcf6225cdabee4f810d4fe55ea32d0d43a9c5c)
(cherry picked from commit 31c799305b480e56bd083a48c6acca11572ebe16)
2018-05-16 15:22:56 -07:00
Lei Yu
7c580997be Merge "Add cancel button for private dns dialog" into pi-dev am: 7fe599f542
am: ea1d9d17d1

Change-Id: I55cab617105d21ff42ed911e6b457ec662349811
2018-05-14 15:11:36 -07:00
Lei Yu
231fe615cc Add cancel button for private dns dialog
Also update the onclick method.

Change-Id: I69e92584e056a4d0a686153315b8df002d91e204
Fixes: 79479021
Test: RunSettingsRoboTests
2018-05-14 13:12:00 -07:00
Chalard Jean
0e8e89f576 Show the status of private DNS. am: f249555f97
am: 43a42e4592

Change-Id: I7ba6ec19ab4f373d6d78609f5a8a6bd76749ead7
2018-05-02 22:13:37 -07:00
Chalard Jean
f249555f97 Show the status of private DNS.
This works as follows :
Off → "Off"
Opportunistic, inactive → "Automatic"
Opportunistic, active → "On"
  (stealing a string from notifications for this)
Strict, not resolved and/or not validated → "Couldn't connect"
Strict, resolved and validated → Set up hostname

Bug: 73641539
Test: manual, and updated tests pass
Change-Id: Id1132467288d51aa9cb81a04db65dee438ddfad9
2018-05-03 05:04:47 +00:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Fan Zhang
e537da877b Merge "Format number to local locale." into pi-dev am: 0468f68c02
am: 92c62ba2eb

Change-Id: I3a0f1322e3f904c90f1e616be454ba710f094781
2018-04-19 18:13:21 -07:00
Fan Zhang
040df90c50 Format number to local locale.
Change-Id: Iffa91eb8c40f09e5ac4cce10f355e348e62d8fce
Fixes: 78134172
Test: robotests
2018-04-19 15:54:39 -07:00
Fan Zhang
4db6aac464 Use ListFormatter to join strings for network dashboard
Test: robotests
Change-Id: Ie15512acb35c185f9a59bf268303b7993cc40947
2018-04-19 00:40:53 +00:00
Pengquan Meng
c670be956c Merge "Fixed ApnEditor crash issue" into pi-dev 2018-04-17 01:26:54 +00:00
Pengquan Meng
7c9f3ff74e Fixed ApnEditor crash issue
This root caused is that we closed the managed cursor which lifecycle is
managed by Activity.

Actually, we don't need the managed cursor in this case, just use the
normal cursor and close it after we got the apn data from the database.

Bug: 77894798
Test: make ROBOTEST_FILTER=ApnEditorTest -j40 RunSettingsRoboTests
Change-Id: I6eb80bbd53354e00e871e974f520668dcbceac63
2018-04-13 17:55:15 -07:00
Andrew Sapperstein
e358876bc1 Remove menu from Network & Internet screen.
Only one item was left "reset wi-fi, mobile & bluetooth"
which is also an option in Reset. So we're just removing
it so that there's no overflow menu at all.

Change-Id: I0298192667fb4ac2f58f51232ae2da1842e6c27e
Fixes: 77986130
Test: robotests
2018-04-13 13:48:05 -07:00
TreeHugger Robot
a9261b4136 Merge "Use a different string for vpn summary." into pi-dev 2018-04-12 22:26:54 +00:00
Doris Ling
0a66946d6b Use a different string for vpn summary.
- for legacy vpn config, we do not get the vpn name to show in the
preference summary, and we used to simply show "Connected" as the summary
text. However, the string was changed to include the connected device
name as the parameter. Change to use connected summary string that does
not requires any parameter.

Change-Id: Ia6191eb315f5f23e0e6bf8da2a9537c211e8188e
Fixes: 77618408
Test: make RunSettingsRoboTests
2018-04-12 14:04:10 -07:00
CY Cheng
fee4807dc0 Refactor airplane mode preference controller.
- Convert inheritance from AbstractPreferenceController to
TogglePreferenceController.
- Register AirplaneModePreferenceController in XML.
- Decouple AirplaneModeEnabler with preference, leave the UI be
controled by PreferenceController.
- Add RoboTests test cases for AirplaneModePreferenceController.

Fixes: 67997339
Test: RunSettingsRoboTests
Change-Id: I7398943ed51345e014ee7aa774bfae1ca28632f1
2018-04-12 14:10:35 +08:00
Erik Kline
85c34077d3 Display Private DNS status in preference summary
Also: fix a bug where the actual current mode is not read correctly
from settings on initialization.

Test: as follows
    - built, flashed, booted
    - manual test behaves as expected
    - make -j50 RunSettingsRoboTests ROBOTEST_FILTER=PrivateDnsModeDialogPreferenceTest passes
    - make -j50 RunSettingsRoboTests ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest passes
Bug: 34953048
Bug: 64133961
Change-Id: I0b845b3894a47b837abf5de273d1ada642ef5a23
2018-04-08 15:50:58 -07:00
Erik Kline
6c2ad0d62d Expressly forbid IP string literals as Private DNS hostnames
For obvious bootstrapping reasons, DNS settings have always used
IP address string literals in input fields.

However, since we can use the network-assigned nameservers to bootstrap
our way to multiple IP addresses of multiple families (!), hostnames
provide a clear simplicity and future-proofing advantage.

Permitting IP address literals means not only making sure that we can
validate X.509v3 certificates for IP addresses, but coping with the
inevitable broken configurations where users may have configured IPv4
addresses but no IPv6 addresses.  This will unnecessarily complicate
life on IPv6-only networks.

=)

Test: as follows
    - built
    - flashed
    - booted
    - tried to enter IP string literals
    - make -j50 RunSettingsRoboTests ROBOTEST_FILTER=PrivateDnsModeDialogPreferenceTest
Bug: 34953048
Bug: 64133961
Bug: 73641539

Change-Id: I7a58e86ed640ff5600906fb3d8cb9a2c75598831
2018-04-04 00:42:19 -07:00
TreeHugger Robot
cf60ff7e08 Merge "Move apn settings to network" into pi-dev 2018-04-03 19:41:39 +00:00
Pengquan Meng
7a1c93dcf3 Move apn settings to network
This is a clean up CL, move the apn settings related class from settings'
root to network's directory.

Bug: 77339683
Test: make ROBOTEST_FILTER=ApnEditorTest -j40 RunSettingsRoboTests
Change-Id: I751a6c2a27c9a1e08d7308407d75ccb355f295aa
2018-04-02 17:27:56 -07:00
Chalard Jean
42405603c7 Move the Private DNS dialog back to the top level.
Bug: 64133961
Fixes: 74844869
Test: visual test and interaction
      also updated tests and checked they pass
Change-Id: I7c8d50e5941c2a7dd46014932bdace14dc222c80
2018-04-02 09:58:12 +00:00
Fan Zhang
c0c3eaa66c Remove more wrappers
Bug: 76167422
Test: make RunSettingsRoboTests -j40
Change-Id: I0dc42c483ae92d508dec94e42573b55ced0e4bb0
2018-03-30 14:29:50 -07:00
Fan Zhang
368c81e97b Remove networkScorer wrapper
Also modified NetworkScorerPickerPreferenceController to register itself
in xml directily

Bug: 76167422
Test: robotests
Change-Id: I4a216b5e6845aecd6aaeed0ed9b3e06c9e0fc590
2018-03-30 11:06:30 -07:00
yuemingw
6e78482016 Disallow_airplane_mode should not disable mobile network.
Found mobile_network_settings preference is dependent on toggle_airplane
preference so once Disallow_airplane_mode is turned on,  toggle_airplane
preference will be set disabled, and mobile_network_settings preference
is also set disabled because of the dependence. Can fix this bug moving
the dependance and let MobileNetworkPreferenceController listen to
Settings.Global.AIRPLANE_MODE_ON.

Bug: 76468718
Test: manually but TestDpc
Change-Id: I137938766557d7bc5ae0795bc3359a6bfbae17e3
2018-03-29 14:34:33 +01:00
Fan Zhang
1ee2a88fd7 Hide spannable link if it's not actionable
Created a new constructor that detects if intent is actionable and set a
flag in LinkInfo.

In fragments, first check if linkInfo is actionable, if not, don't do
anything with it.

Change-Id: Ibda12ecac2545d696acc7c197fc315e423b984aa
Fixes: 74726487
Test: make RunSettingsRoboTests -j
2018-03-21 12:37:34 -07:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00
Fan Zhang
b3b5082536 Auto update summary for mobile network preference.
Change-Id: Ic7854ef4d2d710dff528244a5e5fb75708740d2e
Fixes: 73504707
Test: robotests
2018-02-28 15:22:09 -08:00
Ben Lin
e5e8f0368f Add ability to show/hide airplane toggle.
This introduces a new boolean flag:
config_show_toggle_airplane

Which when set to false, will hide the airplane mode toggle in network &
internet.

Bug: 69813881
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=AirplaneModePreferenceControllerTest

Change-Id: I2cf682bf78231040eba5573fbcb55a65be2a13df
2018-01-16 18:23:52 +00:00
Fan Zhang
4e08869e1a Make a strong reference to LifecycleOwner in tests
Change-Id: Id3b26ded6c903b67b9880dbfe1a0656a564c8947
Fixes: 71867776
Test: rerun tests
2018-01-11 14:30:16 -08:00