This waits until the keyguard window is actually removed before turning
off external presentations to avoid flashing the user's password.
Fixes bug 11562369
Change-Id: I74bfc0d5e23dccc5a8628abfe02868c71c371f6e
This fixes a bug where the music scrub position would snap
back to a previous position. The problem was caused by latency
in the music application responding to scrub position changes.
The latency would mean that we'd get a response periodically
to some historical scrub position change.
Since we can't know when the state will become stable, we
just wait a little bit since the last update change before
continuing to update the scroll position.
In order to keep the music client from falling behind, we
throttle scrub updates.
Fixes bug 11351267
Change-Id: I6204833328751d1da781b4e078a2d557c1f93ff3
Bug: 11063890
- Workaround for bug 11063890. Avoids the acquire/release
race when resuming face unlock while pausing the camera
widget.
Change-Id: I0a58f3a07f346da72ea55772242b4f9c54537235
This fix selects the current page ealier in the reconstruction
of Keyguard to ensure the layout bounds of KeyguardWidgetPager are
correct by the time it does the initial layout.
In addition this change postpones selecting the transport page if
the transport was just added.
Fixes bug 11287144
Change-Id: I92ba8bb5e13c166d13fbaa26881f5034d5ab2104
bug:11481077
Because TextView marquee and KeyguardSecurityViewFlipper use SaveLayer
(for the marquee fading effect and view alpha, respectively), both can
be nested, which hits a bug in the renderer resulting in artifacts.
Workaround this by setting a hardware layer on the marquee, so that
those marquee effects are drawn outside of the ViewFlipper.
Change-Id: If8b7ebb20d3959cb930a8bea2146ba3f8e659612
Adds explicit references to the given threads in case they
are the victims of a GC and adds logging to help track down
this issue if not.
Bug 10323372
Change-Id: I8e2fe46e10bbc5d14e631d45d8869b3214213045
Focus normally proceeds top down through the view tree. Change the
order of focus so that the security fields have a chance to receive
focus before the widget fields.
Fixes bug 11203748.
Change-Id: Ie7f16e59652edbe64fa8342197fda81b53976360
TextView only supports a single TransformationMethod per TextView, and
singleLine and textAllCaps are both implemented as
TransformationMethods. Composing both operations into a single
TransformationMethod gives us all-caps text (if requested by
kg_use_all_caps) on a single line.
Bug: 11421105
Change-Id: I069721b887ea90b8daf2af2cf82081319e499962
This fixes a problem where the frame would resize mid-animation because
the widget frame was being always being resized.
The issue was caused by having an extra fadeOutChallenge() in
onPageSwitching(). The fix is to remove this and handle this case
special for warping in onPageEndWarp()
Fixes bug 11190745
Change-Id: I6dbda4d09c77e3923887f8d41efb2215e1afb1b9
Move the logic for managing dimming the navigation bar
elements on the lockscreen into BarTransitions.
Replace search light + camera assets with new
versions at full brightness, and apply 50% dimming
at runtime, including the IME dismiss button.
Remove unused StatusBarManager _NOP hints.
Improve choreography between camera button +
password security (w/ IME). Fix a few found bugs
in PagedView.
Improve password security unlock transition, manually
fade in back along with the rest of the icons.
Bug:11221659
Change-Id: Ifd1f8c9f400d90542f0ca858b9a4deacabbd518a
Move the recent keyguard hidden coalescing down to the callback
level. The lifetime of each callback can be short, make sure
they see visibility changes at least once for each change local
to their lifetime.
KeyguardStatusView.refresh() is called multiple times, and instances
are recreated often. This results in expensive computations
filling the sysui/keyguard ui queue, adding to overall sluggishness.
Traceview points to DateFormat.getBestDateTimePattern as the
main culprit.
As of this change, refresh() will only call the expensive date pattern
computations when absolutely necessary, resulting in better
performance turning the screen off/on.
Bug:11221659
Bug:11447043
Change-Id: I3d4105af7db608803b82d8ef0ff141e42c154257
Do not lose media information when configuration changes. Also, do not
wipe out that saved information when the RemoteController is
reconstructed.
Fixes bug 11293859.
Change-Id: Id9e539367bfda2cc6833dc61c922c57ae45dd7b7
A 540dp device causes keyguard to select SlidingChallengeLayout
and a height of 400dp which isn't enough space for the security
area. This fix adds an intermediate value to grow the security
area slightly.
Fixes bug 11344424
Change-Id: I35c979f619c593b604e4bf45afd3e591329229e4
Target the two biggest offenders:
- Coalesce keyguard setHidden(false) calls during unlock.
- Make sysui->WM call async.
Found during investigation into b/11221659.
Bug: 11221659
Change-Id: Icab48376bc356a933e0f9940bc2f924e2e77ab22
Add supplyPinReportResult & supplyPukReportResult that
returns the result code and attempts remaining.
Display "Attempts remaining" in Keyguard
Bug: 9928717
Change-Id: Ibad0635dd1375fabce11ba2b7b9f95f8868489e6
Transitions, when started, add an OnPreDrawListener to the current
ViewTreeObserver (which is global to the view hierarchy). This listener
is removed when the listener is called.
It is possible to add this listener and then remove the view from
the hierarchy before the listener is called. This could result in
either the listener not getting called at all (since there was no
drawing event) or (in the case of this bug) the listener getting called
when the sceneRoot had no AttachInfo (which is the case when that
root has been removed from the hierarchy). This results in the listener
trying to remove itself from a *different* ViewTreeObserver than the one
it added itself to, leaving the actual listener still sitting on a list
of listeners in that original VTO. This can result in a growing list of
listeners and a growing amount of work that gets done on every frame.
It can also lead to a serious memory leak, since the objects referred to
by the transition may be non-trivial (as in the case of this bug).
The fix is to add another mechanism for the listener to get removed.
Specifically, we now listen for detach events on the sceneRoot. If that
view gets detached before the listener is called, then we have a chance to
remove it from the correct VTO before the AttachInfo becomes null.
Issue #11307391 keyguard is slow after updating to krt16c and playing music
Change-Id: I108413ea2f18f5351df0a11d4ae56fec0b4aa154
This fix ensures that only one runnable is running at a time, no matter how
many events come in. There's probably a better way to do this, but this is a
safe fix.
Fixes bug 11307391
Change-Id: I007c95062b20285571f39603c95fb9174b9a2da3
This works around a problem where removing a review with unfinished
transitions results in leaked object references to KeyguardTransportControlView.
The workaround disables transitions until we have a better fix.
Fixes bug 11307391
Change-Id: I1df82f2c6f1cd9f5c9076d4c76cfd4aec3b6806c