Commit Graph

116 Commits

Author SHA1 Message Date
Youming Ye
31576aae7c Merge "Wrong Carrier Config values are used in ApnSettings for Multi SIM device"
am: b7e3552b83

Change-Id: I14a7f51ace0637a6248fe13f9a4dc46ee4b9c0a1
2018-09-25 10:20:06 -07:00
Youming Ye
b7e3552b83 Merge "Wrong Carrier Config values are used in ApnSettings for Multi SIM device" 2018-09-25 17:04:10 +00:00
Torbjorn Eklund
db353e2c4a Merge "ApnEditor: Consider subId when reading carrier config"
am: f6f7079709

Change-Id: I8d49e7f38528da4f5fc0cd18eecfd59854b7505f
2018-09-24 10:48:00 -07:00
Torbjorn Eklund
ae8e62f4d0 ApnEditor: Consider subId when reading carrier config
Considers subId when reading carrier config values
KEY_READ_ONLY_APN_TYPES_STRING_ARRAY and
KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY.

This ensures that the APN will be editable or non-editable correctly
when using dual sim.

Bug: 112929355
Test: Manual
Change-Id: I2186dd5e1f71ca5361309a7314f84cf4fa2d3937
2018-09-20 13:12:54 +00:00
Fan Zhang
de117046ad DO NOT MERGE Import clean up.
Reordered all imports according to Android codestyle.

Test: rebuild
Change-Id: I750f01f70f2114d51838bf652833aebdc4065c98
2018-09-04 13:54:46 -07:00
Aurimas Liutikas
03fcde338b Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
(cherry picked from commit b1af85d155)
2018-08-28 16:35:52 -07:00
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
Yuchen Dong
20fb65fb84 Wrong Carrier Config values are used in ApnSettings for Multi SIM device
In ApnSettings, it always uses Carrier Config values of default subId.
So, wrong carrier config values are used for non-default subId.
To resolve this issue, read Carrier Config values based on subId.

Test: manual - Check Carrier Config values are read based on subId.
Bug: 111172301

Change-Id: I87e4cbb2e8020198fa03c2c84ef9bd10d5970341
2018-08-23 21:14:07 +09:00
Jordan Liu
b1facd2001 Refresh subscription info when subid changes
We store the initial subId and check if it has changed so that we always
have the updated subscription info in fillList().

Fixes: 111731641
Test: manually verify that swapping the SIM loads new APNs
Change-Id: I3475915f2c380fb67b2e56436423d491e489d91e
2018-08-15 11:37:24 -07:00
irisykyang
40f4f799bb Reload APNs setting page when receive the intent ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED
Bug: 77250264
Test: Manual testing
Change-Id: Ie28c67c89a2590425ff9c06153b53dac6cf141f0
Merged-In: Ie28c67c89a2590425ff9c06153b53dac6cf141f0
2018-08-14 15:55:43 -07:00
Jordan Liu
f546b97db9 Preserve leading 0s in mcc mnc
Fixes: 79408450
Test: ApnEditorTest.java
Change-Id: Iad7ffe04f23b30857588e50d7f5f0dd307bd2c6e
Merged-In: Iad7ffe04f23b30857588e50d7f5f0dd307bd2c6e
2018-08-08 11:35:15 -07:00
Pengquan Meng
1fc6859126 Merge "Remove internal ApnSetting."
am: 4079677883

Change-Id: I130a2038c2c5b289c107d9e640c038965ef60e34
2018-06-13 15:33:56 -07:00
TreeHugger Robot
6be5e331cf Merge "Update airplane mode key to match framework constant" into pi-dev 2018-05-23 03:00:47 +00: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
8ad8516f48 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: I625bed440dd7f1f8509cd00ced5ba67f08a0e737
Merged-In: I898befffbdafc3004fc127414edd04f60ff2554e
2018-05-22 17:34:19 -07: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
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
TreeHugger Robot
55642ef91b Merge "Updated delete icon" into pi-dev 2018-05-18 21:38:51 +00:00
Antony Sargent
0d9afde271 Updated delete icon
Also remove the duplicate ic_menu_delete.xml and fix up places where it
was used.

Bug: 77982107
Test: manual
Change-Id: I23ede37b7cdf9bea59b44cd0f817bf0ad0cd1d69
2018-05-17 11:55:40 -07:00
Nitin Shivpure
5ba33d1fd3 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
Merged-In: I85208f48ce4dded94020cb156fcdb98b2cc873f9
2018-05-16 15:25:36 -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
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
Matthew Fritze
bd376296cd Establish permanently unavailable settings
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.

The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.

Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.

Bug: 78910582
Fixes: 79245656
Test: robotests
Change-Id: I42c2cedab66be2d76999795f46470a079cc1ec71
Merged-In: I58821a6cfd6134b3b351657b6edf5f74ead00643
2018-05-09 10:03:40 -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
sunnyshao
c624663312 Modified the AirplaneModePreferenceController for slice
- Updated the AirplaneModePreferenceController for slice feature
- Updated the AirplaneModeEnabler for slice feature

Fixes: 78645242
Test: manual
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.network
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.core
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.dashboard
      atest UniquePreferenceTest SettingsGatewayTest

Change-Id: I4afbc666f916570d648ad2b33ebb25924024e9f1
2018-04-26 14:49:04 -07:00
Jason Monk
fcd5f0f1aa Push full slice index to device index
Test: make RunSettingsRoboTests
Bug: 74555610
Change-Id: I3f0aa1218e1d7e736dc918d83e76423fa81ac6ab
2018-04-26 11:16:04 -04:00
Fan Zhang
040df90c50 Format number to local locale.
Change-Id: Iffa91eb8c40f09e5ac4cce10f355e348e62d8fce
Fixes: 78134172
Test: robotests
2018-04-19 15:54:39 -07:00
Pengquan Meng
c670be956c Merge "Fixed ApnEditor crash issue" into pi-dev 2018-04-17 01:26:54 +00:00
Fan Zhang
ae131c4786 Fix an RTL issue in Network dashboard's summary text.
Bidi wrap the word "Wi-Fi" so it's RTL'd correctly in all languages

Change-Id: Ia228b8f182ba6c7b5db5c310ecb54b25937e6ab7
Fixes: 78120642
Test: visual
2018-04-16 14:59:22 -07: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
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
Fan Zhang
f7843adabd More renaming in DashboardFragment
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936

Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
2018-02-23 16:56:30 -08:00
Fan Zhang
aed8994f6f Rename Indexable::getAllPreferenceControllers.
To getPreferenceControllers. "all" is redundant. Then internally, the
old getPreferenceControllers() is renamed to
createPreferenceControllers() to emphasize the controllers are created
from code (versus the ones created from xml).

Bug: 73668763
Test: robotest
Change-Id: Ifec46aefdc2a418031c8e152028b30bdcd396fc7
2018-02-23 16:37:28 -08:00
Fan Zhang
47854c2945 Migrate more places to subsetting launcher
Bug: 73250851
Test: robotests
Change-Id: Iaf29df45ddb42fd58f181cb01e10998a97cb7c34
2018-02-19 14:21:05 -08:00
Doris Ling
72489725c6 Change superclass to InstrumentedFragment.
- for fragments that do not implement the preference screen, change them
to inherit from InstrumentedFragment instead.

Change-Id: I791c2634024bd2c248efea955be5c680180d735c
Fixes: 68277111
Test: make RunSettingsRoboTests
2018-02-02 13:41:16 -08:00
Leif Hendrik Wilden
28dee1f086 Migrate to use instrumentation classes from settingslib.
Test: Compiles. Manually tested.
Change-Id: I70a6e76cc8440547746ecc008c32bd06a7de8161
2018-01-24 12:30:39 -08:00
Leif Wilden
cab0ee611d Revert "Migrate to use instrumentation classes from settingslib."
This reverts commit 1546cca529.

Reason for revert: Broke fingerprint setup flow. b/72267201

Change-Id: I8321265ae64732c526325882ddea51080decddf5
2018-01-22 20:57:36 +00:00