Using a multi threaded render node to render the window frame
asynchronously from the application relayout.
Bug: 22527834
Bug: 24400680
Bug: 24459827
Bug: 24409773
Bug: 24537510
Change-Id: I1010fc6a8b6e38424178140afa3ca124433ab7e4
This is achieved by not having the decor view hold onto the activity
context. Instead, we are wrapping application context, so that we can
have theme support and also have a special instance of window manager
that is aware of the phone window (the same way as activity do).
This reverts commit a5ffea3b7d.
Change-Id: I924f4c7ef8f0d20e9174bd7b3e00ec00b44443b9
Otherwise the token in the window's attr will be null after relaunch.
When this attr is updated with WindowManagerGlobal, setStoppedState()
will no longer find the view from the token.
bug: 24404382
Change-Id: Ib6935b03346a84dd023e224f72896041fda9dcd5
When a developer wraps an intent with Intent.createChooser(), they're
indicating that the user should always be prompted, instead of using
any "always use" defaults. A recent CL changed the chooser behavior
to ensure that UI is always shown in the case where there is only one
match.
However, this caused us to start prompting for the GET_CONTENT intent,
for which there is only ever one DocumentsUI system app. Since that
app delivers on the createChooser() contract described above, we're
okay automatically launching it.
Bug: 24464358
Change-Id: I0279d3343479c134a35f41ddf3cb4204d0ae6a90
In the longterm, we should move these synchronous writes
off the main thread, but in the short term, avoiding an unnecessary
write is good enough for the main case.
Bug: 24471234
Change-Id: Id996ff29e61410cd077760a06d7868a413ae88da
Instead of using a series of booleans, create a single flags integer
that contains all of the dexopt options.
Change-Id: Ia8fa968f64b164267f43dd29cea9dc0413058125
This means that right-clicking/long pressing on a view that is registered for
context menu will show the context menu as a popup menu instead.
Bug: 20016398
Change-Id: I96fea60435fff2f981d288521f490f8ff24ada15
1. Open submenus now disappear instantly rather than fading out when
mouse hovers over a non-submenu item.
2. When a submenu is opened on hover, the item that was hovered now
will remain selected instead of being deselected.
3. Fix an issue where if the same chain of submenus was opened more
than once, the submenus could open in a different direction each
time. To fix, we keep track of the direction of opening along the way
and make sure to reset the preferred direction when a submenu is
closed.
Bug: 20127825
Change-Id: I99972cce4ddabe316c5148f1dd79a5d7b3e64b87
Propagate the boot status explicitly to installd so that we do not
have to rely on dev.bootcomplete, which isn't meaningfully set
when the device needs the decryption screen on boot.
Bug: 23898216
(cherry picked from commit 06bb908b78)
Change-Id: I9b34298caf70b1e5d40970cc0d04c469016a80a7
- Now all services that DPMS uses are injectable.
- Introduce some wrappers to make static methods and final class mockable.
(e.g. for Binder.getCallingUid())
- In unit tests we replace those with Mockito mocks, except we use a partial
mock for PackageManager, because we use way too many methods of this and
most of them are okay to use directly.
- To install a partial mock to PackageManager, I needed to make
ApplicationPackageManager @hide public non-final.
- For a starter, added tests for DPM.setAmin().
Bug 24061108
Change-Id: I2afd51d8bc0038992d5f9be38c686260be775b75