System windows like alert dialogs are attached to the currently
focused stack even when the stack isn't full screen. This causes
the dim not to apply to other visible stacks when a system
window is up. Change applies the dim to the entire screen for
system windows since they extend outside a resized stack.
Bug: 19332229
Change-Id: I94affa6a652326bf2cf14b1b8bf54862c111c540
Change allows resized stacks to remain in the same location
while their content change orientation.
Bug: 19358195
Change-Id: I5a9898c1cf85cb5c4c2eab0f4969b339defb199a
AM would set the exiting app to be invisible twice by calling
setAppVisibility(). If the screen is turned off during these calls,
the window surfaces of this exiting app won't be destroyed.
The flow:
1. Screen is on
2. App A is finished
3. AM calls setAppVisibility() token=App A, visible=false
4. WM sets a dummy animation to App A
5. WM marks App A's wtoken.inPendingTransaction=true
6. Screen is turned off
7. AM calls setAppVisibility() token=App A, visible=false
8. WM calls setTokenVisibilityLocked() directly (screen is off)
9. WM sends app visibility to App A's client (ViewRootImpl)
10. WM clears the dummy animation from App A
11. App A's client calls WMS.relayoutWindow() to be not visible
12. WM sets App A's window mExiting=true but not destroy its surface
13. App A's window surface leaks...
Note:
a. The call in 3. is from ActivityStack.finishActivityLocked
b. The call in 7. is from ActivityStack.resumeTopActivityInnerLocked
c. In 10., App A won't get the real animation while screen is off
d. In 12., App A's inPendingTransaction=true; WM takes it's animating
e. mExiting won't be cleared because App A has no animation to
trigger WindowStateAnimator.finishExit()
After applying this patch, WM would destroy the surface in 12. of the
above flow.
Change-Id: I18b79ba96695ec80d57a85dc15cf92a9e7d3a6ef
Apps normally use context.getResources().getDisplayMetrics()
or getWindowManager().getDefaultDisplay() to get information
about the screen dimensions. Not all the screen space is available
for apps in a multi-window environment, so we limit the dimensions
of the display object exposed to the app to that of the containing
stack.
Bug: 19225079
Bug: 19354838
Change-Id: I8dc3a6c9b99ecedcca28fc4ddaba9f31feb4f871
If a device admin for a user disables the device cameras,
only apply that policy to that user and not globally.
Corresponding change in CameraService looks into the
per-user system property.
This also fixes the bug that managed profile owner is
able to disable camera for the personal profile.
Bug: 19345698
Change-Id: Ibd5e438544a0409f26087ced247d50c706fcf843
Can switch from a pure overlay at the top of the screen,
to interactive mode with the voice UI drawing at the bottom
and pushing its target activity up like an IME.
Add mechanism to get assist data to the voice interaction UI.
Add some basic visualization of the assist data, outlining
where on the screen we have text.
Add a test ACTION_ASSIST handler, which can propagate the
assist data it gets to the voice interaction session so
you can see what kind of data we are getting from different
apps.
Change-Id: I18312fe1601d7926d1fb96a817638d60f6263771
We have three possible defined values for getInterruptionFilter().
i.e. All/Priority/None.
However, this value is only returned to listeners once connected,
otherwise we return 0, an undefined value.
This change gives a name to this undefined value to make it clear
that callers should not infer any meaning from it.
INTERRUPTION_FILTER_UNKNOWN = 0;
Bug: 19288429
Change-Id: I8ae94d1723289ca5714800906f9bf4e7e8111813
This has been disallowed by the SELinux for several years now,
so can safely be removed. Given that saveLocaleLocked is
simplified quite a bit, we can now inline into its only caller.
bug: 18910417
(cherry picked from commit 70e8f6600de8a2b9cbb17cd919b14a4609fc68bd)
Change-Id: Ib2888ea22ffca6f4b402efd5780f89c924cd1570
This has been disallowed by the SELinux for several years now,
so can safely be removed. Given that saveLocaleLocked is
simplified quite a bit, we can now inline into its only caller.
bug: 18910417
Change-Id: I18251f77e4a25a0e7ecda8e85a9b3fcdc2dc7b05
- Relax restriction on audio service calls that assume the volume
ui is systemui, allow calls from a blessed component app.
- Blessed component app service saved in secure settings.
- SystemUI mediates requests to replace the volume dialog, prompts
the user on activation.
- Show a low pri ongoing notification when the volume dialog is
being replaced, to allow user restoration at any time.
- Replace the controller management code in VolumeUI to use a
ServiceMonitor, backed by the new blessed app component setting.
- Add proper zen-related noman client wrappers, make avail to the
registered volume controller.
- Everything is still @hidden, no api impact.
Bug: 19260237
Change-Id: Ie1383f57659090318a7eda737fdad5b8f88737d4
-Originally, when ringer mode changed from vibrate to normal by
adjusting volume from 0 to 1 , volume index will not be persisted.
After device rebooted, volume of ring stream will be restored to 0
-Persist volume index when ringer mode changed
Bug: 18762217
Change-Id: I75fbeaab01d80b8bcee623795f59a9e9f16b9634
The magnification viewport expects its boundary to be a rectangular region,
and always draws it as such. This change causes the indicator to draw as a
circle on devices with circular displays. This also refactors the width of
the indicator's frame to use a proper dimension resource and updates the
width to 4dip.
Bug:18242438
Change-Id: I1d86647b6d1ef84f5dd506f4141223ec050a79b5
Adds a Material theme that automatically selects light or dark UI based
on the night mode resource qualifier.
Removes restriction that night mode only works when car mode is enabled
or the device is docked, which was applied inconsistently anyway and
only actually worked when in car mode (regardless of docked state).
Night mode is now always applied according to the system preference.
Change-Id: I526807c907eb29a2ab588d15932afe3e6ab180c2
Rename MidiReceiver.onPost() to post()
Change MidiManager.DeviceCallback from an interface to a class
Change-Id: I939ba7a7d82e721b90a3d80252a88e7a650c9396
Addresses a couple of TODOs now that all usages have been
removed and fixes a doc that specifies how the emulator locale
can be set.
bug: 17691569
Change-Id: I802ea1e12448a5442840cad1fdc0956d3e2c7a8c