At one point we added a timeout to the black box that covers the
underlying backup unlock method so if Face Unlock doesn't start or
crashes, the user will see the backup method rather than being stuck
looking at a black box. However, when powering the phone on and off
quickly, the message to time out the black box could be received at
the wrong time, causing it to expose the underlying backup method
when it shouldn't.
This solution clears the existing SHOW/HIDE messages from the
handler's message queue before sending a new SHOW/HIDE message. In
particular, it clears out a delayed HIDE message when a SHOW is sent
so the SHOW can't be undone by a pending delayed HIDE message.
Also, logging errors for a couple of exceptions instead of rethrowing
so we can gracefully go to the backup in these cases.
Patch set 2 fixes problem where rare exceptions could prevent ever
binding to the service again because mBoundToFaceLockService was still
true.
Change-Id: Ieb7b6723161070f509277f67dc9ef100cf7c1aa6
Signal the native side that we are not scrolling when a drag is
held motionless to stop screen updates.
Additionally, in the case that a drag is being held motionless,
send a timed message to keep the scroll bars on screen otherwise
they fade in and out, again causing repaints that shouldn't be
necessary.
Bug: 5440335
Change-Id: I94db0323879885fa48924b41d29e8af03e3b5e7f
Bug: 5218310
This change fixes problems calling the default fillWindow
on Cursors that contain BLOBs. It should also be more efficient
by avoiding redundant string conversions for numeric datatypes.
Change-Id: Ied515bf6299bc8d3c14e76055d85fd35e7c05952
There is no difference and has never really been a difference
between local-only and remotable CursorWindows. By removing the
distinction officially in the API, we will make it easier to
implement CrossProcessCursor correctly. CrossProcessCursor
is problematic currently because it's not clear whether a call
to getWindow() will return a local-only window or a remotable window.
As a result, the bulk cursor adaptor has special case handling
for AbstractWindowedCursors vs. ordinary CrossProcessCursors
so that it can set a remotable window before the cursor fills it.
All these problems go away if we just forget about local-only
windows being special in any way.
Change-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376
This change renames the ScreenshotsOfProtectedBuffersFail to
ScreenshotsOfProtectedBuffersSucceed and changes the test to verify that
the screenshot succeeds.
Change-Id: I960bb8eed4211578cb4dc446b08392937da064b6
This fixes a regression caused by a resource change to the vibrate
pattern. It used to contain an array of delays and values. Now it has
another mode with just one value with an associated change to the vibrate
API.
Instead of using a custom vibration pattern, it now just follows the system
vibrate pattern for HapticFeedbackConstants.VIRTUAL_KEY, which is shared by the
home key, among other things.
Change-Id: Ib58493a96a42383955ae59f8ac3865bb46a86a31
The suggestion popup window was not dismissed on orientation change.
This is triggered by onDetachedFromWindow.
However, this method is also called when the suggestion popup window
pops up. A new flag detects that case to dismiss the popup unless it
has expressly been asked to show up.
Still errors in the log after that change, I assume related to the window manager.
Change-Id: Ia515fc576ddf2127b2f9863cc2652aeb619fff6e
* commit 'a9a21c2aa900fe63c4e9ccce4d62387d921a4b74':
DO NOT MERGE cherrypick from master docs: changes to toc for RS, graphics, and animation Change-Id: I542ac4cda24907ba0df4d63e5d7b4047e8091215