For the new multi subscriptions UX, in several places we need to listen
for both subscription changes (eg a sim card was inserted or removed),
as well as airplane mode changing state. This combines those in one
helper class that can be reused.
Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: Ibcbb669ae291a917f89735dbda043742efaa58c9
In several places implementing the new changes for better UX with
multiple mobile subscriptions, we need a bit of code that filters the
results coming from the SubscriptionManager. This CL adds that common
code in a util class that will be used in later CLs.
Bug: 116349402
Test: RunSettingsRoboTests
Change-Id: Ie9376629604ac2c4a2f15123edc380c5999f2f83
Only enable mobile data for one SIM for simplicity. Which means When
turning on mobile data on non-default sub, pop a notification to user
that it will turn off data of the other one.
Bug: 120515679
Test: manual and unittest
Change-Id: I7c190bb70d771b7f280c246038a380e4fc7338a3
This adds the skeleton of a header section which will only appear when
the device has two or more active mobile subscriptions. Subsequent CL's
will add the actual logic implementing it.
Also this moves up the airplane mode toggle higher up on the page, and
removes the proxy selector entry (which has been unconditionally
disabled by the ProxyPreferenceController for a while).
Bug: 116349402
Test: manual (this is mostly a layout change - subsequent changes will
have actual logic to test for the subscriptions header)
Change-Id: Iaee338d5c13e05d3c2d9d04872a94cf90e5da588
- Replace new SliceAction with SliceAction.createDeeplink() or
SliceAction.create()
Test: make RunSettingsRoboTests
Change-Id: Ied34469d2220d8220a2dcc6c2fb4d32dd9cd9b8c
Fixes: 119879284
APN fetching logic has been encapsulated in URL_SIM_APN_LIST API in
TelephonyProvider
Bug: 115709816
Test: Live netwrk test
Change-Id: I735bc50e912dfbec0903fbcafdc4d6eaa6ccfc7b
Establish the Activity which hosts Settings panels through the
PanelFragment. The Activity's purpose is to validate the intent
data coming in, including:
- Called with startActivityForResult (so we can log who is calling)
- Intent has the proper intent extra to link to a Panel
The fragment takes the Panelable data and builds a Settings Panel.
Each panel will have:
- Title
- List of Slices
- Link to underlying content
The Panelable interface is created to provide all of those datums, and
the new FetureProvider provides the Panelables by linking them with
keys. The keys will eventually become public APIs with CTS tests.For
now, we store them locally.
I included an exmaple panel, the InternetConnectivityPanel which
currently shows Wifi and Airplane mode.
Screenshot: https://screenshot.googleplex.com/c6sv7ZzQ5OJ
Bug: 117804089
Test: make -j40 RunSettingsRobotest
Test: Manual app
Change-Id: I1932f7179cc32088acd6413a736901ddf9651892
When KEY_HIDE_PRESET_APN_DETAILS_BOOL is set to true, Preset APN setting
is hidden. When user taps Preset APN, a toast should be shown to inform
that user cannot view the APN.
Test: manual - check Preset APN setting details are hidden
Bug: 115453290
Depends-On: I8a5c6f92f876d349b304acf89b4ffab86ff3f24b
Change-Id: I0078b3492ae87a4297f24871b8bea1579e6a79af
This used the CarrierConfigManager to get the CarrierSettings activity
component and open that activity when the preference is clicked.
Bug: 117651939
Test: make -j40 ROBOTEST_FILTER=telephony RunSettingsRoboTests
Change-Id: Ic5267bba18ab32fbcc2e04aa61e7361151130275
When the Private DNS setting is disabled via a user restriction, show
information to the user explaining that they cannot change this setting
due to IT admin policy.
Testing steps:
* Installed & configured TestDPC on the device.
* Made sure that the Private DNS setting is usable.
* Set the user restriction via TestDPC ("User Restrictions" -> "Disallow
config Private DNS").
* Navigated to Settings -> Network & Internet -> Advanced
* Observed that Private DNS is greyed out and the Restricted icon is
showing.
* Observed that when tapping either the icon or the greyed-out text I
get a dialog with policy information.
Implementation notes:
I have not utilized the existing RestrictedPreference as the Private DNS
mode preference extends CustomDialogPreferenceCompat.
I have also not utilized the RestrictedPreferenceHelper as it modifies
the summary shown for the preference. This preference has its own
summary (showing the current state of Private DNS configuration) which I
did not want to override.
Bug: 112982691
Test: Manual, see above.
Change-Id: I9b7496b5b2cbb26012d889369f2199239cd2e00f
Get it from CarrierConfigManager instead of config in systemui package.
Also remove unused CdmaOptions
Bug: 114749736
Test: RunSettingsRoboTests
Change-Id: Iac47a60e51f68047b8f800dbdcf0efbcd432a015
Since it may return null when Crash happens in CarrierConfigManager
Bug: 118402844
Test: RunSettingsRoboTests
Change-Id: I9db0f1a873b3e24936b021989f6716369569b17b
When entering to ApnEditor with ApnSettings#onPreferenceTreeClick(),
subId is not passed.
So invalid subId is used and it gets wrong carrier config values.
To resolve this issue, remove unnecessary ApnSettings click event.
The only click event for launching ApnEditor is ApnPreference click
event.
Test: manual - Check that the read-only APN can't be edited when tap
the edge of the APN settings screen
Bug: 117302653
Change-Id: I0a61b409539d6e4f6aa9860235e61c43c76640fa
In addition to adding the flag, this also adds a new xml layout that is
the same as the existing network and internet page, but will begin to be
changed in subsequent CLs. There is also a change in code to use this
new layout when the flag is turned on.
One other change is to make the list of displayed feature flags in
developer options be in sorted order instead of whatever semirandom
order they come out of the map's key set.
Bug: 116349402
Test: Manual (settings_network_and_internet_v2 flag should should up in
Settings -> System -> Developer options -> Feature flags, and those
flags should be in sorted order)
Change-Id: I5520d286efb6bec50ba4ca99f64aeca94f01d533
1. Make them have "MobileNetwork" prefix
2. Also update WifiCallingPreference to remove its category
if it is invisible
Bug: 114749736
Test: RunSettingsRoboTests
Change-Id: I25871d579d6495e902e5583030889942ed2506a8
1. use getPrefContext() to make sure it has correct style
2. Move operation back to bg thread so it won't block UI
Bug: 114749736
Test: RunSettingsRoboTests
Change-Id: I7737ea8b21d44790617b9c4f13a8c4c41037fca4
1. Add special check for "system select"
2. For cdma, need to check whether to hide carrier settings
Bug: 114749736
Test: RunSettingsRoboTests
Change-Id: I0a20816912500725894208a60bba7a5c74912561
1. Add listener to ACTION_RADIO_TECHNOLOGY_CHANGED
2. Update fragment switch by using replace
3. Remove todo for sort because list is already sorted by sim slot
4. Make actiivty accept SUB_ID from intent
5. Add icon for multi-sim support
Bug: 114749736
Test: RunSettingsRoboTests && Screenshot
Change-Id: I11c472b1479ec9243266cb2a7ef4292370ac6894
Rename it to ApnPreferenceController since it support both Gsm and
Cdma. Also add check for Gsm sim card.
Bug: 118402844
Test: RunSettingsRoboTests
Change-Id: Iafe111bfdc8f8e7d91d104df652ae9b27c9b166f
1. Toggle to decide whether to auto select
2. Preference to go to network selection page
Bug: 114749736
Test: RunSettingsRoboTests
Change-Id: Ie9d8e9353bf2a99b8cba1fb14d5a440a43fde66e
- Condition is already supported in PersonalSettingsFragment
- Suggestion is already supported in PersonalSettingsFragment
- Static/dynamic tiles are supported in TopLevelSettings
Change-Id: I51882e3bd0919ad95109baefac683d98667c11e3
Fixes: 110405144
Test: robotests
Clean it up and make it compatiable with all devices. Before this CL
it only used in Pixel 3 with new moderm.
Bug: 114749736
Test: RunSettingsRoboTests
Change-Id: Iad3bc131e294d34cff90b9130715780182adccd7
NetworkSelectSetting is changed during the migration, recopy it
to make it up to date
Following CL will refactor to reuse this fragment for all devices.
Bug: 114749736
Test: Build
Change-Id: Id43cb480cf31447a6e4a23eb3709f9ab972a2930
When phone is in ECM mode and Cdma preference is clicked, it should
first pop up ECM exit dialog. If user click yes, then it should launch
normal dialog.
This CL create a Cdma preference to stop launch normal dialog when in
ECM mode.
Bug: 114749736
Test: RunSettingsRoboTests
Change-Id: Iba887d9fc49770b21cf0421ecc0120d63da43ef9