Refactor TelephonyBasePreferenceController and TelephonyTogglePreferenceController
Bug: 150352656
Test: make
Change-Id: I3d52054fd9fbc5597db6266686d155a12d5a88d6
1. Create PreferenceEntriesBuilder for 5G entry. In the past, the
preferred network type entries was based on CarrierConfigManger value
but 5G option is based on allowed netowork type and device access
family, so include 4G and 5G logic in PreferenceEntriesBuilder.
2. If user selected item not in preferred network option, settings will
auto selected on the first item. For example, if user selected on 5G and
device disallowed 5G(5G option will be hide), so settings will selected
on first item(4G).
Bug: 149721842
Test: EnabledNetworkModePreferenceControllerTest
Change-Id: Ic447a137f9db4cf1a0048a8e58487c29b402bb48
5G has two operating modes: stand-alone and non-standalone.
The vast majority of support is currently for non-standalone
mode. Because Android currently cannot tell the difference
between the supported modes in the modem, and because a device
that supports non-standalone mode shoudn't scan for 5G during a
PLMN selection procedure (it can't camp on 5G, hence non-
standalone mode), disable 5G scans by default and revisit once
modem support exists to distinguish between the two modes. This
avoids alternatives such as allowing 5G to be silently removed
in the RIL or for a 5G scan to be performed which doesn't provide
the user any meaningful options.
A separate bug has been filed (b/151119451) to revisit this logic
once the modem supports interrogation of its 5G capability.
Bug: 149528140
Test: compilation
Change-Id: I4e19b43e6529b5c673bb54c6f8f94c44a7c5bee5
TogglePreferenceController won't call refresh summary for
SwitchPreference. Need to call it explicitly in updateState to update
the subtext.
Bug: 150885013
Test: Manually test
Change-Id: I0dafd78d867fc0c66906ee9a2daa7692bb15224b
TetherEnabler need to update tethering state of each tethering
interfaces to make sure other preferences that depends on these
SharedPreferences be consistent with UI.
Bug: 148968321
Test: TetherEnablerTest; CodeInspectionTest. Manully test, built and
flashed to crosshatch device.
Change-Id: Ie0be7748adf20e6fb0ff5489795b0ca0664b6323
Adds a new controller to monitor the capability discovery opt-in
setting as well as a new DialogFragment, which displays a dialog
providing the user with more information before they enable the
setting.
Also removes multiple updateSubscriptions() happening when the
activity is first created from onStart() and onChanged() callbacks.
Bug: 111305845
Test: manual
Change-Id: I70821964bc618c3c389c9039cd7f5028e34c7ebb
Refactored USBTether, BluetoothTether and WifiTetherDisable preference
controllers to extend TogglePreferenceControllers, since they are all
SwitchPreference.
Bug: 150634051
Test: UsbTetherPreferenceControllerTest,
BluetoothTetherPreferenceControllerTest,
WifiTetherDisablePreferenceControllerTest,
CodeInspectionTest
Change-Id: I3b1d1c4e678c65ced8dd506a87c3c43ed300d64f
The SharedPreferences value could be changed by other classes. This can
help make UI consistent with shared preferences value.
Bug: 148968321
Test: UsbTetherPreferenceControllerTest;
BluetoothTetherPreferenceControllerTest;
WifiTetherDisablePreferenceControllerTest;
CodeInspectionTest.
Change-Id: I11bdad2729e88c07ea1f046d9e95a6a63b398931
When disabling eSIM/Fi, CarrierConfig retrieved on that subscription
becomes null and need to perform null pointer checking when accessing
it.
Bug: 149484288
Test: manual
Change-Id: If8a206788407a65c2cb9e5bafe3bc89b93cf63fe
Network scans comprise multiple different access
technologies, and scanning each of those techs can
be very time consuming. Worse, depending on a user's
settings, the device may only be allowed to connect
to 2G, 2G+3G, or 2G+3G+4G networks. If a scan finds
network types that a user can't connect to, it also
creates a poor user experience if a user tries to
select those network types.
This CL restricts the scans to only find and return
results that a user can select based on the other
user settings.
Bug: 128572818
Test: manual (crosshatch) - set allowed networks to
2G+3G and verify that LTE networks are not returned.
Set allowed networks to 2G+3G+4G and verify that LTE
networks are returned.
Merged-In: Ic855100723b8604c1e872457a70fd8f25d225278
Change-Id: Ic855100723b8604c1e872457a70fd8f25d225278
(cherry picked from commit bda277b3b6)
The DataDuringCallsPreferenceController didn't listen the mobile data changed and update the preference.
Bug: 149344454
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataDuringCallsPreferenceControllerTest
Change-Id: I0121f06efb5257dccc05ad06b93a9db263f012b5
ApnEditor tries read and set the UI in onCreate, before the previous
bundle is restored. This caused problems when the configuration has
changed (such as switching to Dark Theme).
This moves the UI changes to onViewRestored
Fixes: 146399432
Test: make SettingsGoogle and manual test UI
Change-Id: I8147ec96569fa28867c088d6c36584aa344f40ed
Merged-In: I8147ec96569fa28867c088d6c36584aa344f40ed
ApnEditor tries read and set the UI in onCreate, before the previous bundle
is restored. This caused problems when the configuration has changed (such
as switching to Dark Theme).
This moves the UI changes to onViewRestored
Fixes: 146399432
Test: make SettingsGoogle and manual test UI
Change-Id: I8147ec96569fa28867c088d6c36584aa344f40ed
When enabling "Automatically select network" in "Settings -> Network &
internet -> Mobile network -> Advanced" and rotating the device while
the dialog is showing there will be an IllegalArgumentException since
the decorView isn't attached to the window when dismissing the dialog.
Fixed by simply catching the exception since the dialog will be gone
anyway.
Bug: 146057372
Test: manual (see comment above)
Change-Id: I15f1d6f505fdf33964ce973ece31d6aa0d8f3909
handlePreferenceTreeClick gets triggered even for other preferences, so
this check is added to handle the correct click
Bug: 138861284
Test: mp settingsg
Change-Id: I178814b4b194d24f38ad0bb74694a2c51d16c89a