In ag/5386198 we added a flag to turn on the new features of the network
and internet settings page, but that flag resets to the default value
(currently false) every time you reboot, which is annoying and hostile
for dogfooders. This CL makes the flag persistent.
Bug: 116349402
Test: manual / should be covered by existing tests
Change-Id: I098073e81feb199751e967a9652bec6a6445b95e
Change Availability Status to UNSUPPORTED_ON_DEVICE when device doesn't
support VoWiFi.
Change-Id: I8ac501cf7442f1cd7d41f61d2db912d82a9e8c25
Fixes: 120806624
Test: manual and robotests
The PreferenceChangeListener was removed from aosp/779634, when the
selected apn is changed, the result is not saved to the database.
In this CL, we add the PreferenceChangeListener back.
Bug: 121229775
Test: build & manual test
Change-Id: Ief1a2e05c072e5eff8060731b044c19878d346be
In some cases we don't set value for listPreference, so we need to set
a default one. This is a bug from code migration.
Change-Id: I8072b2a288a6a1254dceabea963f19459b0a9011
Fixes: 119770064
Test: RunSettingsRoboTests
This CL does 2 things:
-Makes the MobileNetworkActivity class capable of showing details for
"available" in addition to just "active" networks. This is useful for
dual-standby devices where one subscription is active and another is
registered but not currently active. It also changes the title of this
screen to be the network display name (defaults to the carrier name
but can be customized by the user) instead of the generic "Mobile
network".
-Wires up the subscription entries in the multi-network header (which
only appears when a device has multiple subscriptions) so that taps on
a subscription preference bring you to the MobileNetworkActivity screen
to show details for that network.
Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: I0e985652c1d8ec3c597b6b6e4426d222e2ad5352
The Network & internet page will have a dynamic header at the top when
users have more than one mobile subscription, showing information about
connectivity.
This CL adds a preference to this header when there is a wifi connection,
showing the same information as on the wifi-page (connection strength,
speed rating if available, etc.).
Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: Ia80d6e236a4996b501372ac4cd8e46ba6c5f8841
The new UX for showing multiple active mobile plan subscriptions (SIMs,
eSIMs, etc.) needs a header at the top of the Network & internet page
that shows wifi status and a list of active mobile subscriptions in the
form of one Preference per subscription.
This CL adds display of the mobile subscriptions to this header. It does
not yet show the correct summary text or do anything when you tap on
them - that will be coming in subsequent CLs. Also, since adding a
variable number of items to the top of the page messes up our current
strategy of having a fixed number of hidden items at the bottom based on
overall item count, this CL just makes all items visible. Subsequent CLs
can restore this behavior with dynamic adjustment.
Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: Ibfadf8cb61f6f5aff6ce38b7974267b1e4ddc719
APN fetching logic has been encapsulated in URL_SIM_APN_LIST API in
TelephonyProvider
Bug: 115709816
Test: Live network test
Change-Id: I735bc50e912dfbec0903fbcafdc4d6eaa6ccfc7b
Merged-In: I735bc50e912dfbec0903fbcafdc4d6eaa6ccfc7b
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