We're building an exception message string, but by explicitly invoking
.toString() we're accidentally triggering an NPE rather than the typed
exception we want to throw. Build the string in a way that will be
safe and sensical even if the CharSequence is null.
Bug 29009255
Change-Id: I1813260f0b36fd44506b8327f997dd20c2d6c8bf
am: d786355405
* commit 'd786355405dfb50b1e6eb0bb8628276b9b2823c6':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.
Change-Id: Ic8f6cbfce572c54d7124a508af12043a58d5bc66
am: 8c8ea506d9
* commit '8c8ea506d91db44de1d312612a8f63ab107af799':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.
Change-Id: Iaffe5981b299eca5756666bd03c67a84c8e15283
am: efa291a860
* commit 'efa291a8605e91d775faf46ada349ec7f81fcdb9':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.
Change-Id: I11bf96280ac5e143d5260cb20238da38b4e0eaa3
am: efa291a860
* commit 'efa291a8605e91d775faf46ada349ec7f81fcdb9':
Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.
Change-Id: Ibd09b082140b66d25bd8583040761581bb20af76
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
Always use the packages' derived instruction sets.
This fixes a bug where otas and background dexopt would only
look at one instruction set.
bug:28994818
Change-Id: I730b59d24943c71de30adb485a823fd79c6806a6
am: e2c9ed48ba
* commit 'e2c9ed48ba5eed95c7fdf45744e7fbeb4597cbd1':
API council feedback: hide and document.
Change-Id: I002236f584ddc7a5f479b8936e4b5f5ed61759eb
am: 19e2f49181
* commit '19e2f49181b209d790f551b374d6d24002de7c9b':
API council feedback: hide and document.
Change-Id: I3715fc6e824f2a55517788299afe36145db597d7
am: dfe232c763
* commit 'dfe232c7636d16379191442bdb2bac59d7a60f5c':
API council feedback: hide and document.
Change-Id: Icfcb4e2a9892ecc5dab61cb78598e48fa7714a26
am: dfe232c763
* commit 'dfe232c7636d16379191442bdb2bac59d7a60f5c':
API council feedback: hide and document.
Change-Id: I180f504fe21f6f90179d359e8808ffff006e4538
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
am: be04f7247a
* commit 'be04f7247a5835bcba2f598e9d47e0a07d08af3d':
Use an attribute for the network security config resource
Change-Id: I5c2213114bf26a4506a64c5a5a8a2e592610783d
am: 76d3d8590d
* commit '76d3d8590d1fb9a9c341159fbc06914ef19bdb8d':
Use an attribute for the network security config resource
Change-Id: I15da47a2cd78dc37019bd20847d13248612c77f5
am: 6812bdf387
* commit '6812bdf38797101d3744befe70f3501b75f01ce6':
Use an attribute for the network security config resource
Change-Id: I2236b69a2af2258e7600a4833fe7be95f64e6260
am: 6812bdf387
* commit '6812bdf38797101d3744befe70f3501b75f01ce6':
Use an attribute for the network security config resource
Change-Id: I470b8e991d590135223066d18b49ff123e0b1f6e
Calling Configuration.setLocales with emtpy LocaleList may change the
layout direction to LTR. To clear the locales in Configuration without
layout direction change, introduce hidden API to Configuration.
Bug: 28695661
Change-Id: I47c339dffb83099bd329ddb60237dab27b05f593
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