FontsContract.fetchFonts provides a low level font access with fonts
provider.
This CL also includes:
- Introduce new class FontFamilyResult/Font as the inner static class
of FontsContract which are used to for result value of fetchFont..
- Introduce a functionality to FontsContract to be able to create
Typeface from an array of FontResult.
- Expose URI of each file entries to be able to register ContentObserver
Bug: 36494487
Bug: 36085028
Test: android.provider.FontsContract passes
Test: android.graphics.cts.TypefaceTest passes
Test: android.graphics.fonts.cts.FontResultTest passes
Change-Id: Id6f85039d0e86be063ef099d7ec6bfd97e4424c5
The dead user check was using a List.removeAll() call to find
the subset of users that have been removed and need deleting
from the overlay settings. The target class, UserInfo, does not
implement equals(), therefore no UserInfos would be removed from
the set and all user IDs would be candidates for deleting.
This change avoids the UserInfo class entirely and manipulates userIds.
Bug: 36099320
Test: Pick a theme and reboot.
Test: Theme should still be applied on next boot.
Change-Id: I1ee57839515460bf578664dfe1bd67df7d10d041
A more targeted version of "ViewRootImpl: Fix child lifetime".
In this version we avoid hijacking the window visibility callback
and introduce a new path.
Our contract has been that at any time after returning from
onStop, the WindowManager may destroy the clients Surface. We
see in setWindowStopped, we set the stopped state on the hardware
renderer in order to prevent further use of the Surface. However
there is nothing synchronously dispatching this change to child views
and so SurfaceView is not necessarily informed to release it's Surface
in time. Typically SurfaceView will be informed through the
onWindowVisibilityChanged callback. The signal producing this
is emitted from SystemServer prior to onStop but has to pass
through the clients handler thread. It seems this has always been
broken, and we have always had intermittent reports of EGL_BAD_ALLOC
scenarios. I speculate that elevation of WindowManager scheduling during
app close scenarios is perhaps making this more severe, as it seems to
ensure the WindowManger will win the race to destroy the Surface before
the client handler thread process onWindowVisibilityChanged (unless
the FIFO timeout is surpassed).
Test: Put Chrome in PiP. Turn screen off. No Crash!
Bug: 36561071
Change-Id: I9233ba8151c7f577b1d1044afc0c2ac3a65be4b4
Bug: 36515029
Test: the build still works.
Change-Id: I39ae2c55b6b2b0d6547f75f4ef06e62e3e5f0b84
(cherry picked from commit 8e9ea907448c49f573dd045707e37dd14efdf152)
Strings for thermal shutdown warning were missing
so this CL adds them and a proto message value.
Test: SysUI tests still pass
Bug: 30994946
Change-Id: Ifd0b26248c2ebae5bcf32ecbea2566c14be7dc32
The default focus highlight should be necessary when the view is
attached to window.
Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsViewTestCases -t
android.view.cts.ViewTest
Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsWidgetTestCases -t
android.widget.cts.MediaControllerTest
Bug: 37082416
Change-Id: I5d6b0c00b5ba03c8f62e4f71be9336823a73134b
This commit draws a default highlight for a focused
View if it's detected to have no state_focused defined
and its useDefaultFocusHighlight attribute is true.
When we detect a default highlight is needed, we show it
on top of the view to. Once we detect that it's no longer
needed, we remove it.
Test: Check that views without a focused_state in its
state spec have a default highlight when they get focused.
Bug: 35096940
Change-Id: Ifbe4bb9e1297d98845314e24d8b758f14e5987a9
This commit adds a public API to turn on/off default
focus highlights. When a focused View is detected to
have no state_focused defined, we can use this API to
decide wether we should show a default highlight for it.
Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsViewTestCases
-t android.view.cts.View_DefaultFocusHighlightTest
Bug: 35096940
Change-Id: I76b45d6bf5761641a0ed7f4d0b04cb325ed72b52
We now have a software feature for autofill which can be used
by partners to disable it on low-end devices or form factors
for which autofill doesn't make sense.
bug:35956220
Test: manual (requires a custom build)
Change-Id: I6c06462ed9ca3ae93331700dce38a8c08dfd0722
1. Avoid jank when the suggesting list scrolled
2. Remove hard-coded values from max popup height
3. UX requested tweaks
4. Remove dead code
Test: manual
bug:37245055
bug:37179467
Change-Id: I6a6760edb06230e3d4925e23863667cfd3ac0601
In the case that we defer stop for auto-enter picture
in picture, we should also defer changing the visibility. This causes
particularly awkward issues with SurfaceView as the views are left
in a severed state.
Test: Auto-pip Chrome from youtube. Things look alright!
Bug: 36355266
Bug: 36640131
Change-Id: I77de1c3eb9c61b03740cbe49f88dec1af2ed6577
Effectively reverting 89927b3cd96472c478a988d6c731cd09d412a043, which
allowed direct-boot aware activities in the work profile to show before
the profile was unlocked. This causes problems with key eviction
introduced in O. Specifically, many system activities (e.g.
ChooserActivity, activities in Settings, etc.) are marked direct-boot
aware, and therefore can be started while the work profile is locked
with key evicted. Currently they either bypass the keyguard when they
should not, or simply crash due to profile still being locked.
In the future, we need to create a new mechanism to allow activities
such as video calls, alarm clocks, etc. to bypass the work keyguard. It
probably involves checking for something like FLAG_SHOW_WHEN_LOCKED.
Bug: 36961785
Bug: 35708183
Bug: 30296144
Test: manual, by following the steps in the bugs quoted
Test: runtest -c com.android.server.am.ActivityManagerServiceTest frameworks-services
Change-Id: I5ccaaf963f3dd96e4abb785a10aa258b15363178
We don't allow apps to add multiple toast windows to
prevent an attacker to keep adding the same toast as
a workaround for our measure to ensure toast windows
are removed after a timeout. The may cause backwards
compatibility issue for apps that add multiple toasts.
While we need to fix the security vulnerability it is
desirable to make the fix as backwards compatible as
possible. This change allows the focused app to add
as many toast windows as it wants since they will be
removed after the timeout and once the app is not the
one the user uses it will lose the multiple toast add
capability.
bug:30150688
Change-Id: I2d9295926cb49b5bb80c7af2546872ff8ca22c64
(cherry picked from commit 296a60acc3d67cea23bae167dbcb51c0d0d60b23)
Also don't throw when can't verify listener.
And update mocking in tests to clean state between tests.
Bug: 36783632
Fixes: 37263567
Test: runtest-systemui-notification, create a secondary user
Change-Id: I5ec95539c9859b67b8fbc7e6a85334e08e6b5a98
in UsageStatsService, to fix a flaky test.
Bug: 35763877
Test: manually ran the flaky tests for 50 times, to verify that it is
stable.
Change-Id: I56d355bb283275f33bf7a24d0cc5b6454b99a35e
(cherry picked from commit 434f76a8d739060b5c8e96b4824687c19b94ee79)