Audio Return Channel hardware circuit was being switched after
the device update initiated by hotplug event. The device instance
was already removed by the time ARC update was attempted, hence
caused an exception.
This CL ensure the config change is done in advance, when
the AVR device instance is still present.
Bug: 19250400
Change-Id: I31cf682f5c8d1a279a0703d10fe182f3da23d3db
Allow the currently blessed volume controller delegate to access
media session manager to support multiple remote sessions.
Bug: 19260237
Change-Id: I53120f0852c69a7ea08b7b4a9f61902b961dbc70
Every time the battery level changes, a new extended
detailed use data structure is written to the history.
This currently only contains delta CPU use since the
last detailed entry (total CPU and to three uids), but
it gives us the infrastructure for adding more detailed
data in the future.
A detail entry for regular history looks like:
Details: cpu=15730u+2307s (u0a57=11312u+502s, 1000=2344u+701s, 0=473u+991s)
/proc/stat=15377 usr, 1797 sys, 197 io, 0 irq, 8 sirq, 23103 idle (42.9% of 6m 44s 820ms)
u is user-space cpu time, s is system/kernel time.
The equivalent check-in output is:
9,h,0,Dcpu=15730:2307/10057:11312:502/1000:2344:701/0:473:991
9,h,0,Dpst=15377,1797,197,0,8,23103
Also add a new "unplug" command to the battery service,
to easily put it into a state where it always considers
the device to be running on battery.
Change-Id: Ic76d966f11e592b9dd671879977bf999ebc11eef
- Recognizing that computeScreenConfigurationLocked() only returned
false if mDisplayReady was false allows multiple code
simplifications.
- Make computeNewConfigurationLocked() always return a non-null
value.
- Remove unused Session parameter from removeWindowInnerLocked().
- Just allocate mForceRemoves one time.
- Since ADJUST_WALLPAPER_VISIBILITY_CHANGED was unused have
adjustWallpaperWindowsLocked() return a boolean.
- Remove unused long parameter from handleNotObscuredLocked().
Change-Id: Ifd15736b163ab6e989f8ca32cf8f94b316386216
Also,
* Only restore recent task to a full screen stack instead of any
randomly sized stack.
* Fixed issue where we were restore task from recents for some
operations when we didn't need to.
* Null out TaskRecord.stack when the task is removed from the
stack.
Bug: 19083170
Change-Id: I4e006f101f9d0f2aebde130ad77afc4d258c6612
Problem was caused by getting the canvas from the surface while
within a transaction.
Also, cleaned up code a little so it is clearer what is happening.
Bug: 19249857
Change-Id: I9ff1f612bc8a58a0e0c7939dbb400d083d8a7039
Allow observing all stream changed events, including streams
that are bound to another stream via aliasing.
Change-Id: I2c1717ce632c4cb045c06785cb1ecc531a221ff8
- Add mCameraSoundForced to the service state dumpsys output.
- Add a sysprop to opt-in to this behavior for testing. Does
not replace the configuration check.
- Centralize the configuration read in one place.
Change-Id: I83f84394b616f0788029412233ae1412b3cdedf2
Backup the owner info string and whether or not
owner info is to be shown on the lockscreen.
Watch for changes to the two settings in LockSettingsService
and inform backup manager.
Bump up version numbers for the new entity.
Bug: 19300363
Change-Id: I35485c961d18b26be68873f4d5eeedc5ae513cc8
The flag needs to be set based on the top window that is either
reaching beneath the status bar or is dimming.
Bug: 19233606
Change-Id: I7b97f6869e3b7d5ae2b7030122b311ee9e13871f
DisplayContent.mTapDetector is null for any non-default display. When
testing ActivityView DisplayContent.setTouchExcludeRegion() throws an
NPE when dereferencing mTapDetector.
This change adds a null test to avoid the NPE.
Fixes bug 19413700.
Change-Id: I48a66c0ed071c87b38b354eead58a4de97fb47b9
Allow the blessed component (stored in secure settings) to replace
the remote volume controller (for media sessions) in addition
to the volume controller - needed in order to properly support
cast etc.
Bug: 19260237
Change-Id: I7ecc79cb4249744e8d4ffedcab737a35331e220f
Also moves the actual reading and decoding of the
icon into the client process to avoid unnecessary
copies.
Bug: 18474438
Change-Id: I71623ef48c770d752593aa97d69517f6139cc947
A security leak was discovered whereby a malicious app could get the
IActivityContainer object from one app and use it to inject events
into another app. This fix removes the availability of the
IActivityContainer and replaces its one use with a method for
returning the information the IActivityContainer was used for.
Fixes bug 19394591.
Change-Id: Ib3cec25b25130cd8e098892c057742cfd575cfdd
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