In framework design, framework needs to have a snapshot
when there's a config change event since redrawing window
takes some time.
Flickering problem is caused by the timing issue between the
snapshot mechinsm and local preview update.
User can observe the flickering problem if config commit()->
snapshot in framework(old screenshot) -> app update the preview
-> snapshot(old screen) fade out.
To prevent this problem, we make sure that we update the local preview
first and then we do the commit later. In this proposal, snapshot action
is able to get the new snaptshot for the new preview.
So, the core workaround is commitOnNextFrame, we ask a delay before
we submit the commit(). Note: It doesn't matter that we use
Choreographer or main thread handler since the delay time is longer
than 1 frame. Use Choreographer to let developer understand it's a
window update.
Fix: 148192402
Test: manual test
Change-Id: I9bfc5eb39e7a9ebce2fe1414d6f0a9dd470708e8
Before this CL, the USB option didn't handle whether FUNCTION_NCM
existed in the intent extra when tethering was started which resulted
in some devices that enable NCM will have incorrect UI.
This CL added a condition to check whether FUNCTION_NCM existed in the
intent extra or not to fix this UI issue.
Bug: 192046902
Test: make -j42 RunSettingsRoboTests
Change-Id: Icb8548409930d59dc3a08c25e418c9a1ddb9f33c
- Hide the entire progress header to avoid showing the divider
Bug: 191968967
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest
Change-Id: I59db1c87f1088ac2d29e263a85f149ff866c435b
UI crash reported due to accessing telephony framework API with invalid
subscription ID from SIM. Which comes with multiple reason.
Besides of avoidance of crash, following updates are also required:
1. Close wifi calling settings UI when pSIM or eSIM not available or
inserted.
2. Keep the selection of tab (under multi-SIM) when screen rotate
3. Only show 1 SIM when multi-SIM are grouped together
Bug: 149190278
Test: local
Change-Id: Ied9a088b6ee5da66972f27649cc07f4a31304f17
(cherry picked from commit fbe1293a54)
(cherry picked from commit 05f29efe34)
Root cause: Apply ThemeHelper.trySetDynamicColor would overlay the
settings style.
Solution: Create SudDynamicColorThemeSettings.SetupWizard to support
dynamicColor and settings style.
Bug: 192410829
Test: manual test
Change-Id: Ic196dfe417e7f804c68ed4ea7bc05b4716999bcf
Root Cause: Description would be altered after displayPreference(), but getSummary() would be called after it.
Solution: Update title before displayPreference(), then it could be set correctly.
Fix: 192738520
Test: atest AccessibilityButtonFooterPreferenceControllerTest
Change-Id: I068994fca8202b166fedf43f9d9657b0c1a64c4e
- Add SafetyNet log if the calling package is no the permission for
result
Test: checked eventlog in the bugreport
Bug: 185126813
Change-Id: I1535f6f2ded2445702df0d723518b773cd094164
Fingerprint enrollment page needs to display different types of layout
for both landscape mode and reverse landscape mode. However
onConfigurationChanged doesn't get called when landscape mode rotates to
reverse landscape mode directly, that causes it displays a wrong layout
in the both landscape and reverse landscape modes.
Trying to monitor rotation event and checking if the case that directly
turns landscape mode to reverse landscape mode happens, if so, reCreate
method will get called to re-lay out the page. There will be a flicker
problem happening in re-laying out the page but this solution still
works for users to have the correct layout.
Fix: 186372522
Test: manual test
1) Navigate to fingerprint enrollment page
2) Rotate the screen from landscape mode to reverse landscape mode
3) Observe the page and see if it has a correct layout
Change-Id: Ie94f43a6546f453c10ae9f1c3ba83e1178784950