Framework edition
Previously we would throw away any stopped LoaderManagers when we went
to retain instances to pass along as nonConfigurationInstances during
config changes or similar activity restarts. This causes loaders to do
more work than they need to when a calling activity starts a new
activity on top, a config change happens (e.g. screen rotation) and
then the top activity is finished, restarting the caller in a new
configuration. The loaders would go through onReset unnecessarily,
potentially throwing away data to be reloaded again after the config
change completes.
Instead of throwing away stopped LoaderManagers in this case, restart
them and retain them across the config change so they can resume where
they left off.
Bug 27176186
Change-Id: Ia52c6448d2ad41dcb25d493770d9ffae20a19d2a
In assignAndIncreaseLayerIfNeeded we need to always
restack the special windows, even if we are stacking them
downwards, otherwise they could be left at too high of
a value from a previous pass. This check was added by
me originally, as a now revealed poorly thought out attempt
to avoid changing existing behavior too much.
Bug: 28139028
Change-Id: I305499e194f2c6bcf7a38c80af1e64bd1fc20943
Case was omitted in dialog, resulting in UnsupportedOperationException.
Remove a redundant flag check.
Bug: 28204292
Change-Id: I313d61c72596d4a127f61d557af7300f50d26bf0
Setting PARSE_IS_SYSTEM to the parse flags happens long after the
APK is actually parsed. So, we fail to pick up the boot aware and
protected storage attributes. Instead, always pull them from the
manifest, but, remove the flags if the package is not actually a
system package.
Also, we were incorrectly skipping certificate verification if
the flag PARSE_IS_SYSTEM was set. However, this flag is used for
_any_ system package -- whether it's physically on /system or if
it's an unbundled update. Instead, we should only skip this step
if the flag PARSE_IS_SYSTEM_DIR. We can implicitly trust any
APK actually stored in /system.
On a different note ... At some point, we will break apart the
parse flags into actual parse flags [i.e. those that change
physically parsing an APK] and policy flags [i.e. those that
change the interpretation of the APK contents].
Bug: 28116074
Bug: 28088617
Change-Id: I85246b0cb18fb5647df3618107910e288137fbc7
HdmiControlService manages listeners in listener record instances, and
remove them when binders become disconnected. However, if the listener
and its record are replaced due to new listener, the record for the new
listener should not be set as null by previous binder's disconnection
signal.
Bug: 28069465
Change-Id: I2984d8f93d6443048cf5d3f2988b3c6cf362f012
(cherry picked from commit f5c2a1f58dc95b9800ffb6ebf405c11acc6626b2)
This avoids making expensive netd calls while holding the mRulesLock
Doesn't fix the problem of turning on hotspot while WiFi was connected.
It is no longer blocked on isNetworkMetered() call though.
Partial fix for following bugs...
Bug: 27857665
Bug: 28201280
Change-Id: I62f3c0b0571292cc1e156b48ce3329def41cdd07
APF version 2 and prior versions fail to execute JNEBS with R1 argument.
The APF interpreter tries to use R1's value as the number of bytes to
compare, as well as the offset within the packet to compare at.
This change makes ApfFilter avoid using this and makes the APF generator
throw if this is used. This was limiting the IPv4 filter, causing it to
only drop multicast (when multicast filtering was enabled), rather than
a wider range of broadcast packets.
Bug: 28206777
Change-Id: I8d116e024e8bd641b21053c6b1defc734d744467
When quiet mode is disabled for a user and that user is not currently
decrypted, we show a confirm credentials screen to trigger decryption
of that user. Only if that was successful, do we actually disable quiet
mode.
Bug: 27764124
Change-Id: Ib1f649194d89e225dad62c14f3ddba1fa3d79da2
This CL defines new extras that can be set in a call's intent extras.
These extras track the following:
CALL_CREATED_TIME_MILLIS - the time when the call was created by
telephony (or another connection service)
CALL_TELECOM_ROUTING_START_TIME_MILLIS - the time when telecom
started processing the call
CALL_TELECOM_ROUTING_END_TIME_MILLIS - the time when telecom
finished processing things like call blocking and was ready to
connect to the UI
These extras can be used by the dialer to track how long it takes for
calls to be shown to the user.
Bug: 28202119
Change-Id: I8fca259d449adedaeb4ff91d35bf59a7409be866
The JavaDoc for many of the requestNetwork and
[un]registerNetworkCallback APIs incorrectly mentions the
PendingIntent version of the APIs instead of the NetworkCallback
version.
Also fix a minor issue in the registerDefaultNetworkCallback
JavaDoc: the default network request is an implementation detail,
so don't mention it. Instead, talk about the "system default
network".
Change-Id: Id94d98261daa2bd768c10e033cb8092729b21c91
* changes:
Only set mResizedWhileNotDragResizing for base windows.
Fix Task dim with docked resize.
Correct window replacement string comparison.
Replace DimLayers with windows.
Prevent premature window replacement.
Correctly prevent entrance animation for replacing windows.
Replace secondary app windows across activity relaunch.
The number didn't apply the contrast computations
and wasn't scaling when density changed.
Change-Id: Ibde116f176c3a8d20de28ab432a80d9219f75581
Fixes: 28073460
When blanking the screen, turn off VR mode if it's enabled, and when waking up
after the keyboard goes away, turn it on if the top activity has requested VR
mode.
Bug: 26751056
Change-Id: Ib57b1c59e083e3615a02408d922c8c7be645ce92
In the case where the input is a base codepoint + a variation selector,
the code currently checks hasVariationSelector and then does a layout,
checking for a single glyph. However, HarfBuzz in some cases will change
the VS into a space glyph, so hasGlyph will return false.
This patch makes hasGlyph rely entirely on the hasVariationSelector
method in the case of a base codepoint + a VS
Bug: 27531970
Bug: 28182689
Change-Id: Id190c427149213509f2d779ec1aa330feb4b62d8
Because the IME animates in with translucency there was a black hole
visible at the bottom. This CL puts the window into resizing mode,
waits until the change is commited, and then starts the animation
Bug: 28175599
Change-Id: Ib31c1e765639e5490208bccba77b25318ec8dc71
- Run a separate animation when we need to adjust for the IME. We
can't use the attached animation because the adjustment animation
needs to be longer than the IME animation.
- Also run an animation when IME is disappearing.
- Adjust IME exit animation to better match with adjustment exit
animation.
- Make sure to update adjust for IME when entry/exit animation of
IME is starting, to avoid flickers.
- Don't update the IME window in PhoneWindowManager for layout
until the animation has started. This lead to an issue where the
content inset was set too large too early.
Bug: 27154882
Bug: 28175599
Change-Id: I09a33413e307f84d6c3cf4ae928c280f7ad48348
If the process of an activity that is launching has another
non-stopped activity, the data is not that interesting,
so remove the logging in these cases.
Bug: 27295491
Change-Id: I65d4a0e01b1e634a589ce8ecbbab337f0e6497ca