It is possible for an activity to be in the stopped state without
setting it's visiblility to false in window manager.
For example, the home acitivty behind the lock screen. Since the
lock screen isn't an activity it doesn't affect the visiblity set
of the home activity, so AM doesn't tell WM to hide the app token.
However, AM uses another channel to detect that the device is locked
and moves the activity into stopped state. WM on the other hand also
detects that the device is locked and hides the window surfaces of
all windows behind the lock screen. So, at this point AM has also
told WM that the activity is stopped. Once you unlock the screen
AM resumes the activity but doesn't report any visiblility changes to WM
since it's internal state didn't change. So, if you go from the home
activity to another app the home activity window will be destroyed
before the activity is stopped because mAppStopped is set to true.
We now set mAppStopped to false when the activity is resumed.
Bug: 27286867
Change-Id: Ic75456d30abd582fa44f932f5aeeb449950157ee
Make referenced constants @SystemApi and change argument name to
match its actual meaning.
bug: 25441401
Change-Id: I4277799b95f394edb4305be05f57437717a86691
Apps/libraries/widgets that wish to display text their own way (think
WebView/Chrome) or do some resource management themselves should be
able to use LocaleList.getAdjustedDefault(), the same way we use it
in Paint and Resources.
Bug: 26988869
Change-Id: I4b6aac7adb5da15459dca92574923f33f0702433
Add a new sms filtering method to let the carrier app tell
the platform to keep the message while keep it invisible to
the end user.
BUG: 27292180
Change-Id: I306a7dbde6dcb9929e358b3d1bbda9807ef35943
When using drag resizing it is difficult to keep big surface
surfaces (e.g. main app windows) and child windows in sync
as we resize. Furthermore it's difficult to resize child windows
quick enough to achieve more than a few frames a second as we have
to propagate through the client UI thread. Our new implementation
uses window scaling.
Bug: 26454664
Change-Id: Iac96619cefc075b1412cfeba3d3c9bcd7ce22f52
We want to compute the frames for pinned like we do for freeform
as we are not constraining layout to the suggested display area by the
PhoneWindowManager. Also update applyGravityAndUpdateFrame
to not clip frames to the display for child windows. In the case
of computeFrameLw this would not be a problem as we would then
go on to overwrite mFrame anyway, but in the case of repositionChild
it could create issues (where we have applyGravityAndUpdateframe without
compute frame).
Bug: 26454664
Change-Id: I6fd4c9f37060d51003d041566368edd2b9eb7afd
When power-save mode was first implemented, there were no firewall rules
on netd, so the solution was to make all network interface metered and
re-use the bw_penalty_box chain.
This change removes that workaround by creating a explicit fw_powersave
chain, whose behavior is similar to fw_dozable (in fact, it reuses some
of its code); such change not only makes network restrictions on
power-save mode simpler, but it also allows to optimze how the restrict
network rules are changed (which will be done in a separate change).
BUG: 27127112
BUG: 26685616
Change-Id: I7f7a7b1c1855e916c6651ad90da29fe187a7bea2
Use ApplicationInfo#loadLabel to provide the standard fallback chain
of strings to identify an app instead of getString on the raw label
resource id, which will throw a NotFoundException if 0.
Bug 27469189
Change-Id: I344273c600f029361f3accfe5d91b0d332635b3d
Bug 27418573
While an animator was paused, it continued to receive
Choreographer callbacks. This has been changed now so
that after the first callback, it is removed.
Change-Id: If73483404b38f1f354a63fc98d07696f442987e6