On user switch the transient state of the old user was not cleared
which means that when we switch back to this user the operational
state such as which event types were dispatched, what state was sent
to local managers, etc is stale. This leads to semi-updated state
and broken behavior. Now if the user becomes inactive, we are clearing
all transient state which will be recreated when the user becomes
active.
bug:8196652
Change-Id: Ie9e0d712b6d567e5074b328f1bb87afaa5395c06
... instead of only saving it with the enormous "shared storage" generic
data blob. In parallel, we no longer store managed app-specific files
on external storage as part of the generic shared-storage blob.
At restore time we just go ahead and apply such files, though,
because they're a priori going to be part of an archive generated by
an older version of the platform, so that's how the data is expected
to be handled in those circumstances.
Bug 6718844
Change-Id: I4410514d368b11d74b3afe6b92d363d4115a3415
AndroidTestCase.scrubClass() is quite aggressive, and would end up
clearing out final fields like these:
private static final byte[] TEST_DATA = new byte[1];
This change updates the logic to match InstrumentationCoreTestRunner
in the cleanup() method.
Change-Id: Iba455ea35b2628473ce0ccc1431ab47c1caad45c
Paint.getTextRunCursor() no longer has a "flags" argument on the Java
side. The native side, however, still had the argument, and was being
called with misaligned arguments, causing all manner of madcap fun.
Also, the version of Paint.getTextRunCursor() that took String as an
argument needed to lose the "flags" argument, as well, to prevent an
infinite loop in the CharSequence version of the function, which was
supposed to be calling the String version but was actually calling
itself.
Bug: 8201224
Change-Id: Iad0dabaf81185f29a082566cc64590f2ba9bc31c
Allow developers to specify shadow properties for text in a
TextAppearance, not just in direct TextView attributes.
Change-Id: I873fbaf2c26683895e1eea2d02b5d9b17ca333d0
Save time and memory by resuing permanent mTmpXxxIterator for
AllWindowsIterator and AppTokenIterator.
Change-Id: I2e5143364651d9471e9e70eee514d3f45d595468
SurfaceControl is the window manager side; it can
control the attributes of a surface but cannot push buffers
to it. Surface on the other hand is the application (producer)
side and is used to push buffers to the surface.
Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd
Since fsblkcnt_t is 8 bytes, provide methods to access larger value
instead of casting to int. This would start being an issue around
8TB filesystems.
Also add convenience methods to calculate values in bytes.
Change-Id: Ib924425d8d6d82785466f611ca71800cc1e952b6