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
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
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
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
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
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
Also remove the duplicate ic_menu_delete.xml and fix up places where it
was used.
Bug: 77982107
Test: manual
Change-Id: I23ede37b7cdf9bea59b44cd0f817bf0ad0cd1d69
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
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)
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
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
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
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
- 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
- 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
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
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
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
Bug: 64133961
Fixes: 74844869
Test: visual test and interaction
also updated tests and checked they pass
Change-Id: I7c8d50e5941c2a7dd46014932bdace14dc222c80
Also modified NetworkScorerPickerPreferenceController to register itself
in xml directily
Bug: 76167422
Test: robotests
Change-Id: I4a216b5e6845aecd6aaeed0ed9b3e06c9e0fc590
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
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
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936
Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
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
- for fragments that do not implement the preference screen, change them
to inherit from InstrumentedFragment instead.
Change-Id: I791c2634024bd2c248efea955be5c680180d735c
Fixes: 68277111
Test: make RunSettingsRoboTests