- Do not set replace window if we are keeping the window.
- After we received the app's addWindow request, do a reset of the
timeout timer to give the app more time to finish drawing. This
reduces the chance of the flash due to the old window being removed
before new window is drawn.
- If we really hit timeout limit, make sure the replaced window
is removed by using removeWindowInnerLocked(), not removeWindowLocked().
The latter does not actually remove the window if it's exiting,
and this leaves the window in the stack and marked not for
for replacing, then it can never be removed.
bug: 26324082
Change-Id: I59594798079481cba9490c4754de1b16533e72fe
Moving forward, all client file access really needs to be going
through explicit APIs like openFileDescriptor(), since that allows
the provider to better protect its underlying files.
This change also changes several classes to use the AutoClosable
pattern, which enables try-with-resources usage. Older release()
methods are deprecated in favor of close().
Uniformly apply CloseGuard across several classes, using
AtomicBoolean to avoid double-freeing, and fix several resource
leaks and bugs related to MediaScanner allocation. Switch
MediaScanner and friends to use public API instead of raw AIDL calls.
Bug: 22958127
Change-Id: Id722379f72c9e4b80d8b72550d7ce90e5e2bc786
Intercept calls to start activities from the recents
stack and show the Work Challenge if needed. This requires
passing the taskId to ConfirmDeviceCredential so it can
launch the recents task itself when the credentials are
confirmed.
Change-Id: I013b134f3f31a35b551ad683c68cc89b8af44499
The change I2f264cdb7b7fc586124dd58fad2c68060d5b7aa8 unintentionally
removed pseduolocales from the list of locales in Settings. This
adds them back.
Bug: 26412909
Change-Id: I1d89154e1c0e0312f996252bbfc9f6ded2412d90
We were bouncing calls out to the adapter pulled from RecyclerView,
but the adapter is easy to write a test double for and
we can readily inject the adapter when needed at runtime.
Eliminates unnecessary indirection.
Also, protect against failure when documents can't be loaded for delete.
Change-Id: Ief6585bf2e3e4fd407d801d485a9d7cd888b8500
In practice, a lot of apps provide English resources as their default
resources, so assume that English is always supported.
With this change, users can safely set secondary locales after
English in their preferred locale lists. Such settings would help
the apps (and parts of the system that are aware of multiple locales)
consider the user's familiarity with the secondary locale or the
user's preference for glyphs forms in the secondary locale. This
change makes sure that no app unintentionally switches to such
secondary locales.
Note that this doesn't break from the tradition of previous releases.
Traditionally, if the user had set the system locale to English, they
would get the default resources when the app didn't explicitly
provide English resources. This will continue to be the case where
the user's locale list has English in it before another supported
language. (English will be the first locale in most cases.)
Bug: 26192817
Change-Id: I2c1a003760299157786c1b3f9fb116ce18db3b8c
This fixes:
- UI to show selection which was broken in ag/838866
- Delete undo, which throws IOB exception
when undoing a a full delete of all entries.
Change-Id: Idbb43510974e130d283313602a71ac15ad10aadf
The flashing is caused by changing the shown frame of the window
prematurely, before the animation kicks in. After the animation kicks
in, the shown frame goes back to the original position and then animates
to the final position.
We need the shown calculation to happen during layout for resizing and
the layout might be triggered at any time before the animation is run.
In order to avoid flashing, we don't calculate shown frame for windows
that are animating during the layout and let the animation position the
shown frame correctly later.
Includes also logging for inset setting, which triggers layout run.
Bug: 26323134
Change-Id: Ibe1efae798415d3564c659aa94c2b94af92c743a