When relaunching an Activity, the DecorView and ViewRootImpl is re-used,
along with the IBinder activity token. This means that when we create
new resources, we end up just updating the base Activity resources.
However, we would set the configuration to the new requested override
config and then proceed to update existing Resources references, which
would return immediately due to the equality check for configuration
updates.
This change pushes the setting of the new override config to the
updateResourcesForActivity method, which will properly update Resources
references that are held in the re-used DecorView.
Bug:27915587
Change-Id: I113007a40fa464b8a234b073dcf851e16fee0177
am: c5be8f8a4b
* commit 'c5be8f8a4b9946f26f43201a06e7ec3f9b34857e':
Correct docs about what is ignored in full-data backup
Change-Id: Id1618de0e4027135a320cd133c244ba33d2960aa
You can't back up content in e.g. getNoBackupFilesDir() even if your
app explicitly tries to.
Bug 28321431
Change-Id: Ifa2a4bc518de03aba4c8809e60d8bb90fce767f8
am: ea162c3c79
* commit 'ea162c3c7992b01d8d56766a94e56a0cee3fe3b2':
Prepare to replace windows across recreate().
Change-Id: I3f78aa81d76e0a71f616037c531e7755760b41cf
am: 5f81a3f84c
* commit '5f81a3f84c97999f9eb19291c7b4f67ad8576c7c':
Make sure to pause activity before stopping
Change-Id: I24e550abc72f78904d04d1c0bd2c3a004328555f
When the activity locally recreates itself, nothing
on the server side is able to prepare preserving windows,
or replacing windows. The activity was trying to defer
removing the old window, but it was just waiting
until the new one was created, not until it was drawn,
thus resulting in a flicker. It's easy to backpack on the
existing replacement infrastructure.
Bug: 28221875
Change-Id: I55fc4ca78e9e11809473fedd8b30b6a6350cf852
In some cases it is possible for activity manager to request
a resumed activity to stop when it's visibility changes. This
is a valid transition, however we need to make sure to pause
the activity on the client side before stopping it so lifecycle
transition works as expected.
Bug: 28574036
Change-Id: I759b38bbd1c9c3bb0475759bcb638d8223fa504d
When voice interactor goes null or changes, cancel all existing
active requests and clear them so that they can be re-submitted.
Bug: 28487567
Change-Id: Ibcf024efcc81ff18ef3babfa9a169292207bc816
am: a31657911c
* commit 'a31657911c96fb735bf4a34610638c9f95e5c99d':
Allow apps to load libraries from under /data
Change-Id: I2bfbd50d911857825f9b8060a3ebdb335ff7cfad
Allow all application classloaders to load native
libraries from anywhere under /data
Bug: http://b/26954419
Change-Id: I8a808bcdf4a00f7d40b513d4e2ca3d1e76c0909f
Allows callers to opt-out of blockading network traffic during boot and
on VPN app failure.
Bug: 26694104
Change-Id: Ibfbd43ad09a25f2e38053fcd6306df3711f8bde2
am: 9cb7652fb1
* commit '9cb7652fb19256fe61d81c7770fe729fc6b67481':
Make sure all Notification actions are shown
Change-Id: I2fd99fc5be798e97b6e8ebc20fe1d2097d2d7c8c
am: f4810f5506
* commit 'f4810f5506203ac03439d1ed6e33e021540568f8':
Add api to WearableExtender for setting and getting the dismissal id. Bug:27696581
Change-Id: I3a16e15adaf26be3528224c265be9a0e82957a38
When entering split-screen mode by long pressing the recents button, the
top task in the fullscreen stack is moved to the docked stack and the new
top task is the fullscreen stack is considered visible for a short amount
of time until sys-ui launches the recents activity. This causes the new
top activity in the fullscreen stack to be relaunched due to configuration
change.
To fix this sys-ui now sends an hint to activity manager to move the home
stack forward so that it can be on-top of the fullscreen stack and makes
it invisible before recent is launched and animated in.
Bug: 28470261
Change-Id: Icfd85e932fe913dfb498752b5878cc7c690fd559
am: 9a977b7d45
* commit '9a977b7d45df0d3d59c5eec7f9534c3bd5fcd91d':
Flag to mark foreground jobs, fix data saver.
Change-Id: I908d725a84e9590d0da38a586b066a63473d4f28
When a job will eventually run in the foreground, the internal
scheduling needs to ignore any background network restrictions when
satisfying constraints. This also means the job should ignore the
current device doze state, since the requesting app could get the
same behavior by starting their own foreground service.
Always dispatch network policy changes to ConnectivityService first
to ensure that it has up-to-date information. Fix bugs around data
saver that were causing networks to not be marked as BLOCKED for
background apps; before this fix apps would have been spinning in
internal connectivity loops, thinking that the network was actually
connected when the kernel was actually blocking their traffic.
Offer new ConnectivityService method overloads to ignore the blocked
state for a specific UID.
Print unsatisfied job constraints to aid debugging.
Bug: 26571724
Change-Id: Iaaa17933e6dc1bf6d3dff26d0bfc12222e51e241
Ensures each action gets at least its minimum width to prevent
an overly long action from squeezing out the others.
Change-Id: Ifb6253051b556bbab4738abef12dad0bb6f3c3d6
Fixes: 27996783
There is a narrow window of time during user unlock where we're
reconciling user storage and dispatching the "unlock" status to
various internal system services. While in this "unlocking" state,
apps need to be told that the user still isn't actually "unlocked"
so they don't try making calls to AccountManager, etc.
The majority of internal services are interested in merging together
both the "unlocking" and "unlocked" state, so update them.
Clarify naming in AccountManagerService to make it clear that a local
list is being used, which mirrors the naming in MountService.
To match UX/PM requested behavior, move PRE_BOOT_COMPLETED dispatch
after the user is unlocked, but block BOOT_COMPLETED dispatch until
after all PRE_BOOT receivers are finished to avoid ANRs.
Bug: 28040947, 28164677
Change-Id: I57af2351633d9159f4483f19657ce0b62118d1ce