The subscriptionInfo.getCarrierName may be a null, so adding the null
checking.
Bug: 236064286
Test: build pass
Change-Id: I8f6f5ac725d6dd552ac2626725e44f52dcbf6c32
If an app starts a Settings deep link with FLAG_ACTIVITY_NEW_DOCUMENT,
FLAG_ACIVITY_NEW_TASK is auto-appended by frameworks which causes a
SecurityException on the 2-pane design because starting a new task on
the right pane is not allowed.
Deep links in the 2-pane design will clear the top activities, which has
the same UX behavior of setting FLAG_ACTIVITY_NEW_DOCUMENT, so we remove
the flag in this case.
Fix: 233917580
Test: start account page via Assistant
Change-Id: Idcbeb96e441592d48686f18f3433864f2c14832a
The provided uri doesn't contain the formatted string, so just append
the width at the end
Bug: 229048602
Test: make -j64 RunSettingsRoboTests
Change-Id: Idadbb4d725c8ca65bac31fbead8ac1d429ebcea9
This reverts commit e5f1d24913.
Reason for revert: "Remove account" does nothing and shows no errors
Fix: 232819214
Change-Id: I4a4e5084cde87ea2a9e5be1ff3ca6709e11ebc3d
When the user enable the removable esim, the settings select wrong
slot(esim slot). The slot shold be the removable + esim slot and the
UiccCardInfo's cardId is the same as the removable esim's cardId.
Bug: 233170453
Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: Ibd324b781c84318c994e3742bb82e1d1393b94e4
Currently, when schedule sets to "Turns on at bedtime", the footer will
show a slid up animation when entering the page, this is because the
"Start time" & "End time" preferences are hidden in onResume().
This is because these 2 preferences always return AVAILABLE in
getAvailabilityStatus(), and manually update visibility in
refreshSummary(), which is called each time updateState() is called.
Usually the controller not set the visibility explicitly, but return
CONDITIONALLY_UNAVAILABLE in getAvailabilityStatus() when they want to
hide the preference.
Because getAvailabilityStatus() is called in onCreate(), by using this,
we can fix the flicker.
Fix: 234399017
Test: visual & robo test
Change-Id: I4cb7dd95d2985bd1ca4c8cb30aaebdc21a5415f8
The usage of this dialog is removed in
Change Ie2cf147de53385ae0c626c8472306f1b85317686
But this dialog is created (but not show) in DarkUIPreferenceController
each time dark mode toggle is turned on by user.
So clean this up.
Fix: 234419979
Test: make Settings
Change-Id: Icdc9d7a4fb77dc8b2a3f1a9d8e3f40fc0af4917d
Uri.toSafeString strips out paths and shouldn't be used
for situations other than logging.
Bug: 232694281
Test: PtsPowerTestCases
Change-Id: Iec835b738c3e928e922bd6a14573106f2ce4f526
Use correct user id context to query the type,
so we won't get empty result unexpectedly.
If we get the null result, then we won't set sound sucessfully.
Fix: 233580016
Test: Manual test and set work profile sound works.
Change-Id: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad
Revert the wrong logic for removale slot part at ag/18579901,
the removable slot can read the esim card.
Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: Ic2ac6a5cc4d5846b8b1e2ca766348f239bb1b719
When the page is entered from the AppInfoDashboardFragment, there is no
way to know whether the cycle data is available before finished the
async loading. If it's zero usage, the cycle spinner will be removed,
which cause a flicker.
Temporarily disable the preference list's animator before initial
page updates can solve this issue.
This also fix another flicker on this page when the background data is
off.
Fix: 233963355
Test: manual visual test
Change-Id: I795ed95e15bb3216fa17adfd4f57faf5fd92fa00
If the activity's launch mode is "singleInstance", it can't be embedded
in Settings since it will be created in a new task.
Bug: 229371407
Test: adb shell am start -a android.settings.NETWORK_OPERATOR_SETTINGS
Change-Id: I1689d860151182cd9e97d9e4fd65d30a8804a570
AppDataUsagePreference's title is sometime async loading, which cause
preference height change, which lead to page flicker.
Set a title placeholder before async loading to reduce flicker.
Fix: 187019210
Test: manual visual test
Change-Id: I26df832ab03a04641fd3d6eb678903ff3fe8820a
The condition whether the slot is esim slot should use getIsEuicc
api since the esim may be removable.
Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: I47dc068e57a0faa7f7ce85af7933a48caa2c93e4
To avoid double registering, which prevent potential issues and could
improve latency.
Since DashboardFragment already supported register lifecycle
automatically for the controllers bound by XML which implements
androidx.lifecycle.Lifecycle, so doing a cleanup to prevent register
lifecycle event manually (doubling).
Bug: 149338098
Test: temporarily add logging to make sure the lifecycle method is
called and only called once
Change-Id: I4dbc36414991ef6b599be61aa77ff0dc8c52468c