This scenario typically happens when the device is on Doze Mode and a
notification action is triggered from a Wear device.
In a nutshell, the workflow is:
- ProcessRecord has a flag telling whether a process has "whitelist
management" privileges.
- When NotificationManager binds a new NotificationListenerService, it
sets the BIND_ALLOW_WHITELIST_MANAGEMENT flag.
- On bind(), ActiveService asserts that only system apps can set that
flag.
- On computeOomAdjLocked(), ActivityManagerService sets the
ProcessRecord flag if necessary.
- Upon creating a notification, NotificationManager calls AM to mark its
PendingIntents as coming from a notification.
- When PendingIntentRecord sends it to the target, it checks if it's
from a notification and if so calls AM to do the temp whitelist.
- On unbind(), ActiveService removes the ProcessRecord flag if necessary.
Fixes: 28818704
Change-Id: I00d46036a2cbb73f7f733fd35bf0b743a02807a1
The one-line non-group version of MessagingStyle causes
a bug with the action bar and generally looks bad because
it is too short. To fix, show this variant like a BigText
notification.
Change-Id: I8af9e9da8286599b81ccb7c4637471ac01795366
Fixes: 28767094
Bug 28610520
isTopOfTask() was returns false in onResume always because
it wasn't being made visible until after onResume. The visibility
of the window is not important for this method (older versions
didn't check it at all), so that was removed.
Change-Id: I45e506e72356cc3808e2e9340739726c99da7d97
App's can technically override their configuration's Locale,
which means we must choose the overriden locale as the best,
and therefore set the LocaleList.setDefault() with that locale.
Bug:28953437
Change-Id: I4b301fcd6bc426e37bb389d3a6f2b4a3c69ac33a
- Throwing SecurityExceptionand and IllegalArgumentException instead of null for new APIs
- removing @removed APIs
Bug:27530098,27379882
Change-Id: Ifbe65bfc5051aa33aff2baa22cfa8e67b0f7c358
We allow each individual Resources object to select the best
Locale for the given APK. This allows one update to the configuration
instead of multiple updates, once the locale is chosen.
The Java locale is selected from the app context's locale.
Bug:28625993
Bug:27325465
Change-Id: I99e1e53f522e560f3b80bbd1e1c605f552dbdff0
The title would not be fully right aligned because it wasn't
layouted with match_parent because there could be a second visible
text when there is a progressbar.
Change-Id: I73d97d9a8addaec0e3b849349f220c764fa45db0
Fixes: 27893267
This user never gets a badge, and secondary users will
see a security exception attempting to fetch it for
USER_ALL notifications, such as USB and battery state,
which are posted by USER_SYSTEM.
Bug: 28743335
Change-Id: I65aeb1cf2192811055f8cd94df0b7e292c5c1acf
Originally we went with the meta-data approach to make unbundling
easier, however with the amount of platform changes that the config
ended up relying on it would be better to focus on exposing it through
the platform.
Bug:28763009
Change-Id: Iaf80001b1980220cd2e1e05faf2dc86af41700e1
Instead of in activity thread. That way, we can warm up (ie,
precompute cached values) this provider and AndroidBCWorkaroundProvider
(which are installed together) so that the computation doesn't
happen in the app. As a result, the time spent in the first call to
SSLSocketFactory.getDefault() decreases by ~5ms in angler userdebug.
Measured with an app calling SSLSocketFactory.getDefault in onCreate
and timed it with System.currentTimeMillis() .
Bug: 28545496
Change-Id: I73284eccdf6d51dbf55206335d759ccf795c5f41
We were requiring the time to show in order to show the chronomer
which didn't make any sense.
Change-Id: Ia6d00d0932d272a6c5e20e8b41e3acfb53b7987a
Fixes: 28848113
If present, the system property "ro.config.lock_wallpaper" provides a
filesystem path to a decodeable image file to use as the system's
out-of-the-box lock wallpaper imagery. In the absence of this
system property, or if the indicated file is absent or unreadable,
then the new framework resource
com.android.internal.R.drawable.default_lock_wallpaper is consulted to
locate a usable asset. This mechanism parallels the existing one for
the default system wallpaper.
By default there is no specific lock wallpaper asset; the resource is
defined to be @null in the standard config.xml file. A product that
wants to define such a factory-default lock-only wallpaper image
will provide the asset as part of its framework resource overlay.
Bug 27828056
Change-Id: Iebf3706222370d0a0a4baf88d71a59ead07a25c7
Preallocate storage lists and avoid TextUtils and its string
builder for a common code path.
Optimize list join helper to not have a check in the loop.
Bug: 28801010
Change-Id: Iafc582031f973d718252b34bcda6405a77425628
During the PiP animation, we have two basic requirements:
1. We need to scale windows to the pinned stack bounds.
2. We need to halt resize and movement notifications to the client.
As we end the animation, we need to disable these states at differing
times. First we need to deliver a final resize and movement notification
to the client for it's new position. However, Surfaces may not
immediately resize (in particular in the case of child windows,
it may be some time!), furthermore Surfaces may resize at different
times so we need to persist scaling on a Surface by Surface
basis after reenabling resize notifications.
Bug: 28559097
Change-Id: I6d52a3e213e08a34f4c0eea892b2a84cd4c20e18
- The home stack is still visible when a translucent activity (like
dialer) is on top, which caused us to use the logic path that just
tries to launch the next task. However, that path does not reload
the stack state (since the activity stack generally doesn’t change
while Recents is visible) so it was always launching the already top
activity. The new check ensures that we start the activity anew
as if it was coming from an occluding app.
Bug: 28767764
Change-Id: Iec0fdc0957e5070cec532c5de5cba3454c906a3b
Since LocaleList needs to depend on android.os.Parcelable, we cannot let
that class belong to "android.util" package, which causes layering
violation.
Bug: 28819696
Change-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18
Also fixes a slight bug where a CharSequence extra
was retrieved as a string.
Change-Id: I8a40ab1934b8a20355c3cd4afd66a4a7b91fb517
Fixes: 28775580
Fixes: 28775582
Hiding the APIs for now since we're not releasing freeform yet and it's
better not to expose them now in case we'll decide to change them later.
Bug: 28774476
Change-Id: Ic2de33c5a611a515fc1c72535587ebf2e0a03a7f
There are few paths I can see to get a null intent down into
the framework at this point. Add in some checks and reports
at those places to mitigate and report such problems.
Change-Id: If235bf342558321d3fabe9363fcebb2bcea18df1