• Home
  • History
  • Annotate
  • only in /frameworks/base/policy/src/com/android/internal/policy/impl/
History log of /frameworks/base/policy/src/com/android/internal/policy/impl/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e62fa825794967c2067be86e8b57b83f4b82ee1c 10-Jan-2013 Dianne Hackborn <hackbod@google.com> Merge from master: fix issue #7966357: Super lights out mode vs. volume dialog

The volume panel now forces us out of the UI modes while it
is up.

Change-Id: If39fa33b1c52579bf5d376ce4722408cee3ca951
honeWindowManager.java
9819a61745b8eea3b3b7fa3af2c1ba017192cc36 06-Dec-2012 Jim Miller <jaggies@google.com> Merge "Fix password field focus in keyguard" into jb-mr1.1-dev
0db59a856f9b4a6ae53854a88fea3a3675d572fd 06-Dec-2012 Winson Chung <winsonc@google.com> Revert "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)"

This reverts commit 6cbc2e81742039969e081a9eed02060fb8789e25.
eyguard/KeyguardHostView.java
42df15e93d3eb70846270b26c024f1575e82fa06 06-Dec-2012 Jim Miller <jaggies@google.com> Fix password field focus in keyguard

This fixes a bug introduced in Change-Id: I34b7db402401a824f463d35d7546c05dc2979243 where
the top-most view was allowed to capture focus in order to ensure the device handled volume
key events.

This resolves the issue by restoring previous behavior and ensures we still handle media keys,
regardless of focus.

Fixes bug 7676996

Change-Id: Id2d1200be81640e4b4b7b5e3a0af099d6fc2d259
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
6c58b155c3bdde355adb03b191e43d8eec089fb2 05-Dec-2012 Amith Yamasani <yamasani@google.com> Merge "Make 3rd party lockscreen widgets work on secondary users" into jb-mr1.1-dev
94022e8997084be458a1faf46e72efab1d59e973 04-Dec-2012 Amith Yamasani <yamasani@google.com> Make 3rd party lockscreen widgets work on secondary users

If you install a lockscreen widget app on a secondary user, lockscreen fails to find it.
There were several places where the correct context and userId were required under the
covers - AppWidgetHost, AppWidgetHostView and RemoteViewsAdapter.

Set the user id in the required places and use it to query the package information.

Bug: 7662835
Change-Id: Ife482c8ab2a2e601650b7cfe2660e88d3b8f2050
eyguard/KeyguardHostView.java
ca83e1d5410d12220d48b8c52ed06cfb52fb9868 04-Dec-2012 Winson Chung <winsonc@google.com> Merge "Saving and restoring current page when rotating in lockscreen. (Bug 7568412)" into jb-mr1.1-dev
80a90efcbf32b30b886380c67585ddfb41c35437 04-Dec-2012 Jim Miller <jaggies@google.com> Merge "Fix ring volume issue by addressing focus regression in keyguard." into jb-mr1.1-dev
147f9568afe645d9bfb91f3037f5336d8a2482cc 04-Dec-2012 Jim Miller <jaggies@google.com> Fix ring volume issue by addressing focus regression in keyguard.

This fixes a regression where ring volume can be changed in keyguard.
Because KeyguardHostView is now being re-created in onScreenTurnedOff(),
it loses focus and the volume keys get handled by the fallback handler.

The fix is to ensure at least one child under KeyguardHostView has focus
whenever we re-create it.

Fixes bug 7546960

Change-Id: I34b7db402401a824f463d35d7546c05dc2979243
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
c566b43d02596cba437e9a2723e9f989297cca72 01-Dec-2012 Amith Yamasani <yamasani@google.com> Fix crosstalk between users for widgets hosted in lockscreen

This was initially about the Clock widget crashing repeatedly on some
devices with multiple users. Turned out that there were race conditions
when switching users that could result in remote views of one user calling
back to the RemoteViewsAdapter in keyguard that in turn sent an incorrect widget id
to a different user's widget, resulting in a crash.

Since KeyguardHostView is instantiated in the same process for different users,
it needs to carry a user identity to pass along to AppWidgetService so that
remote views services were bound to the correct user and callbacks were attached and
detached properly.

Added some aidl calls that take the userId to do the binding properly. A more
complete fix might be needed in the future so that all calls from Keyguard carry
the user id.

Also, there was a problem in comparing host uid for secondary users, since Settings
for a secondary user has a different uid than keyguard. Not an issue on single-user
systems. Changed the host.uid comparison to accomodate for the secondary user.

Bug: 7450247
Change-Id: Idbc36e3c60023cac74174f6cb7f2b2130dd3052c
eyguard/KeyguardHostView.java
e431e6a352125f2c51507130cc64e3405625a7ec 01-Dec-2012 Jim Miller <jaggies@google.com> Merge "Add logging to try and track down bug 7643792" into jb-mr1.1-dev
2b84b817e40cbd22f2a048a469d0d8ad513f7dd3 01-Dec-2012 Jim Miller <jaggies@google.com> Add logging to try and track down bug 7643792

Fix whitespace & log message.

Change-Id: I9d241365503a6a9b02d3155dbb06ddb82065b375
eyguard/KeyguardViewManager.java
4015c3f815fa83e67aa72d2c474e7e6f4c2dd5d0 30-Nov-2012 John Spurlock <jspurlock@google.com> Merge "Only show camera widget to setup users." into jb-mr1.1-dev
386165a3ae09b150165e8e7c310e194231071271 30-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "Only show "charging" if the battery is really charging." into jb-mr1.1-dev
371f3408d6d9c3c3781d6e35e591f61026b42240 30-Nov-2012 John Spurlock <jspurlock@google.com> Only show camera widget to setup users.

And remove misspelled and unused field in KeyguardHostView.

Bug:7645811
Change-Id: I3d6ceae8d25d0af7b504b4c22782611d25462a62
eyguard/KeyguardHostView.java
818b2f341c7a5afc08c6d1d26469101f3885def0 30-Nov-2012 Winson Chung <winsonc@google.com> Merge "Fixing issue where you can still click on a widget on a side page. (Bug 7568412)" into jb-mr1.1-dev
fff5614caecb0d2944b1bc206aaab0d3acb17670 29-Nov-2012 Michael Jurka <mikejurka@google.com> Disable adding keyguard widgets until setup is done

Bug: 7504154

Change-Id: I865f0139bb328e6b9b19493e0d8f9f086e2ebc38
eyguard/KeyguardHostView.java
eyguard/KeyguardUpdateMonitor.java
06598bede5dd2d35ab625bdac6a403e6755dd2b4 29-Nov-2012 Winson Chung <winsonc@google.com> Saving and restoring current page when rotating in lockscreen. (Bug 7568412)

Change-Id: Ia80845d05df04dc2d31a834279096e5ed165a646
eyguard/KeyguardHostView.java
fe0e1e445fe697d59baf5736da20356a4e548fc9 29-Nov-2012 Daniel Sandler <dsandler@android.com> Only show "charging" if the battery is really charging.

If there's a charge problem (battery health/temperature out
of spec, or low charging current), the lockscreen and status
bar should not indicate that charging is occurring.

(Previously we showed "Charging" and a lightning bolt any
time the device was plugged in.)

Bug: 7509976
Change-Id: I27ec0e2cec1307fbc6ef262dd5181a4db6d3bed0
eyguard/KeyguardMessageArea.java
ce479d831ad402fa57d4212908b1a9e168fb4143 29-Nov-2012 John Spurlock <jspurlock@google.com> Fix for navbar back/home appearing in keyguard (multiuser).

Clear remembered sysui visibility flags in PhoneWindowManager
when switching users. They might have been from another user.

Then reapply current window's flags to ensure contribution
makes it to the status bar.

Bug:7506446
Change-Id: I8249ba006934bdc22b952da7c16e9983d091c489
honeWindowManager.java
68e0da7e397f6808a90509615c08c62bb00af6ba 29-Nov-2012 Dianne Hackborn <hackbod@google.com> Merge "Quiet down a lot of logging." into jb-mr1.1-dev
6f6facc17812fe529f3de0b75de5f9011d73eacc 28-Nov-2012 Brian Colonna <bcolonna@google.com> Merge "Ignoring FUL unlock signal if user changed fixes b/7572354" into jb-mr1.1-dev
40e9f2922cae76ffcbc521481e5be8e80e8744ef 28-Nov-2012 Dianne Hackborn <hackbod@google.com> Quiet down a lot of logging.

Also fix a little problem where the USER_STARTED broadcasts
were not being sent as ordered broadcasts(!).

Change-Id: I3aa3e0a9b3900967cdd2d115ee103371b0a50c41
eyguard/KeyguardCircleFramedDrawable.java
eyguard/KeyguardTransportControlView.java
1272e0e37b9f1aad4749543be97a1a3a6483abf0 27-Nov-2012 Winson Chung <winsonc@google.com> Fixing issue where you can still click on a widget on a side page. (Bug 7568412)

Change-Id: I7105bc6b06e850e6029d12b0fe36fad00b538e1a
eyguard/PagedView.java
f7614fc7442e9cf2df89d4230af3f56f03a74c6e 26-Nov-2012 Winson Chung <winsonc@google.com> Removing unecessary additional lock metadata from QuickSettings user tile.

Change-Id: I89ec94385eb3cdd46ad6942bf8989fb04d5c0370
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
4752e7d1a9ff83d946890b0020de091f4346a7ae 21-Nov-2012 Winson Chung <winsonc@google.com> Removing the plus page when we reach the max number of allowable widgets. (Bug 7564782)

- Also adding feedback on the plus page (Bug 7500328)

Change-Id: Iddd09b7a3d5347a43bc040052114879cbaecccd9
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
2b0501bf580ff20b53f9f599bbae34261efc1193 22-Nov-2012 Adam Cohen <adamcohen@google.com> Fix a couple issues with page / outline alphas (issue 7488857)

-> Fix bug where page hints didn't disappear on boot
-> Fix bug where you see a weird rotated page under the
lock affordance (usually after adding a widget)

Change-Id: I75b04ceadbc296d033cc9fb1cff32ab9d6e5ce9b
eyguard/KeyguardWidgetCarousel.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
545043e59e906525af646b1ecad1797258797590 21-Nov-2012 Michael Jurka <mikejurka@google.com> Fix reboot loop caused by keyguard appwidget cleanup

Bug: 7591092
eyguard/KeyguardHostView.java
5eb83aa8965835f75b13a535eafe7f6311e4f790 19-Nov-2012 Brian Colonna <bcolonna@google.com> Ignoring FUL unlock signal if user changed fixes b/7572354

Prior to this fix, one user could log into another user's account by
waiting for FUL to recognize them on their account, and then
switching to another account at a very precise time - after FUL has
recognized the user but before the device has unlocked.

This was caused by the FUL unlock() callback telling the device to
unlock even though the user had changed. The fix is to only unlock
the device if the current user ID matches the user ID used to run
FUL.

Change-Id: I516b52d99ab7609b836939e4aae6e7df77a9e047
eyguard/FaceUnlock.java
0552c5d75ab4b6d0644e239f130b687a6047d1a7 15-Nov-2012 John Spurlock <jspurlock@google.com> Refactor the lockscreen camera widget, removing the bitmap.

The new approach is to create two views:
- Widget preview, drawn at full-size, then scaled to fit frame.
- Fullscreen preview, drawn at full-size, used during animation.

Two views are necessary to both ensure the widget scrolls properly
with the widget page yet still appears to scale up and match
the camera app pixel for pixel.

The offscreen bitmap and associated background rendering is no
longer necessary. This avoids the large allocation and associated
rendering time after turning screen on.

Also fixes 1px horizontal discrepancy during old scale-up anim.

Also suppresses long-click behavior on the camera widget.

Bug:7471107
Bug:7559755
Change-Id: I1d834aa743bc05d6a7e2ce3eadfee8d5ff40da37
eyguard/CameraWidgetFrame.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
75b5cfb4a41030333820d072578a288d4ec9899c 16-Nov-2012 Michael Jurka <mikejurka@google.com> Delete appWidgetId when removing lockscreen widgets

Bug: 7550012

Change-Id: Ia9f5266256016eb91bfd6a2d5a7f910c42948f1e
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
2c37f7b45522d908e1ffc5e63ffccfbe4cdea34b 13-Nov-2012 Craig Mautner <cmautner@google.com> Merge "Synchronize access to Locked methods. DO NOT MERGE" into jb-mr1.1-dev
43d84518f2380e45659fbb31455479ef018b9329 09-Nov-2012 John Spurlock <jspurlock@google.com> Disable navbar searchlight if search assist not available.

Bug:7506441
Change-Id: I55c740d4c3a45b9f7fdfa38346d1bc3fb1299153
eyguard/KeyguardViewMediator.java
d86159067f4feed23b5057eff726cef4a4af7f2b 09-Nov-2012 Craig Mautner <cmautner@google.com> Synchronize access to Locked methods. DO NOT MERGE

onConfigurationChange was calling maybeCreateKeyguardLocked
without actually holding the lock. Now the call to
maybeCreateKeyguardLocked is synchronized.

May fix bug 7094175.

Change-Id: I3171a18e25f54506f614f9c2cc09aa20080bd6bb
eyguard/KeyguardViewManager.java
f69320a1f02de3106a26a3911c25be63fcfaf738 09-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Preventing more than five widgets from being added in the carousel (issue 7502935)" into jb-mr1-dev
3e9cba4f9db96e3b5ba2ab2f9ad7a7ac2549582d 09-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Deferring size callbacks until boot completed (issue 7469267)" into jb-mr1-dev
c276e82dd070e75017192507df33958a10cadb87 08-Nov-2012 Adam Cohen <adamcohen@google.com> Deferring size callbacks until boot completed (issue 7469267)

-> Also bumping priority of the boot completed receiver

Change-Id: I7b68a29b4a8c927713bfbc1f4585f96ce0c47f35
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardWidgetFrame.java
40f8211e6849c4c7948d7fc19127f29f0cebbeb9 08-Nov-2012 Winson Chung <winsonc@google.com> Preventing more than five widgets from being added in the carousel (issue 7502935)

Change-Id: I26e6e154992e56b128d541578ffd3891776a3f7a
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
a46a74fcd61d2b4e72b6027625a471f10b21b1c9 08-Nov-2012 Dianne Hackborn <hackbod@google.com> Merge "Remove extraneous logs." into jb-mr1-dev
7ff30113de68539ec840c524b8f1561f938f96c5 08-Nov-2012 Dianne Hackborn <hackbod@google.com> Remove extraneous logs.

Change-Id: I4c47d36748de91bd6fddc419afbf59552bf63e9a
eyguard/KeyguardViewManager.java
9de5901bb37ad2a42d334405f41e629fa29dfd46 08-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "Don't crash if no ECA." into jb-mr1-lockscreen-dev
b499b1fa082147ad37e1211f32210b44bdbc0750 08-Nov-2012 Daniel Sandler <dsandler@android.com> Don't crash if no ECA.

(Phone landscape pattern lock, for example.)

Bug: 7502613
Change-Id: I3f48c4351ea04db2d8ad9a410166f60257f3d954
eyguard/KeyguardPatternView.java
4eada64770bc2f021cb04cbb77efbad1c9a7adc4 08-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "Only show the bouncer for the assistant if secure." into jb-mr1-lockscreen-dev
6ed3fcafdbdeda9a10a62bbd0e5997017e8e2635 08-Nov-2012 Daniel Sandler <dsandler@android.com> Only show the bouncer for the assistant if secure.

We do this by using the helpful tools in
KeyguardActivityLauncher which do all the right callbacks
and stuff.

(This assumes the assist gesture is sufficiently hard to
false that we don't need the extra step of bouncing the
glowpad unlock affordance.)

Bug: 7500637
Change-Id: Id68cb85cdfd741f43a5bce69118ec4209125d785
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
14adfe425e67c9ec12b0841a62c5c03ce00838ea 08-Nov-2012 John Spurlock <jspurlock@google.com> Address comments from merged "Fix remaining jank in sec..."

Cleanup based on post-merge comments on:
I554ddffb7981488fa8a81933842b0c7730e775f3

Bug:7482560
Change-Id: I06b2bc91da9dfddd06db69efb9e7ad45c304f709
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityCallback.java
eyguard/KeyguardViewMediator.java
eb963f046dadd1304379db0b14c17e47c89913f4 08-Nov-2012 Michael Jurka <mikejurka@google.com> Enforce max number of 5 lockscreen widgets

Change-Id: I7b7fca18174736c8f1aa0018f7399982c80b1cb0
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
c8ed8d32603d21e1af9a682cc5f1655d2388cfba 08-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Adding user activity when the challenge is slid down" into jb-mr1-lockscreen-dev
6be441c532688762b735ae2a1276195b40bf33b4 08-Nov-2012 Jim Miller <jaggies@google.com> Merge "Add mechanism to kick keyguard to show the assistant" into jb-mr1-lockscreen-dev
08c83ef48880b98ec45dd83867a29852160a96eb 08-Nov-2012 Adam Cohen <adamcohen@google.com> Adding user activity when the challenge is slid down

Change-Id: I54a7dcf79718090dac6ec5991185712cc2abca37
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
4eeb4f664ac6b5901a8e874dcf70c0382295f792 08-Nov-2012 Jim Miller <jaggies@google.com> Add mechanism to kick keyguard to show the assistant

Fixes bug 7499778

Change-Id: Ic9ea514feb489feeee6716f40bdb9792842f9515
honeWindowManager.java
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
eyguard/KeyguardViewStateManager.java
5dd8b00891faff39ecadb1a0322e14528883bfe3 08-Nov-2012 Adam Powell <adamp@google.com> Merge "add bouncer frame to glowpad." into jb-mr1-lockscreen-dev
a9fa92e889a9dbc94c25e4ba1d67ce24929b834f 08-Nov-2012 Adam Powell <adamp@google.com> Keyguard - force showing the status bar

Change-Id: I168293497a829346ba6f9566370c418ef1a09f8f
eyguard/KeyguardViewManager.java
efbfa685b678c010342f28ebed1b3b70efae201c 08-Nov-2012 Chris Wren <cwren@android.com> add bouncer frame to glowpad.

Bug: 7497916
Change-Id: I6bddbfc91c89b0855eba0dcec46bc1b88684b8ad
eyguard/KeyguardSelectorView.java
eyguard/SlidingChallengeLayout.java
2cacda5fc92a28a44a37e25b96093a9cc1346080 08-Nov-2012 Jim Miller <jaggies@google.com> Disable interactive mode for full-screen security views in keyguard.

Change-Id: Ied038ba96ba3a6e6f6b4bd25a4c5be74814596fe
eyguard/KeyguardHostView.java
1e0f6faf5abea0aae49bdae973bd15b675817224 08-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Clean up some flashy jank (issue 7454766)" into jb-mr1-lockscreen-dev
70c2f8736437ebb6073c3b6dab2e08e6dd9f39a6 08-Nov-2012 Winson Chung <winsonc@google.com> Synchronizing bouncer duration with page scaling duration.

Change-Id: I9fba381582a083ce2ab26375698c5a6f3d554a1b
eyguard/ChallengeLayout.java
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
eyguard/MultiPaneChallengeLayout.java
eyguard/SlidingChallengeLayout.java
44dc1413768b5798168fb29ea277affb9a739033 08-Nov-2012 Adam Cohen <adamcohen@google.com> Clean up some flashy jank (issue 7454766)

Change-Id: I809f3afbbb70e82847aa4851d20058a2c483a32e
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
e7e210cb4373877785130ff06ad4e6635592eaa8 08-Nov-2012 Adam Powell <adamp@google.com> Merge "Fiddle with keyguard glowpad layouts" into jb-mr1-lockscreen-dev
2635750fa7f835d102c3fd52b18e00d364d9ae42 08-Nov-2012 Winson Chung <winsonc@google.com> Adding workaround to fix issue where the bouncer animation had the wrong pivot.

Change-Id: I500fb765cf206b97cc0b585c195cc647cc8e63f1
eyguard/KeyguardWidgetPager.java
3fbbbb66b671daf4cd6f28b8ecd512bdd2436358 08-Nov-2012 Adam Powell <adamp@google.com> Fiddle with keyguard glowpad layouts

Also add hierarchyviewer support for KeyguardSecurityView LayoutParams

Bug 7497272
Bug 7459668

Change-Id: I5d03751571d0af66f4c9d08a9d9ca476b32735ac
eyguard/KeyguardSecurityViewFlipper.java
ae0161e7af280a35e975dc26457ab4f704d37d0a 08-Nov-2012 Jim Miller <jaggies@google.com> Merge "Don't handle click events on the emergency button in bouncer mode" into jb-mr1-lockscreen-dev
d8e2fdf7345f448f332ea8a551172f48563f77aa 08-Nov-2012 Adam Powell <adamp@google.com> Merge "Use stable layouts for keyguard/SlidingChallengeLayout" into jb-mr1-lockscreen-dev
eec4fe2cbe20174ac3b60f0ca90b51271ea98751 08-Nov-2012 Adam Powell <adamp@google.com> Use stable layouts for keyguard/SlidingChallengeLayout

When coming back from the secure camera we will be transitioning from
fullscreen back to not-fullscreen with regard to the status bar. Flag
SlidingChallengeLayout to force the window to have stable insets so
that our layout doesn't jump around during this transition.

Set the same flag in MultiPaneChallengeLayout as well so that similar
cases with other activities are also covered.

Bug 7498950

Change-Id: I1b65e04d1404e764ddad29472b70cf791d6801f9
eyguard/MultiPaneChallengeLayout.java
eyguard/SlidingChallengeLayout.java
8bbafed48b9c39e3ff5683b7151541c21b3e8ffe 08-Nov-2012 Jim Miller <jaggies@google.com> Don't handle click events on the emergency button in bouncer mode

This fixes a bug where the emergency call button was hidden, but not
gone. This adds a call to setVisibility(INVISIBLE) when the alpha
is animated to 0 and restore it when bouncer mode is dismissed.

Fixes bug 7498389

Change-Id: I0898542ff7c666c8f41175a330b72d3450475739
eyguard/KeyguardSecurityViewHelper.java
5c533884ead3bb8a8e2e4e8d79587a81dbe31700 08-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "Make dismissKeyguardLw use KeyguardViewMediator.dismiss()." into jb-mr1-lockscreen-dev
4181e8a4ac07e118724f7935928d2c3a1bb291f7 08-Nov-2012 Winson Chung <winsonc@google.com> Merge "Fixing issue where you can reorder/delete a non-widget page. (Bug 7493984)" into jb-mr1-lockscreen-dev
c065a5d7271c6683b64578490ccc836c72d3ed78 08-Nov-2012 Winson Chung <winsonc@google.com> Fixing issue where you can reorder/delete a non-widget page. (Bug 7493984)

- Laying out the drop target without padding from the multiuser picker

Change-Id: Icd3528a13f84a789341a841645bfde4e51fd1747
eyguard/KeyguardWidgetPager.java
eyguard/MultiPaneChallengeLayout.java
eyguard/PagedView.java
85c4281aae518c27ca3f95e330f6aa56159e1328 08-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Fixing up overscroll asset / sizing" into jb-mr1-lockscreen-dev
5da893c93b55c83b07558a1648f53dfec89b1f32 08-Nov-2012 Jim Miller <jaggies@google.com> Merge "Add one more check for detecting crashes while inflating multiuser widget" into jb-mr1-lockscreen-dev
d51700b3cc6d4c66a33d18348f7c1eb66cd50ac2 08-Nov-2012 Adam Cohen <adamcohen@google.com> Fixing up overscroll asset / sizing

-> No more jaggies! yay (issue 7459049)
-> Fixed up weird overscroll state (issue 7489094)

Change-Id: I5d6714a6f5f007ea0f73e4cf34a20572c5f43f64
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
f6ab5f9e3e7562b6ebb61ac149eb3cf9b08c443f 08-Nov-2012 Jim Miller <jaggies@google.com> Add one more check for detecting crashes while inflating multiuser widget

Fix bug 7437751

Change-Id: I2e1d94458db9e56e049dae32f088b13a21803217
eyguard/KeyguardHostView.java
40962880225c74d8f776e6ce03f1ec6dde63ef04 08-Nov-2012 Jim Miller <jaggies@google.com> Merge "Implement fallback clock in keyguard" into jb-mr1-lockscreen-dev
edc74abf8ad5880b0e3caeb3fdf92249da202abe 07-Nov-2012 Jim Miller <jaggies@google.com> Implement fallback clock in keyguard

This clock is shown if widgets are ever disabled by DPM and the
default clock package is not enabled.

Fixes bug 7469367

Change-Id: I8cf140c0fc00dd56265e3a332aff2fe3b41e3ec0
eyguard/KeyguardStatusView.java
eyguard/KeyguardStatusViewManager.java
fd8c388f028de046e5f5ed36880e98f67e6bb481 08-Nov-2012 Michael Jurka <mikejurka@google.com> Merge "Fix bug where newly added widget wasn't always shown" into jb-mr1-lockscreen-dev
1413889565bc1b9d5d5fb73302460a4f25f4a8c0 07-Nov-2012 Michael Jurka <mikejurka@google.com> Fix bug where newly added widget wasn't always shown

Bug: 7491900

Change-Id: I878eea745ee6127b757aa945631c1a4eb08d9936
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
c717d110ae5c2531a75420386f99ad8957732dbf 07-Nov-2012 Adam Powell <adamp@google.com> Merge "Fix keyguard measurement bugs" into jb-mr1-lockscreen-dev
eeb6255056b5b0b45026db040edf1136662e847c 07-Nov-2012 Adam Powell <adamp@google.com> Fix keyguard measurement bugs

Bug 7493748
Bug 7493764

Change-Id: I2182ec4347eefc80198e675684bc5d195f947763
eyguard/KeyguardSecurityViewFlipper.java
eyguard/MultiPaneChallengeLayout.java
8e3bf41d8b2289fa96ea1b268946bacaa01a620c 07-Nov-2012 Chris Wren <cwren@android.com> Merge "add logging to enableUserSelectorIfNecessary." into jb-mr1-lockscreen-dev
d2dec00a0a072dd0e71b2194ce919cd134d926ed 07-Nov-2012 Chris Wren <cwren@android.com> add logging to enableUserSelectorIfNecessary.

Bug: 7437751
Change-Id: I4a223ac68f780dac212ee5ed0729d59278fd1e4b
eyguard/KeyguardHostView.java
1ce804397fbd1fb9847d42f42294babea724ccf2 07-Nov-2012 Daniel Sandler <dsandler@android.com> Make dismissKeyguardLw use KeyguardViewMediator.dismiss().

It previously did some of the logic of dismiss() itself:
checking to see if the KG is secure, and if not, proceeding
to call keyguardDone() to actually hide everything. But now
that we have the "bouncer" authentication UI, the WM should
let the keyguard challenge the user to see if even a secure
keyguard should be dismissed. (Insecure keyguards should
behave exactly has they did before.)

Unless, of course, the KVM is in a "dismissable" state, in
which case it's safe to call keyguardDone() directly. (This
can happen if the user has *already* authenticated and we're
ending up in this codepath in response.)

Bug: 7458531
Change-Id: I9571acf19f9bcc16bba7a826f916da7be8ca9c33
honeWindowManager.java
b524f4b928fe3ac9c71657a323cff4b3321344da 07-Nov-2012 Chris Wren <cwren@android.com> Merge "add some defensive code to enableUserSelectorIfNecessary." into jb-mr1-lockscreen-dev
91f080c77739e32f377e1a9cb5c8d0ec5d50138f 07-Nov-2012 Chris Wren <cwren@android.com> add some defensive code to enableUserSelectorIfNecessary.

Bug: 7437751
Change-Id: I3f8e317624f158fce0d58be69b733699a208d802
eyguard/KeyguardHostView.java
8f837a690b0da2579157cdcc30503e0dd67f429d 07-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Storing boot completed in KeyguardUpdateMonitor so it is persistent (issue 7492235)" into jb-mr1-lockscreen-dev
4eb36cfdcabb51f67a887d867de9559966606d86 07-Nov-2012 Adam Cohen <adamcohen@google.com> Storing boot completed in KeyguardUpdateMonitor so it is persistent (issue 7492235)

Change-Id: I736816dac8cea47632fbdbc75b367f2c6216dff7
eyguard/KeyguardHostView.java
eyguard/KeyguardUpdateMonitor.java
cf9ee4c55db750f86fdcb765c4f21c44bb4bc893 07-Nov-2012 Chris Wren <cwren@android.com> Merge "Don't pop the IME for passwors at ScreenOn on tablets." into jb-mr1-lockscreen-dev
a042ac90640c0c3fd3c5349083b86bbfd6319b64 07-Nov-2012 Chris Wren <cwren@android.com> Don't pop the IME for passwors at ScreenOn on tablets.

Change-Id: I4c157559b2a70021d55211607c1d62ba73adc590
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardAccountView.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityView.java
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardStatusViewManager.java
eyguard/KeyguardViewStateManager.java
34c4fe523ad96fb59cec28832b38806d04a6bebf 07-Nov-2012 John Spurlock <jspurlock@google.com> Fix remaining jank in secure add-widget transition.

Wait for activity to launch before dismissing the keyguard.
Otherwise we see launcher/last activity waiting for the
picker to start up.

Also remove camera transition workaround obviated by:
Iefee62061962625b622ff2cf9a307d9429c2ad54

Bug:7482560
Change-Id: I554ddffb7981488fa8a81933842b0c7730e775f3
honeWindowManager.java
eyguard/CameraWidgetFrame.java
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityCallback.java
eyguard/KeyguardViewMediator.java
cabcc5900790daaa9ca4d080848c9b505c3de126 07-Nov-2012 Michael Jurka <mikejurka@google.com> Merge "Allowing rotation while adding lockscreen widgets" into jb-mr1-lockscreen-dev
192d6d4ee271c0782a3bf5d8c64e42eb22d1a6fa 07-Nov-2012 Michael Jurka <mikejurka@google.com> Allowing rotation while adding lockscreen widgets

Also cleaning up some unused code

Bug: 7468012
eyguard/KeyguardHostView.java
9799714f6c69efe50e21a6073b879140e5e792b7 07-Nov-2012 Adam Powell <adamp@google.com> Keyguard layout tweaking/reworking

Teach KeyguardSecurityViewFlipper about layout_maxWidth/Height. Give
maxes to security views. Fix some IME layout weirdness in
SlidingChallengeLayout by adding more weirdness.

Change-Id: I8047d32302aad44844de06d54b150586b0861dab
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityViewFlipper.java
eyguard/MultiPaneChallengeLayout.java
eyguard/SlidingChallengeLayout.java
9d0d796f47524da7abe018ca6ad892b819a0e66f 07-Nov-2012 Jim Miller <jaggies@google.com> Merge "Fix emergency call area updates." into jb-mr1-lockscreen-dev
42164efac3f4422e66d176de24e1a0857cacabab 07-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Ensuring bindAppWidget isn't called until boot completed (issue 7469267)" into jb-mr1-lockscreen-dev
efb3ffb029efcc180b3233b6f25d2dba11e28f03 07-Nov-2012 Adam Cohen <adamcohen@google.com> Ensuring bindAppWidget isn't called until boot completed (issue 7469267)

Change-Id: I997f5a191116db7c840bf4a947385958b57cd657
eyguard/KeyguardHostView.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardUpdateMonitorCallback.java
835579e8173700be78368827d5c042ac4f698e29 07-Nov-2012 Michael Jurka <mikejurka@google.com> Merge "Removing sticky widgets in lockscreen" into jb-mr1-lockscreen-dev
76017cad4f7af95380ee5eaf6dc610bb46088a9c 07-Nov-2012 Michael Jurka <mikejurka@google.com> Removing sticky widgets in lockscreen

Also adding mechanism to show a widget after
adding it

Change-Id: Ic4d49e6ef1343c38fa731b0ed2a327c55b678abf
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewStateManager.java
0928e019ce1a0e343df948520f32ac638379d8ee 07-Nov-2012 Jim Miller <jaggies@google.com> Fix emergency call area updates.

This fixes a bug where the emergency call button doesn't reflect the current
state.

Fixes bug 7482869

Change-Id: I7de2100f10a078943cb92c13d638c72e99c7a643
eyguard/CarrierText.java
eyguard/EmergencyButton.java
ad9f594e1ca36d4b847ec14e9ccf6e2d40bbc388 07-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> am 5fff5f01: Merge "Make partially visible widget pages not important for accessibility." into jb-mr1-dev

* commit '5fff5f01f8af05164d5d7be72bdadee46360ba92':
Make partially visible widget pages not important for accessibility.
5fff5f01f8af05164d5d7be72bdadee46360ba92 07-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Make partially visible widget pages not important for accessibility." into jb-mr1-dev
bc69698c8f1fdf7abc9ffb0225e47633617f5628 07-Nov-2012 Sascha Prueter <saschap@google.com> am 872965bb: Merge "Use a consistent policy for filtering wake keys." into jb-mr1-dev

* commit '872965bb22ba74a06b755547883c5d0de62bb956':
Use a consistent policy for filtering wake keys.
872965bb22ba74a06b755547883c5d0de62bb956 07-Nov-2012 Sascha Prueter <saschap@google.com> Merge "Use a consistent policy for filtering wake keys." into jb-mr1-dev
51117262c8fadb6d227d137e83ad66996b013141 05-Nov-2012 Jim Miller <jaggies@google.com> Handle DevicePolicyManagement and safe mode when inflating widgets

Bug 7459120
Bug 7444159
Bug 7444016

Change-Id: I7966ec510da8113ac571b5a4b9dc48dd291396e8
Conflicts:
policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java
eyguard/KeyguardHostView.java
eyguard/KeyguardViewBase.java
eyguard/KeyguardWidgetPager.java
1c2e4948a1f0e803171389427212321973ea66b8 07-Nov-2012 Jeff Brown <jeffbrown@google.com> Use a consistent policy for filtering wake keys.

Previously wake keys were filtered differently depending on whether
a keyguard was showing. If the user disables the keyguard then
no filtering was applied, which means that the volume key may
wake your device while in your pocket.

This change ensures that we use the same policy consistently
regardless of whether keyguard is showing. The behavior is
otherwise the same.

Removed the "Locked" suffix on a method that was actually
being called without a lock held and which in fact does not
require it.

Bug: 7481025
Change-Id: I704c71ca009bc5437f349f858b9de7c77ea73e4b
honeWindowManager.java
eyguard/KeyguardViewMediator.java
7136544c06c2d10c7a1c6aa8715d2b717221aee8 07-Nov-2012 Adam Powell <adamp@google.com> Merge "Keyguard - MultiPaneChallengeLayout measurement/layout changes" into jb-mr1-lockscreen-dev
9d34f9db81311a931ae4016161e1c927dd2a69d1 07-Nov-2012 Adam Powell <adamp@google.com> Keyguard - MultiPaneChallengeLayout measurement/layout changes

Have the widget view and the user switcher stay fixed when IME insets
are applied. This keeps more stability in the layouts as the IME comes
and goes.

Change-Id: I5ac62c3da6ec618280f89e87993837b3e4941ec9
eyguard/MultiPaneChallengeLayout.java
a90a18db9147709411bc911cf6337b61b9d75412 07-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Make partially visible widget pages not important for accessibility.

1. If the lockscreen has more than one widet, the left and right widget
pages are partially on the screen and visible. Therefore they may
take accessibility focus so the user will hear a prompt that he is
on the partially visible widget page but will not be able to interact
with it - confusing. This change makes partially shown windget frames
not important for accessibility.

bug:7454355

Change-Id: I475b21e215474a4421acaec485cde64dc4e2aee5
eyguard/KeyguardWidgetPager.java
5fcca70d280a789002f540ea04b9d7ae5d7fe324 07-Nov-2012 Chris Wren <cwren@android.com> Merge "animating challenge closed should close the challenge." into jb-mr1-lockscreen-dev
6cf53bb3a94ec5a6eebc96a315dac32d042f1945 06-Nov-2012 Winson Chung <winsonc@google.com> Using screen dimensions to calculate the expanded PagedView dimensions.

- Disallowing taps/interaction outside of the viewport (Bug 7459448)
- Fixing regression in incorrect pivot for Camera page
- Fixing issue where the bouncer was both scaling and shrinking widget pages.

Change-Id: Iefee62061962625b622ff2cf9a307d9429c2ad54
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
eyguard/SlidingChallengeLayout.java
da8f622b908121efa4c838936fce26c11a74799d 06-Nov-2012 Chris Wren <cwren@android.com> animating challenge closed should close the challenge.

Bug: 7486591
Change-Id: Ie19a3765c63b885539a621467c2fdc81041578a7
Proto:Id: Iedf69f2f4e97f313af0228954a75f5a494b33c88
eyguard/SlidingChallengeLayout.java
2d9fae2bcfbc8021873a39b3935644e9b9fb5af2 06-Nov-2012 Danielle Millett <dmillett@google.com> Merge "Removing callbacks in onDetachedFromWindow, fixes b/7465673" into jb-mr1-lockscreen-dev
7741e6209ab4c6425ee4156631f54fe9bfce5fc3 06-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Making sure the sticky widget logic works with music" into jb-mr1-lockscreen-dev
d6f8960b68c14e7946ff8f8286c484c28296ae39 06-Nov-2012 Adam Cohen <adamcohen@google.com> Making sure the sticky widget logic works with music

-> Also, ensure that subsequent calls to showAppropriateWidget
don't blow away your current page.

Change-Id: I7195e35f306526c371b9546ab48bc408868eff51
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
5eac4d852bdc62964acd1c8805b6e9cd8301f262 06-Nov-2012 Amith Yamasani <yamasani@google.com> am f763b717: Merge "Authenticate correct user\'s account when pattern fails multiple times." into jb-mr1-dev

* commit 'f763b71756d4d810e78e368fbcd56ff8a844f62c':
Authenticate correct user's account when pattern fails multiple times.
9f79d0db09818e94b6c2089f952d1ef42e1e1fae 06-Nov-2012 Chris Wren <cwren@android.com> Merge "make challengeShowing sticky across bounce." into jb-mr1-lockscreen-dev
f763b71756d4d810e78e368fbcd56ff8a844f62c 06-Nov-2012 Amith Yamasani <yamasani@google.com> Merge "Authenticate correct user's account when pattern fails multiple times." into jb-mr1-dev
f7e47a003ada4b225dcafe722ab0de35a846b58a 06-Nov-2012 Chris Wren <cwren@android.com> Merge "specify start value: Drawables don't have getAlpha(). also, some clean up." into jb-mr1-lockscreen-dev
03ad0c09502c72c02af464f1e273af3b6ff799cc 06-Nov-2012 Chris Wren <cwren@android.com> make challengeShowing sticky across bounce.

Bug: 7482335
Change-Id: I94811c778c66c78655988f7ff6e4c6d59dac831d
Proto-Id: I3e10968c2a627ac392f39ffc3a6ae5fb33f78117
eyguard/SlidingChallengeLayout.java
50bf54584239aa80781f32269396bd2059b2877d 06-Nov-2012 Chris Wren <cwren@android.com> specify start value: Drawables don't have getAlpha().
also, some clean up.

Bug: 7477513
Change-Id: Iaf05c1ae78ed4e7ba9d4cd3c713b5862a04b61f6
Proto-Id: I28d0569b88a978e1fff2acad1869bc10751dc37f
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardSecurityViewHelper.java
eyguard/SlidingChallengeLayout.java
cade0049a729ac63832f45befa91cec3b7ce88f5 06-Nov-2012 Danielle Millett <dmillett@google.com> Removing callbacks in onDetachedFromWindow, fixes b/7465673

In certain cases when lockscreen is constructed in landscape and then
switches to portrait on the phone, it inflates new views for
KeyguardHostView. The old views never call onPause() in KeyguardFaceUnlockView
so it was still getting callbacks and starting Face Unlock multiple
times. By removing the callbacks in onDetachedFromWindow() there won't be
multiple instances of KeyguardFaceUnlockView receiving callbacks and
starting face unlock.

Change-Id: I00d770283e83be2f4b76e00340123789a8075091
eyguard/KeyguardFaceUnlockView.java
65cbcbea8a88a14dd9a001d23d09f0a02b0b3805 06-Nov-2012 John Spurlock <jspurlock@google.com> Remove add widget transition jank (insecure).

Refactor to use common activity launcher.

Still work to do on secure.

Bug:7482560
Change-Id: I2f8869afe8172850e1cb019a051aaeb49bb8c5bc
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
ae73c6908ffd3c450d56a4fde95513cfff19d8a2 06-Nov-2012 John Spurlock <jspurlock@google.com> Fix regression in camera transition.

Caused by: Ic18188a2a3caa9dfde8785611242b1c9925f7b87
"Adding bouncer animation on PagedView."

Bug:7483566
Change-Id: Ie0b4e7cf3d4dc717cac02c7cf8a1ec24b9b860a6
eyguard/CameraWidgetFrame.java
08924d007f2323b6fb57c858732d32b1083da639 06-Nov-2012 Michael Jurka <mikejurka@google.com> Merge "Supporting EXTRA_APPWIDGET_OPTIONS correctly" into jb-mr1-lockscreen-dev
87d0366d9e41a0fb1e20cc021ba391ed92fab385 06-Nov-2012 Jim Miller <jaggies@google.com> Fix NPE caused by applications that try to hide keyguard while it's not showing

Fixes bug 7466360

Change-Id: Idec4c60c2ca2477e49e0f4526ae2357353d4a1e3
eyguard/KeyguardViewMediator.java
0a75b94872c26efed113fea3b4104155c7a30c9c 06-Nov-2012 Michael Jurka <mikejurka@google.com> Supporting EXTRA_APPWIDGET_OPTIONS correctly
eyguard/KeyguardHostView.java
2c7bc26a7447e6ac9eadcf328259aa3bb1be2949 06-Nov-2012 Amith Yamasani <yamasani@google.com> Authenticate correct user's account when pattern fails multiple times.

Bug: 7473142

Provide hidden methods in AccountManager for querying accounts and
authenticating for a specific user. Lockscreen is running in the
system process. Allow only system process to access accounts across
users.

Also make sure to launch the lock settings screen on the just reset
user using startActivityAsUser()

Change-Id: Ifefc0039ba2b51396b8bd0268f36d5271a3d8676
eyguard/KeyguardAccountView.java
eyguard/KeyguardPatternView.java
48275d2de99ff2556031929c48f295d3f93447b6 05-Nov-2012 Winson Chung <winsonc@google.com> Adding bouncer animation on PagedView. (Bug 7459660)

- Adding Remove text for translations.

Change-Id: Ic18188a2a3caa9dfde8785611242b1c9925f7b87
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
eyguard/SlidingChallengeLayout.java
9ff6d4f8db8d3d7a6f22afa726685feb47694fbe 06-Nov-2012 Adam Powell <adamp@google.com> Merge "Keyguard sanity checks for when layout is not yet complete" into jb-mr1-lockscreen-dev
5a2c5f0efacf5f11a928c8481f6747c3d13ddcfd 06-Nov-2012 Adam Powell <adamp@google.com> Keyguard sanity checks for when layout is not yet complete

Bug 7470163

Change-Id: I1e5f860ab39633f6c5e2046f6f18424227842406
eyguard/SlidingChallengeLayout.java
6f72b1c9178e885d8e66399ed55075a932d73dc5 06-Nov-2012 Adam Cohen <adamcohen@google.com> Fix small widgets not showing up on tablet (issue 7471516)

Change-Id: Ie217268ef9c96512942f64b8ffd7e1d54a0ea850
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
5da6430fff7812e58ee7e9a05c62d72c36f366c8 05-Nov-2012 Adam Powell <adamp@google.com> Optimize keyguard/IME interactions

Change the keyguard window to LAYOUT_IN_SCREEN | LAYOUT_INSET_DECOR
and make the ViewManagerHost fitSystemWindows. This eliminates the
need to resize the actual window and associated surfaces when the IME
comes and goes.

Force the widget pager to measure at the fullscreen size of the
keyguard, even if the IME is showing. This causes the widgets to clip
instead of resize, removing a few more moving parts that can be
distracting/affect performance.

Partially improves bug 7427586

Change-Id: I0d86d0ca8045f737fa97ca5d1e7f6a49f746b999
eyguard/KeyguardViewManager.java
eyguard/SlidingChallengeLayout.java
b3f87c24ee86227e22b2db9b04f3d94519f230f9 05-Nov-2012 Chris Wren <cwren@android.com> Merge "bouncer: hide more text and frame less." into jb-mr1-lockscreen-dev
025fb93e3e5518b7db5fec049d285cfb2d28a074 05-Nov-2012 Steven Ross <stross@google.com> Clearing connected message in stop fixes 7401152

We can stop before the service connected message is processed, in which case
we should clear the message. Otherwise it can cause us to start up the UI
before the camera is open, causing a crash.

I was unable to reproduce this issue, but it theoretically will happen, and
the bug report shows all the symptoms of this series of events.

Change-Id: I60d295883b08ac58ccf0f3fc6d152b8b75fe9b18
eyguard/FaceUnlock.java
c0ae9e67ebe6f1298800feaed1b43e867139a904 05-Nov-2012 Chris Wren <cwren@android.com> bouncer: hide more text and frame less.

Bug: 7464865
Change-Id: Ic8dac2582c014922143919f142fd36eb720dd3a9
Proto-Id: Id80601c9ffbdc34669b485e943b42cee237898f3
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardAccountView.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardMessageArea.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityContainer.java
eyguard/KeyguardSecurityView.java
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardSecurityViewHelper.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardViewStateManager.java
d812e7a10ecb95f31e08641642c2b22b7cd0050b 05-Nov-2012 Amith Yamasani <yamasani@google.com> am fca8d258: Merge "Remove power menu user switcher" into jb-mr1-dev

* commit 'fca8d258c5699ad2703d46181c492e78e1dc87a8':
Remove power menu user switcher
fca8d258c5699ad2703d46181c492e78e1dc87a8 05-Nov-2012 Amith Yamasani <yamasani@google.com> Merge "Remove power menu user switcher" into jb-mr1-dev
57f928fc4afc02d2fe45523efea687eee7f86c02 02-Nov-2012 John Spurlock <jspurlock@google.com> Recover from badly behaving 3rd party secure cameras.

Bug:7473953
Change-Id: I8daf18c85d951e03fa1c98dda5f255327f96f0ba
eyguard/CameraWidgetFrame.java
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
eyguard/KeyguardSelectorView.java
08898375fba7cc776857ebf0846c7183563a300f 05-Nov-2012 Jim Miller <jaggies@google.com> Show bouncer mode for Slide mode in keyguard if widget isn't expanded

Change-Id: If225198b0c6b122fef854ddd91e49c1071b74d50
eyguard/KeyguardHostView.java
8caabadd02c7bef701c44dc1718a9a493cbd1261 05-Nov-2012 Adam Cohen <adamcohen@google.com> Making challenge come back if within the same gesture you return to the original page (issue 7422999)

Change-Id: I8ada54ca39ebebc15295f93a2d9029f3b7915acb
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetPager.java
eyguard/SlidingChallengeLayout.java
7f6bb6e460ad7f76742348144b8b1d0dfb3074b3 04-Nov-2012 Adam Cohen <adamcohen@google.com> Ensure edge swiping is enforced immediately upon showing keyguard (issue 7453156)

Change-Id: I197a5304bbea904b58494a9dcb7ff95ff3c4a52b
eyguard/KeyguardViewStateManager.java
25228801ba76e3419d598d9820007f4af761b3cd 04-Nov-2012 Adam Cohen <adamcohen@google.com> Fix issue 7468224, make sure to size pages if page changes

Change-Id: I8b3d7573eda7ed8e6a9aa479e61737fb12e26b92
eyguard/KeyguardViewStateManager.java
6275b3f1f3de7b0ca285e8f57a6d6014b0fa95b3 04-Nov-2012 John Spurlock <jspurlock@google.com> Use better signal for camera launch.

Keyguard set-hidden instead of window lost focus.

Tested with face unlock.

Bug:7464536
Change-Id: I6171c96699d1b1ccfebd7a14179d90963fb8aa54
eyguard/CameraWidgetFrame.java
37d84ae6051ab6d2add1e0ef51cf2aa2605c3225 04-Nov-2012 John Spurlock <jspurlock@google.com> Render camera widget on a background thread.

Bug:7470978
Change-Id: Ieace005ac42d39ac4c146673910e6681f38e8f56
eyguard/CameraWidgetFrame.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
f70239a4313010bf0dd3e1ff37f58a806857baa4 04-Nov-2012 John Spurlock <jspurlock@google.com> Fully block user interactions when transitioning to camera.

Bug:7464265
Change-Id: I654b3d7c455f782495946988bb2e5198ff4252ec
eyguard/CameraWidgetFrame.java
eyguard/KeyguardWidgetPager.java
47eb0c103a38fe710381c23284d01840930b93e2 04-Nov-2012 Dianne Hackborn <hackbod@google.com> am 2ea9bae7: Fix issue #7457380: IME leaves a mark after user switching

* commit '2ea9bae7121f1df5461437d7d08fa550cdf6e0b0':
Fix issue #7457380: IME leaves a mark after user switching
934d0835c8bae6d8aacf4d661b7134691d8e241b 04-Nov-2012 Adam Cohen <adamcohen@google.com> Fixing up overscroll / hints on tablet

Change-Id: I8b0ce30b02b2d13d71826d6765d154f5ab89072b
eyguard/KeyguardWidgetCarousel.java
eyguard/KeyguardWidgetFrame.java
5d47a8dc2e86a0513cc09348b5b4da24696fdd46 04-Nov-2012 Adam Cohen <adamcohen@google.com> Cleaning up the overscroll effect

Change-Id: I685693fa178fb7b6418145554eb320b1a62d7462
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
db1c5d596e91713132131601536aaad32e693325 04-Nov-2012 Adam Cohen <adamcohen@google.com> Updating UI to new design, widget shouldn't expand until page settles (issue 7467435)

-> If the challenge is showing and the page is swiped, instead of immediately
sliding down the security and expanding the small widget, we instead
quickly fade out the security and keep the widget+frame small until
the page settles and fades out.

Change-Id: I0f376dcd863744b977a1c5ccc7a46a5c6fdb891d
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/SlidingChallengeLayout.java
7cefef7c7cc28e111b99e1a55a93a363fe3c00cf 03-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Making screen hints just side page outlines, as per new design (issue 7467968)" into jb-mr1-lockscreen-dev
45adaa70203a155beb786f22b251fe66b8d6fafd 03-Nov-2012 Adam Cohen <adamcohen@google.com> Making screen hints just side page outlines, as per new design (issue 7467968)

Change-Id: Iff66e0b01cca89337227e54033f6245d6833a5ff
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
2ea9bae7121f1df5461437d7d08fa550cdf6e0b0 03-Nov-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7457380: IME leaves a mark after user switching

The gnarly stuff where we keep track of the old input method
window as if it was still there was sitting around leaving things
in a stuck state. Now we clear this out at key points in the
window manager (freezing screen, user change), and the input
method manager service is less aggressive about asking the window
manager to do it.

Also fixed a problem that was causing flickers during some
wallpaper transitions -- when we are animating two things on
top of the wallpaper and one of them disappears, we need to
make sure the wallpaper target points to whatever the current
target should be (if any), not left pointing to the old target
that has gone away.

Change-Id: I2fb9600f569a5bd5e3528aaf24cde9340af56cb0
honeWindowManager.java
fe43e2b1789ac95c9d0cc1428c94963aea3fda98 03-Nov-2012 Jim Miller <jaggies@google.com> Merge "Attempt to fix MENU key issue." into jb-mr1-lockscreen-dev
75931e05470992d51d135d09031902fd1b3fdbc7 03-Nov-2012 Jim Miller <jaggies@google.com> Attempt to fix MENU key issue.

Bug 7467642

Change-Id: If9ee91fc17b454dd47945e800e90d76c0faa7f3d
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
f74d0c39b62ff542542df69e641477eb1e09b157 02-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Polish user selector accessibility." into jb-mr1-lockscreen-dev
912133a4966e0eed9a72b208e2aa650dc538b328 02-Nov-2012 Amith Yamasani <yamasani@google.com> Remove power menu user switcher

Bug: 7466189
Change-Id: Ieb5e637f3e0b557eb616b5531a0a05a38a788fab
lobalActions.java
ff105ea2f63b224f782e0ea223349061e460076b 02-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Fix pages disappearing (issue 7456885)" into jb-mr1-lockscreen-dev
fc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa 02-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Polish user selector accessibility.

1. The current user was not announced as such.

2. The event for a user switch was not sent.

Change-Id: Ib3caf1f9e93ea1f0b5450246601bc37f416be6da
eyguard/KeyguardMultiUserAvatar.java
196cde973fd1635f0ac3150caab40287aacb9846 02-Nov-2012 Adam Cohen <adamcohen@google.com> Fix pages disappearing (issue 7456885)

Change-Id: I51e4510da06a9b81aaefb8b2165234297ad4de92
eyguard/KeyguardViewStateManager.java
81af21e67cd842d16d4b45e8a2d1ec56ff8d764f 02-Nov-2012 Chris Wren <cwren@android.com> Merge "hide the correct text, and more text, on bounce" into jb-mr1-lockscreen-dev
052999f3c94df2659e6e3e7730a2810980f718f7 02-Nov-2012 Chris Wren <cwren@android.com> hide the correct text, and more text, on bounce

Bug: 7464865
Change-Id: I39dc6f06ce0403a29e4802fcc5288788cffb6070
eyguard/KeyguardSecurityContainer.java
eyguard/SlidingChallengeLayout.java
a96cd636ec4e0158f1291270845f4c1f13f91209 02-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "Improve PIN key layouts." into jb-mr1-lockscreen-dev
80bc85a7916713aae0b49e06b4b63bb3760a7a39 02-Nov-2012 Daniel Sandler <dsandler@android.com> Improve PIN key layouts.

- space between digit and mnemonics
- better center the (left-aligned) text in its container
- nudge the enter arrow a little to the left in its
container
- add missing contentDescriptions for SIMPIN/PUK

Bug: 7427380
Change-Id: I0f5d9d1554a476c00591981028733ee6924bb729
eyguard/NumPadKey.java
807c1a99bfe1cb5d2a6f1cd0c245a2df5e7cdc1a 02-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Obscure speech for PIN password keys when no headset plugged in." into jb-mr1-lockscreen-dev
0cbbc5766fb7c56c49ec55eece905fa7764a8b2b 02-Nov-2012 alanv <alanv@google.com> Obscure speech for PIN password keys when no headset plugged in.

If applicable, also announces that the user needs a headset when
displaying the PIN pad layout. Also fixes accessibility focus "falling
through" to the next Z-ordered view.

Bug: 7436382
Change-Id: Ic1db5320b2e47ff181c5902e9f7980fe3fe6756b
eyguard/KeyguardPINView.java
eyguard/LiftToActivateListener.java
eyguard/NumPadKey.java
eyguard/ObscureSpeechDelegate.java
f3b9ec8230298e8f707c2fc44a74fb9346ec3d12 01-Nov-2012 Winson Chung <winsonc@google.com> Initial changes to allow dropping on delete target to remove widget.

- Fixing deletion animation

Change-Id: Ie93991c0e9af0c6b64c6b3808e38f349f6845965
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
febea58c9215c38fde2c89732b88c832ab69c143 02-Nov-2012 Chris Wren <cwren@android.com> Merge "hide multiuser selector when IME is up." into jb-mr1-lockscreen-dev
5f69f380ac84ccdc53462d20e2fb8a784a8dc31b 02-Nov-2012 Chris Wren <cwren@android.com> hide multiuser selector when IME is up.

Bug: 7437062
Change-Id: I7d1b2cf8e74b5ac8546aa9ae7545b69ab3584633
eyguard/MultiPaneChallengeLayout.java
1ec464679f731827f626856084f19643fff64a94 02-Nov-2012 John Spurlock <jspurlock@google.com> Block swipe up gesture if challenge non-interactive.

Change-Id: I0f9ba918c072261614011cd675e417e54296366f
eyguard/SlidingChallengeLayout.java
78a8f126a9af0c4994188adeba1b955b5d4afd28 02-Nov-2012 John Spurlock <jspurlock@google.com> Properly disable challenge handle.

Bug:7464304
Change-Id: Ib69ccc66bbd348fc3ad17e5097522a0976838daa
eyguard/SlidingChallengeLayout.java
bb5c941149b66c0192736468bb60f47984dd5e1f 31-Oct-2012 John Spurlock <jspurlock@google.com> Disable security handle when swiping into camera widget.

Bug:7444313
Change-Id: I3eb268a41bc8b8a4323e55577a775c5ab3cef10d
eyguard/CameraWidgetFrame.java
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
eyguard/SlidingChallengeLayout.java
dd8ac785e36f91405323f6e60a90fd466f135369 02-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Fix small issue with previous CL" into jb-mr1-lockscreen-dev
86006bb8a51c59fb216a76525107522d7d53097b 02-Nov-2012 Adam Cohen <adamcohen@google.com> Fix small issue with previous CL

Change-Id: Id5260413898eef61447f88b3dd82d6181e9bd492
eyguard/KeyguardWidgetFrame.java
2df294eb39d7549805f289b570b6fc574f93cd97 02-Nov-2012 Adam Cohen <adamcohen@google.com> Merge "Widget size policy, size callbacks" into jb-mr1-lockscreen-dev
98b930ce4ca4258fe1d6e9df0053f6883517a241 02-Nov-2012 Winson Chung <winsonc@google.com> Cleaning up keyguard persistence threads when the pager is detached. (Bug 7460991)

Change-Id: I28ebbd04d90a1ea2a721c28d3bce7ccea31a33e9
eyguard/KeyguardWidgetPager.java
4ddcd573dd06a96c32285e34469cae6e7f03109b 02-Nov-2012 Adam Cohen <adamcohen@google.com> Widget size policy, size callbacks

-> vertically resizable widgets behave are sized to fill
-> non-vertically resizable widgets use the small size all the time
-> providing size call-backs. ensuring that we don't send excessive /
incorrect size callbacks. These are expensive. Had to clean things
up to ensure we only send the truth, and not bounce around.

Change-Id: I8038de01096906526e2622c6f1cd24c171e3a4ec
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
e732421a412ffc6b9988c44fa81bd8b726caefd9 02-Nov-2012 Brian Colonna <bcolonna@google.com> Merge "Only suppressing FUL on boot if selected fixes b/7338965" into jb-mr1-lockscreen-dev
aaf9b11e6232f159aa6d9863097b09bb435deae3 01-Nov-2012 Jim Miller <jaggies@google.com> Don't show security method until we actually return from the camera

This was causing problems because face unlock and the camera app are
competing for the camera.

The solution is to not show the security method until we get back to
keyguard.

Change-Id: I179548e4ee6aa0ab5dad545842ddeb14bc3b58e1
eyguard/KeyguardHostView.java
52070c1a71e46ce4216186e88c8a73a3c31903e2 02-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "PUK support." into jb-mr1-lockscreen-dev
d6c48847ba6a68594ac602350a5994904b9a67ba 02-Nov-2012 Jim Miller <jaggies@google.com> Fix whitespace problem and sync with prototype.

Change-Id: I92b26741b84dcccb75783f0f26e6d84d0083b77b
eyguard/KeyguardSimPinView.java
23d7a6e605f9c6c1c57550e1053d9e6ddd22741e 02-Nov-2012 Daniel Sandler <dsandler@android.com> PUK support.

Bug: 7413109
Change-Id: I7ccfe79a17fd9b1273bc0ac821ac0e2884ae7ab2
Proto-Id: Ie49c04cf3d373e57ef0bbfd0c59589fe905c8aae
eyguard/KeyguardSimPukView.java
261b18aaecad87cb0bf64bda86e64257d09c291d 02-Nov-2012 Daniel Sandler <dsandler@android.com> Fix build.

Change-Id: Id7907dc9ab10e2aab07ba3cb02b4a3a27131f4cd
eyguard/KeyguardAbsKeyInputView.java
b30ddd99af48b8a817f9c37237ddd74b21e746a3 02-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "SIM PIN support." into jb-mr1-lockscreen-dev
53149e69e9e70af0e2db4a6223bf4d6a7d01a1ac 02-Nov-2012 Daniel Sandler <dsandler@android.com> SIM PIN support.

Bug: 7413109
Change-Id: Icc4157bd869c3661e7291fe8060c82d3f713445c
Proto-Id: I909ff4fdde82f3dc0c7a61d45c522844efcbe882
eyguard/KeyguardSimPinView.java
9de90c1c57b65498afca39c29834ad2bb75f0cbb 02-Nov-2012 Michael Jurka <mikejurka@google.com> Merge "Use clock's widget as the default keyguard widget" into jb-mr1-lockscreen-dev
67a871d85732e582c70a2a1d85ef4419eb658a12 02-Nov-2012 Michael Jurka <mikejurka@google.com> Use clock's widget as the default keyguard widget

Also, if we have no widgets in lockscreen,
reinflate the default widget. If that fails,
inflate the built-in clock (KeyguardStatusView)

Change-Id: I2e90ab0893c993a755700e075e4a8ac5a685e0f2
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetFrame.java
324545d7c8e0084088ffdbceaf8d1deb6bc09be5 02-Nov-2012 Jim Miller <jaggies@google.com> Merge "Add configurable em-dash separator for all concatenated keyguard strings" into jb-mr1-lockscreen-dev
e9be14077161b9c5dcaa521e9ce4d3e017c11ac6 02-Nov-2012 Jim Miller <jaggies@google.com> Add configurable em-dash separator for all concatenated keyguard strings

Fixes bug 7459426

Change-Id: I2e4944f25f3e4e62b734bc57db628f1b3ce263cd
eyguard/CarrierText.java
eyguard/KeyguardMessageArea.java
b1260af2f5aa2363b08267d35e6b08f95be1eccd 02-Nov-2012 Winson Chung <winsonc@google.com> Merge "Cleaning up keyguard persistence threads when the pager is detached. (Bug 7460991)" into jb-mr1-lockscreen-dev
ebbf5eea2b288700108aaffe3a8dce9ec4b085f7 02-Nov-2012 Daniel Sandler <dsandler@android.com> Merge changes Ib3133583,I0262172d into jb-mr1-lockscreen-dev

* changes:
Show "wrong password" on password screen, not "wrong PIN"
Restore incorrect-PIN lockouts.
e72855e670fe82becdacd5d299e71b77aa3cc9bc 02-Nov-2012 Winson Chung <winsonc@google.com> Cleaning up keyguard persistence threads when the pager is detached. (Bug 7460991)

Change-Id: I28ebbd04d90a1ea2a721c28d3bce7ccea31a33e9
eyguard/KeyguardWidgetPager.java
9c2c77f8bd8288dcafc9f8111396d46b896d1933 01-Nov-2012 Adam Powell <adamp@google.com> Keyguard - fix overzealous sliding security view

Bug 7453429

Change the detection of sliding the security view to require crossing
the border between sections in the correct direction. This also
improves the feel of re-opening the slider.

Change-Id: I57797f926e017ea2cf41f7c48e0fe77ac0f78460
eyguard/SlidingChallengeLayout.java
1dd84d5f2fbdb8c15f77770526fe2c31a10c0f2d 01-Nov-2012 Adam Powell <adamp@google.com> Merge "Keyguard sliding challenge - fix overeager touch interception" into jb-mr1-lockscreen-dev
c238af5112bee38b3143a65849bd41785c3744b0 01-Nov-2012 Adam Powell <adamp@google.com> Keyguard sliding challenge - fix overeager touch interception

Bug 7458287

Change-Id: I31f196539eecab1df5835e8ac1a76d9732a332fe
eyguard/SlidingChallengeLayout.java
998a504ca9d3705cad5109dfd12d40b4715a5dc0 01-Nov-2012 Danielle Millett <dmillett@google.com> Merge "Showing message when max attempts are hit in face unlock fixes b/7306168" into jb-mr1-lockscreen-dev
d4a3e5d711ef3467830205320b7f7ae2188ea2cf 01-Nov-2012 Brian Colonna <bcolonna@google.com> Only suppressing FUL on boot if selected fixes b/7338965

FUL is suppressed when first booted and unsuppressed when the user
leaves keyguard (by logging in or turning the screen off). However,
if the user managed to enter the phone without going through
keyguard (security set to none, or initial device setup), FUL was
not being unsuppressed and it would not show up the first time the
user tried to use it.

This fix only suppresses FUL on first boot if it is the selected
security method. Therefore, it is not suppressed the first time it
is used after setting it up.

Change-Id: I766bbce31ce3939de97661623fe3b8d3fa29c20d
eyguard/KeyguardViewMediator.java
16d90923149435cc7f565f684d42ecd074712ce5 01-Nov-2012 Daniel Sandler <dsandler@android.com> Show "wrong password" on password screen, not "wrong PIN"

Bug: 7452916
Change-Id: Ib31335837834dbf47bd55230a526151a502d9467
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardPINView.java
eyguard/KeyguardPasswordView.java
6a64ac56b7a8b81e6f24b5ad9856185488f4178d 01-Nov-2012 Daniel Sandler <dsandler@android.com> Restore incorrect-PIN lockouts.

Bug: 7433439
Change-Id: I0262172db7c150aa9e73b932cc43a691f3ef9444
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardPINView.java
eyguard/NumPadKey.java
8f7e1be4b183c158c45124cef885ae9319237b0a 01-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Addressing comments in 74bdd21629681528dbe7f3ea363d99c8514e026b." into jb-mr1-lockscreen-dev
0f87a72d59a224c819e18cfed4374f4d484198d6 01-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Addressing comments in 74bdd21629681528dbe7f3ea363d99c8514e026b.

Change-Id: I807733dabc18bc8894c777d19c4d0e3ca809476c
eyguard/SlidingChallengeLayout.java
1625e87e600e8d0752d2f5e1318151a694f1be3e 01-Nov-2012 Danielle Millett <dmillett@google.com> Showing message when max attempts are hit in face unlock fixes b/7306168

Added a check in pattern and PIN to showed the face unlock max attempts
failure message if that had been reached. The max attempts can only
be true if face unlock is enabled so it doesn't need to also check if it's
enabled.

Change-Id: If8a26498961d79fa6a647abc923c72f0af407e61
eyguard/KeyguardPINView.java
eyguard/KeyguardPatternView.java
22ad682ad7e165e244e4f7de121fe25dad65f60d 01-Nov-2012 John Spurlock <jspurlock@google.com> Merge "Cancel camera launch on screen off." into jb-mr1-lockscreen-dev
dbe24b7def8df3a539790827d3f395f4d933802b 01-Nov-2012 John Spurlock <jspurlock@google.com> Cancel camera launch on screen off.

Bug: 7452793
Change-Id: Ic043a0076154d2ce4dcb0b26bae3958c35a6cd67
eyguard/CameraWidgetFrame.java
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
62e9c05774b588a893cffb82e87b1126b0933f25 01-Nov-2012 Daniel Sandler <dsandler@android.com> Merge "Show the keyboard less aggressively." into jb-mr1-lockscreen-dev
6e36f1019cb6d7098b49e036e1640c8cfc6880cf 01-Nov-2012 John Spurlock <jspurlock@google.com> Fix launcher flash during secure camera transition.

Bug:7452928
Change-Id: I8b7d9bdb14addefb9e9ed71a45d438418b3e21dd
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
eyguard/SlidingChallengeLayout.java
080471e41066f1acaae57574dcb556df20d0e036 01-Nov-2012 Danielle Millett <dmillett@google.com> Merge "Updating isShowing during onResume()" into jb-mr1-lockscreen-dev
5d2404da57926736317c1a08d989cd55784ef8a1 01-Nov-2012 Danielle Millett <dmillett@google.com> Updating isShowing during onResume()

Since the callback is unregistered in onPause(), KeyguardFaceUnlock
doesn't get onKeyguardVisibilityChanged() when it's paused. This means
that if the state changes while it's paused, then mIsShowing is incorrect
when it resumes. This is fixed by keeping track of the state in
KeyguardUpdateMonitor and checking it when onResume() is called.

Change-Id: I67aa1e091161a965e4347dc8c2ec5e7a1dd9d92e
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardUpdateMonitor.java
9986b2d2851e09dfeeb6c32659c9a630436e5272 01-Nov-2012 Brian Colonna <bcolonna@google.com> Merge "Suppressing FUL after going to backup fixes b/7449820" into jb-mr1-lockscreen-dev
667b5d58b9e8b77221c87811c5c9aab1bfe44ffa 01-Nov-2012 Brian Colonna <bcolonna@google.com> Suppressing FUL after going to backup fixes b/7449820

Face Unlock would reappear when rotating a tablet after it had already
fallen back to the backup unlock method. This change suppresses Face
Unlock after going to the backup so it isn't seen again until the user
leaves and revisits keyguard.

This change also removes the exposeFallback() callback from Face
Unlock. It has been unnecessary for a long tiem since Face Unlock no
longer covers the backup. The Face Unlock service was therefore
making unnecesaary calls via the AIDL interface.

Note that the AIDL interface change broke obsolete keyguard stuff.
That is being deleted soon anyway, so code has just been commented out
of the obsolete files to make it compile.

Change-Id: Ia5c451cce1703b3bc03e27a35c6b38373e944d1b
eyguard/FaceUnlock.java
eyguard_obsolete/FaceUnlock.java
45942ca0525b86ff33c425aaaf87b69dd1c1ceea 01-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Addressing comments for change c4842c11932ea4f60fe7ae09b0a59660207e1587

Change-Id: I4e9cf37aba287f079be18e5c2c25216e6fdd1396
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
11952e73af206c1def991e86a695a880fb0062b0 01-Nov-2012 Jim Miller <jaggies@google.com> Merge "Adding a button for expanding the clock screen challenge." into jb-mr1-lockscreen-dev
74bdd21629681528dbe7f3ea363d99c8514e026b 01-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding a button for expanding the clock screen challenge.

Change-Id: Ia39303012251cf7cc4dadac030d1aa471ceff776
eyguard/SlidingChallengeLayout.java
a6314da24eb61cb7df0395e9b53819739210ad02 01-Nov-2012 Brian Colonna <bcolonna@google.com> Merge "FUL being unsuppressed when screen turns off fixes b/7453702" into jb-mr1-lockscreen-dev
c4842c11932ea4f60fe7ae09b0a59660207e1587 31-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility support for the lockscreen - phone.

Change-Id: Idc99f1322a1d635dd07e1f5efa1665a4676267c2
eyguard/CameraWidgetFrame.java
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
c8dc8eb3275a6d05e27824f322796e97e5e50e2f 01-Nov-2012 Michael Jurka <mikejurka@google.com> Merge "Use new keyguard appwidget picker" into jb-mr1-lockscreen-dev
078f5919a9584cc3f1c7eb3a78862bfa40396de9 01-Nov-2012 Brian Colonna <bcolonna@google.com> FUL being unsuppressed when screen turns off fixes b/7453702

We suppress FUL when the device first boots because with all of the
things happening at boot, we don't want to interact with the camera.
We also suppress it immediately after a user switch for the same
reasons. However, once the user turns the screen off, we want to
show FUL when they turn it back on. Prior to this fix it was only
being unsuppressed on login.

Note that this CL also removes the isFirstBoot flag. It was only
being set/checked when the suppress flag was set/checked, so it was
redundant.

This also addresses bug b/7450665, which is regarding the
user-switch case.

Change-Id: I2b39e85e21c08ef7629398521ab1159f5a6c7547
eyguard/KeyguardHostView.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardViewMediator.java
077105bae304d92c61ec5d164549eb028d4b283b 01-Nov-2012 Adam Powell <adamp@google.com> Merge "Fix some drag behavior bugs in keyguard" into jb-mr1-lockscreen-dev
fa668cc930544e8b231c1fbf3ad496374b7aa21c 01-Nov-2012 Adam Powell <adamp@google.com> Fix some drag behavior bugs in keyguard

Integrate from proto app

Make sure you can drag back up immediately without the delay of extra
offset on the challenge view.

There are still a few further tweaks to make here that will be
dependent on another upcoming patch.

Change-Id: I6af599e43d6be6da7b431dca5b87e39c157a54df
eyguard/SlidingChallengeLayout.java
fc753c0cf676000b1c2d3cb2728af85a9b49f795 31-Oct-2012 Michael Jurka <mikejurka@google.com> Use new keyguard appwidget picker

Also, remove ability to filter widgets by feature
in appwidget picker in anticipation of api change

Change-Id: I325de0b98f03d3a250758d504229ea27794b5330
eyguard/KeyguardHostView.java
409c89c35838a0a5402abb253dc24ea959db6c5e 01-Nov-2012 Jeff Brown <jeffbrown@google.com> am c1c53e56: Merge "Fix dream/keyguard infinite layout loop." into jb-mr1-dev

* commit 'c1c53e56fb5222bfdd17f0a9f735efe5c1b8cb70':
Fix dream/keyguard infinite layout loop.
c1c53e56fb5222bfdd17f0a9f735efe5c1b8cb70 01-Nov-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix dream/keyguard infinite layout loop." into jb-mr1-dev
cdb80888b7c0c987223011fc4a358b458decf567 31-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Fix keypad accessibility." into jb-mr1-lockscreen-dev
170c8d930e7ca0c913d1e1b1e16f9ac03f323a6d 31-Oct-2012 Jim Miller <jaggies@google.com> Merge "Remove extra KeyguardViewStateManager construction" into jb-mr1-lockscreen-dev
03633d28db9efa2195e55584551e34756b488666 31-Oct-2012 Jim Miller <jaggies@google.com> Remove extra KeyguardViewStateManager construction

Change-Id: I0f64569876d923c2b4b7ac3918f3a0458a56b16c
eyguard/KeyguardHostView.java
c345146a3a321644f653fce0fb79f288a0221fb0 30-Oct-2012 Chris Wren <cwren@android.com> Update bouncer behavior on tablets.

Bug: 7411293
Change-Id: I1000987b9b5d481d04e095c4f8eb9eda44a81021
Proto:Id: I81fcf3541a81812b212963a5c4b379424506bc5a
eyguard/KeyguardMessageArea.java
eyguard/KeyguardSecurityContainer.java
eyguard/KeyguardStatusViewManager.java
eyguard/MultiPaneChallengeLayout.java
eyguard/SecurityMessageDisplay.java
86e1b96666af3693ec1bf220272fbc90d73d3cde 31-Oct-2012 Dave Burke <daveburke@google.com> Fix ordering bug

Bug: 7445381
Change-Id: I585b8cdd528b05db0737eab815c4172760aece14
eyguard/KeyguardHostView.java
e74fcc0eb15a0ea16d55e03c80a8442e09e16aee 31-Oct-2012 Adam Powell <adamp@google.com> Merge "Fix keyguard bugs" into jb-mr1-lockscreen-dev
cdf8b487456115a1bcc626f53b8da63308dc42dd 31-Oct-2012 Adam Powell <adamp@google.com> Fix keyguard bugs

Integrate from proto app

Get some layout/alignment right between security views, bouncer,
etc. Expand the space available for the more cramped security views
when not in the bouncer.

Fix bug 7434391 - don't allow widget swiping in bouncer mode. Fix a
few other bouncer-related state tracking problems as well.

Use layers when moving the security view around.

Change-Id: Ied14bab8bb5c3d997c734a3ae657b766c427253f
eyguard/SlidingChallengeLayout.java
3c416dfcc0a4692b20a09f188284d9127dd5dbca 31-Oct-2012 Michael Jurka <mikejurka@google.com> Merge "Fix crash on boot" into jb-mr1-lockscreen-dev
536f067c340d1134c0d2aebdebcbe2327218a18e 31-Oct-2012 Michael Jurka <mikejurka@google.com> Fix crash on boot
eyguard/KeyguardHostView.java
162fc8e64be6a6c357d39d36906ac7e36f07ed33 31-Oct-2012 Jim Miller <jaggies@google.com> Merge "Re-enable transition animation between face unlock and backup" into jb-mr1-lockscreen-dev
22ae05d50c7011b389a5dba7a2f717e407328bf8 31-Oct-2012 Jim Miller <jaggies@google.com> Re-enable transition animation between face unlock and backup

Change-Id: Ia90cf73e400f45c8b73f34cbc521dcbc62258ca8
eyguard/KeyguardHostView.java
e0ec5d428f80fe49b291a0e0edd51a4398bde609 31-Oct-2012 Jim Miller <jaggies@google.com> Merge "Fix potential null pointer exeption in keyguard" into jb-mr1-lockscreen-dev
82b517be0b3973781970be992b7a95157e3bfd0b 31-Oct-2012 Jim Miller <jaggies@google.com> Fix potential null pointer exeption in keyguard

The code was adding default widgets before setting mViewStateManager, which means the
callback from the transport control might access mViewStateManager before it's set.

Change-Id: I985a3c8062d0660519cb4a4c8c1b42c7c90f4ac7
eyguard/KeyguardHostView.java
c8018ebe7c6410543517a2721d0232bc5adb975e 30-Oct-2012 Jeff Brown <jeffbrown@google.com> Fix dream/keyguard infinite layout loop.

Bug: 7427191
Change-Id: If48d39cf890274607fd13cdd4d85c6c234ce5a2c
honeWindowManager.java
a371e5315ea2f632c80b56e1f8665765414df980 31-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Fix content alpha" into jb-mr1-lockscreen-dev
ab8635d179124e379385aa02020ca3a216944a25 31-Oct-2012 Adam Cohen <adamcohen@google.com> Fix content alpha

Change-Id: I13e8ad73baf768976240c1c7c5a2cb05d5d62061
eyguard/KeyguardWidgetCarousel.java
a0a230abf3aef48ab984b844a00e9ca194722623 31-Oct-2012 Danielle Millett <dmillett@google.com> Merge "Removed makeInvisible() function" into jb-mr1-lockscreen-dev
54d181db0e7a4335918b4c38f4418430ca99b6c1 31-Oct-2012 Danielle Millett <dmillett@google.com> Removed makeInvisible() function

This is now being done inside stopUI instead of its own separate
call since it needs to be done on the UI thread inside FaceLockService.

Change-Id: Iaf3a203f7f201ba4dde4c878f457e765f11e6c0e
eyguard/FaceUnlock.java
7ff55358951eff80c95a55c9bc4b0a113f237217 31-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Making the reordering play nice with the 3D widget carousel" into jb-mr1-lockscreen-dev
70009e426a39cc2940d264c4fb87a4402c60b0ff 31-Oct-2012 Adam Cohen <adamcohen@google.com> Making the reordering play nice with the 3D widget carousel

-> Ensuring that transforms, hidden side pages, alphas all transition
and fade seamlessly to and from the carousel

Change-Id: I6197f17899135a9e551ff1691c63ad5a2bb1d0f7
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetCarousel.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
c7375afef77b29b7fdb25f48dbe649b7b7fd487c 31-Oct-2012 alanv <alanv@google.com> Fix keypad accessibility.

Add lift-to-type to the PIN keypad. Speak entered PIN digits. Add content
descriptions to PIN keypad buttons.

Bug: 7436382
Change-Id: I7cb3977cc769598c5f783221e1257b13e5e108c7
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardPINView.java
eyguard/NumPadKey.java
c8f7c5eb7447b26238e0b5a9355d2d0ee06a9d90 31-Oct-2012 Jim Miller <jaggies@google.com> Merge "Fill in logic in WidgetPager to ignore music when reordering." into jb-mr1-lockscreen-dev
bd0bf156c089f1271d093536e3964472612ce46b 31-Oct-2012 Jim Miller <jaggies@google.com> Merge "Implement correct music widget positioning in keyguard" into jb-mr1-lockscreen-dev
a56395da5df55cf030f20c5cfdc23e3a540540ab 31-Oct-2012 Dianne Hackborn <hackbod@google.com> am 77101993: Merge "Bring up unlock screen for FLAG_DISMISS_KEYGUARD." into jb-mr1-dev

* commit '7710199376657415e5341f64a830aa50fcb117aa':
Bring up unlock screen for FLAG_DISMISS_KEYGUARD.
e0566da2dab8c3b9ddca43131f21ef58b79049c8 30-Oct-2012 Jim Miller <jaggies@google.com> Fill in logic in WidgetPager to ignore music when reordering.

This moves music state management into KeyguardViewStateManager to allow
KeyguardWidgetPager access to it.

Fixes bug 7442977

Change-Id: I113b6d1c8848d60ae53b99e697b33e1e33d67853
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetPager.java
33384ed696927efac8d3c495d5446e0f0bd73995 30-Oct-2012 Jim Miller <jaggies@google.com> Merge "Attempt to fix bug on devices where multi-user support is disabled." into jb-mr1-lockscreen-dev
26e6c2e44235428717d7152b9e6398649452f1d2 30-Oct-2012 Jim Miller <jaggies@google.com> Attempt to fix bug on devices where multi-user support is disabled.

Bug 7437751

Change-Id: Iff9f6a5a91fb9dd69b7176a5febb1d6e158d90b6
eyguard/KeyguardHostView.java
bdca3c0a21ba15e8bb6d7ef0ca1b7e8024f98f19 30-Oct-2012 Jim Miller <jaggies@google.com> Implement correct music widget positioning in keyguard

This always inserts the music widget to the left of the camera
widget if it exists or as the right-most widget when music is
playing.

Fixes bug 7425361

Change-Id: Ida992fbdde254a2de0ab12c63e003ccfeab7a94a
eyguard/KeyguardHostView.java
eyguard/KeyguardTransportControlView.java
eyguard/KeyguardWidgetPager.java
fba4d4a7678862a21d5cf7770ca8bfcc79831bf6 30-Oct-2012 Daniel Sandler <dsandler@android.com> Show the keyboard less aggressively.

Bug: 7427586
Proto-Id: I154ac6faa7609da458157ecfba8d9a94f4e27ccb
Change-Id: I6fcabbdca358f124e362443db1377681378347ae
eyguard/KeyguardPasswordView.java
ef653101d8120b8788ff917bf0a9d466050cc3db 30-Oct-2012 Winson Chung <winsonc@google.com> Merge "Moving persistence calls to background." into jb-mr1-lockscreen-dev
b1e7695d7b265c58705e8b7d7f21b51f5715e053 30-Oct-2012 John Spurlock <jspurlock@google.com> Merge "Render camera widget correctly after shell restart." into jb-mr1-lockscreen-dev
6249804eadc10d08cb09ad6e226186ee3c2159da 30-Oct-2012 Daniel Sandler <dsandler@android.com> Merge "Impose a height & width downward on challenge views." into jb-mr1-lockscreen-dev
ad09bccfe4cc0a3075e97c0911a02b329023a34a 08-Oct-2012 Craig Mautner <cmautner@google.com> Bring up unlock screen for FLAG_DISMISS_KEYGUARD.

Widgets that did not launch Activitys would not display the unlock
screens when they were tapped. Now any window that is shown with
FLAG_DISMISS_KEYGUARD set while the keyguard is locked will
cause the unlock screen to be displayed.

Bug: 7301530 fixed.
Change-Id: I90d11b52d2b63260bdb5f2b6eb7e98eb7a4d9331
honeWindowManager.java
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
737798271e6e5b9466acef26ead061ecf6d0f292 30-Oct-2012 John Spurlock <jspurlock@google.com> Render camera widget correctly after shell restart.

Bug: 7440304
Change-Id: I1ad8573cc843142d77436fd8361d7fc613b09f21
eyguard/CameraWidgetFrame.java
f8f5966e591cc39364f0ebccd40896b841289076 30-Oct-2012 Winson Chung <winsonc@google.com> Moving persistence calls to background.

Change-Id: Ief3b0862dfd24d520ec88afb5bbb9954ee90f2ac
eyguard/KeyguardWidgetPager.java
4050da7d864779fe3bd1174d25f858c9a48df7b2 30-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Addressing a couple comments on previous CL" into jb-mr1-lockscreen-dev
5be14ded6762bc51fabbbecb1b2ec01a8c758631 30-Oct-2012 Adam Cohen <adamcohen@google.com> Addressing a couple comments on previous CL

Change-Id: I6ee066a5e6c2dadff921bb2ed7e91ea2601eec05
eyguard/KeyguardWidgetFrame.java
eyguard/SlidingChallengeLayout.java
8a26bf5aea45650a14215d398c7d0909fcf80c43 30-Oct-2012 Daniel Sandler <dsandler@android.com> Impose a height & width downward on challenge views.

This means that challenges may no longer wrap_content, even
vertically. But it's the only way to rationalize across
different challenges, some of which want to be a fixed size,
some match_parent, and some wrap_content.

This change also fixes some problems with the password view
as well as PIN view (usable again on sw360 devices like
Galaxy Nexus).

Bug: 7427586
Change-Id: I648e68c5159fef7cf594d4bfe8f6d4bdd5da6b6a
Proto-Id: I280b4875a9deee5dfb7409bdfa8ed0b96fbd0cff
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardPINView.java
eyguard/KeyguardPasswordView.java
70aa528b73fc54fe7896ac1ae349569d83caba59 30-Oct-2012 Winson Chung <winsonc@google.com> Fixing some regressions in tablet reordering/deleting.

Change-Id: Ib3e48fa2606c0259603f6daf3b2ef72e1c8e292d
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
3114b1a09b40ff26750e0a7c2dcc01c5982f4bd9 30-Oct-2012 John Spurlock <jspurlock@google.com> Merge "Disable lockscreen window anim when launching camera." into jb-mr1-lockscreen-dev
e2ac5207f204ee26ba43c033d9ffb51f7daee2bd 30-Oct-2012 John Spurlock <jspurlock@google.com> Disable lockscreen window anim when launching camera.

Prevent the exit animation from running when exiting the lockscreen
due to launching the camera from the camera widget.

Bug:7429770
Change-Id: I2a0148d84158fca11dda4c4a563fe5ab3236be81
eyguard/CameraWidgetFrame.java
16d83fd13a91c124735e7f4ee2244214ad8523da 30-Oct-2012 Chris Wren <cwren@android.com> Merge "post user activity on widget pager moves" into jb-mr1-lockscreen-dev
cf69c56b8336e2bd5c8e20f948cc80ca53e0c25a 30-Oct-2012 John Spurlock <jspurlock@google.com> "Fix camera widget scale-up regression." -> frameworks/base

lockhotness change-id: I69ccfa3a873943ab2e159d15937d5fb13f7acabd

Bug:7439300
Change-Id: I9e9eeae16b4e76d85a8145f3b198c22ad2e923e9
eyguard/CameraWidgetFrame.java
8a7785c7aa2df74203276299e10b0d9056cd0560 30-Oct-2012 Adam Cohen <adamcohen@google.com> Cleaning up the way in which the challenge influences widget size on first measure pass

-> This change ensures that on first draw, the widget is the appropriate size if the
security challenge is covering it.
-> This change is in preparation for some new policy surrounding widget sizing --
with this new policy, a given widget may need to be small even if the page is
not being covered by the challenge. Hence, we propogate this small size to
all the pages, whether or not they are covered. The pages will eventually
use this.
-> Ensure that paging hints are shown correctly (with the new sticky widget
logic the page can be switched, and we weren't always seeing the appropriate
hints).
-> Also ensuring that the page is set correctly on first draw -- generally
this change should make it so everything is right on the first draw.

Change-Id: I7e03be9b027aed0ebb0fada05652b4226fd23897
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/SlidingChallengeLayout.java
1108a2cb412b054cc9e4acc48182c46c45180c0c 30-Oct-2012 Danielle Millett <dmillett@google.com> Added a makeInvisible call to Face Unlock

This makes it so that the view is hidden immediately when
a call to stop is made. This also changes the call in onPause to
only stop and not go to the backup because we still want Face Unlock
to show as the view is being dragged down.

Change-Id: I66d8fc24e82dc3a0155f7d59d8ced932cb584660
eyguard/FaceUnlock.java
eyguard/KeyguardFaceUnlockView.java
cfc3086b18396df03f982fb98112649dc5b5a6f2 30-Oct-2012 Adam Powell <adamp@google.com> Keyguard polishing

Integrate from proto app

* New assets

* Layout changes

* Dragging behavior change for sliding challenge

* Realign camera for new padding

Change-Id: Ia177c60f59f1fc74000d95fc39b048321acf1246
eyguard/CameraWidgetFrame.java
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/SlidingChallengeLayout.java
7bf93cf50fc028a50433741b4e1f1ee8b80f74f0 30-Oct-2012 Winson Chung <winsonc@google.com> Merge "Deferring zoom out animation until after snapToPage and animateDragViewToOriginalPosition." into jb-mr1-lockscreen-dev
9dc9923085c4407268e8b6aa32c06fe30e3a7f7f 30-Oct-2012 Winson Chung <winsonc@google.com> Deferring zoom out animation until after snapToPage and animateDragViewToOriginalPosition.

- Fixing issue where you can long press a widget to reorder while the challenge is up

Change-Id: I6ef2fa050a5ebc35d1c3e373bb27519580ebe03d
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
4b976ea1af04f8c340ef7e0d79f73d7cdb5eb72e 28-Oct-2012 John Spurlock <jspurlock@google.com> "Implement grace period for camera widget." -> frame/base

Change-Id: If3159fa43d9de6188b262f3db76575c6436e138a
eyguard/CameraWidgetFrame.java
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
32c557cea2a7d1bccd7582bc233dae4a0aea8741 29-Oct-2012 Chris Wren <cwren@android.com> post user activity on widget pager moves

Change-Id: I3aa760090cb2036045045fc01d933cf35a9bbff9
Proto-Id: I9b98788dc108333657239b07ff36ce69892a3f96
eyguard/KeyguardWidgetPager.java
0b728244dc87b4a453f2191c2cb37a86e91aee0a 29-Oct-2012 Jim Miller <jaggies@google.com> Update status area and emergency call logic to match new spec

Change-Id: Ic43d9d58168166aacf2b145663dc9412b099f9c2
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardAccountView.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardMessageArea.java
eyguard/KeyguardNavigationManager.java
eyguard/KeyguardPINView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityView.java
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardStatusViewManager.java
eyguard/SecurityMessageDisplay.java
e3643138c89d49a01ba6a622ffaf71c9a95d5cdc 29-Oct-2012 Adam Cohen <adamcohen@google.com> Implementing new slider / widget interaction where frame goes around the widget

-> Frame resizes dynamically as the security slides
-> Widget shrinks immediately as the handle begins being brought up
-> Widget grows only upon security settling in the down position
-> Cleaned up a lot of state interaction between the security slider
and the widget pager / pages
-> Loosened long press slop (was using Euclidean distance by accident
instead of x crossed or y crossed logic)

Change-Id: Ic52b62e577c539327b0a65c9277300fc626cf190
eyguard/CheckLongPressHelper.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/MultiPaneChallengeLayout.java
eyguard/SlidingChallengeLayout.java
b2f21c53cf423cad5cf2f5d92579258decb40631 28-Oct-2012 John Spurlock <jspurlock@google.com> Merge "Use settings to persist sticky widget." into jb-mr1-lockscreen-dev
bc676a0a1d15e932ca74bb94f3ae392e0a9dbbe2 28-Oct-2012 Daniel Sandler <dsandler@android.com> Merge "Improved handle touch interaction." into jb-mr1-lockscreen-dev
c606bf1af953bb8a682589a29809e714c648c291 28-Oct-2012 Daniel Sandler <dsandler@android.com> Improved handle touch interaction.

- the handle size is now entirely independent of asset size
- the handle doesn't have to have a handle graphic
- the handle top/bottom sizing can each change based on
whether the challenge is visible
- now, the handle becomes very small when the challenge is
visible, and does not intrude into the challenge rect
itself (so you really need to drag downward through the
top edge of the challenge to activate the handle and close
the challenge)
- when the challenge is closed, the handle may be clicked to
open

Bug: 7428215
Change-Id: I4ca7b4d5d475337295a6a7492a831abbba288ac5
Proto-Id: Ibc8997ece27ca1e0fa4deb651bb11860f95d7b23
eyguard/SlidingChallengeLayout.java
47c6cfaa3799951f999a4d2000cb628080708551 28-Oct-2012 Adam Cohen <adamcohen@google.com> Ensuring layers are enabled on screen on and that pages are correctly transformed

Change-Id: Ifeeb9baeb3cde58d034d9988565bc2ce07c3c23a
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetPager.java
f9048cd09b27ab25d9f42c95a79b341c102728c8 28-Oct-2012 Adam Cohen <adamcohen@google.com> Polish to 3d carousel and standard pager

-> updated assets
-> Always showing outlines as per new mock
-> Enabling layers on content during fades (still need to sort out layers for frames)
-> Added carousel overscroll as per discussion with danship
-> Fading side pages in carousel
-> other small polish

Change-Id: If88686768c621a65b175a74c07cb55a69321fd97
eyguard/KeyguardWidgetCarousel.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
5f050e5c2c1616c7f0795c4f13e42a5d150b8015 27-Oct-2012 John Spurlock <jspurlock@google.com> Use settings to persist sticky widget.

Addressing some comments:
- Sticky widget is now saved in a user-scoped setting.
- Removed multi-user widget from computation (obsolete).
- Removed status widget from computation (just use right-most).
- Removed duplicate isMusicPlaying logic.

(frameworks/base)

Change-Id: I8ef8f826677d78ac24da52adf2d99d47c8d965ac
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
0a27c4865e5f3afe891680f687ac75c6a659fb84 27-Oct-2012 Adam Powell <adamp@google.com> Fix measurement bug in keyguard/MultiPaneChallengeLayout

Change-Id: Ifbcd32281f06e6c53e573998e7085d7d0542acac
eyguard/MultiPaneChallengeLayout.java
b0ed8bdb41cff76f31ce47f1ae7ee51ea68bba47 27-Oct-2012 Adam Powell <adamp@google.com> Merge "Keyguard - prevent slider intercept when we don't want it" into jb-mr1-lockscreen-dev
113ca64a2275ad05c1429edcf56c688d823e308a 27-Oct-2012 Winson Chung <winsonc@google.com> Merge "Making the PagedView full screen on tablets." into jb-mr1-lockscreen-dev
995270f01175234d0615a0e1900576f142a3b4ad 27-Oct-2012 Adam Powell <adamp@google.com> Keyguard - prevent slider intercept when we don't want it

Integrate from proto app

When calling code deliberately hides the slider, block drags of the
slider that may begin shortly after. This prevents the case where edge
dragging a widget can accidentally catch the slider instead.

Change-Id: I7e8e1ad4afbea0abeeb08161ddeb938c858fc4a5
eyguard/SlidingChallengeLayout.java
9ec871def38079691085a16862c234b98de99362 25-Oct-2012 Adam Cohen <adamcohen@google.com> 3D carousel initial stab -- paging outlines / alpha effects pending design

Change-Id: I2d9851472472a0affa9b46b2508fc7a1cb8c9779
eyguard/KeyguardWidgetCarousel.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
efc49255ad2e5cd513269f1d67dd7fa3327ec488 27-Oct-2012 Winson Chung <winsonc@google.com> Making the PagedView full screen on tablets.

- Fixing issue where last page would not be reorderable on devices that have no camera.

Change-Id: If810d9fc95d180a54f8cec793099ccaa59b2ff15
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
942a60d8a40a55b94ce443a71e7dc632911f0e84 27-Oct-2012 Adam Powell <adamp@google.com> Merge "Fix lockscreen slider bugs" into jb-mr1-lockscreen-dev
67625e29208a97afeb8dca22a73c52ad7b4619ba 27-Oct-2012 Adam Powell <adamp@google.com> Fix lockscreen slider bugs

Integrate from proto app

* Positioning at the lower end

* Transparency animations

* Show security frame when dragging until it fully settles

Change-Id: Ic5e5b0bbaa50a123c3492b63c15df3ffba37832d
eyguard/SlidingChallengeLayout.java
358148e386a20801430aaf6f3f7ca02807cd71c3 26-Oct-2012 John Spurlock <jspurlock@google.com> Implement "sticky" widget logic.

(frameworks/base)
Used after screen-off, and after launching camera.

Bug: 7418847
Change-Id: I5179e6af13be4494fde77fde2cdb5610ab888dac
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetPager.java
61426f3d83f329ae76a226ea614541db9eb16bcb 26-Oct-2012 Daniel Sandler <dsandler@android.com> Merge "Remove the handle headroom if the challenge is open." into jb-mr1-lockscreen-dev
b42b842ee873160acf317fc3ff6339243514b008 26-Oct-2012 Daniel Sandler <dsandler@android.com> Remove the handle headroom if the challenge is open.

This change also moves to an absolute-distance model of
tracking the panel instead of a delta model; this allows us
to make the decision about the handle size in only one place
(when first detecting the gesture) instead of requiring us
to mix it into the arithmetic everywhere.

Also fixes the drag-too-slowly-and-the-panel-doesn't-move
problem.

Change-Id: I9bdbadd968134ad5ad67eaef9539536fb5cfe1a1
Proto-Id: I0c2f484da89f063995384c263aa9f5f03339ed7c
eyguard/SlidingChallengeLayout.java
c9a7d9899908a3f5960cfe6123d51cfbfcf2b0ae 26-Oct-2012 Daniel Sandler <dsandler@android.com> Merge "Expand top of touchable area of challenge drag handle." into jb-mr1-lockscreen-dev
1bfcc82184824c8dc648a0948303f4b3611ac087 26-Oct-2012 Daniel Sandler <dsandler@android.com> Expand top of touchable area of challenge drag handle.

Change-Id: I8d471041205cd929e899903daae61d5ac948597c
Proto-Id: I5f44a135451c1cd86bbe4fb8ebd1af7609715ce3
eyguard/SlidingChallengeLayout.java
f0fd172a7d4a71da413e5bb6aad9ef611ce2a837 26-Oct-2012 Chris Wren <cwren@android.com> lock out clicks while switching.

Bug: 7416992
Change-Id: Ic0fcf809c4d9bb3515dd1168d427f8b22d5f76b6
Proto-Id: I0ea871fb012feb2e17249e37a9253861f2ef5011
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
47cde77bc7ac5c3a1e486691596a7534ad855ff2 26-Oct-2012 John Spurlock <jspurlock@google.com> Fix camera bugs found overnight.

- Fix crash in CameraWidgetFrame after rotating to landscape
- Fix pages drift to the left bug
- Address Jim's comments on c/245706
- Disable camera widget if landscape

Bug: 7419070
Bug: 7417798
Bug: 7418781
Change-Id: I5c730c7c1baf3c1872367b6392e6786578765298
eyguard/CameraWidgetFrame.java
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
6f35209e728a7a9a56afbbdefd3d7bfa1e05ea73 26-Oct-2012 Adam Powell <adamp@google.com> Integrate assets from UX; drag/bouncer animation behavior in slider

Integrated changes from prototype app

Change-Id: I5f017431531b6d12aca89a674d865402c60c2104
eyguard/SlidingChallengeLayout.java
9b1db682c32d103974b0f1193b50e77e254d5589 26-Oct-2012 Jim Miller <jaggies@google.com> Fix issue where security view sometimes doesn't show.

Since the code is now very careful about loading layouts, we
sometimes get into a situation where the security view isn't shown.

This CL ensures the security method is shown at least once
when the view is inflated.

Change-Id: If80a46adb868d92194610eccaf9d8d6c2a2c5b3d
eyguard/KeyguardHostView.java
eyguard/KeyguardViewMediator.java
a71984f3da47c6e6e3164c170735362a3222d3ad 25-Oct-2012 Jim Miller <jaggies@google.com> Cleanup keyguard signals

- remove redundant signals that were causing keyguard to be rebuilt unnecessarily.
- add a check to ensure we only handle configuration changes if the view is actually showing
- only reconstruct view if screen is turning off or if the configuration changes.

Change-Id: Ia9c7830e370feed6af36cc139d4cd3c5ca0be4fd
eyguard/FaceUnlock.java
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
1254f2f42f7173ef51d0034975ab5cb7d44f8209 25-Oct-2012 Michael Jurka <mikejurka@google.com> Persist reordering/deleting widgets on keyguard

Also, clean up warnings from unused imports

Change-Id: Id0ef12a584ffdaa8a4fb64ffe93d0dda0af398ec
eyguard/EmergencyButton.java
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardCircleFramedDrawable.java
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardPINView.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardStatusView.java
eyguard/KeyguardStatusViewManager.java
eyguard/KeyguardTransportControlView.java
eyguard/KeyguardViewMediator.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/NumPadKey.java
eyguard/PagedView.java
f90716c9cc9f5ebed9d6bbdae40295490d94890f 25-Oct-2012 Jim Miller <jaggies@google.com> Merge "Route signals from SlidingChalleng to SecurityView" into jb-mr1-lockscreen-dev
7de482babc55f1034d37552a0b254427694b3584 25-Oct-2012 John Spurlock <jspurlock@google.com> am 5c87f533: Merge "Revert part of fix for b/7377776 to fix b/7411356." into jb-mr1-dev

* commit '5c87f5334a7414f32e32bcfb0d6c56b07048d058':
Revert part of fix for b/7377776 to fix b/7411356.
bbba68a14ab578ab00400d4cf2ed5d1dcf60dbdf 25-Oct-2012 Jim Miller <jaggies@google.com> Route signals from SlidingChalleng to SecurityView

This maps activity on the SlidingChallenge to the security
challenge view. Currently it calls onPause() on the SecurityView
if the view is on the move or is hidden.

Change-Id: Ide5f2200e45d8996fa91af06ac2059c3d125ea6f
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardViewStateManager.java
0b1b552268bc6641cc5d01fb80c12258da9c6985 25-Oct-2012 Adam Powell <adamp@google.com> Keyguard bouncer notifications; focus moving and the bouncer; slops

Integrate changes from prototype app

* Add callbacks for bouncer state changes

* Dismiss the bouncer if focus leaves the challenge area

* Increase edge swipe region, treat this as a slop for
SlidingChallengeLayout's drag handle. (This allows edge swipes in
the drag handle area to still page widgets instead.)

Change-Id: I732de1a8d999a34c7cc8aa8ed99e24b597f3444c
eyguard/ChallengeLayout.java
eyguard/MultiPaneChallengeLayout.java
eyguard/PagedView.java
eyguard/SlidingChallengeLayout.java
3e98b9afe6eab2c093a86ae77b5f530c6b47de91 25-Oct-2012 John Spurlock <jspurlock@google.com> Revert part of fix for b/7377776 to fix b/7411356.

This means the visual glitch is possible again, but reduced since
the layout transitions are disabled.

It's more important to bring back nav buttons for incoming calls
(for the secure, screen off case).

Bug: 7411356
Change-Id: I83005a77930ec7f70a613b3396f85ab1a5fdd96c
eyguard/KeyguardViewMediator.java
dcc9681b0d4f52e1f441ef2abdda3eb949cc0c4b 25-Oct-2012 John Spurlock <jspurlock@google.com> Manual frameworks/base merge from lockhotness (camera).

Change-Id: I8649ef77b706120a2297ddccd9bbb4d7ddf026a9
Proto-Id: Ia60ed9ee263b6053b9ca00d71fbd3ffc64a96278
eyguard/CameraWidgetFrame.java
eyguard/KeyguardActivityLauncher.java
eyguard/KeyguardHostView.java
eyguard/KeyguardSelectorView.java
eyguard/SecureCamera.java
7bc8af3abcc09e8093e5af7ea9cd6c4de1cd0b87 25-Oct-2012 Daniel Sandler <dsandler@android.com> Haptics for PIN enter key

Change-Id: Ie9d026847a6231b89cba55baf74e795f30ac857d
eyguard/KeyguardPINView.java
acb60fb57783b517e52fa60b1fa5f977141180c1 25-Oct-2012 Daniel Sandler <dsandler@android.com> Haptics for PIN keys.

Change-Id: I65b12a614f344faef140334658ec1e627094e05e
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardPINView.java
eyguard/NumPadKey.java
d5692742c1ff056e9fe55a495632229c86ed5384 24-Oct-2012 Daniel Sandler <dsandler@android.com> PIN pad cosmetics.

Also pull the Klondike telephone exchange letter strings out
into arrays.xml so we can override it for specific locales.

Change-Id: Idf79ff8bfd53e5a8277271cc85ac7a1784ae3b64
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardPINView.java
eyguard/NumPadKey.java
2c1ce0564fbd329e9e9ccfca100c69cfc1fd2645 25-Oct-2012 Daniel Sandler <dsandler@android.com> Cleaning up password input.

Starting to try to show the IME at the right times.

Change-Id: Idc681304c309022666a03c26885a5c94ab4ec2a2
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardPasswordView.java
df99b1d5d34c69f1a2e4490dadae5e69a0dd5a72 25-Oct-2012 Jim Miller <jaggies@google.com> Merge "Fix new password view in keyguard" into jb-mr1-lockscreen-dev
86f9637d7bfdc33ab826cc3bbd740f4bf01be280 25-Oct-2012 Jim Miller <jaggies@google.com> Fix new password view in keyguard

The IME wasn't coming up in password mode because the base class always
returned 'false' for needsInput().

Change-Id: Ia5bf508b3e08fa6980e83103322711857af74680
eyguard/KeyguardPasswordView.java
147dfc8642ecbdce527d18bdbeece7b7d05dc883 25-Oct-2012 Michael Jurka <mikejurka@google.com> Merge "Adding ability to add multiple widgets to keyguard" into jb-mr1-lockscreen-dev
aa2859ae61098509495b7938e32a6d59d37561be 24-Oct-2012 Michael Jurka <mikejurka@google.com> Adding ability to add multiple widgets to keyguard

Bug: 7381803
eyguard/KeyguardHostView.java
eee209313d564be37b8fc068f785b3844cd6597e 25-Oct-2012 Adam Powell <adamp@google.com> Beginnings of bouncer support; add scrims and state tracking

Integrating from prototype app

Change-Id: Ib142cf371c5997f547266d8af7e25129fb4e1343
eyguard/ChallengeLayout.java
eyguard/MultiPaneChallengeLayout.java
eyguard/SlidingChallengeLayout.java
c0657fb36ce5ede652e8af084e484d07abfb449d 24-Oct-2012 Adam Powell <adamp@google.com> Integrate changes from lockscreen proto app

Fix padding/layout issues in MultiPaneChallengeLayout

Change-Id: I610b4c0cc321a690fa29d071d6a960c05ffbe3a7
eyguard/MultiPaneChallengeLayout.java
f0cec427a4f73bda130eda98c2a7f70e44ff587b 24-Oct-2012 Chris Wren <cwren@android.com> Merge "remove debug logs." into jb-mr1-lockscreen-dev
dc0d12278a99625295a6e117c649e4c3e8a907c9 24-Oct-2012 Chris Wren <cwren@android.com> remove debug logs.

Change-Id: I8d0066bdce1c93c7a3da0fa36d865c674e5dcd40
Proto-Id: I7ac6b8c8a664dbd7abda089fcd9edb8d7ccc3208
eyguard/KeyguardMultiUserSelectorView.java
a9f166695b92e91ea6bb13a41f3aa1fb3f6ee77c 24-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Fading side pages as per mock" into jb-mr1-lockscreen-dev
6fb841fa219eaae3e87f2fdc05e105d7a1813c42 24-Oct-2012 Adam Cohen <adamcohen@google.com> Fading side pages as per mock

-> Also, adding side pages hints when keyguard is inflated

Change-Id: I33f073ed97510a5982cddc4ee95f1ee3ed3c9397
eyguard/KeyguardAccountView.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardPINView.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityView.java
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
28c5ee9ea9b1dd6253a4ba782a5711263524bd41 24-Oct-2012 Chris Wren <cwren@android.com> catch exceptional cases on factory-fresh devices.

Change-Id: I2019b4f31415efba72b5a3b5d659e41595e506f6
Proto-Id: I8a57f9f6f5b7339df3e243ecc51fb311f6ac8981
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
86b6357e5eb91950eac7de7ffe29e5a4ad32903b 24-Oct-2012 John Spurlock <jspurlock@google.com> Manual f/b merge of lockhotness camera integration.

Change-Id: I5c7c3c49e13656e9ba4a3761be7d503642d5b76f
eyguard/CameraWidgetFrame.java
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/SlidingChallengeLayout.java
19a5267003e7dc70100a4bd4f1f449523b2ff38b 24-Oct-2012 Jim Miller <jaggies@google.com> Merge latest prototype changes into keyguard

Change-Id: Ibec6e9a7667ec730a25a58226c3203332af64b24
eyguard/ChallengeLayout.java
eyguard/CheckLongPressHelper.java
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardPINView.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/MultiPaneChallengeLayout.java
eyguard/NumPadKey.java
eyguard/PagedView.java
eyguard/SlidingChallengeLayout.java
e1655c980d28b953597727d2c7832b442ca926cc 24-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "When A11y is on, use a longer interval between lockout announcements." into jb-mr1-dev
c2798a916e470a7ee9ecc5ffcf1dc1d7a46f9410 24-Oct-2012 alanv <alanv@google.com> When A11y is on, use a longer interval between lockout announcements.

Bug: 7384471
Change-Id: I72ac1fe7646588c9c7185cb0186f1e990b3a2f72
eyguard/KeyguardPasswordView.java
7c420ec69843c8efc95b4f36aa77f17d970d4eaf 24-Oct-2012 Danielle Millett <dmillett@google.com> Merge "Handling popups correctly for face unlock" into jb-mr1-lockscreen-dev
f6d0fc190c4b257ee4f2f1ae8a59519d3a21ce6d 23-Oct-2012 Danielle Millett <dmillett@google.com> Handling popups correctly for face unlock

Added a keyguardVisibilityChanged callback to indicate when the
keyguard is covered by something (alarm, phone, etc). Face unlock
doesn't start if it's not visible and it restarts appropriately when
it gains visibility again. This mostly fixes b/7362774 and b/7376783,
but there's some jank when face unlock goes away (if it was interrupted
while running).

Change-Id: I7bdf8ef6af687acaa7152d8e61bfdcc1979259ff
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardUpdateMonitorCallback.java
eyguard/KeyguardViewMediator.java
69bdee7c873c4a2295651efda2d0e79c515acc17 23-Oct-2012 Daniel Sandler <dsandler@android.com> Integrate new PIN pad.

Change-Id: I08d6551dfde501c5526eb6fd641ae08475c1365b
eyguard/KeyguardAbsKeyInputView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardPINView.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardSecurityModel.java
eyguard/NumPadKey.java
3867ddabbe645749ba3d7db9fc0c0ab9ca84690b 23-Oct-2012 Chris Wren <cwren@android.com> Merge "merge new multiuser avatars in from proto app" into jb-mr1-lockscreen-dev
692bb13352b9ad5166adc0dd55ae693d9181f611 23-Oct-2012 Chris Wren <cwren@android.com> merge new multiuser avatars in from proto app

Change-Id: I6a7f63738279be1c036061b4cea461e94fb51658
eyguard/KeyguardCircleFramedDrawable.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardSubdivisionLayout.java
31821c5b6170d5f560c7f74b262278399c9ff3e9 23-Oct-2012 John Spurlock <jspurlock@google.com> am 780a13b0: Merge "Fix nav bar glitch when quickly turning screen off then on." into jb-mr1-dev

* commit '780a13b0f43fa5590bb22dc399d9faaf316d66f5':
Fix nav bar glitch when quickly turning screen off then on.
022554e3da6e496524387a5d3ecc67ef9749b587 23-Oct-2012 Jim Miller <jaggies@google.com> Merge latest prototype changes into keyguard

- multi-user avatar stuff.
- new SlidingChallengeLayout changes.

Change-Id: I45bec7313b71dbca16544e7525281bf6c0e44a25
eyguard/KeyguardLinearLayout.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/SlidingChallengeLayout.java
c28261d4fabf186cd5af5a563e6bab9023ee3758 23-Oct-2012 Jim Miller <jaggies@google.com> Merge "Wire up "add widget" in keyguard" into jb-mr1-lockscreen-dev
086977094d96ab9352432e0941a05b09cefc92ac 23-Oct-2012 Jim Miller <jaggies@google.com> Fix multiple onScreenTurnedOn callbacks in KeyguardHostView.

The show() method was calling onScreenTurnedOn() which attempted
to update the entire state.

Instead, show() should just ensure the current security screen
is showing.

This was causing some mischief in Face Unlock because onResume() was
being called multiple times.

Change-Id: I39682a213b1cc4dcf8133907b643028e844d0f47
eyguard/KeyguardHostView.java
eyguard/KeyguardViewMediator.java
1bbd49d72eee001137b6d6e6ab3f353fe2c0433c 19-Oct-2012 John Spurlock <jspurlock@google.com> Fix nav bar glitch when quickly turning screen off then on.

Keyguard now disables all navbar buttons when turning screen off
instead of only recents.

Navbar is told about screen off/on and disables the layout transition
animation on screen off - if the user quickly turns the screen back
on they do not see the end of the fade out animation.

Bug:7377776
Change-Id: I96a050d58c6c9ce8537f50408655006fadbfcd4f
eyguard/KeyguardViewMediator.java
aad8cd4daa6cd1d354e0c1de03ce5a65a44a04db 22-Oct-2012 Amith Yamasani <yamasani@google.com> am 22788981: Merge "System server should always send broadcasts to a specific or all users" into jb-mr1-dev

* commit '2278898126c1cea4bd345bb96313d381b4ad3993':
System server should always send broadcasts to a specific or all users
cd75706117432e33d11639e675bcff50479a6bb9 20-Oct-2012 Amith Yamasani <yamasani@google.com> System server should always send broadcasts to a specific or all users

Bug: 7368245

Log a warning if the system process calls unqualified sendBroadcast()
and other calls.

As a result of the logging above, found a few more method calls such as
bindService() that would benefit from being more explicit to avoid
future confusion and reduce the log warnings.

Change-Id: I17f15c8be9adf7becd456d6abbab606f19befdbf
eyguard/ClockView.java
a582c5081b2775eb0ab59ff9c8332f3f8ccf5361 22-Oct-2012 Dianne Hackborn <hackbod@google.com> am f584f111: Merge "Fix issue #7353900: Brief flash of home screen while dream starts on lock screen." into jb-mr1-dev

* commit 'f584f1112772fdffce13cba38995b9e28adca191':
Fix issue #7353900: Brief flash of home screen while dream starts on lock screen.
b5f3b707a7010e8d867da9342ea87cf0a1679692 22-Oct-2012 Jim Miller <jaggies@google.com> Wire up "add widget" in keyguard

Change-Id: If10e91b4ed1289259f04e0dca91db4ce8645a0f7
eyguard/KeyguardHostView.java
eyguard/KeyguardViewStateManager.java
eyguard/PagedView.java
d6523da1ad7bae805a3dbea8d7b398d86cd3c181 22-Oct-2012 Jim Miller <jaggies@google.com> Merge latest prototype changes into the framework

Specifically, this adds the following functionality:
- portrait layout on phones
- new KeyguardViewStateManager
- new SlidingChallengeLayout
- some event wiring.

Change-Id: Ie4491416f591b6d4002d33e9803a764a8ae730f6
eyguard/KeyguardHostView.java
eyguard/KeyguardViewBase.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
eyguard/KeyguardViewStateManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/PagedView.java
eyguard/SlidingChallengeLayout.java
838906b165e4d3cb2c512b2db344aa50cb5d4751 20-Oct-2012 Jim Miller <jaggies@google.com> Get basic keyguard working in new branch

This merges the changes from the proto app into the framework.
Basic functionality tested on phone in portrait:

- Slide
- Pattern
- PIN
- Password (wonky)
- SIM PIN

Change-Id: I21b2c30cf05dc01ffb20948f41a044e7af1db25f
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardSecurityContainer.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardStatusViewManager.java
eyguard/KeyguardViewBase.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/KeyguardWidgetRegion.java
eyguard/PagedView.java
eyguard/SecureCamera.java
7ad4438414de7b2d4e44798877df1700764c4472 19-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7353900: Brief flash of home screen while dream starts on lock screen.

Not very clean, this has a special hack in the window manager to
redo layout when a dream window is shown. After MR1 we should clean
this up (and the various other special dream hacks).

Change-Id: Ic1a5a2b10a0a07b4a5dccdbf0736b614ec06dd4a
honeWindowManager.java
8d9a1f66d9d3dbbd45a56d441a746ec11dba7645 19-Oct-2012 Jeff Sharkey <jsharkey@android.com> More migration to Global settings.

Bug: 7375796
Change-Id: I3954ce141ad30073896090a28eee743ba15fd736
honeWindowManager.java
586503d51fbcc622af62b43b25579ce2f299d68b 18-Oct-2012 Jeff Brown <jeffbrown@google.com> Merge "Add special mirroring modes for demonstration purposes." into jb-mr1-dev
c6ccb29b9a7d3d8aac37f4cd3bd5b5b134724996 18-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Call requestFocus and ensure that screenOn is set." into jb-mr1-dev
27f1d674bf9fb53af7facdcb746912e036d5bf75 18-Oct-2012 Jeff Brown <jeffbrown@google.com> Add special mirroring modes for demonstration purposes.

Assume rotation of HDMI display is portait.
$ adb shell setprop persist.demo.hdmirotation portrait

Don't lock rotation while HDMI is plugged in.
$ adb shell setprop persist.demo.hdmirotationlock false

Hide secondary displays from apps but continue mirroring to them.
$ adb shell setprop persist.demo.singledisplay true

Bug: 7326281
Change-Id: I8f9a3b0bc19821a3a01043b0f516806dac82ce53
honeWindowManager.java
904732c4573de8aa3fa79c3d741380db2457340f 18-Oct-2012 Craig Mautner <cmautner@google.com> Call requestFocus and ensure that screenOn is set.

When maybeCreateKeyguardLocked was called from methods other than
show(), the requestFocus() call on the new KeyguardHostView was
never made.

At boot time the screen on notification was not propagated to
KeyguardViewManager because the showListener callback was null.
This passes on the notification but does not make the callback
if it is null.

Bug: 7299119 fixed.
Change-Id: Iaf058954473dc63fe4864ab1f435db4463b1110e
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
e9a33c6098f51c687665adbed799860df2569ad0 17-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7363252 Popup and Dialog UI widgets should be RTL aware" into jb-mr1-dev
dec9e1640a7ae0b20f7fe79fa9c8cecacc4e07a9 17-Oct-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #7343719: GlobalActions dialog (power off / airplane mode / sound off)" into jb-mr1-dev
cf12897cf553bfd07734dad3de071915fd21d4eb 17-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7363252 Popup and Dialog UI widgets should be RTL aware

- set the Configuration's layout direction in ViewRootImpl instead of PhoneWindow$DecorView
- then remove unecessary API on ListPopupWindow for passing the layout direction

Change-Id: Ia2c6e4aa8cb82aed9b088bc3b8004ea0a1ded1f3
honeWindow.java
bef0f617a09e8c3b1567217bba65006c7364baed 17-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7343719: GlobalActions dialog (power off / airplane mode / sound off)

does not show if you press on power button when the "low battery" dialog is showing up

Always put the global actions dialog in the keyguard dialog layer (above
the keyguard). I don't see any reason to have it change layers based
on whether the keyguard is showing.

Change-Id: I1bd3600af9f115d662d2a4783f835e234db1b7f0
lobalActions.java
e4728b15cba1cebb8d9f60d146d95ff58a945ad8 17-Oct-2012 Steven Ross <stross@google.com> Merge "Stopping Face Unlock immediately on detaching from window fixes 7338808" into jb-mr1-dev
48994ce9451cccb9ee6a6a27c18dbaaddffca452 17-Oct-2012 Jim Miller <jaggies@google.com> Merge "Fix missing layout parameters in keyguard." into jb-mr1-dev
bdffd5c3a18e67443ebbd16d4f0349d0728285b1 16-Oct-2012 Jim Miller <jaggies@google.com> Fix missing layout parameters in keyguard.

This addresses crashes caused by an upcoming change to crash
when missing layout_width and layout_height attributes are missing.

Change-Id: I71044b4623d04cab41f4aee6a7a5c01b67b0d2a5
eyguard/KeyguardHostView.java
9a9f4ce1e2522f020b72a08161c1c3d244dd5c68 16-Oct-2012 Steven Ross <stross@google.com> Stopping Face Unlock immediately on detaching from window fixes 7338808

The refactoring broke my fix for 7222226. We need to stop Face Unlock without
any messaging delay when the window is detached to avoid it starting with an
invalid window, or stopping right after it restarts.

Change-Id: Iea23989ec2ab3ad7d1a57e2d1fb85163a6396024
eyguard/KeyguardFaceUnlockView.java
f6dbd61b108e586c1db3e61cbfc07d4d750027c0 16-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Always layout Keyguard on config change." into jb-mr1-dev
339875283263dbbe3587388f94f603439e59af5f 16-Oct-2012 Jim Miller <jaggies@google.com> Merge "Fix inoperative "Forgot pattern" button when face unlock enabled" into jb-mr1-dev
63f9b81795559443e0376985f8aaaa97a359ef94 16-Oct-2012 Jim Miller <jaggies@google.com> Fix inoperative "Forgot pattern" button when face unlock enabled

This fixes a bug where the forgot pattern button wasn't working because
the logic for face unlock was interfering with determining the proper
backup to use.

The fix:
- adds a new state to SecurityMode so we have an initial condition
we can check for.
- passes the current mode to SecurityModel.getBackupSecurityMode() so
it relies on the current state.
- prevents face unlock from invoking callbacks that change state
once we're no longer showing face unlock.

Fixes bug 7346989

Change-Id: I4e64515efbbad712f11c820e690b458f352bf46c
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityModel.java
25160a6f35b2cf487be2b8cea8b87b750f0c1c97 16-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Announce changes to the keyguard security message for accessibility." into jb-mr1-dev
f6d1afd1419d82c81b38a612fbf47653e28bb020 16-Oct-2012 alanv <alanv@google.com> Announce changes to the keyguard security message for accessibility.

Bug: 7352702
Change-Id: I790d7be08b222ae3cb76459064802f587c3e6f30
eyguard/KeyguardStatusViewManager.java
ac8a59d3d3a6ddb32a293e4dfc74fb55a0ea6e82 15-Oct-2012 Adam Cohen <adamcohen@google.com> Fix issue where pin field doesn't have focus (issue 7348937)

Change-Id: Ia926765271251248701416c001e2e73131cdf4ad
eyguard/KeyguardPasswordView.java
a3f4bf531f64c49b6a792368b3e5628fe7cc0e5c 11-Oct-2012 Craig Mautner <cmautner@google.com> Always layout Keyguard on config change.

Add Keyguard to list of windows that can't be hidden by keyguard.

Don't assign Configuration to window until layout has had a chance
to compare it to window's existing Configuration.

Bug: 7094175
Change-Id: I99a9fd4af9a31871fe130db7b6bdf49bd51a6092
honeWindowManager.java
87d57952af662a94637c1519b2189e22456af2db 15-Oct-2012 Jim Miller <jaggies@google.com> Minor layout tweaks and bug fix in keyguard

- fix wrong string in SIM PUK unlock
- use buttonBar style for "emergency" and "forgot pattern" buttons

Bug 7341237

Change-Id: Id5593b54c345e3f869b6febc8554da01e7cb319e
eyguard/KeyguardSimPukView.java
6f131416ba4ff48067dc4e627971391a6b6778c4 15-Oct-2012 Adam Cohen <adamcohen@google.com> Fixing issues with pattern recovery / account view (issue 7341237):

-> Recovery button should only appear if account present
-> Recovery button should appear at bottom
-> Account view should have emergency call button
-> Account view should not show the clock / status area

Change-Id: Id12e8219f3fc6ecb14e82c5ec6ea4b3e28ed772d
eyguard/KeyguardHostView.java
eyguard/KeyguardPatternView.java
6dbf8610e94c1b41e0124577101d6369fd204ad3 15-Oct-2012 Adam Cohen <adamcohen@google.com> Fix for NPE with pattern recovery (issue 7341237)

-> Dealt with this NPE, and guarded against all related NPEs (which probably
can't happen, but given the stakes of a system crash, this is safer).

Change-Id: I3c207839ae0279033b6f3dad791d710b19415439
eyguard/KeyguardAccountView.java
eyguard/KeyguardNavigationManager.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
68c2489457631f733f542e14058c6d1274c203de 14-Oct-2012 Jim Miller <jaggies@google.com> Disable security view transitions in keyguard

Now that we have a single stage unlock, there's no need for the transition. This
was causing unnecessary flickering to happen in views where we add the security view
just after inflation, which triggers the animation.

Fixes bug 7343632

Change-Id: I5bb8e37df66e4d96f00719e318424d46bf0e2e5a
eyguard/KeyguardHostView.java
3b9f9bceeaff0fe23f68f24d604158f614053dcf 14-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Fix inability to start pattern outside view bounds (issue 7344325)" into jb-mr1-dev
258d9fc6c6cb803aa2721a9e2f884088b476cafe 14-Oct-2012 Adam Cohen <adamcohen@google.com> Fix inability to start pattern outside view bounds (issue 7344325)

-> At the same time, disabling the abilit to page the widget region
and see the overscroll effect

Change-Id: Icd9d9e253404bfbfc411d8958f7c634ca4e37279
eyguard/KeyguardWidgetRegion.java
eyguard/PagedView.java
c4c562223b0246d2cbb973d0b0ab63f860798475 14-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Fix blank clock (issue 7344512)" into jb-mr1-dev
33387b1bee6813ea2f5cf82c7244dc90453a7c2c 14-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Fix edge case with status message (issue 7343848)" into jb-mr1-dev
7e39410f95ff65fbe425caa81d7440b44b3d2ea7 14-Oct-2012 Adam Cohen <adamcohen@google.com> Fix blank clock (issue 7344512)

Change-Id: Iad23f049fcc31ad8f08c99e7c3088e1523de1d45
eyguard/PagedView.java
61ccc162a08adf29dde65d3099ef1278996a2440 14-Oct-2012 Adam Cohen <adamcohen@google.com> Fix edge case with status message (issue 7343848)

-> When an unimportant message is set, we need to clear the security string
so that battery / owner info takes precedence at that point.

Change-Id: I3f86b0c2cc8fb2fb0023fce77a7725d8ada96d9e
eyguard/KeyguardStatusViewManager.java
32f9e8ffdd552aef550cd21c97d792b421cb12f9 14-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Only showing important security messages in status area (issue 7341795)" into jb-mr1-dev
0a4f900463024908220d0c9bf4b291a6e1284846 13-Oct-2012 Adam Cohen <adamcohen@google.com> Only showing important security messages in status area (issue 7341795)

Change-Id: Ie2fcd4dd7130b4684223d0442f50e76435f61768
eyguard/KeyguardAccountView.java
eyguard/KeyguardNavigationManager.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardStatusViewManager.java
eyguard/SecurityMessageDisplay.java
85341a76677abcccee757f7982b48b3bec2dcf63 13-Oct-2012 Adam Powell <adamp@google.com> Merge "Fix keyguard dimensions; IME state for password view; layouts" into jb-mr1-dev
70bc9f24ce6098a8c82245ac1ce7721d354ecd3d 13-Oct-2012 Adam Powell <adamp@google.com> Fix keyguard dimensions; IME state for password view; layouts

Fix a bug where ordering during inflation caused us not to set a
keyguard callback early enough to properly modify window flags. Add a
gross hack to work around this for now.

Fix status layouts to scale a bit more gracefully in the presence of
an IME.

Fix password layouts to scale more gracefully in the presence of an
IME

Bug 7343312
Bug 7341795
Bug 7342963
Bug 7343089

Change-Id: Ifb2c06defef11e8f7f9d0e09855632ed491bb31c
eyguard/KeyguardPasswordView.java
eyguard/KeyguardViewManager.java
211a18e2d6548ffc4657b8199661a1764f1008e0 13-Oct-2012 Jim Miller <jaggies@google.com> Merge "Partial fix for blank widget page" into jb-mr1-dev
ea06c3ed6fc5148e59885500fa923a76d0a9eaff 12-Oct-2012 Jim Miller <jaggies@google.com> Disable loading widgets in single-stage keyguard

Change-Id: I8975c3a8e6ba060987fda2d0d4b9fc8dc0686d06
eyguard/KeyguardHostView.java
8ec3ff8dcc68d246fcaafb98050ec9be4f7ec34a 12-Oct-2012 Danielle Millett <dmillett@google.com> Merge "Suppressing Face Unlock during phone call - fix b/7339069" into jb-mr1-dev
fe49af266ea09bb83438c7694051bc950c5c7437 12-Oct-2012 Amith Yamasani <yamasani@google.com> Merge "Temporarily disable multiuser for specific builds" into jb-mr1-dev
d95c659a1d621dfbdd892759419ffc089e248672 12-Oct-2012 Danielle Millett <dmillett@google.com> Suppressing Face Unlock during phone call - fix b/7339069

Now that there isn't a swipe before launching face unlock, face unlock
needs to be suppressed during a phone call. If it isn't it will popup
on top of the phone call screen.

Change-Id: Id6c4165bf4df606ebf396c151f1c80603d5abca3
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardSecurityModel.java
ff54920ed222a2bd6abe618743a5a3e9fe10bd4b 12-Oct-2012 Amith Yamasani <yamasani@google.com> Temporarily disable multiuser for specific builds

Enable switching through power menu for other builds

Change-Id: I0bd8450583e078b0a83fb639337427ab84db5ab8
lobalActions.java
94c7b14b1a4f53157997939505b70ef056ca90d8 12-Oct-2012 Uriel Rodriguez <urodriguez@google.com> Fix bug 7338736. Only starting FUL if the screen is on

Change-Id: Id767cf1394218a7e9dccabcdd9aae5af27b493b1
eyguard/KeyguardFaceUnlockView.java
0ff7f010f8bfd011f0915031b02739ae3bee401e 12-Oct-2012 Jim Miller <jaggies@google.com> Change keyguard to use single-stage unlock.

Change-Id: Ica175a90ef4400941c7c4f05a494003b85d5e88c
eyguard/KeyguardAccountView.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardNavigationManager.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityModel.java
eyguard/KeyguardSecurityView.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardStatusView.java
eyguard/KeyguardStatusViewManager.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
eyguard/PagedView.java
eyguard/SecurityMessageDisplay.java
e955121d6ee64502a938ff3bb3bba8058822d28f 12-Oct-2012 Jim Miller <jaggies@google.com> Partial fix for blank widget page

The code really shouldn't select the page until after the view has been
removed and had a chance to measure itself. The fix is to post a message
to select the correct widget page.

Bug 7334209

Change-Id: I5c2d59b00b3c502893da6000154ce6cdc79ecc1c
eyguard/KeyguardHostView.java
8f89e6f8e66ab445cca16e5426a126d3798f09d9 11-Oct-2012 Danielle Millett <dmillett@google.com> Merge "Face Unlock is shown correctly during a phone call - fix b/7271718" into jb-mr1-dev
e60cdf1291ba01400f7d864ee3501a6762e516bd 11-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Final keyguard tablet layout integration" into jb-mr1-dev
4fc452795f8f1ad1a9c26720037836e9d5d0db2f 11-Oct-2012 Jeff Brown <jeffbrown@google.com> Don't enable input dispatch until the screen is visible.

When we defer making the screen visible (waiting for the lock screen
to be ready) the screen may actually be on but covered by a black
surface. We need to make sure to ignore any touches on the screen
during this time until the black surface is about to be removed.

Bug: 7318962
Change-Id: I50eb7dcf05295cd276925625240996c4b80c5fe2
honeWindowManager.java
71b3cd56a618e66a407081ee46bf3f64bd0e9582 11-Oct-2012 Jim Miller <jaggies@google.com> Final keyguard tablet layout integration

This change integrates the finalized tablet layouts for keyguard. It supports
both 7" and 10" tablets and makes some minor tweaks on phones.

Bug 7094419

Change-Id: I7b683382974de509e8045210544ea959db82e72d
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardTransportControlView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/KeyguardWidgetRegion.java
6b17799b253dad55dc3df7929342d7effa3137ea 11-Oct-2012 Brian Colonna <bcolonna@google.com> Merge "Suppressing FUL after user switch (fix b/7316467)" into jb-mr1-dev
0a75ed0805dd7f97ff058623eb8e4f4b258c44ab 11-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Revert "Remove debugging statements before final ROM."" into jb-mr1-dev
96179213ba1b2b3fc0e7d527ac606eba511bc558 10-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> No sound produced on global actions dialog pops up if no vibrator is present.

1. If the global gesture to enable accessibility is enabled there should
be a haptic or auditory feedback after the global actions dialog pops up
as a result of a long press on power. On devices with no vibrator an
attempt to vibrate was performed evne if not hardware support exists
As a result no sound was played because the it was assumed a haptic
feedback was provided.

bug:7324903

Change-Id: Ic76db232d761a2899c1ca5f59ca55ff15ae575dd
honeWindowManager.java
64ecc0e1015f1c6c1f949bb74ba3f0875178c737 10-Oct-2012 Craig Mautner <cmautner@google.com> Revert "Remove debugging statements before final ROM."

The bug cropped up again. Need these statements to pin it down.

This reverts commit f1f3b49b949af72692f7f85a1c1ef220e8630e30

Change-Id: Ie0548232daff32ee2541249b0950e23bd98c08d2
eyguard/KeyguardViewManager.java
59a960366424a354c7ddbca9a8d6008886ca2a77 10-Oct-2012 John Spurlock <jspurlock@google.com> Merge "Disable Camera + Search until USER_SETUP_COMPLETE." into jb-mr1-dev
0cd641001a152893642b702446bb12c7c0c08e48 10-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Remove debugging statements before final ROM." into jb-mr1-dev
fafdb6f9ca2ded293ed45e9436f04bbc03e75072 10-Oct-2012 John Spurlock <jspurlock@google.com> Disable Camera + Search until USER_SETUP_COMPLETE.

Check the status of Settings.Secure.USER_SETUP_COMPLETE for the current
user when showing the keyguard, disabling the Camera + Search touchpoints
entirely until the user makes it through the setup wizard.

Bug:7308791
Change-Id: Ic8e3596582c2aefc7fe15af1824ed6bfd541dffa
eyguard/KeyguardSelectorView.java
61413b5ed215accd7b4f3eaf80edeab2f330aa49 10-Oct-2012 Danielle Millett <dmillett@google.com> Face Unlock is shown correctly during a phone call - fix b/7271718

If the user was in the middle of a phone call and went to the lock screen
it would show a black box with an X, but Face Unlock wouldn't pop up and
the X was unresponsive.

There were a few issues causing this. The X on the default view wasn't a
button, so it has been changed to a button which will go to the backup
lock. The concept of show() and hide() in FaceUnlock.java are obsolete
because Face Unlock is no longer being overlayed on top of the backup so
there's isn't a black box to show or hide. In addition, since it's not being
overlayed, Face Unlock doesn't cover the backup lock so fading to the backup
looks janky. The flip animation is more appropriate.

Change-Id: I730aa4bbce42b4656ee1bce61352b8aefbd6892d
eyguard/BiometricSensorUnlock.java
eyguard/FaceUnlock.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
74bc9b68510d8e88fb1c806313aad3f35543202b 10-Oct-2012 Jim Miller <jaggies@google.com> Merge "Implement music and user priority scheme in keyguard" into jb-mr1-dev
cc4104fd71225ed092f16b11882d9a10084e34ac 09-Oct-2012 Brian Colonna <bcolonna@google.com> Suppressing FUL after user switch (fix b/7316467)

When switching users, Face Unlock starts in onResume(). However,
there is no signal to indicate when the user actually sees their
unlock screen. This means Face Unlock could be running unseen, timing
out soon after it becomes visible, or letting the user in before they
see the preview.

This fix simply suppresses Face Unlock immediately after switching
users. This is not the ideal behavior, but there is no easy way to
make Face Unlock start only after the unlock screen becomes visible.
When the user changes screens it becomes unsuppressed, so if they go
back to the multi-select widget screen or login, Face Unlock works as
expected and is only suppressed again when the user is switched.

Change-Id: I80a302b0aefc1dee3c2dc77557978cbe062de435
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityModel.java
eyguard/KeyguardUpdateMonitor.java
f1f3b49b949af72692f7f85a1c1ef220e8630e30 09-Oct-2012 Craig Mautner <cmautner@google.com> Remove debugging statements before final ROM.

Change-Id: I18afd1a4c4f8f945308edc9b3af48b8c8adb3b9e
eyguard/KeyguardViewManager.java
e45c4e42d26f13d2e405d1d87a665f5796cd1b6d 09-Oct-2012 Winson Chung <winsonc@google.com> Merge "Increasing timeout for screenshot chord in keyguard. (Bug 6941775)" into jb-mr1-dev
223ce5c7326f6d13a17ccf2624605bb62864a27a 06-Oct-2012 Jim Miller <jaggies@google.com> Implement music and user priority scheme in keyguard

This fixes an issue where the music transport hangs around indefinitely.
It used to get dismissed when music stopped playing and a notification came in.
This was due to a bug in JB.

Now that the bug is fixed, the music control hangs around indefinitely until
the application actually releases it.

Since we have widget support, we can now leave the transport control in place
for as long as it's possible to resume music (state = playing | paused).

If music is playing, we start with the trasport showing
If not, and multi-user is enabled for more than one user, we show the user switcher.
Otherwise, we show the clock.

Bug 7290707

Change-Id: I6f0553a64b7b66bac7b35eca6d8a8793c15b918c
eyguard/KeyguardHostView.java
eyguard/KeyguardTransportControlView.java
eyguard/KeyguardViewManager.java
1cea2f3d87266a1d1df5d5f25fec2f026ca43206 09-Oct-2012 Winson Chung <winsonc@google.com> Increasing timeout for screenshot chord in keyguard. (Bug 6941775)

Change-Id: Ie846ce18878f9597e9f0cd97d78322b59042d43c
honeWindowManager.java
9ded0e1d48c016883858dd2dc574787524c6df84 08-Oct-2012 Brian Colonna <bcolonna@google.com> FUL fallback is no longer account login - fix b/7280196

When Face Unlock failed the maximum number of times (3), it was asking
for account login when it should have been asking for the backup lock
that the user chose when setting up Face Unlock.

This change splits the isBiometricUnlockEnabled() function into two.
One of them strictly checks whether it exists and is selected. The
other one checks whether too many attempts have occurred. When
deciding which backup to choose, the decision is now based only on
whether Face Unlock is enabled. Checking whether too many attempts
had occurred caused the bug because the check indicated it had already
'fallen back' to pattern, and the backup for pattern was being
selected instead of the backup for biometric unlock.

Change-Id: I6b9cf2c5155e8c14933cbfc8f5d58ebc007e53cb
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityModel.java
ec799e883cb309fc12f22cab19e53f1e27886ba5 08-Oct-2012 Dianne Hackborn <hackbod@google.com> Merge "More on #7296510 Transition from lock screen to dreaming is really bad" into jb-mr1-dev
297d789d444626191ff6dc29eb43aeaa1f917969 08-Oct-2012 Dianne Hackborn <hackbod@google.com> More on #7296510 Transition from lock screen to dreaming is really bad

The final iteration of that change was a little too aggresive in
deciding when it turns off the dream's enter animation, so it was
doing this always instead of just when it needed to (when it is
being displayed to hide the lock screen).

This change fixes a dumb typo that was causing the dream to always
turn off its own animation (duh!) and tweaks the logic for deciding
when the dream should be able to cause the lock screen to hide to
better ensure that it is shown before the lock screen gets hidden.

Change-Id: Ie73a5be9ee597713644fb2a0202f36c32b4f1fca
honeWindowManager.java
c7505bc9dddcb0655302c1598e966bf121586ebe 06-Oct-2012 Jeff Brown <jeffbrown@google.com> Increase lock screen timeout when on custom widget page.

Bug: 7290676
Change-Id: I93c48fb24adb24d16ec278a4fdd51a13a85a96c3
eyguard/KeyguardHostView.java
eyguard/KeyguardViewBase.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
eyguard/KeyguardWidgetRegion.java
4c1e3183baf39ab69c0289c1511877a8bb0b0f75 06-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7296314, issue #7296314.

7296314 Crashing dreams are stuck
7296510 Transition from lock screen to dreaming is really bad

The window layer for dreams is now moved down below the keyguard,
so that some of the expected stuff like crash and ANR dialogs can
be seen on top of them. While doing this, I reorganized how we
define the layers so the constants are just in the switch statement,
so it is much less crazy-making trying to read how things go
together.

We now have some special cases for when a dream is being shown
to turn off its animation if the keyguard is currently shown.
Since we know it will be hiding the keyguard we need it to be
shown immediately so that you don't see whatever is behind it.

Cleaned up some handling of when the lock screen is displayed
while a FLAG_SHOW_WHEN_LOCKED window is displayed, so that the
lockscreen doesn't transiently get shown and mess up the fullscreen
or system UI state. This also fixes problems with any normal
activity that is doing this.

Hid the methods on DreamService for setting lights out mode. It
doesn't make sense to have such methods on DreamService, because
you can just as well do that on your own View that is showing the
dream content, and when you can do that you can fully participate
in the (required) interactions about it such as being told when
the mode goes away.

The DreamService method for going fullscreen now uses the window
flag for doing this, which is what you want, because you want this
state to persistent on that window and not get knocked out if
something above the window tickles the system UI state.

Also fixed the problem where dreams that hid the status bar would
have a jerky animation when going away, since they were causing the
activity behind them to be layed out without the lock screen. This
is a kind-of ugly special case in the window manager right now to
just not layout windows that are behind a dream. Good enough for MR1.

Change-Id: Ied2ab86ae068b1db0ff5973882f6d17b515edbcd
honeWindowManager.java
5a3322fec3be02cda158a0a9c66be725e4056746 06-Oct-2012 Jim Miller <jaggies@google.com> Merge "Fix unresponsive back button in keyguard." into jb-mr1-dev
0a34d9edf02954d83c2861a8c6836865f8fa00fb 06-Oct-2012 Jim Miller <jaggies@google.com> Fix unresponsive back button in keyguard.

When keyguard doesn't have focus, events weren't being propagated to
keyguard properly. The fix is to grab the back-button event from the
top-level view and handle it there.

Change-Id: Ied9761919cff30173f43f03e4c2a1732387e618e
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
12ac6077ffdeb1af572594b869fa331a941f41c8 06-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Don't disable multi-user widget when Device Policy is enabled." into jb-mr1-dev
ec7131ffe3e5684eff4c19f577b324d0e5a61d33 06-Oct-2012 Jeff Brown <jeffbrown@google.com> Merge "Lock the screen while dreaming after the appropriate timeout." into jb-mr1-dev
6aaf29589b5fbe24721740e71b272c4a830b69e7 06-Oct-2012 Jeff Brown <jeffbrown@google.com> Lock the screen while dreaming after the appropriate timeout.

Bug: 7267187
Change-Id: I26ce3970a2d7cf446efe3e8c810fbbf3ddfcc47b
honeWindowManager.java
eyguard/KeyguardViewMediator.java
2874a54068af1e7de3c1c046cc0061412daafaf8 06-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Add flag for displaying non-user's Windows to user." into jb-mr1-dev
88400d3a31139c40c4014faf86c243647087ef6c 30-Sep-2012 Craig Mautner <cmautner@google.com> Add flag for displaying non-user's Windows to user.

Created a new flag that indicates that a window should be shown
to all users. For the flag to be valid the owner of the window
must have system permissions.

Also separated system window types into those that show to all
users (e.g. StatusBar, Keyguard, ....) and those that appear only
to the owning users (e.g. Drag, ANR, TOAST, ...). Those that appear
only to their owner can override their default behavior using
the new flag (e.g. LowBattery).

Fixes bug 7211965.

Change-Id: I1fdca25d57b7b523f0c7f8bceb819af656c388d4
honeWindowManager.java
ecentApplicationsDialog.java
eyguard/KeyguardViewManager.java
7221d3ae08cc2be922d26e5d491038512cb6c74d 05-Oct-2012 Jim Miller <jaggies@google.com> Don't disable multi-user widget when Device Policy is enabled.

While fixing this bug, I fixed a few other issues:
- Always call showAppropriateWidgetPage(), even when DPM enabled
- Always disable status view interaction, even when DPM enabled

Fixes bug 7294880

Change-Id: Ia8495555c1940f2b38f42389558f46fde6aab775
eyguard/KeyguardHostView.java
3f1246a29b58cf78ebe674ec0905ad1795027aac 05-Oct-2012 Jeff Brown <jeffbrown@google.com> Merge "Coordinate screen on with the window manager." into jb-mr1-dev
c38c9be031ddad5cf551b55458889f11e01dc5b2 04-Oct-2012 Jeff Brown <jeffbrown@google.com> Coordinate screen on with the window manager.

Bug: 7267457
Change-Id: Ic2c322253639e1f0b2e4e72a7b145025d0240f93
honeWindowManager.java
9cf2c523d82ec14632fd0db920dcc8909c0f44a5 05-Oct-2012 Jim Miller <jaggies@google.com> More userActivity() calls in keyguard

Some security screens aren't currently calling userActivity(). As such,
they allow keyguard to timeout before the user has a chance to enter
the required information.

The fix uses a TextWatcher to look for changes in the input text
and call userActivity() appropriately.

bug 7291431

Change-Id: I6d7889cc01a4d6bdbefefc5af478e812c35b1a49
eyguard/KeyguardPasswordView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardViewManager.java
f0520930441a228632423c486c2f0db3082ea781 05-Oct-2012 Jim Miller <jaggies@google.com> Merge "Allow lower case for owner info in keyguard" into jb-mr1-dev
9fdabab7e973686a612c6bc76d8ff0c6eb0839fa 05-Oct-2012 Jim Miller <jaggies@google.com> Allow lower case for owner info in keyguard

bug 7094419

Change-Id: Ic89d51f1d490b99a9cdd897b71057be37004301a
eyguard/KeyguardStatusViewManager.java
f752202bee88e31ce765483ba2efa6999ae9c9ad 04-Oct-2012 Adam Cohen <adamcohen@google.com> Plumbing to allow keyguard to be shown with user switcher (issue 7175023)

-> Also reduced calls to lockNow, and moved this call in ActivityManagerService

Change-Id: I9ba34ca902f7c0f71fa4ec302104688ca8d11f55
honeWindowManager.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
8a2291952528303d284878468fe260ec41998db3 04-Oct-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6968859: home not exiting an ANR'd dream" into jb-mr1-dev
6ebbe1b97005a40850a1633aa4fc12af0392e986 04-Oct-2012 John Spurlock <jspurlock@google.com> Merge "Invoking the global action dialog stops dreaming." into jb-mr1-dev
27b3819df0ff3bbfb680b5bac54ef7e9b4d3aac1 04-Oct-2012 John Spurlock <jspurlock@google.com> Merge "Reset status bar in keyguard, fix MU status bar bug." into jb-mr1-dev
e4ed092076430e4cc8aa2e179883f721da5b2a61 04-Oct-2012 Philip Milne <pmilne@google.com> Merge "Fix for bug: 7274232. Bold date on lock screen." into jb-mr1-dev
5fe7e2a3043d6a8ca933c77ccf95c791b57b221a 04-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6968859: home not exiting an ANR'd dream

Add a new call to the activity manager for the input dispatcher
to report about any pid having an ANR. This has a new feature
where it can also tell the activity manager that it is above the
system alert layer, so the activity manager can pop its ANR dialog
on top of everything if it needs to. (Normally we don't want
these dialogs appearing on top of the lock screen.)

Also fixed some debugging stuff here and there that was useful
as I was working on this -- windows now very clearly include
their uid, various system dialogs now have titles so you know
what they are in the window manager, etc.

Change-Id: Ib8f5d29a5572542cc506e6d338599ab64088ce4e
lobalActions.java
2d1cf35fc9ad7d297a96cf9972442dd6e9d84016 04-Oct-2012 Philip Milne <pmilne@google.com> Fix for bug: 7274232. Bold date on lock screen.

Change-Id: Ic3fc3e7c0770b2431139c3faf10296d307f1175e
eyguard/KeyguardStatusViewManager.java
4e6922d89e72e79a8ab31ae2cb8a19d85bee91f8 04-Oct-2012 John Spurlock <jspurlock@google.com> Reset status bar in keyguard, fix MU status bar bug.

Two things going on here, status bar disabled flags need to be reset
on user switch. Also make status bar's internal disable-record lookup
multi-user aware.

Bug:7278793
Change-Id: I1d7088d956a065330736da4c09cc1874c528c133
eyguard/KeyguardViewMediator.java
1a1918a5a693e8130d279da2f1147a074eb597e6 04-Oct-2012 alanv <alanv@google.com> Announce changes in keyguard message, e.g. bad unlock pattern.

Bug: 7280849
Change-Id: Ie28f7fa2f249c11d6523955de526d5f72da8d6f3
eyguard/KeyguardNavigationManager.java
04fe8eba97ff8653e17efe745141d82d5a311ed5 04-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Exception when performing the global gestrue to enable accessibility." into jb-mr1-dev
d288337cd4476b6bcfe416558924f5984984509a 04-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Exception when performing the global gestrue to enable accessibility.

1. If there is a non-speaking accessibility service installed and the
global gesture is performed an exception is thrown since an attempt
is made to modify the list with services returned by the accessibility
manager (to remove the non-speaking ones) but this list is immutable.
Now the returned services are put into a mutable list before removing
the non-speaking ones.

bug:7280996

Change-Id: I2852a3e169c1d34d942b50fb439e0961394c92bc
nableAccessibilityController.java
6823de7142e65cd132433b2f003ae3327fde770f 04-Oct-2012 Adam Cohen <adamcohen@google.com> Merge "Modifying user switcher per design (issue 7047393)" into jb-mr1-dev
542a51cc791613319386f53f51ea3676e6c9208e 03-Oct-2012 John Spurlock <jspurlock@google.com> Invoking the global action dialog stops dreaming.

Otherwise global actions appear underneath interactive dreams,
like all system dialogs.

Bug:7257688
Change-Id: Idb7ae8079fa0fc335c598c72f36bdad69248b1b1
lobalActions.java
0a8d32673b3d34153c287916f0ca8d4439f3087e 03-Oct-2012 Adam Cohen <adamcohen@google.com> Modifying user switcher per design (issue 7047393)

-> When user is switched, we immediately show their security, if present
-> If a user taps on the active user, it shows the glow pad unlock hint

Change-Id: I074ed63123a6bc6a38051cb77b5d86bd3f0e93ea
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardViewManager.java
4fc3fb4f50a8d9e4ec5e1af2840142c416a6dd8f 03-Oct-2012 Jim Miller <jaggies@google.com> Merge "Always enable hardware layers in widgets in keyguard while dragging." into jb-mr1-dev
8bd206b54872d7b77110562ed535b6d1c72a1ca9 03-Oct-2012 Craig Mautner <cmautner@google.com> Don't set keyboard insets if keyboard is hidden.

Makes sense.

Bug: 7256294 fixed.
Change-Id: I435fc2e6e5acdf5c4d70b9dad1a30d7fe7c11b31
honeWindowManager.java
eeadda59687478704ee7f7f45fd6868e3ec6eb3f 03-Oct-2012 Jim Miller <jaggies@google.com> Always enable hardware layers in widgets in keyguard while dragging.

This fixes a performance issue on the 7" tablet where disabling hardware
layers in landscape mode resulted in extremely bad drawing performance.

The code now enables hardware layers for all the widgets while the user
is dragging.

Fixes bug 7274971

Change-Id: Iafd18fb317fcd3caad45791fe5a0f111d40a1ed4
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
5d2da713ed8338c0d73779d842e6958f86fbc2ee 03-Oct-2012 Jim Miller <jaggies@google.com> Update keyguard to send userActivity events

Since the new PowerManager changes are in, keyguard needs to handle
keeping the screen awake. This change does this in a few places in
addition to the existing security screens:

- when the widget page changes
- when the user interacts with any widget other than the status widget
- when the user taps on the target in the selector screen

Fixes bug 7273646

Change-Id: If4c76a38e9b886dd359ba96cd2aae03652007b66
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetRegion.java
6bcd73203ada36b446b05fa33f9834ac989c0621 03-Oct-2012 Jim Miller <jaggies@google.com> Switch back to user switcher in keyguard

Change-Id: I9acfb61fd34ad24a299e1f11f792e9e240f2b065
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
61cd69c378cbf4eda996c59e53ea62c127e7c4d4 03-Oct-2012 Adam Cohen <adamcohen@google.com> Keyguard polish

-> Updated user switcher to be closer to spec (issue 7047393)
-> Drawing keyguard overscroll gradient manually in KeyguardWidgetFrame
(eliminates need for assets, eliminates banding)
-> Fixed clipping of overscroll on sw600dp using negative margin

Change-Id: I90ec7f820ca7dccebf7e05628a3185e95d41af08
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardWidgetFrame.java
5cf72e11b6ec38c09e810611ec57bff9ff40ce9d 03-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Accessibility support for the widgets switcher of the lock screen." into jb-mr1-dev
6526fdd7490acc40ce9dbe4ae563821f8867aa0f 03-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility support for the widgets switcher of the lock screen.

bug:7232727
bug:7229598

Change-Id: Ib76b81b170bed0c4ef10f5141bf70f779ffa1ac4
eyguard/KeyguardWidgetPager.java
9c614bfe17e4e335d13ff5885a00fe8c3085fea1 03-Oct-2012 Craig Mautner <cmautner@google.com> Merge "Send masked soft input mode into method." into jb-mr1-dev
970a494ce18ca4b05bdb7c668161dcc3efee0bbe 03-Oct-2012 Jim Miller <jaggies@google.com> Merge "Attempt to fix missing transport control in keyguard" into jb-mr1-dev
4e81bd4bcf60a934d4cd589dab6e2bddb88d7356 02-Oct-2012 Jim Miller <jaggies@google.com> Attempt to fix missing transport control in keyguard

This attempts to fix a bug where the transport control would sometimes be
inoperative. The problem is that we had two transport control layouts
on some devices because they were being declared in the layout file.

The fix is to only inflate the layout once when KeyguardHostView
is created.

Also removes redundant KeyguardStatusView.

Fixes bug 7254833

Change-Id: Iab84e8326ff745ee57be5177ab2561114c8dc6f0
eyguard/KeyguardHostView.java
c6e570dbadc3689bc80c0516492a3209d5f6742b 02-Oct-2012 Jim Miller <jaggies@google.com> Merge "Fix camera disambiguation in secure keyguard" into jb-mr1-dev
6e2bee75cea415621165698fdd9ce857bbb8872e 01-Oct-2012 Jeff Sharkey <jsharkey@android.com> Migrate more System and Secure settings to Global.

Includes telephony, WindowManager, PackageManager, and debugging
settings. Update API to point towards moved values.

Bug: 7231764, 7231252, 7231156
Change-Id: I5828747205708872f19f83a5bc821ed0a801cb79
eyguard_obsolete/KeyguardViewMediator.java
f683b56bd3bf3e89a057a5e62c1657b48fcfb732 02-Oct-2012 Craig Mautner <cmautner@google.com> Send masked soft input mode into method.

Sending the unmasked soft input mode int setAttachedWindowFrames
included the SOFT_INPUT_STATE bits and guaranteed that the adjust
test would always pass.

Bug 7256294

Change-Id: Iaf5368432c7b350fe70687d08c0a08e814b35e94
honeWindowManager.java
7ffa8c08f32bd15bf0725d0a47087bf3fd5ca1c3 02-Oct-2012 Adam Cohen <adamcohen@google.com> Fixing up keyguard widget pager layouts

-> Related to issue 7232481 and issue 7261844

Change-Id: Ib3c15ed78d3473036820bb3061dcd1cd34a2bfc4
eyguard/KeyguardWidgetFrame.java
0207c0992cb05d0acc60540748c8ae6985917abb 01-Oct-2012 Adam Cohen <adamcohen@google.com> Fixing a coupld lockscreen bugs

-> Showing correct page, as per discussions (issue 7205431)
-> Hide the time when the system status widget is showsing (issue 7216577)

Change-Id: I5b79d72e8fd8226952f6a8ea99b776feb4ddde1f
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetRegion.java
b35000f3f48c5f2c620c4aa30275b92e38afb6c1 02-Oct-2012 Jim Miller <jaggies@google.com> Merge "Attempt to fix missing lock sounds" into jb-mr1-dev
b14288d4b13d7629f578c4854f5a14d4d9a06783 01-Oct-2012 Jim Miller <jaggies@google.com> Attempt to fix missing lock sounds

bug 7254629

Change-Id: I65eee674fe014a0e84d5ec20ead81abdec38f890
eyguard/KeyguardViewMediator.java
ee82f8fa2d47fc1dbfc29582ae348b3c45ff8fe0 02-Oct-2012 Jim Miller <jaggies@google.com> Fix camera disambiguation in secure keyguard

When there are multiple activities that respond to MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE
we need to show the disambiguation dialog to the user. However the disambiguation "dialog"
is actully an activity themed as a dialog. Hence, we can't show it in the secure keyguard.

This works around the issue by prompting the user for their credentials directly when the
intent needs disambiguation. This will take them out of keyguard and prompt them for
which activity they want to use.

We'll provide a more robust solution in a future release.

Fixes bug 7109816

Change-Id: I94e643d3cb503e1ce6de24c82400b4d5fcbb9d95
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardViewMediator.java
850c5b7ca56b04d399f45c13e6c1a0bd4162555f 02-Oct-2012 Jeff Brown <jeffbrown@google.com> Allow "factory.long_press_power_off" to be toggled at runtime.

Bug: 6847329
Change-Id: I7a303dba4482c1897d38f9064a2c49583218ffd0
honeWindowManager.java
90fc9059199cde8ff2ed3e3151070d11416e2553 01-Oct-2012 Jeff Brown <jeffbrown@google.com> Enable hardware acceleration for pointer location overlay.

Bug: 7256639
Change-Id: I790820b18365c126afc500a5ea3d222bc1ea2774
honeWindowManager.java
3dc524bc31a1578693ca958ef442dfa092b7aa7f 01-Oct-2012 Jeff Brown <jeffbrown@google.com> Use new API to override user activity timeout from keyguard.

This now replaces the internal user activity timer that
keyguard maintained. We can probably simplify things a great
deal further now.

Bug: 7165399
Change-Id: Ia0d5a156a4ff0c339bbd094380b9f7ab3cec5d9b
honeWindowManager.java
eyguard/KeyguardHostView.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
13451a25fff12c1429f9ecdc24b2aa7696359f7d 28-Sep-2012 John Spurlock <jspurlock@google.com> Status bar: Keep disabled state per user.

Bug:7165607
Change-Id: If6f7a41c2516996612aef5e013dd0d2bd23f9084
honeWindowManager.java
1d1fb6c5e611b77d923b92100628e7e1bbf5fcf9 30-Sep-2012 Adam Cohen <adamcohen@google.com> Making runway lights appear for correct pages (issue 7232481)

Change-Id: I66a48cc8f14cb9ebfbf032287591565f38cb3606
eyguard/KeyguardWidgetRegion.java
0a5bc22273fc274a0d4bd9aa4bc80ee5116e11ef 30-Sep-2012 Adam Cohen <adamcohen@google.com> Merge "Integrate keyguard paging hint" into jb-mr1-dev
a995b6e37f20b3e7eebfb37d8868c1bc14906204 29-Sep-2012 Mike Cleron <mcleron@google.com> Merge "Getting rid of blue outline in user switcher, instead brighten the user" into jb-mr1-dev
c1aa6a54a78972843899fd0d911f80a4aff4dd20 29-Sep-2012 Jim Miller <jaggies@google.com> Integrate keyguard paging hint

Bug 7232481

Change-Id: I1959ae61b8f5afd055158dad67bdceecc4870d24
eyguard/ClockView.java
eyguard/KeyguardGlowStripView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardWidgetPager.java
eyguard/KeyguardWidgetRegion.java
9654329008bfde134de63df06dc15ac0271a0d4c 29-Sep-2012 Adam Cohen <adamcohen@google.com> Getting rid of blue outline in user switcher, instead brighten the user

Change-Id: I4817615cc28eb1fea35ecb5c3d69c4298c9cf2cf
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
1ed143ea341d2dac29cc3aafaf2fbeb1b13c5251 29-Sep-2012 Jim Miller <jaggies@google.com> Merge "Clean up SIM PIN and PUK screens in keyguard." into jb-mr1-dev
3efe106264262924a9218268d3c7d19d272fb7a2 29-Sep-2012 Jim Miller <jaggies@google.com> Clean up SIM PIN and PUK screens in keyguard.

- new flow for PUK screen
- clean up SIM and PUK screen to match UX designs
- simplified logic for showing emergency call button

Change-Id: I66fcd312f3c52dd212d9836dc020735dbc88d5ee
eyguard/EmergencyButton.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardStatusViewManager.java
106a69271dd303baae1c428e269e1ec62994ff57 29-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Keep callback reference from being null." into jb-mr1-dev
3ff8e1a80058e5557d13693d3223e1aa011c0038 29-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #7211769 and #7244492, thrash around on #7226656." into jb-mr1-dev
d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1 28-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7211769 and #7244492, thrash around on #7226656.

Issue #7211769: Crash dialog from background user has non-working "report"

The report button now launches the issue reporter for the correct user.
Also for crashes on background users, either disable the report button,
or simply don't show the dialog depending on the build config.

Issue #7244492: Bugreport button in Quick Settings doesn't actually do anything

Now they do.

Issue #7226656: second user seeing primary user's apps

I haven't had any success at reproducing this. I have tried to tighten up
the path where we create the user to ensure nothing could cause the
user's applications to be accessed before the user it fully created and thus
make them installed... but I can't convince myself that is the actual problem.

Also tightened up the user switch code to use forground broadcasts for all
of the updates about the switch (since this is really a foreground operation),
added a facility to have BOOT_COMPELTED broadcasts not get launched for
secondary users and use that on a few key system receivers, fixed some debug
output.

Change-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021
lobalActions.java
00baebe124701903db8eb35abb087767c5d769a5 29-Sep-2012 Craig Mautner <cmautner@google.com> Keep callback reference from being null.

The hide call delays removal of mKeyguardView but the inflate call
occurred before the delay expired. The method inflateKeyguardView
would have removed it except hide() also nulled out mKeyguardView.
Consequently there were two KeyguardHostViews in the view hierarchy.
The findViewById returned the first view which got the callback
assigned. Later that view was removed from the hierarchy and when
the new view was called it had no callback assigned => NPE!

This fix removes the KeyguardHostView from the mKeyguardHost by
referncing the id rather than the null mKeyguardView.

Fixes bug 7250008.

Change-Id: Ic9da3415d72187628f06271c12d5184f9d01059b
eyguard/KeyguardViewManager.java
6a5b0a367389a8aa57cb1c82cd3d63f1ca67cc66 28-Sep-2012 Adam Powell <adamp@google.com> Don't try to open action bar overflow menus from bogus events

Some monkey tests could hit a case where a posted overflow button
click event was still lingering after the menu was no longer in a
created state, which could lead apps to crash. Just drop open-overflow
requests on the floor if the menu is in a weird state when we try.

Bug 7242431

Change-Id: Ieebb1fccfeeccbf17fd7c6cff06efbcb19b11ce3
honeWindow.java
287f8a6e111e3f46d5ecb5622df5a3ab02f4276c 28-Sep-2012 Daniel Sandler <dsandler@android.com> Merge "Remove dock home support." into jb-mr1-dev
7c135205f2f4c192299ad0215276e9e481bccaa5 28-Sep-2012 Daniel Sandler <dsandler@android.com> Remove dock home support.

We still have dock apps and dock mode, just not home-key
capture.

Bug: 7163049
Change-Id: I8234ebf066798071517b4a586b06708b6ec0bc71
honeWindowManager.java
cd03a26f4f5663b40d4679de102519ccc163fa10 28-Sep-2012 Craig Mautner <cmautner@google.com> Missed a spot, needInput was not getting called.

Fixes bug 7250008.

Change-Id: I837af438510275ea69e217289aeb7a08111b91b5
eyguard/KeyguardHostView.java
01996793dd2a70acb0ae006960c23c31f0e39d5f 28-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Remove user switcher from long-press power menu" into jb-mr1-dev
af08ccb20dbfc19c668c6566ca17f2464ad12696 28-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Add null checks before using mViewMediatorCallback." into jb-mr1-dev
7def1db03943251fe8cb57ec514722026425479e 28-Sep-2012 Craig Mautner <cmautner@google.com> Add null checks before using mViewMediatorCallback.

Fixes bug 7250008.

Change-Id: I744241c46de5222a3e1767a04464e657ccd9f799
eyguard/KeyguardHostView.java
bc4ba82335c091cebaaee8b20987a61fb54c1727 28-Sep-2012 Amith Yamasani <yamasani@google.com> Remove user switcher from long-press power menu

Bug: 7252218

Also lock the screen before doing the user switch. This prevents the
janky behavior of showing the target user's homescreen after the switch
and then the lock screen. This is also a privacy issue.

Change-Id: I9f8db047335d06fc93505d7b5cca71e27ca3ac39
lobalActions.java
0dc2b81ce1400ae23faa5cc386caeef235856307 28-Sep-2012 Daniel Sandler <dsandler@android.com> Merge "Cleanup internal status bar APIs." into jb-mr1-dev
42af2ac6a340a4e46f304a59bdd842e61c02b833 28-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Revert "Do not use last app rotation as default."" into jb-mr1-dev
0f862b432e9879790e22cab7dae18caffec0812f 28-Sep-2012 Jeff Brown <jeffbrown@google.com> Revert "Do not use last app rotation as default."

This reverts commit 4bd149ef83c8e3e2ffb61885e71f44df9a9ccfa7

This change introduced a regression in the device rotation policy. Suppose you hold the device in landscape orientation then put it flat on a table. At this time, the accelerometer has no information about which way the device is oriented so the sensor expresses no preference over the orientation. Now switch to an application that forces portrait. Then go back to the original app that auto-rotates. We should remain portrait from this point onwards unless the device is picked up and we have accelerometer information from which to establish a new preferred orientation.

Bug: 7173556
Change-Id: I3684af3369e4ea55042081e19d96773c4d4bbe76
honeWindowManager.java
7befb7deb2ac15134b3bb190520cba19165d16dd 28-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Global gesture to toggle Accessibility system-wide.

1. This change adds a global gesture for enabling accessibility.
To enable this gesture the user has to allow it from the
accessibility settings or use the setup wizard to enable
accessibility. When the global gesture is enabled the user
can long press on power to bring the global actions dialog
and then hold with two fingers for a few seconds to enable
accessibility. The appropriate feedback is also provided.

2. The global gesture is writing directly into the settings for
the current user if performed when the keyguard is not on. If
the keygaurd is on and the current user has no accessibility
enabled, the gesture will temporary enable accessibility
for the current user, i.e. no settings are changed, to allow
the blind user to log into his account. As soon as a user
switch happens the new user settings are inherited. If no
user change happens after temporary enabling accessibility
the temporary changes will be undone when the keyguard goes
away and the device will works as expected by the current user.

bug:6171929

3. The initialization code for the owner was not executed due
to a redundant check, thus putting the accessibility layer in
an inconsistent state which breaks pretty much everything.

bug:7240414

Change-Id: Ie7d7aba80f5867b7f88d5893b848b53fb02a7537
nableAccessibilityController.java
lobalActions.java
honeWindowManager.java
5e08af03a3dffff8b8fc098790e5133589601d8f 22-Sep-2012 Christopher Tate <ctate@google.com> Respect per-user rotation lock et alia

Various per-user settings such as rotation lock are relevant to the
singleton PhoneWindowManager object. We now listen for user-switch
broadcasts and reconfigure the active state based on the newly-
active user's settings.

The RotationPolicy toolset has also been updated to do the right
thing, as has the Quick Settings UI.

Bug 7213638

Change-Id: Iee2109e48df550b4c979d3f9c91b5d2b71a6a08e
honeWindowManager.java
93aa70c6dfec91909404c9ade9b4a94574814092 28-Sep-2012 Steven Ross <stross@google.com> Merge "Only poke the wakelock for FUL if the screen is on fixes 7222901" into jb-mr1-dev
0d5cad735d03561c6bd215aa6fe3e78343fee5d2 28-Sep-2012 Jim Miller <jaggies@google.com> Merge "Updating AndroidClock font to match the Roboto thin style for time display." into jb-mr1-dev
36c37a021efb182b7369e28603740a29185f285a 28-Sep-2012 Jim Miller <jaggies@google.com> Fix crash caused by null owner info
Fixes bug 7249550

Change-Id: I35a46bf03e9d11311e2f7d7d55e25bbc93687f83
eyguard/KeyguardStatusViewManager.java
24de60507297c8fac04341a2f76a1e8f3020b973 26-Sep-2012 Christian Robertson <robertsonc@google.com> Updating AndroidClock font to match the Roboto thin style for time display.

The primary difference between the AndroidClock and Roboto-Thin fonts is that the new clock font defaults to variable width characters for better alignment on the lock screen.

Bug:7206207
Change-Id: I8509324510ce01d0a73ab1bb6b730b5d646a462c
eyguard/ClockView.java
42517367947047dd6cf7bd014e0c6d2db030af4e 28-Sep-2012 Jim Miller <jaggies@google.com> Merge "Update keyguard layouts on phone" into jb-mr1-dev
3af630c8d18bcf4b23a5a308917319dd04cc8ed2 26-Sep-2012 Jim Miller <jaggies@google.com> Update keyguard layouts on phone

- Go back to using old date format
- All keyguard text is now caps
- Lower brightness on emergency call text
- Fixed CR/LF issue with Owner info
- Added new alarm icon and fixed padding
- Swapped Google Now and lock icon in landscape mode
- Centered PIN/Password/Pattern help text in view in portrait
- Fixed keyboard size issue in landscape
- Merge new assets from UX

Change-Id: I7adb44b6c9a57d40cab0a77433d43291fb277568
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardStatusViewManager.java
eyguard/KeyguardViewManager.java
11cf178100e71d3f9f34ab5865e03a277c5eadaa 27-Sep-2012 Daniel Sandler <dsandler@android.com> Cleanup internal status bar APIs.

IStatusBarService.collapseQuickSettings is gone;
collapseNotifications is now collapsePanels, which does what
collapse() used to do. Similarly,
IStatusBar.animateCollapseQuickSettings is now simply
IStatusBar.animateCollapse().

Bug: 7245229
Change-Id: Id157d2fdf34926d3c85ffa8b81c741a5359aede4
honeWindowManager.java
acbe41fc1316cf16f03de80c84ea311cc4f55ffb 27-Sep-2012 Steven Ross <stross@google.com> Only poke the wakelock for FUL if the screen is on fixes 7222901

Change-Id: Ie00084fcaef3127ac917c740e5eea3fce463cbcd
eyguard/FaceUnlock.java
fbb9c6197f4c9dd2583590559502e3b0600867d8 27-Sep-2012 Steven Ross <stross@google.com> Stop FaceUnlock when detached from window fixes b/7222226

The FaceUnlock service gets onConfigurationChanged at about the same time as onDetachedFromWindow is received by the KeyguardFaceUnlockView, so we could do something beyond hiding the window there, but this approach should operate on the same thread as onPause and onResume, and thus be safe against threading issues.

Before this change, I was seeing startUi calls in FaceUnlock.java crashing the service because the ProcessingThread had already been set to null. After this change, onDetachedFromWindow gets called, followed by onPause, after a rotation. The onDetachedFromWindow call now clears the messages and shuts down the connection, which prevents the startUi call. We should also probably make sure startUi in the service exits if mThread is null for good measure.

Change-Id: I083066c9cb210e398d911e70c0f3bb5d2736cd8d
eyguard/KeyguardFaceUnlockView.java
b32e221699201cb647beae3fe0a1771fd5a41cf4 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge changes I332f020f,I632648ac into jb-mr1-dev

* changes:
Update references to migrated global settings.
Handle user switched for settings changes.
e20a177d3f147f3011647c3bdab401f90b2c5d1d 26-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding a global accessibility action to open quick settings.

1. Added APIs for opening the quick settings to the StatusBarManagerService
and the local StatausBarManager. The new APIs are protected by the old
EXPAND_STATUS_BAR permission.
Renamed the expand* and collapse* non-public APIs that are expanding
the notifications to expandNotifications* collapseNotifications* to
better convey what they do given that this change adds
expandQuickSettings* and collapseQuickSettings*.
Added a global action to the accessibility layer to expand the quick
settings which is calling into the new status bar manager APIs.

bug:7030487

Change-Id: Ic7b46e1a132f1c0d71355f18e7c5a9a2424171c3
honeWindowManager.java
bf6f6f9de72c9fd15e6bda9f228c05a9b37d6324 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Update references to migrated global settings.

Fixed one setting that was migrated but not marked deprecated.

Removed a hidden setting that is no longer used by the new
power manager service.

Bug: 7231172
Change-Id: I332f020f876a18d519a1a20598a172f1c98036f7
honeWindowManager.java
eyguard/KeyguardUpdateMonitor.java
eyguard_obsolete/KeyguardUpdateMonitor.java
164ff6bb64ad022366e9fdec9b40bcedcbb3925a 25-Sep-2012 Jean-Baptiste Queru <jbq@google.com> Merge into jb-mr1-dev

Change-Id: I65f9c552cf0ef2792df64c907f0a56913e6c6f30
7641506e3cc493ac4e6f5037fd76516754e61c6e 25-Sep-2012 Jim Miller <jaggies@google.com> Fix wrong password attempt count in DevicePolicyManager

Keyguard wasn't resetting dpm's count when a successful password
was made. The result is the device would get wiped earlier than
it should.

Also fixes a TODO left over from keyguard refactoring that
allowed face unlock to trigger the same logic (ouch!).

Fixes bug 7219258

Change-Id: I2bd13c50a9beb8225d3237e86d5e34b73d0eb3cf
eyguard/KeyguardHostView.java
c6f8a9985b6cdfd770b707b8fdf05c0b1b2809fc 24-Sep-2012 Kenny Root <kroot@google.com> Merge "LockScreen: don't update KeyStore password on unlock" into jb-mr1-dev
1cd5522fcc16b6a7d38f7f4d2997359759196856 22-Sep-2012 Jim Miller <jaggies@google.com> Merge "Send USER_PRESENT for keyguard choice "None"" into jb-mr1-dev
3fd47af32d6be8971445f4da8deba0fadae688d3 22-Sep-2012 Jim Miller <jaggies@google.com> Send USER_PRESENT for keyguard choice "None"

This enables sending ACTION_USER_PRESENT when the user has
selected "None" for their keyguard screen. When this happens,
we delegate sending the event to onScreenTurnedOn().

Tested:
- None -> sends broadcast in onSystemReady() the first time after boot
and in onScreenTurnedOn() there after.
- Slide -> sends broadcast only once when screen is dismissed
- Pattern -> sends broadcast only once when screen is dismissed

Fixes bug 7029707

Change-Id: I785c3255b15e2ee598a10d7d3580ba5c03dd0068
eyguard/KeyguardViewMediator.java
77e95d3d71f10a0d936445e3f3ed90e15c019024 22-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Show lockscreen widgets for the current user." into jb-mr1-dev
8fd96ec2dc215095d12ef3e9bd7dc50ebc78625e 22-Sep-2012 Amith Yamasani <yamasani@google.com> Show lockscreen widgets for the current user.

Also shows the owner info and next alarm for the current user.
AppWidgetService now assumes that any widgets running in the system process are for the
current user, so that lockscreen shows widgets for the current user

Bug: 7211754
Bug: 7212421

Change-Id: Iaf0edc60e49af0afe42625c0b2dcf100c9ecc178
eyguard/KeyguardStatusViewManager.java
abb53b72fb0dc4ff9f2b917438ec48f0cc0111b6 22-Sep-2012 Kenny Root <kroot@google.com> LockScreen: don't update KeyStore password on unlock

The Gingerbread migration case updated the password when the user
unlocked their device. This is probably not needed anymore and disturbs
multi-user, so just remove it.

Bug: 7169463
Change-Id: Ie62eb9f3fee6953b1123cb7ef3665d519632c6f7
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
1ed9fa10de3e94678ddb2929936caa3ff4164cf8 22-Sep-2012 Jim Miller <jaggies@google.com> Merge "Make DPM API for disabling keyguard widgets more generic" into jb-mr1-dev
7566abd305a2b3060ae541055ed04f087f5266ec 21-Sep-2012 Michael Jurka <mikejurka@google.com> Merge "Add support for changing status widget on security screen" into jb-mr1-dev
920ace0bbc2d4133dbec991d2636c99a57d6245e 21-Sep-2012 Amith Yamasani <yamasani@google.com> Query users excluding any being removed

Keep track of user creation and last logged-in time.
adb shell dumpsys users
User switcher shouldn't show users about to be removed.
No need to check for singleton for activities.

Bug: 7194894
Change-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardViewMediator.java
20c41d5382b70fa5a24e9ef68f19ce0aedea5234 21-Sep-2012 Michael Jurka <mikejurka@google.com> Add support for changing status widget on security screen

Change-Id: I080fd89eb84445604c602b6e807b55153a7ee129
eyguard/KeyguardHostView.java
48b9b0d068844af9eb37c215484831c4d6b831b0 20-Sep-2012 Jim Miller <jaggies@google.com> Make DPM API for disabling keyguard widgets more generic

This change renames the widget-specific API to be more generic
to allow further disabling of keyguard-specific customizations
in the future. Currently only allows disabling widgets and the
secure camera but can now easily be extended to disable other
features we add.

Fixes bug: 7021368

Change-Id: I3934cc2e7c64e0c6d511efb86980fc38a849708d
eyguard/KeyguardHostView.java
eyguard/KeyguardSelectorView.java
109f1fd80c90409c0d7f21d49989641dfdf2ad1b 20-Sep-2012 Jim Miller <jaggies@google.com> Update keyguard selector view to match UX design spec
- Use new Roboto-Thin font
- Add new keyguard-specific date format
- Layout tweaks to keyguard selector screen.
- Add smart EmergencyButton class
- Add selective upper-casing of components on the display to enable later UX decision
- Work around SIM state bug

Bug: 7094419
Change-Id: Ic7e0f30697c14d4946372509d98ad81bf6a23c92
eyguard/CarrierText.java
eyguard/ClockView.java
eyguard/EmergencyButton.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardSecurityModel.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardStatusViewManager.java
eyguard/KeyguardTransportControlView.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardViewManager.java
52716deb4008da1d566dfd711edc0a9c6de5f79f 19-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix deadlock in LockPatternUtils by using local id." into jb-mr1-dev
f1b674197577e815040cd75ef86d611965d603ad 19-Sep-2012 Craig Mautner <cmautner@google.com> Fix deadlock in LockPatternUtils by using local id.

Activity manager now updates window manager's current user id
directly and immediately rather than waiting for a broadcast
update. Window manager passes this through policy to the
KeyguardViewMediator and into LockPatternUtils. LockPatternUtils
no longer goes to Activity to get the current user id if it finds
that its local id is non-default.

Fixes bug 7193726.

Change-Id: Id5613e7a9fe9e5b49e83c26b74504f587c3998c2
honeWindowManager.java
eyguard/KeyguardViewMediator.java
8f301e666873e4a9feaace38a0b184a5f3ce7003 19-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Add debug for b/7094175." into jb-mr1-dev
5d8d169bbb0325665d600415bc7b4add2dbcaf75 19-Sep-2012 Jim Miller <jaggies@google.com> Merge "Fix wrong pattern count in keyguard pattern security view." into jb-mr1-dev
d2b82f70fede8c2ec4de34d8e6462ed4ece13c56 19-Sep-2012 Jim Miller <jaggies@google.com> Fix wrong pattern count in keyguard pattern security view.

This fixes a bug introduced in I085c5ec8 where keyguard attempts to emulate
slippery windows with views. In order to do so, the code was overloading
dispatchTouchEvent(). It would allow the super (a ViewGroup) to dispatch
the events and then would dispatch them itself to sub views. In the case
where an event overlaps an actual child view, it would result in 2 copies of the event
per window layer (there are 2). This results in 2 events per layer for the
top two views in the hierarchy. So each actual pattern attempt would count as 4
attempts to the system.

The solution is to overload onTouchEvent() at each level in the view hierarchy,
which means that we ignore events that were already handled by a child window
of the parent.

This change also disables slippery windows for keyguard because it causes
vertical patterns to be ignored.

Fixes bug 7191277

Change-Id: I4df217f2bf382134d93113b8d55b0d71e0e23677
eyguard/KeyguardHostView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardViewManager.java
4adb9d34162b109db3c67e352ad50c76dc7f2d45 19-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "DevicePolicyManager per user" into jb-mr1-dev
98c370e71d93ed2704018e2bc3455f00c08821a9 19-Sep-2012 Adam Powell <adamp@google.com> Merge "Make invalidateOptionsMenu asynchronous" into jb-mr1-dev
4b6d93fd0485b46a3a15a71516d39b4f72d9b3db 19-Sep-2012 Adam Powell <adamp@google.com> Make invalidateOptionsMenu asynchronous

Process any pending menu invalidations on the animation tick, before
traversals are performed. Collapse multiple menu invalidations
together.

Bug 7189372

Change-Id: I7a33ae9813980eb8fbcc958804de2c03328ecca8
honeWindow.java
402f0c81230304379d7c4108745f928b34e052fa 19-Sep-2012 Jim Miller <jaggies@google.com> Merge "Refactor Carrier text as a movable module." into jb-mr1-dev
772db427a79fc1e81cb54f8ebead5e22edb0162d 19-Sep-2012 Jim Miller <jaggies@google.com> Merge "Selectively enable back button in keyguard for security screens." into jb-mr1-dev
599dd7ce9adf8ca067cefb0b191a5ac20ec35a79 15-Sep-2012 Amith Yamasani <yamasani@google.com> DevicePolicyManager per user

Bug: 7136483

Store device policy information for each user and apply them when user switches.

Global proxy can only be controlled by owner.
Camera restriction applies to all users, if any one has an admin that disables it.
Storage encryption can only be controlled by owner, although other users can query the state.
Wipe data will only remove the user if non-zero, wipe the device, if zero.

Change-Id: I359be46c1bc3828fd13d4be3228f11495081c8f2
eyguard/KeyguardHostView.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardViewMediator.java
0cbfcffe7b99eea85dc17e92ef204035fa6fd4f9 18-Sep-2012 Craig Mautner <cmautner@google.com> Add debug for b/7094175.

Change-Id: Iec83b9350bfeb804dfe3da25986138c2dbaa6d45
eyguard/KeyguardViewManager.java
f9cb7ba158c7016d55f121e200f96046ddbc5b70 18-Sep-2012 Jim Miller <jaggies@google.com> Refactor Carrier text as a movable module.

We seem to move carrier text around a lot. Rather than moving the support code,
this creates a smart text field that updates itself.

Change-Id: I9b5b7b22813e944f673a50e952742a1ac38c0e08
eyguard/CarrierText.java
eyguard/KeyguardStatusViewManager.java
931be0ee0cc5e6e762336429bf23640c6e71b936 18-Sep-2012 Jim Miller <jaggies@google.com> Merge "Don't show empty widget in the case where a widget can't be inflated" into jb-mr1-dev
99a3cae55bd1a4ea6d82aa7fa2a67170e7cd5b3e 18-Sep-2012 Jim Miller <jaggies@google.com> Don't show empty widget in the case where a widget can't be inflated

If the use deletes the widget by disabling a package or removing it,
we used to show a placeholder widget. Now it skips the widget if it's
not available.

Change-Id: I8582139bf982e41f3f16b5c002e248c5717290aa
eyguard/KeyguardHostView.java
5b50a25e6d12bdc641a3b48ba9e7c02d63bf00cd 17-Sep-2012 Adam Cohen <adamcohen@google.com> Enabling hardware layers while overscrolling widget pager

Change-Id: I94bef1aa614f91b115105adbb409def8027f3651
eyguard/KeyguardSubdivisionLayout.java
eyguard/KeyguardWidgetFrame.java
e23ab8b1acea211762f1d0c4202f73a9f7700bb5 17-Sep-2012 Jim Miller <jaggies@google.com> Selectively enable back button in keyguard for security screens.

This enables the back button on secure keyguard screens so the user can
get back to the initial screen.

Partial fix for bug 7094419

Change-Id: I4dc0ac8facfd2930ccb60710c36015ec1d2c8aa6
eyguard/KeyguardHostView.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
625398598894b18d797cc407632b78979b20a604 16-Sep-2012 Adam Cohen <adamcohen@google.com> Merge "Second pass on Keyguard multi-user switcher" into jb-mr1-dev
24b351ab748cf1b2e41d106508604ba09f62d859 15-Sep-2012 Adam Cohen <adamcohen@google.com> Second pass on Keyguard multi-user switcher

-> animating active user to inactive, fading out lock
selector, freezing screen, then switching users
-> for now, just using a fade, but this will likely
see iteration

Change-Id: I3acc0b53f2cbf132741e3e0529e2e53fa2824542
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardSubdivisionLayout.java
b45965f519d41f138f0d0edfb587e4861e2199f4 16-Sep-2012 Jim Miller <jaggies@google.com> Merge "Fix keyguard timeout dialog messages" into jb-mr1-dev
d65afc65ea5b2bf83889dd88a9c94f895da8aece 16-Sep-2012 Dianne Hackborn <hackbod@google.com> Merge "More multi-user stuff." into jb-mr1-dev
5dc5a00e7ebadc085ded7e29feacd17e53698486 16-Sep-2012 Dianne Hackborn <hackbod@google.com> More multi-user stuff.

- New public APIs to find out when a user goes to the foreground,
background, and is first initializing.
- New activity manager callback to be involved in the user switch
process, allowing other services to let it know when it is safe
to stop freezing the screen.
- Wallpaper service now implements this to handle its user switch,
telling the activity manager when it is done. (Currently this is
only handling the old wallpaper going away, we need a little more
work to correctly wait for the new wallpaper to get added.)
- Lock screen now implements the callback to do its user switch. It
also now locks itself when this happens, instead of relying on
some other entity making sure it is locked.
- Pre-boot broadcasts now go to all users.
- WallpaperManager now has an API to find out if a named wallpaper is
in use by any users.

Change-Id: I27877aef1d82126c0a1428c3d1861619ee5f8653
lobalActions.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardViewMediator.java
08b2b6bfe2550b65c68ad7b4bef8283f1ff17561 15-Sep-2012 Jim Miller <jaggies@google.com> Fix keyguard timeout dialog messages

This fixes an issue where the attempt count was incorrect. We now show the
dialog *after* reporting the failed attempt.

This also fixes an issue where the text wasn't being reset in the password dialog
of keyguard.

Fixes bugs 7170545 and 7120895

Change-Id: Iba2009705373758acca6e10bd670eb34744bece9
eyguard/KeyguardHostView.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardStatusViewManager.java
a87826c345dbd692a86a340691cf7471a2505809 14-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Fix face unlock for multiple users" into jb-mr1-dev
4b4b954ddf34af51576441f0e3eca6d19150aada 14-Sep-2012 Amith Yamasani <yamasani@google.com> Fix face unlock for multiple users

Bug: 7152537

Not all instances of LockPatternUtils are getting updated with the current user, so
query it directly from the Activity Manager.

Change-Id: I46395c3e00feecd0edfe4228f8d7966f425519f2
eyguard/FaceUnlock.java
f229e4d3eb8f910c181f96416c6798f6f305a395 13-Sep-2012 Jim Miller <jaggies@google.com> Add support for settings for lock widgets

Change-Id: Iade094c6f32a7653bdbbd4921d345d68f2443ff4
eyguard/KeyguardHostView.java
6fba0a0c72394e880833b5dcf08241b7ce133239 13-Sep-2012 Jim Miller <jaggies@google.com> Music in keyguard improvements
- fix overscroll issue with workaround described in bug 7137941
- ignore noisy signals from music player that sometimes hide it

Change-Id: I6a25674ce7157bd70409f56881ec62644f5fce9b
eyguard/KeyguardHostView.java
4f77268c8a75dd89303b0c6bcf6ee02a97a68d1a 13-Sep-2012 Jim Miller <jaggies@google.com> Merge "Initial pass at adding Music control to new keyguard." into jb-mr1-dev
ff2aa0bc8919c247bfc8e81d3f168e5064f52ffb 07-Sep-2012 Jim Miller <jaggies@google.com> Initial pass at adding Music control to new keyguard.

- View is now added or removed based on AudioManager status
- Reduced depth of hierarchy by making KeyguardTransportControl a KeyguardWidgetFrame
- Return to the status view when we return to keyguard (onScreenTurnedOn)

Change-Id: Id7f9310ce4e7daf663471117564e5670f61b1471
eyguard/KeyguardHostView.java
eyguard/KeyguardTransportControlView.java
eyguard/PagedView.java
9c673b0536f0c19be289e15fe0e5fb9825769a3f 12-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Go back to keyguard if user is switched in lock screen" into jb-mr1-dev
d979dd7fbcf053cdb4fa5691dc625d2dfa4071f5 12-Sep-2012 Amith Yamasani <yamasani@google.com> Go back to keyguard if user is switched in lock screen

This is not the preferred solution, but at least it is not incorrect.

Bug: 7144478
Change-Id: Iec26723b21ff5c64546d57f9d8744a3bf2929862
eyguard/KeyguardViewManager.java
752ef4e0f86fa1412488b6c03ff4ae8a22f0e307 11-Sep-2012 Jim Miller <jaggies@google.com> Merge "This enables the back button in keyguard" into jb-mr1-dev
d03a5558350cb6adff68aaf97ad4ee946bcd91a1 11-Sep-2012 Jim Miller <jaggies@google.com> Attempt to fix blank keyguard issue

This is an attempt to fix bug 7137389. It forces a layout when the screen
comes back on, which should alleviate the issue.

Change-Id: I00a3829f1662a8db99d947856ca11660b4bfb805
eyguard/KeyguardHostView.java
eeabf942263d55eb9b1ac0b9a525bd917cfc1f30 11-Sep-2012 Jim Miller <jaggies@google.com> Merge "Allow pattern to start from outside pattern view" into jb-mr1-dev
5bf7800de6d14a55d0c6ee006425fa79c3f8d21e 11-Sep-2012 Amith Yamasani <yamasani@google.com> Merge "Force keyguard if there are multiple users" into jb-mr1-dev
b70ff9a181234ffb69e51db2148ed865eb3a6ca7 08-Sep-2012 Amith Yamasani <yamasani@google.com> Force keyguard if there are multiple users

Otherwise there would be no way to switch users if a user chooses None as lock screen.

Also adjust some layout params for Preference items to align the icons and text.

Change-Id: Ib11bb961edaef90de280bc7137d10b68765aea98
eyguard/KeyguardViewMediator.java
c09cdce1b05075da808ae080b9905a14a3e1e627 11-Sep-2012 Christopher Tate <ctate@google.com> Update airplane-mode manipulation for the new Settings namespace

Quick Settings and global actions (aka longpress-Power) toggles are
included in this CL. The Settings app manipulations are updated in
a different CL because that's a different git package.

Bug 7132230

Change-Id: I50838f5e8d7b25a750d2bcae90bf384b09816dbb
lobalActions.java
5737534abab477cf32b4dd0aa7a72f70ede0502c 10-Sep-2012 Jim Miller <jaggies@google.com> Allow pattern to start from outside pattern view

This effectively makes the pattern view slippery, which enables the
user to start their pattern outside the view and cross the view.

Fixes bug 7118762

Change-Id: I085c5ec8f7ccd2fc37a10606a8925078dc44be13
eyguard/KeyguardHostView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityViewFlipper.java
eyguard/KeyguardUpdateMonitor.java
41bd89f6b61296492d3775e5ef30e94c5f18d34f 10-Sep-2012 Wu-cheng Li <wuchengli@google.com> Merge "Pass EXCLUDE_FROM_RECENTS when starting secure camera." into jb-mr1-dev
644ea77b4fdafee48a4869d2ae7595673ee3a092 09-Sep-2012 Jim Miller <jaggies@google.com> This enables the back button in keyguard

When pressed, the back button now takes the user to the selector screen.

Change-Id: Ib8d86c6fe0b46de5ad482d526783b4542fdb3336
eyguard/KeyguardHostView.java
1ac44eb94d41019961209716052cc81f526440f8 08-Sep-2012 Jim Miller <jaggies@google.com> Merge "Don't hide the PIN keyboard even when a physical keyboard is present." into jb-mr1-dev
e46efc046074ecb49439ed9a557e5c79c0582468 08-Sep-2012 Jim Miller <jaggies@google.com> Enable lazy-loading of security views in keyguard

This change removes all but the default KeyguardSelectorView from KeyguardViewHost
to (1) reduce the overall memory footprint (2) reduce initial layout inflation
time and (3) avoid initializing the camera until needed by face unlock.

Fixes bug 7127666

Change-Id: Ibac1838dd7a490dcadbfab5bdfdd82734b69055a
eyguard/KeyguardHostView.java
d888399ad4a4ec0a08e97518bf22d726a8bd4eaa 08-Sep-2012 Dianne Hackborn <hackbod@google.com> Explicitly specify current user everywhere home is started.

Change-Id: I58d86136de7f9cef1eaf72793d0e200b852d7355
honeWindowManager.java
ac8f5751f52fa445af641604e476703dd5e89504 08-Sep-2012 Jim Miller <jaggies@google.com> Don't hide the PIN keyboard even when a physical keyboard is present.

Originally this was done for aesthetics when we had a physical keyboard on
devices. The code also used to hide the PIN keyboard when a BT keyboard is
attached.

We now always show the keyboard, even when a physical keyboard is present.

Change-Id: I8e1f3af200071382bfe267c28d92062758ebb790
eyguard/KeyguardPasswordView.java
5e03e2ca7d25b899b129baad2dd5eca6bf99d88a 06-Sep-2012 Dianne Hackborn <hackbod@google.com> More multi-user stuff:

- New (hidden) isUserRunning() API.
- Maintain LRU list of visited users.
- New FLAG_IS_DATA_ONLY for ApplicationInfo.
- Clean up pending intent records when force-stopping a user (or package).
(Also fixes bug #6880627: PendingIntent.getService() returns stale
intent of force stopped app)
- Fix force-stopping when installing an app to do the force-stop across
all users for that app.
- When selecting which processes to kill during a force stop, do this
based on the actual packages loaded in the process, not just process
name matching.
- You can now use --user option in am when starting activities, services,
and instrumentation.
- The am --user option accepts "current" and "all" as arguments.
- The pm uninstall command now uninstalls for all users, so it matches
the semantics of the install command.
- PhoneWindowManager now explicitly says to start home in the current
user.
- Activity manager call to retrieve the MIME type from a content provider
now takes a user argument, so it will direct this to the proper user.
- The package manager uninstall paths are now implemented around
PackageSetting, not PackageParser.Package. This allows them to work
even if the application's apk has been removed (in which case it only
exists as a PackageSetting, not the PackageParser.Package parsed from
the apk).

Change-Id: I3522f6fcf32603090bd6e01cc90ce70b6c5aae40
honeWindowManager.java
2ab0113b1ec34c96b84e8be9aac1a3f1e9d3ccb8 07-Sep-2012 Wu-cheng Li <wuchengli@google.com> Pass EXCLUDE_FROM_RECENTS when starting secure camera.

Camera started from the secure lock screen does not
show all the pictures in the camera roll. If users
launch camera from recent apps, they may enter secure
camera mode accidentally. Pass EXCLUDE_FROM_RECENTS
flag to prevent this.

bug:7053266
Change-Id: I0ad526d919dac02f358b25493777d7d73da6987f
eyguard/KeyguardSelectorView.java
6da5827193408ec6d2a77b64448b2f1c40b9a482 07-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Screen magnification - feature - framework." into jb-mr1-dev
1cf70bbf96930662cab0e699d70b62865766ff52 06-Aug-2012 Svetoslav Ganov <svetoslavganov@google.com> Screen magnification - feature - framework.

This change is the initial check in of the screen magnification
feature. This feature enables magnification of the screen via
global gestures (assuming it has been enabled from settings)
to allow a low vision user to efficiently use an Android device.

Interaction model:

1. Triple tap toggles permanent screen magnification which is magnifying
the area around the location of the triple tap. One can think of the
location of the triple tap as the center of the magnified viewport.
For example, a triple tap when not magnified would magnify the screen
and leave it in a magnified state. A triple tapping when magnified would
clear magnification and leave the screen in a not magnified state.

2. Triple tap and hold would magnify the screen if not magnified and enable
viewport dragging mode until the finger goes up. One can think of this
mode as a way to move the magnified viewport since the area around the
moving finger will be magnified to fit the screen. For example, if the
screen was not magnified and the user triple taps and holds the screen
would magnify and the viewport will follow the user's finger. When the
finger goes up the screen will clear zoom out. If the same user interaction
is performed when the screen is magnified, the viewport movement will
be the same but when the finger goes up the screen will stay magnified.
In other words, the initial magnified state is sticky.

3. Pinching with any number of additional fingers when viewport dragging
is enabled, i.e. the user triple tapped and holds, would adjust the
magnification scale which will become the current default magnification
scale. The next time the user magnifies the same magnification scale
would be used.

4. When in a permanent magnified state the user can use two or more fingers
to pan the viewport. Note that in this mode the content is panned as
opposed to the viewport dragging mode in which the viewport is moved.

5. When in a permanent magnified state the user can use three or more
fingers to change the magnification scale which will become the current
default magnification scale. The next time the user magnifies the same
magnification scale would be used.

6. The magnification scale will be persisted in settings and in the cloud.

Note: Since two fingers are used to pan the content in a permanently magnified
state no other two finger gestures in touch exploration or applications
will work unless the uses zooms out to normal state where all gestures
works as expected. This is an intentional tradeoff to allow efficient
panning since in a permanently magnified state this would be the dominant
action to be performed.

Design:

1. The window manager exposes APIs for setting accessibility transformation
which is a scale and offsets for X and Y axis. The window manager queries
the window policy for which windows will not be magnified. For example,
the IME windows and the navigation bar are not magnified including windows
that are attached to them.

2. The accessibility features such a screen magnification and touch
exploration are now impemented as a sequence of transformations on the
event stream. The accessibility manager service may request each
of these features or both. The behavior of the features is not changed
based on the fact that another one is enabled.

3. The screen magnifier keeps a viewport of the content that is magnified
which is surrounded by a glow in a magnified state. Interactions outside
of the viewport are delegated directly to the application without
interpretation. For example, a triple tap on the letter 'a' of the IME
would type three letters instead of toggling magnified state. The viewport
is updated on screen rotation and on window transitions. For example,
when the IME pops up the viewport shrinks.

4. The glow around the viewport is implemented as a special type of window
that does not take input focus, cannot be touched, is laid out in the
screen coordiates with width and height matching these of the screen.
When the magnified region changes the root view of the window draws the
hightlight but the size of the window does not change - unless a rotation
happens. All changes in the viewport size or showing or hiding it are
animated.

5. The viewport is encapsulated in a class that knows how to show,
hide, and resize the viewport - potentially animating that.
This class uses the new animation framework for animations.

6. The magnification is handled by a magnification controller that
keeps track of the current trnasformation to be applied to the screen
content and the desired such. If these two are not the same it is
responsibility of the magnification controller to reconcile them by
potentially animating the transition from one to the other.

7. A dipslay content observer wathces for winodw transitions, screen
rotations, and when a rectange on the screen has been reqeusted. This
class is responsible for handling interesting state changes such
as changing the viewport bounds on IME pop up or screen rotation,
panning the content to make a requested rectangle visible on the
screen, etc.

8. To implement viewport updates the window manger was updated with APIs
to watch for window transitions and when a rectangle has been requested
on the screen. These APIs are protected by a signature level permission.
Also a parcelable and poolable window info class has been added with
APIs for getting the window info given the window token. This enables
getting some useful information about a window. There APIs are also
signature protected.

bug:6795382

Change-Id: Iec93da8bf6376beebbd4f5167ab7723dc7d9bd00
honeWindowManager.java
a56f8f7ca2298f1516115be60e07a8193737293e 07-Sep-2012 Jim Miller <jaggies@google.com> Merge "Fix EmergencyDialer button on devices without telephony hardware" into jb-mr1-dev
b75111df9bf22496bacb7a6f9d9412e4a7b6827f 07-Sep-2012 Brian Muramatsu <btmura@google.com> Merge "Add wireless to KeyguardUpdateMonitor isPluggedIn" into jb-mr1-dev
47df44aad773fb2a46d4c07e20278c7d8c0b16be 07-Sep-2012 Jim Miller <jaggies@google.com> Fix EmergencyDialer button on devices without telephony hardware

This fixes showing the emergency dialer on devices without telephony.
Two fixes were required: 1. Move emergency dialer code to the view
that contains it (KeyguardSelectorView). 2. Always call onPause()
or onResume() in onScreenTurnedOff() and onScreenTurnedOn(), respectively.

Fixes bug 7117895

Change-Id: I96769fdda8478b6b60f46f7470bed2279ea2de72
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityModel.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardStatusView.java
eyguard/KeyguardStatusViewManager.java
9e130e70eff57d15c0888f51c4f1a7cc4cd62573 07-Sep-2012 Craig Mautner <cmautner@google.com> Merge "Limit certain actions to default Display." into jb-mr1-dev
66b9fb1662b304d24984af1ac4cc02f2ae8f4cc3 06-Sep-2012 Adam Cohen <adamcohen@google.com> Iintial stab at multi-user switcher on Keyguard

Change-Id: I604a769ef43c354a8eeadb415e413c19ca02571d
eyguard/KeyguardHostView.java
eyguard/KeyguardMultiUserAvatar.java
eyguard/KeyguardMultiUserSelectorView.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
a92a01bb0bb458401af90bed5a46d932278160d7 06-Sep-2012 Brian Muramatsu <btmura@google.com> Add wireless to KeyguardUpdateMonitor isPluggedIn

Bug 7114383

It looks like this wasn't carried over from the old keyguard.

Change-Id: I79d47ac36d84289a3afd9d6df6582a6c8e541181
eyguard/KeyguardUpdateMonitor.java
69b0818179201fadc9d2a384d692d8ae4aecd85c 05-Sep-2012 Craig Mautner <cmautner@google.com> Limit certain actions to default Display.

Stop messing up PhoneWindowManager state when passing in windows
from non-default Display.

Change-Id: I472f7a13c5e2241fbf1f79ae1c8045fd92af016c
honeWindowManager.java
eyguard/KeyguardHostView.java
5830cb2882b38182f414423ae1bc901cc27767cc 06-Sep-2012 Jim Miller <jaggies@google.com> Cosmetic code changes to face unlock after review.

Change-Id: I6e4face14c1585ed7123ae9c055b5ac3ccc86395
eyguard/KeyguardFaceUnlockView.java
d2d4a6456579ea460afb6baf3a4e7cb2a27d55fb 06-Sep-2012 Jim Miller <jaggies@google.com> Merge "Keep local reference to KeyguardStatusViewManager so it doesn't get GC'd" into jb-mr1-dev
6212cc0d3f59139421ceeaf630f6494239d81cd1 06-Sep-2012 Jim Miller <jaggies@google.com> Keep local reference to KeyguardStatusViewManager so it doesn't get GC'd

This fixes a bug where we'd stop updating the status view in keyguard
because KeyguardStatusViewManager had no references.

It also fixes a bug where KeyguardUpdateMonitor wasn't removing objects
because objects were being compared with WeakReferences rather than the
content of the WeakReferences.

Bug:7095359

Change-Id: I2d9df6097b2270655ad3662bcf7a6757e0515363
eyguard/KeyguardSelectorView.java
eyguard/KeyguardStatusView.java
eyguard/KeyguardUpdateMonitor.java
000464ac012471d301c6e48a8228291519915e17 05-Sep-2012 Jim Miller <jaggies@google.com> Initial pass at re-enabling face unlock in new keyguard.

Change-Id: I187629f9c4bfd810f11c73416db6e41b56f09a45
eyguard/FaceUnlock.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
eyguard_obsolete/LockPatternKeyguardView.java
27230f076a0f3a3e461405cc61088fa306d9847c 05-Sep-2012 Jim Miller <jaggies@google.com> Merge "Better flow for SIM PIN/ SIM PUK screens in keyguard." into jb-mr1-dev
f73fbf79a1db4bc5ccc829c8a84f3431ab986cbc 05-Sep-2012 Jim Miller <jaggies@google.com> Don't depend on LockPatternUtils to get DevicePolicyManager

This fixes a crash where LockPatternUtils hasn't been set yet and
keyguard attempts to get the device policy for widgets.

This change breaks the dependency by getting a handle to DPM directly.

Bug:7109723

Change-Id: Iecae91474358821ebd30456648377253864c35cf
eyguard/KeyguardHostView.java
4b09dd31fb1cefcaee87e7a206f22ba31527e250 04-Sep-2012 Jim Miller <jaggies@google.com> Better flow for SIM PIN/ SIM PUK screens in keyguard.

We now fade between security screens when not coming from selection view.
In the case of SIM PIN/PUK screens, this means we show the user's security
screen without going back to the selector view.

This change also adds a fade animation for when we go between security screens
without going back to the selector view.

This also fixes a bug where we were invoking two checks for the SIM
state - one for ACTION_DOWN and another for ACTION_UP.

Change-Id: I260f9a2e0316cbf26ec7621f774bfdf9956ca488
eyguard/KeyguardHostView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
175ae55c0d62b6adbc9b3cc215ad2e65a8b40cc3 05-Sep-2012 Jim Miller <jaggies@google.com> Merge "Update DevicePolicyManager with ability to disable keyguard widgets" into jb-mr1-dev
035ce2ca92742894f7f906c93d7d217c647aa19a 05-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add support for "-rtl" in resources" into jb-mr1-dev
167611811d4fd6318bc366128590701274488e84 04-Sep-2012 Jim Miller <jaggies@google.com> Merge "Keyguard bug fixes" into jb-mr1-dev
b8ec470617590fa2025db869e8e80dcce8eaec23 01-Sep-2012 Jim Miller <jaggies@google.com> Update DevicePolicyManager with ability to disable keyguard widgets

Change-Id: I5876e9e180b2a995aaa355fbbb2b67cebb86104d
eyguard/KeyguardHostView.java
398341927f3dca68d71024483aa276d10af4c080 02-Sep-2012 Craig Mautner <cmautner@google.com> Minor refactors.

- Refactor DragState to take Display instead of DisplayContent.
- Rename xxxAnimationLw methods in WindowManagerPolicy to xxxPostLayout
to reflect animation refactoring.

Change-Id: I502f2aa45a699ad395a249a12abf9843294623f0
honeWindowManager.java
d36ebe03c997cc034ba85d06e1fa0da8df047794 01-Sep-2012 Jim Miller <jaggies@google.com> Keyguard bug fixes

Bug:7088530 Lockscreen falsely states "Wrong PIN"
Bug:7091531 Owner name no longer shown on slide to unlock screen, Nakasi
Bug:7091131 When entering a SIM PIN, focus is not put onto the pin entry box
Change-Id: I5c7e957083b25a3445804ea092d962163d187fa1
eyguard/KeyguardPasswordView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardStatusViewManager.java
eyguard_obsolete/KeyguardStatusViewManager.java
58a2950b66f049c0d9e9f1a9fce16884f0b50e19 31-Aug-2012 Jim Miller <jaggies@google.com> Merge "Lots of keyguard improvements - Fix "too many attempts" dialogs - Fix account unlock mechanism so the user can use email account as backup for pattern unlock - Add mechanism to support future account recovery from non-pattern screen - Tune animation timing for flipping security view. - Move password field to the top of the security view - Add padding and visual feedback to navigation area button" into jb-mr1-dev
258341c377b6aa9f1bd29a9b507a97967e432dfe 31-Aug-2012 Jim Miller <jaggies@google.com> Lots of keyguard improvements
- Fix "too many attempts" dialogs
- Fix account unlock mechanism so the user can use email account as backup for pattern unlock
- Add mechanism to support future account recovery from non-pattern screen
- Tune animation timing for flipping security view.
- Move password field to the top of the security view
- Add padding and visual feedback to navigation area button

Fixes bugs 7088482, 7088631

Change-Id: I23099feae3b7446ec291d8f860601bfc12f9edd8
eyguard/KeyguardHostView.java
eyguard/KeyguardNavigationManager.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityCallback.java
eyguard/KeyguardSecurityModel.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardViewMediator.java
eyguard/KeyguardWidgetFrame.java
5ac72a29593ab9a20337a2225df52bdf4754be02 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user broadcasts.

You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
lobalActions.java
honeFallbackEventHandler.java
honeWindowManager.java
eyguard_obsolete/KeyguardViewMediator.java
a99e4caa94ed3261d11c650e778c7c9b26b3e590 30-Aug-2012 Jeff Sharkey <jsharkey@android.com> Merge "Bind to screenshot service for current user." into jb-mr1-dev
5b81de4de741f736889fd86e1dd324ad88136ebe 30-Aug-2012 Jim Miller <jaggies@google.com> Merge "Fix Camera and GoogleNow launching in keyguard" into jb-mr1-dev
5f75aa15d7c1c5ea1c1eecd95bf2bb0920173eb2 30-Aug-2012 Jim Miller <jaggies@google.com> Fix Camera and GoogleNow launching in keyguard

This change allows keyguard to launch the secure camera when the device
is in a secure mode. It also allows launching delayed actions after the
user has entered their security, such as that required for GoogleNow.

Change-Id: I54975001728ced3c339f86eafc3a38cea606082b
eyguard/KeyguardHostView.java
eyguard/KeyguardSecurityCallback.java
eyguard/KeyguardSelectorView.java
f2dfc351dec58ad3c16f8496208b4e6e9c667efe 30-Aug-2012 Jim Miller <jaggies@google.com> Integrate overscroll into KeyguardWidgetView.

This integrates overscroll behavior into keyguard.

Change-Id: I19c0f70c85a4ebb0ddd3f433b6f88a992f40919b
eyguard/KeyguardHostView.java
eyguard/KeyguardWidgetFrame.java
eyguard/KeyguardWidgetPager.java
eyguard/KeyguardWidgetView.java
5a05f2bf22954fdbd294bca8adc2b8ef0e8c5e00 30-Aug-2012 Jim Miller <jaggies@google.com> Merge "Fix MENU key in keyguard." into jb-mr1-dev
95b005c196de2f99513da28fe9108b2dec200140 30-Aug-2012 Jim Miller <jaggies@google.com> Fix MENU key in keyguard.

This re-enables the MENU key in keyguard so that automation tests still work.

Change-Id: I3d2fbf9240e12dc4a243354fa09e5d639304be6e
eyguard/KeyguardHostView.java
d5ea3b464795d4e6adbdd174d1bd2f78b628e280 30-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Add initial multi-display support." into jb-mr1-dev
bd6e1500aedc5461e832f69e76341bff0e55fa2b 28-Aug-2012 Jeff Brown <jeffbrown@google.com> Add initial multi-display support.

Split the DisplayManager into two parts. One part is bound
to a Context and takes care of Display compatibility and
caching Display objects on behalf of the Context. The other
part is global and takes care of communicating with the
DisplayManagerService, handling callbacks, and caching
DisplayInfo objects on behalf of the process.

Implemented support for enumerating Displays and getting
callbacks when displays are added, removed or changed.

Elaborated the roles of DisplayManagerService, DisplayAdapter,
and DisplayDevice. We now support having multiple display
adapters registered, each of which can register multiple display
devices and configure them dynamically.

Added an OverlayDisplayAdapter which is used to simulate
secondary displays by means of overlay windows. Different
configurations of overlays can be selected using a new
setting in the Developer Settings panel. The overlays can
be repositioned and resized by the user for convenience.

At the moment, all displays are mirrors of display 0 and
no display transformations are applied. This will be improved
in future patches.

Refactored the way that the window manager creates its threads.
The OverlayDisplayAdapter needs to be able to use hardware
acceleration so it must share the same UI thread as the Keyguard
and window manager policy. We now handle this explicitly as
part of starting up the system server. This puts us in a
better position to consider how we might want to share (or not
share) Loopers among components.

Overlay displays are disabled when in safe mode or in only-core
mode to reduce the number of dependencies started in these modes.

Change-Id: Ic2a661d5448dde01b095ab150697cb6791d69bb5
honeWindowManager.java
9c7e630e3ffb2aef4a14f0189824dff8dc9095df 29-Aug-2012 Jim Miller <jaggies@google.com> Enable new keyguard

Change-Id: I52af2d4f9083120616f012138a60b557a0eb70cf
honeWindowManager.java
dcb3d84b82cc2448d04e73359a716581bfb657db 24-Aug-2012 Jim Miller <jaggies@google.com> Replace keyguard with new implementation

This change refactors keyguard to be more modular and maintainable. More
specifically, it replaces the top-level view with just one device-dependent
view that contains two views: a widget area and a security area.

The widget area can be populated with custom widgets.

The security area contains the current security method as dictated by
the stored password quality.

This change contains both the old and the new keyguard with the old keyguard
still enabled. The new keyguard will be enabled in a subsequent change.

Change-Id: Id75286113771ca1407e9db182172b580f870b612
ccountUnlockScreen.java
iometricSensorUnlock.java
aceUnlock.java
eyguardScreen.java
eyguardScreenCallback.java
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardUpdateMonitorCallback.java
eyguardViewBase.java
eyguardViewCallback.java
eyguardViewManager.java
eyguardViewMediator.java
eyguardViewProperties.java
eyguardWindowController.java
ockPatternKeyguardView.java
ockPatternKeyguardViewProperties.java
ockScreen.java
asswordUnlockScreen.java
atternUnlockScreen.java
honeWindowManager.java
imPukUnlockScreen.java
imUnlockScreen.java
eyguard/BiometricSensorUnlock.java
eyguard/FaceUnlock.java
eyguard/KeyguardAccountView.java
eyguard/KeyguardFaceUnlockView.java
eyguard/KeyguardHostView.java
eyguard/KeyguardNavigationManager.java
eyguard/KeyguardPasswordView.java
eyguard/KeyguardPatternView.java
eyguard/KeyguardSecurityCallback.java
eyguard/KeyguardSecurityModel.java
eyguard/KeyguardSecurityView.java
eyguard/KeyguardSelectorView.java
eyguard/KeyguardSimPinView.java
eyguard/KeyguardSimPukView.java
eyguard/KeyguardStatusView.java
eyguard/KeyguardStatusViewManager.java
eyguard/KeyguardUpdateMonitor.java
eyguard/KeyguardUpdateMonitorCallback.java
eyguard/KeyguardViewBase.java
eyguard/KeyguardViewManager.java
eyguard/KeyguardViewMediator.java
eyguard/KeyguardWidgetView.java
eyguard/PagedView.java
eyguard_obsolete/AccountUnlockScreen.java
eyguard_obsolete/BiometricSensorUnlock.java
eyguard_obsolete/FaceUnlock.java
eyguard_obsolete/KeyguardScreen.java
eyguard_obsolete/KeyguardScreenCallback.java
eyguard_obsolete/KeyguardStatusViewManager.java
eyguard_obsolete/KeyguardUpdateMonitor.java
eyguard_obsolete/KeyguardUpdateMonitorCallback.java
eyguard_obsolete/KeyguardViewBase.java
eyguard_obsolete/KeyguardViewCallback.java
eyguard_obsolete/KeyguardViewManager.java
eyguard_obsolete/KeyguardViewMediator.java
eyguard_obsolete/KeyguardViewProperties.java
eyguard_obsolete/KeyguardWindowController.java
eyguard_obsolete/LockPatternKeyguardView.java
eyguard_obsolete/LockPatternKeyguardViewProperties.java
eyguard_obsolete/LockScreen.java
eyguard_obsolete/PasswordUnlockScreen.java
eyguard_obsolete/PatternUnlockScreen.java
eyguard_obsolete/SimPukUnlockScreen.java
eyguard_obsolete/SimUnlockScreen.java
35744c19f6b4e2fc8bbd6fe2c82cea7a76818dfd 29-Aug-2012 Jeff Sharkey <jsharkey@android.com> Bind to screenshot service for current user.

Let apps bindService() across user boundaries if they hold the
INTERACT_ACROSS_USERS_FULL permission.

Bug: 7012034
Change-Id: I2047d8318e1de47bfae7470d1dbc6fe5cfe44fdc
honeWindowManager.java
a2910d0abbbe18ba1710dfd4a31af45769632255 25-Aug-2012 Jeff Brown <jeffbrown@google.com> Make it easier to create asynchronous Handlers.

There are potentially very many Handlers owned by services
that should not be blocked by barriers introduced by UI traversals
occurring on the same thread (if that ever happens).
Add some convenience constructors to make it easy to switch
these Handlers over to being async.

Bug: 7057752
Change-Id: I64d9bffe81e7c52ada4cfad4e89d4340153f4688
eyguardViewMediator.java
5f7979993979466c79ab4f38d83c6f2aca361662 16-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
honeWindow.java
6a25cbdd941ead36fbf4f1f8b27db0e6024264ce 23-Aug-2012 Jeff Sharkey <jsharkey@android.com> Make USER_PRESENT broadcast per-user.

Bug: 7029707
Change-Id: Ic4671b96525dc2fb4d58ce3fca0a4627598a6cae
eyguardViewMediator.java
4b72463d7cb807912ca359f3b5a160f59d985c1d 21-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Add factory test feature to shut off on long press power." into jb-mr1-dev
a5d5d608ccd885d8328879dde782a8cc93b7cf4f 21-Aug-2012 Brian Muramatsu <btmura@google.com> Merge "add wireless charger support" into jb-mr1-dev
9a538ee7bde42ad36f43edc48594282d98e191a4 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Add factory test feature to shut off on long press power.

Bug: 6847329
Change-Id: I2f4f975c3af2d13ccc06812a5a42e79032700862
lobalActions.java
honeWindowManager.java
37a37f445cbcd64376af153dd79ea2a123d9405d 15-Aug-2012 Brian Muramatsu <btmura@google.com> add wireless charger support

bug: 6879638

- add new enum value BATTERY_PLUGGED_WIRELESS
- check for sys online file with contents "Wireless"

Change-Id: I22dc3c40f50573c98643e7b5cbcb237d0216530d
eyguardUpdateMonitor.java
98365d7663cbd82979a5700faf0050220b01084d 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Refactor for multi-display support.

Split WindowManagerImpl into two parts, the WindowManager
interface implementation remains where it is but the global
communications with the window manager are now handled by
the WindowManagerGlobal class. This change greatly simplifies
the challenge of having separate WindowManager instances
for each Context.

Removed WindowManagerImpl.getDefault(). This represents the
bulk of this change. Most of the usages of this method were
either to perform global functions (now handled by WindowManagerGlobal)
or to obtain the default display (now handled by DisplayManager).

Explicitly associate each new window with a display and make
the Display object available to the View hierarchy.

Add stubs for some new display manager API features.

Start to split apart the concepts of display id and layer stack.
since they operate at different layers of abstraction.
While it's true that each logical display uniquely corresponds to a
surface flinger layer stack, it is not necessarily the case that
they must use the same ids. Added Display.getLayerStack()
and started using it in places where it was relatively easy to do.

Change-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61
lobalActions.java
eyguardViewManager.java
eyguardViewMediator.java
honeWindowManager.java
79af1dd54c16cde063152922b42c96d72ae9eca8 17-Aug-2012 Dianne Hackborn <hackbod@google.com> Switch public APIs to use new UserHandle class for identifying users.

Gets rid of "yet another integer" confusion.

Change-Id: Id07ea7307aea7c62f0087c6663a1f1c08e2e5dee
ockScreen.java
honeWindowManager.java
2a00329c6d55c6cd9166e01963d7410e95d80d21 15-Aug-2012 Amith Yamasani <yamasani@google.com> UserHandle to UserSerialNo mapping

Use AtomicFile for usermanager files.

Added a MANAGE_USERS permission that apps (signature permission) can use
to create/query/modify/remove users.

Change-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9
eyguardUpdateMonitor.java
c40771a90d348b59ce0ffb8654f2d0cde39d7384 16-Aug-2012 Michael Jurka <mikejurka@google.com> Merge "Fix bug with preloading recent tasks" into jb-mr1-dev
f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8 16-Aug-2012 Dianne Hackborn <hackbod@google.com> Rename UserId to UserHandle.

This is the start of turning this into a formal public API.

Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
ockScreen.java
honeWindowManager.java
01de93de1e2a72bb530b6eeaccad59d100970f37 13-Apr-2012 Michael Jurka <mikejurka@google.com> Fix bug with preloading recent tasks

Don't send a "cancel preloading" event to recents
from PhoneWindowManager if we're not using
long-press on home to invoke recents (ie phones
with soft nav keys)
honeWindowManager.java
194b6e971668ea32124bdc1b0f534fcb3e06ef9f 15-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Power manager rewrite." into jb-mr1-dev
9630704ed3b265f008a8f64ec60a33cf9dcd3345 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Power manager rewrite.

The major goal of this rewrite is to make it easier to implement
power management policies correctly. According, the new
implementation primarily uses state-based rather than event-based
triggers for applying changes to the current power state.

For example, when an application requests that the proximity
sensor be used to manage the screen state (by way of a wake lock),
the power manager makes note of the fact that the set of
wake locks changed. Then it executes a common update function
that recalculates the entire state, first looking at wake locks,
then considering user activity, and eventually determining whether
the screen should be turned on or off. At this point it may
make a request to a component called the DisplayPowerController
to asynchronously update the display's powe state. Likewise,
DisplayPowerController makes note of the updated power request
and schedules its own update function to figure out what needs
to be changed.

The big benefit of this approach is that it's easy to mutate
multiple properties of the power state simultaneously then
apply their joint effects together all at once. Transitions
between states are detected and resolved by the update in
a consistent manner.

The new power manager service has is implemented as a set of
loosely coupled components. For the most part, information
only flows one way through these components (by issuing a
request to that component) although some components support
sending a message back to indicate when the work has been
completed. For example, the DisplayPowerController posts
a callback runnable asynchronously to tell the PowerManagerService
when the display is ready. An important feature of this
approach is that each component neatly encapsulates its
state and maintains its own invariants. Moreover, we do
not need to worry about deadlocks or awkward mutual exclusion
semantics because most of the requests are asynchronous.

The benefits of this design are especially apparent in
the implementation of the screen on / off and brightness
control animations which are able to take advantage of
framework features like properties, ObjectAnimator
and Choreographer.

The screen on / off animation is now the responsibility
of the power manager (instead of surface flinger). This change
makes it much easier to ensure that the animation is properly
coordinated with other power state changes and eliminates
the cause of race conditions in the older implementation.

The because of the userActivity() function has been changed
so that it never wakes the device from sleep. This change
removes ambiguity around forcing or disabling user activity
for various purposes. To wake the device, use wakeUp().
To put it to sleep, use goToSleep(). Simple.

The power manager service interface and API has been significantly
simplified and consolidated. Also fixed some inconsistencies
related to how the minimum and maximum screen brightness setting
was presented in brightness control widgets and enforced behind
the scenes.

At present the following features are implemented:

- Wake locks.
- User activity.
- Wake up / go to sleep.
- Power state broadcasts.
- Battery stats and event log notifications.
- Dreams.
- Proximity screen off.
- Animated screen on / off transitions.
- Auto-dimming.
- Auto-brightness control for the screen backlight with
different timeouts for ramping up versus ramping down.
- Auto-on when plugged or unplugged.
- Stay on when plugged.
- Device administration maximum user activity timeout.
- Application controlled brightness via window manager.

The following features are not yet implemented:

- Reduced user activity timeout for the key guard.
- Reduced user activity timeout for the phone application.
- Coordinating screen on barriers with the window manager.
- Preventing auto-rotation during power state changes.
- Auto-brightness adjustment setting (feature was disabled
in previous version of the power manager service pending
an improved UI design so leaving it out for now).
- Interpolated brightness control (a proposed new scheme
for more compactly specifying auto-brightness levels
in config.xml).
- Button / keyboard backlight control.
- Change window manager to associated WorkSource with
KEEP_SCREEN_ON_FLAG wake lock instead of talking
directly to the battery stats service.
- Optionally support animating screen brightness when
turning on/off instead of playing electron beam animation
(config_animateScreenLights).

Change-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
eyguardViewMediator.java
honeWindowManager.java
f8d9e2fccdd9f2addeda852ad168eeb67a5f6626 15-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Make all messages in KeyguardViewMediator asynchronous." into jb-mr1-dev
109025d778c12d78f8585920447320aaf0f1d2f8 15-Aug-2012 Jeff Brown <jeffbrown@google.com> Make all messages in KeyguardViewMediator asynchronous.

We don't want these messages to get blocked by UI traversals.

Added a convenience for creating Handlers that always send
asynchronous messages.

Change-Id: Id568e87fcb8b169e8c52c5fe1dc76a4a5771570b
eyguardViewMediator.java
595b6565dcac3af10983310dff6dcfb88b11f457 15-Aug-2012 Dianne Hackborn <hackbod@android.com> am 977abbb8: am 48de12c5: Merge "Keep keyguard from starting after finished call when screen is on"

* commit '977abbb887cfaf7cd8a0d31235281fbdd639ac19':
Keep keyguard from starting after finished call when screen is on
977abbb887cfaf7cd8a0d31235281fbdd639ac19 15-Aug-2012 Dianne Hackborn <hackbod@android.com> am 48de12c5: Merge "Keep keyguard from starting after finished call when screen is on"

* commit '48de12c5d1dc8d856724e8a1ec8288d9bfae40cd':
Keep keyguard from starting after finished call when screen is on
c1d07a4bd26c0ecf87bfa151ae43cb92c0c73791 14-Aug-2012 Amith Yamasani <yamasani@google.com> Launch ASSIST intent on the current user

Lockscreen and statusbar now launch the intent on the current user.
Make sure that the intent resolution is made to the package manager
for the specific user, as the app could have been disabled for that
user or may have an alternative app installed.

Change-Id: I93b0f972d6c7e8880b146da83dc3d08a68fe7e51
ockScreen.java
honeWindowManager.java
4b71686d09ef0e13e729338e3a549f2f63f80db1 29-Mar-2012 Daniel Hansson <daniel.hansson@sonymobile.com> Keep keyguard from starting after finished call when screen is on

Previously keyguard would start after a call ended, even though
the screen was on, if the screen had not been turned off since
phone startup.

Change-Id: I03c18a0bb2a58760614645871f4703afb9a0677d
eyguardViewMediator.java
f83d2d6f6b4a23011226a7b9fee20dabf94820cb 12-Aug-2012 Amith Yamasani <yamasani@google.com> Merge "User Manager service to manage users and query user details" into jb-mr1-dev
258848d2ae04f447ff1c18023fa76b139fcc0862 11-Aug-2012 Amith Yamasani <yamasani@google.com> User Manager service to manage users and query user details

Moved a bunch of methods from PackageManager to UserManager.

Fix launching of activities from recents to correct user.

Guest creation APIs

Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
lobalActions.java
f7178d3cadfeb0101491eeea7d7f3b0d7c26dbe6 10-Aug-2012 Daniel Sandler <dsandler@android.com> Allow the secure keyguard to engage behind Dreams.

TYPE_DREAM windows are now considered for relevant window
flags alongside application windows.

Bug: 6961616
Change-Id: Idee3303276a8b69c7f07de1d6acdce64c6e1b863
honeWindowManager.java
5773bfdb7cd3852d9fedd497e3c22c49c83d0d75 13-Jul-2012 Dianne Hackborn <hackbod@google.com> Add power menu action to take a bug report

Change-Id: I5f58d99e9a27a1fc496fa54e0c0ee333087155da
lobalActions.java
cbb6b41aeff9d70bee30ac670237e45b35689cc0 04-Aug-2012 Craig Mautner <cmautner@google.com> Merge "Do not use last app rotation as default." into jb-mr1-dev
dde331cebd87982faded6818ad5f9927ff994c96 03-Aug-2012 Dianne Hackborn <hackbod@google.com> We can now (kind-of) change screen density on the fly.

Preloaded drawables now have a density associated with them, so we
can load the correct drawable if we are using a different density.

Window manager now formally keeps track of the density for each
screen, allowing it to be overridden like you can already do with
size, and relies on this density to drive itself internally and
the configurations it reports.

There are a new set of Bitmap constructors where you provide a
DisplayMetrics so they can be constructed with the correct density.
(This will be for when you can have different windows in the same
app running at different densities.)

ActivityThread now watches for density changes, and pushes them
to the DENSITY_DEVICE and Bitmap global density values for that
process.

A new am command allows you to change the density.
honeWindowManager.java
4bd149ef83c8e3e2ffb61885e71f44df9a9ccfa7 03-Aug-2012 Craig Mautner <cmautner@google.com> Do not use last app rotation as default.

If the rotation sensor has been disabled we were substituting the
last app rotation for the sensor value. This fix uses the last
sensor value delivered before the sensor was disabled. Only use
the last app rotation if we never have received a valid sensor
value.

Fixes bug 6387946.

Change-Id: I50743c30ee2b4455e9848d3a619809be97eec3c8
honeWindowManager.java
bc632a28e4fba4a659baf39b9fd3d06d10cfda97 31-Jul-2012 John Spurlock <jspurlock@google.com> Re-enable dreams: frameworks/base

Enable feature in config. Expose Dream in public api for unbundled apps.
Unhide package. Add isDreaming() method to service.

Re-arrange the Dream api a bit. (use onStart as hook for subclasses).
Coordinate properly with power manager.

Replace old dock mode (don't fire old intent).

Change-Id: I1318d20cc1613e5d862f2913f2fcdc9719302cf7
Bug: 6921930
honeWindowManager.java
908aecc3a63c5520d5b11da14a9383f885b7d126 01-Aug-2012 Dianne Hackborn <hackbod@google.com> Start moving away from DisplayMetrics.DENSITY_DEVICE.

This puts in most of the infrastructure needed to allow us to
switch between different densities at run time. The main remaining
uses of the global are to initialize the Bitmap object (not sure
what to do about that since it doesn't have anything passed in
the constructor to get this information from), and being able to
load drawables if we need a different density than what was preloaded
by zygote.

Change-Id: Ifdbfd6b7a5c59e6aa22e63b95b78d96af3d96848
honeWindowManager.java
e72a6e977b8436a993c427cf489f2ae05fdeface 30-Jul-2012 Adam Powell <adamp@android.com> am fc92eb94: am 2ffb1acb: Merge " Fix preload classname for phone policy."

* commit 'fc92eb94c413ebae1016d10460ee62e92f0c1a64':
Fix preload classname for phone policy.
fc92eb94c413ebae1016d10460ee62e92f0c1a64 30-Jul-2012 Adam Powell <adamp@android.com> am 2ffb1acb: Merge " Fix preload classname for phone policy."

* commit '2ffb1acbb704fa9d87fe496d5b7f3053e02799df':
Fix preload classname for phone policy.
2ffb1acbb704fa9d87fe496d5b7f3053e02799df 30-Jul-2012 Adam Powell <adamp@android.com> Merge " Fix preload classname for phone policy."
b696de5c10ebcc7bf42d8487fc0e56e0e937754d 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Move and rename user activity event type constants.

Change-Id: Ie565808796773b6896e71ddfac6aaaf8031de846
honeWindowManager.java
525ff5f36bb5ae7595738588c6483f0f35eeeed3 23-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove dead code.

Change-Id: I33afe3a1c364d5cdb9fa08867ad1580c0fd04e0e
honeWindowManager.java
29f78363d16d5fc92c4efc4787340c02f47ff453 25-Jul-2012 Shawn Pearce <sop@google.com> am 5f8d4832: am 8d6ff012: Merge "Fix 5608959: Make keyguard follow user setting for orientation" into jb-dev

* commit '5f8d48324e891fa9953ffa3056ea9d8f03075d96':
Fix 5608959: Make keyguard follow user setting for orientation
5f8d48324e891fa9953ffa3056ea9d8f03075d96 25-Jul-2012 Shawn Pearce <sop@google.com> am 8d6ff012: Merge "Fix 5608959: Make keyguard follow user setting for orientation" into jb-dev

* commit '8d6ff012ed14fb2e0ddad059deea3b1fe74aac3c':
Fix 5608959: Make keyguard follow user setting for orientation
82f91963188fd87aae0b35dd0f01ab95d5bb5fd3 24-Jul-2012 Jim Miller <jaggies@google.com> Fix 5608959: Make keyguard follow user setting for orientation

This fixes a bug where keyguard would always change orientation
when enabled from config_enableLockScreenRotation. Now it follows
the user preference.

Change-Id: I0437d11e1984d22cdadddc57deb47d800fb86aa1
eyguardViewManager.java
bbf1a743186e8e62c3918971344e8bff3dfaa737 18-Jul-2012 Jim Miller <jaggies@google.com> Clean up info and callback architecture in KeyguardUpdateMonitor.

- We now pass a more robust battery status object to methods that handle battery updates.
- Consolidated battery decision code into BatteryStatus object (e.g. charging, low, charged)
so it can be shared.
- Consolidated SIMStateCallback into common KeyguardUpdateMonitorCallback object to reduce complexity.
- Consolidated user changes into common callback using KeyguardUpdateMonitorCallback.
- Fixed a race condition caused by launching LockSettingsService after WindowManagerService.

Change-Id: I6b2a328f8581f35593e41348693b92ab66d02429
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardUpdateMonitorCallback.java
eyguardViewMediator.java
ockPatternKeyguardView.java
ockScreen.java
33034b13cae1429d526722374bd39be3f9605ae4 10-Jul-2012 Wink Saville <wink@google.com> Create telephony-common and mms-common - DO NOT MERGE

These have been created to reduce the size and complexity
of frameworks/base.

mms-common was created by moving all of
frameworks/base/core/java/com/google/android/mms
to:
frameworks/opt/mms

telephony-common was created by moving some of
frameworks/base/telephony
to:
frameworks/opt/telephony

Change-Id: If6cb3c6ff952767fc10210f923dc0e4b343cd4ad
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockPatternKeyguardView.java
ockPatternKeyguardViewProperties.java
ockScreen.java
f8dcee5151c01101b4fa00d67e013b42217fa6d4 17-Jul-2012 Erik Gilling <konkers@android.com> Merge "remove code to resize status bar when on HDMI"
c69238ebc8d011ce225c9540bcf4e79bd3fa8eb0 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove dithering support."
3cc321ecf505d87850740ad3c63849e6793a8ef6 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove dithering support.

The dithering flag is no longer implemented in Surface Flinger
so this is all dead code.

Change-Id: I74c0e452923207e5b7cfe0eeca9457e5cb990947
honeWindow.java
81d13e8e73df49dad41d29af4f7e332cd52644ee 17-Jul-2012 Erik Gilling <konkers@android.com> remove code to resize status bar when on HDMI

Change-Id: I413eff8fe664033e5187ac54247ec0140175b7ba
honeWindowManager.java
ef863701ae20f985439abacd84dceac130804cbc 11-Jul-2012 Daniel Sandler <dsandler@android.com> Switch to split status/nav bars on all device sizes.

Change-Id: Ie76aa4bdfd76e4a0ffb3949424ab28ef86ec54a1
honeWindowManager.java
565e3e79b01502f0738a73120addcbc88befe516 16-Jul-2012 Romain Guy <romainguy@android.com> am 4094fb3c: am 8d170421: Merge "Fix wrong condition."

* commit '4094fb3c5b95c88d689238cbf0a9e2c169a5e557':
Fix wrong condition.
4094fb3c5b95c88d689238cbf0a9e2c169a5e557 16-Jul-2012 Romain Guy <romainguy@android.com> am 8d170421: Merge "Fix wrong condition."

* commit '8d1704215e80ebec61f6d77c503d83b32d881096':
Fix wrong condition.
8108e9f8cd03b97a81dbae83ec7164dcb93b515a 14-Jul-2012 SeongJae Park <sj38.park@gmail.com> Fix wrong condition.

Should check width and height, not width and width.

Change-Id: Ie84d3605b2a7a0f4776adb876608ea92f56817c4
conUtilities.java
646d60383d07363c0d1e10c4e9494d353d456a07 14-Jul-2012 Jim Miller <jaggies@google.com> Fix regression in SIM state handling

This fixes a bug introduced by If6cb3c6ff952767fc10210f923dc0e4b343cd4ad
that accidentally reverted I019d1d8c65c55cbf4d10d4928e1d2b2b242162a6

Change-Id: Ia006bf31387162a520374f3bc9acb6e69197b106
ockPatternKeyguardViewProperties.java
51c0a6a6fdd9c097669cb2834a3abab73a020e1d 13-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make PhoneWindow aware of layout direction"
5362f17ff5e8e06601b172bd86c26027ced9780c 12-Jul-2012 Wink Saville <wink@google.com> Merge commit '1b003ef0' into mit

* commit '1b003ef0':
Create telephony-common and mms-common

Change-Id: Ie8876541dbe7f4c933cf7d69910dd204538bc975
a639b311e93ad14d9ee5c2b2c215ed2d86c32d2a 10-Jul-2012 Wink Saville <wink@google.com> Create telephony-common and mms-common

These have been created to reduce the size and complexity
of frameworks/base.

mms-common was created by moving all of
frameworks/base/core/java/com/google/android/mms
to:
frameworks/opt/mms

telephony-common was created by moving some of
frameworks/base/telephony
to:
frameworks/opt/telephony

Change-Id: If6cb3c6ff952767fc10210f923dc0e4b343cd4ad
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockPatternKeyguardView.java
ockPatternKeyguardViewProperties.java
ockScreen.java
f2b0c11f4e797e183131261724d8de310dac5431 09-Jul-2012 Jean-Michel Trivi <jmtrivi@google.com> Fix sound effect attenuation calculation

The sound effect volume attenuation calculation is wrong: the
division by 20 was always returning 1 or 0.
In AudioService, rename the sound effect attenuation value to
follow the naming conventions for static variables.

Change-Id: I3c36d50f4470ff09ca98cb944aefb5ad0f968782
eyguardViewMediator.java
6fbda63e68513ece4409dac845588711ab25c39d 03-Jul-2012 Craig Mautner <cmautner@google.com> Merge CL 202423/3 App launching has random pauses.

Change-Id: Iba5616182c02e51f4d9063d0a01b30b9f558549a
honeWindowManager.java
94a962833f420b72a6a45d2f84208cb9284c0ad3 27-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Make PhoneWindow aware of layout direction

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: I94508d4ed5d9f9e348c3c19c5e12355f5723659d
honeWindow.java
a4b7f2f75e7803193429ec1179fb5e2eb1c6fbda 21-May-2012 Dianne Hackborn <hackbod@google.com> Use two fingers to work some magic...

Change-Id: Ibcb3dbd3d158c22da8277e544d81fb47eadccd49
honeWindowManager.java
dfcd6653c5b142e7e2f4275e35f06eaa1a363e60 26-Jun-2012 Dianne Hackborn <hackbod@google.com> am e53fd84a: am 9e608c12: Merge "Fix issue #6381224: Initial emulator boot fails and shows a blank black screen." into jb-dev

* commit 'e53fd84a28584692d9c99712a3d36100643ba000':
Fix issue #6381224: Initial emulator boot fails and shows a blank black screen.
e53fd84a28584692d9c99712a3d36100643ba000 26-Jun-2012 Dianne Hackborn <hackbod@google.com> am 9e608c12: Merge "Fix issue #6381224: Initial emulator boot fails and shows a blank black screen." into jb-dev

* commit '9e608c12186d308fb1711e8824901fdf931a3a96':
Fix issue #6381224: Initial emulator boot fails and shows a blank black screen.
b4215267f342759c8bdad02ed124dae4bb6d6833 26-Jun-2012 Dianne Hackborn <hackbod@google.com> am fca66cd8: Merge "DO NOT MERGE Fix issue #6697105: App launching sometimes has random pauses" into jb-dev

* commit 'fca66cd828e214fe7494e46c7daa2879dfc3210d':
DO NOT MERGE Fix issue #6697105: App launching sometimes has random pauses
9e608c12186d308fb1711e8824901fdf931a3a96 26-Jun-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6381224: Initial emulator boot fails and shows a blank black screen." into jb-dev
42e620caf0407f1b5e02935ac4323742c65459fd 24-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6381224: Initial emulator boot fails and shows a blank black screen.

Make sure that all cases where we remove an activity from the history
stack, we call resumeTopActivityLocked() to cause the home activity
to be launched if the stack is now empty.

Also fixed a problem where some timeouts would not be removed when destroying
an activity, and a race condition in boot that would cause the
PhoneWindowManager to initially start out with the home key not working.

Bug: 6381224
Change-Id: If046bb01aed624b0d9ee3bbaaba68ed6b98fd1d0
honeWindowManager.java
357d99c61d1c97199ca421408b3e26566e879f2a 21-Jun-2012 Dianne Hackborn <hackbod@google.com> DO NOT MERGE Fix issue #6697105: App launching sometimes has random pauses

In the course of the window manager refactoring into a separate
layout state, we introduced a bad interaction between the two
sides of the world. This resulting in multiple hops needed between
the two sides after an application has said it is finished drawing
its window, until the window/app transition is actually started.
Especially since these hops require going through the anim side
which is vsynced (so will delay its operation until the next frame),
this could introduce a notable delay until the window is first shown.

Fix this by re-arranging the code to make one straight path from
when a window reports it is shown to us starting the app transition
that is waiting for it. This change also includes various improvements
to debugging code that was done while working on it.

Change-Id: I7883674052da1a58df89cd1d9b8d754843cdd3db
honeWindowManager.java
ff695199ba54ece128ba38938af3ae777ac16166 22-Jun-2012 Craig Mautner <cmautner@google.com> am 42a6516d: am 89c6bec3: Merge "Make sure onScreenTurnedOn is called at power on." into jb-dev

* commit '42a6516de996b547ecbfc53fd7e101f2b8b6c490':
Make sure onScreenTurnedOn is called at power on.
42a6516de996b547ecbfc53fd7e101f2b8b6c490 21-Jun-2012 Craig Mautner <cmautner@google.com> am 89c6bec3: Merge "Make sure onScreenTurnedOn is called at power on." into jb-dev

* commit '89c6bec3218d2f3f6d9fbe04fe2936021440ea80':
Make sure onScreenTurnedOn is called at power on.
4f5d1511b9123c342ba96fbd335f77749fde00de 21-Jun-2012 Craig Mautner <cmautner@google.com> Make sure onScreenTurnedOn is called at power on.

KeyguardViewMediator.onScreenTurnedOn is not called if the device is
booted into the power-on state. In this case mScreenOn remains false
and the lockscreen will always appear after outgoing calls. This fix
ensures that onScreenTurnedOn is called when the device is powered
up in the on state.

Fixes bug 6709173.

Change-Id: I7557d8f002307b9125bc53b13bc3cb4c5c9b2758
eyguardViewMediator.java
honeWindowManager.java
306211d7924a276b4cb9d1ff3c2fe70400e96e18 20-Jun-2012 Dianne Hackborn <hackbod@google.com> am b0222bb1: am 0fa4d30b: Merge "Fix issue #6686339: 2 taps required to launch notification..." into jb-dev

* commit 'b0222bb19e8d850ccbd74c4f0832d73ae552df8d':
Fix issue #6686339: 2 taps required to launch notification...
b0222bb19e8d850ccbd74c4f0832d73ae552df8d 20-Jun-2012 Dianne Hackborn <hackbod@google.com> am 0fa4d30b: Merge "Fix issue #6686339: 2 taps required to launch notification..." into jb-dev

* commit '0fa4d30b03c4307ca5d461aa4450b672b6850ea1':
Fix issue #6686339: 2 taps required to launch notification...
0fa4d30b03c4307ca5d461aa4450b672b6850ea1 20-Jun-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #6686339: 2 taps required to launch notification..." into jb-dev
6e2281d44c9b71a03a50ed24d654927111cd2b72 20-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6686339: 2 taps required to launch notification...

...or settings from lock screen

When a window is drawn, the code to determine whether it should now
be shown was calling WindowState.isReadyForDisplay(). Part of the
condition of this function is that it is not ready if a policy is
forcing the window to be hidden -- which is the case when the lock
screen is shown. As a result, we wouldn't show the window at that
point, so wouldn't tell the activity manager that the token's windows
are visibible, and wouldn't tell the lock screen to go away.

This adds a new variation WindowState.isReadyForDisplayIgnoringKeyguard(),
which is the same as the original method but ignores the policy visibility
for app windows. This allows windows to be go through the complete
path of handling when the window is finally drawn and telling the
activity manager about it, even if behind the lock screen. By making it
a separate function, we don't impact any other code that is calling the
old function and may be relying on its behavior.

Also cleaned up a little of the dumpsys output. Most important, the
new ANR section is now moved to the top, since we want
"adb shell dumpsys window" to still give a nice summary of what we
normally care about -- the window stack and important global state.

Change-Id: Ica3ea85ce46f3f5f5cd2cc30fbd9de13d3885a57
honeWindowManager.java
9ec426aba68d2f08130a6756006e075468b54e53 20-Jun-2012 Jim Miller <jaggies@google.com> am 2b7df368: am cab997b2: Merge "Fix 6667238: allow market apps to support ACTION_ASSIST" into jb-dev

* commit '2b7df3686f24a5a653a6609556dd98210324f7bd':
Fix 6667238: allow market apps to support ACTION_ASSIST
2b7df3686f24a5a653a6609556dd98210324f7bd 20-Jun-2012 Jim Miller <jaggies@google.com> am cab997b2: Merge "Fix 6667238: allow market apps to support ACTION_ASSIST" into jb-dev

* commit 'cab997b2020ddb67158397dccadd28d91a7710d0':
Fix 6667238: allow market apps to support ACTION_ASSIST
45308b1b3b1582d048845df2ee5301241e52a5cf 19-Jun-2012 Jim Miller <jaggies@google.com> Fix 6667238: allow market apps to support ACTION_ASSIST

This change allows market apps and 3rd parties to supply an activity
that responds to ACTION_ASSIST (e.g. market apps).

It also adds a test app to respond to the ASSIST intent and force
the intent disambiguation dialog to appear.

Change-Id: I5a78863c6a9546d18c66275187d178f6a1c9ee17
ockScreen.java
honeWindowManager.java
629f051f7d061f4db4a174dbd267a96f0c8113df 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 586b8ee6: am 2f442304: Merge "Remote volume handling" into jb-dev

* commit '586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c':
Remote volume handling
586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 2f442304: Merge "Remote volume handling" into jb-dev

* commit '2f4423043ffeaf232ec984be03743326f08cdc8a':
Remote volume handling
2f4423043ffeaf232ec984be03743326f08cdc8a 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Remote volume handling" into jb-dev
3114ce3861f20f9a5c2c59dd2629197a1f4874a8 12-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling

Extend RemoteControlClient class to enable an applicaton to
specify more information about how it's playing media, now covering
usecases where media playback happens "remotely". This playback
information can be used to set the volume and maximum volume
used remotely.
Declare a new intent and associated extras in Intent,
ACTION_VOLUME_UPDATE, so an application can be notified that
the volume it handles should be updated. It can then use
the new RemoteControlClient.setPlaybackInformation() method
to notify AudioService what the volume is.
Extend AudioService to maintain playback information associated
with the RemoteControlClient information in the stack of
media button event receivers (mRCStack). The information
about the active remote is cached so the stack doesn't have
to be iterated over in order to retrieve remote playback info.
Events to "adjust" the remote volume based on hardware key
presses cause the client application to be notified of
volume updates, and the volume panel to display the volume
set by the app.
Revise which stream type is controlled when none is specified
according to latest guidelines for remote playback.
Update VolumePanel class to support a new pseudo stream type,
AudioService.STREAM_REMOTE_MUSIC, that corresponds to the
remote playback volume, and uses the new "media route" icon.
Enable it to receive asynchronously new volume values for
the remote that will be displayed if the UI is still up,
and ignored otherwise.
Now supports hiding/showing sliders dynamically so remote
volume only appears when AudioService has a remote control
client handling remote volume.
Define new java symbols for the two media route icons.
Modify lockscreen behavior: don't automatically control music
volume when music is active, consider also remote playback.

Still to do:
- playback information set by RemoteControlClient should post
a message for AudioService to update playback information
instead of updating it synchronously

Change-Id: I557aa687239f9acfe33a609f05876c67fa7eb967
eyguardViewBase.java
048311ca379d4265a0fcbfdd67d968e88ca0aa67 18-Jun-2012 Jim Miller <jaggies@google.com> am a10b1a73: am 12da2c5e: Merge "Fix 6665117: ACTION_ASSIST visual improvements" into jb-dev

* commit 'a10b1a738dfa8fcf094fec555e7d85dba179f5fc':
Fix 6665117: ACTION_ASSIST visual improvements
a10b1a738dfa8fcf094fec555e7d85dba179f5fc 18-Jun-2012 Jim Miller <jaggies@google.com> am 12da2c5e: Merge "Fix 6665117: ACTION_ASSIST visual improvements" into jb-dev

* commit '12da2c5eeeadd6c23da5d3003d0da3b6b73d5052':
Fix 6665117: ACTION_ASSIST visual improvements
12da2c5eeeadd6c23da5d3003d0da3b6b73d5052 18-Jun-2012 Jim Miller <jaggies@google.com> Merge "Fix 6665117: ACTION_ASSIST visual improvements" into jb-dev
91a5f4bef5720cf38e61634fd1337901bf17c694 18-Jun-2012 Jeff Brown <jeffbrown@google.com> am 79476980: am d7a04de1: Capture window manager\'s last ANR state in bug report.

* commit '7947698096d4b09bb0f662fdca89cfa5d475743e':
Capture window manager's last ANR state in bug report.
47add3e558e8a1a2839ce8e24e2bda136b265dd5 18-Jun-2012 Jim Miller <jaggies@google.com> am 5250db0b: am b06be57f: Merge "Fix 6507787: fix MMI PUK unlock procedure" into jb-dev

* commit '5250db0bfd18aacbb6406212a84e3dd101e547e6':
Fix 6507787: fix MMI PUK unlock procedure
7947698096d4b09bb0f662fdca89cfa5d475743e 18-Jun-2012 Jeff Brown <jeffbrown@google.com> am d7a04de1: Capture window manager\'s last ANR state in bug report.

* commit 'd7a04de16798acc04ec0a89a0c7d9f1cf60d1521':
Capture window manager's last ANR state in bug report.
5250db0bfd18aacbb6406212a84e3dd101e547e6 18-Jun-2012 Jim Miller <jaggies@google.com> am b06be57f: Merge "Fix 6507787: fix MMI PUK unlock procedure" into jb-dev

* commit 'b06be57f0acf8bb7b8c1767604058c8f061a7b8b':
Fix 6507787: fix MMI PUK unlock procedure
d7a04de16798acc04ec0a89a0c7d9f1cf60d1521 17-Jun-2012 Jeff Brown <jeffbrown@google.com> Capture window manager's last ANR state in bug report.

Currently just grabbing the window state but we could grab
other things as part of the last ANR report.

Bug: 6680398
Change-Id: I23aa70907b1bdcb21c8acc556fde196ca790ef6a
honeWindowManager.java
20039ad17b94873ee40fdd61c3d1d1aa590010df 16-Jun-2012 Jim Miller <jaggies@google.com> Fix 6665117: ACTION_ASSIST visual improvements

- add generic icon for search providers that don't supply one
- change alpha weighting factor for glow
- don't show ring background

Change-Id: I86c86dc2d623c25ec7b91e206fac8ad9cd60faac
ockScreen.java
b06be57f0acf8bb7b8c1767604058c8f061a7b8b 16-Jun-2012 Jim Miller <jaggies@google.com> Merge "Fix 6507787: fix MMI PUK unlock procedure" into jb-dev
2de5ee84636739dc82a4c4dda76666bf38cf281c 15-Jun-2012 Jim Miller <jaggies@google.com> Fix 6507787: fix MMI PUK unlock procedure

This fixes a bug where the user uses the MMI sequence (**05*PUK*PIN1*PIN1#)
from the EmergencyDialer to unlock their phone instead of the provided interface.

The code now recognizes when UnlockMode becomes invalid because it was previously
locked because of SIM state. It then dismisses the PUK unlock screen and advances
to the home screen.

Change-Id: I8902350e6f640cd2fa0af3460c3ea1a39d926c8a
eyguardUpdateMonitor.java
ockPatternKeyguardView.java
7cf23ee4782e25af0bfcb68e766aa86f8aba98ef 15-Jun-2012 Craig Mautner <cmautner@google.com> am de90d67b: am 8b9c6d51: Merge "Expose apps when keyguard animating." into jb-dev

* commit 'de90d67b2f3da4d931455df3c58d9c0f8ea3ffb5':
Expose apps when keyguard animating.
de90d67b2f3da4d931455df3c58d9c0f8ea3ffb5 14-Jun-2012 Craig Mautner <cmautner@google.com> am 8b9c6d51: Merge "Expose apps when keyguard animating." into jb-dev

* commit '8b9c6d51d59898375089e9708325604c227812e0':
Expose apps when keyguard animating.
f03e4c55fc5f8c50c58da03b7e8cfe29b4b0c644 14-Jun-2012 Craig Mautner <cmautner@google.com> Expose apps when keyguard animating.

Continuing in the trend of not hiding apps while the keyguard is
animating.

Fixes bug 6653600.

Change-Id: I151315084a13dcec061d2d6edccd31e1133610f4
honeWindowManager.java
2c89d171fa055255c629b4823739d6f44a3a9bea 14-Jun-2012 Jeff Brown <jeffbrown@google.com> am fc959a38: am 9e197141: Merge "Add new ASSIST key and map it to the global assist intent." into jb-dev

* commit 'fc959a389564f2ffef9c4ceba0b1ff119dd53933':
Add new ASSIST key and map it to the global assist intent.
fc959a389564f2ffef9c4ceba0b1ff119dd53933 14-Jun-2012 Jeff Brown <jeffbrown@google.com> am 9e197141: Merge "Add new ASSIST key and map it to the global assist intent." into jb-dev

* commit '9e197141f8249e36d3f19aeda332ae40dac7da05':
Add new ASSIST key and map it to the global assist intent.
9e197141f8249e36d3f19aeda332ae40dac7da05 14-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Add new ASSIST key and map it to the global assist intent." into jb-dev
57e38cff2e19b9815508aaf8b6b4755dbadb51d1 14-Jun-2012 Jeff Brown <jeffbrown@google.com> am 5c9768b5: am b44700f2: Merge "When SIM absent, keyguard should be considered non-secure." into jb-dev

* commit '5c9768b521cb1f813223822cc4d14f5ae576d8e6':
When SIM absent, keyguard should be considered non-secure.
ac66349e614614d94e511da61419c17743cb42d0 14-Jun-2012 Uriel Rodriguez <urodriguez@google.com> am a9f4fe82: am 6a797779: Merge "BUG 5457035: lowering max FUL failed attempts to 3" into jb-dev

* commit 'a9f4fe828fd905eead460d3f2a58a4370f8f9f57':
BUG 5457035: lowering max FUL failed attempts to 3
de7a8ead2467a4a152a5a9b2416c8048f1b48bbb 14-Jun-2012 Jeff Brown <jeffbrown@google.com> Add new ASSIST key and map it to the global assist intent.

Moved some duplicate code from SearchPanelView and LockScreen
over to SearchManager to avoid creating yet another copy of it
in PhoneWindowManager.

Bug: 6594275
Change-Id: Ib4ebcd6817639d17548952ab2ce7cb876c05777c
ockScreen.java
honeWindowManager.java
5c9768b521cb1f813223822cc4d14f5ae576d8e6 14-Jun-2012 Jeff Brown <jeffbrown@google.com> am b44700f2: Merge "When SIM absent, keyguard should be considered non-secure." into jb-dev

* commit 'b44700f27dc0f0673c54e422c62a49d0891b67d7':
When SIM absent, keyguard should be considered non-secure.
b44700f27dc0f0673c54e422c62a49d0891b67d7 14-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "When SIM absent, keyguard should be considered non-secure." into jb-dev
a9f4fe828fd905eead460d3f2a58a4370f8f9f57 14-Jun-2012 Uriel Rodriguez <urodriguez@google.com> am 6a797779: Merge "BUG 5457035: lowering max FUL failed attempts to 3" into jb-dev

* commit '6a7977794961fa7c165f7963b6ca6d82f94633ce':
BUG 5457035: lowering max FUL failed attempts to 3
47cd14d9bc5a448f8eb5c5acd111793e2332af70 14-Jun-2012 Jeff Brown <jeffbrown@google.com> When SIM absent, keyguard should be considered non-secure.

Previously, it was observed that while a SIM is being initialized
by the hardware the SIM may briefly be reported as being in an
ABSENT state before eventually transitioning into a READY,
PIN_REQUIRED, PUK_REQUIRED, PERM_DISABLE state.

While booting up, the phone might observe that the SIM is ABSENT and
therefore bypass the keyguard going straight to the home screen.
Later when the SIM was fully initialized, the phone would revert back
to the lock screen in order to ask for the PIN. The user might
turn on the phone, slide out the keyboard (bypassing the keyguard),
then a few moments later the keyguard would pop up prompting for a PIN.

The user experience could be somewhat jarring, so the keyguard was
changed to handle the transient case differently. While the SIM
was ABSENT, the keyguard would not be automatically bypassed
by opening the keyboard slider. Thus the user would be forced to
manually swipe away the keyguard before interacting with the
device. This would help to cover the time it would take before
the SIM was fully initialized and the keyguard could determine
whether the user would need to be prompted for a SIM PIN or PUK.

To prevent the keyguard from being bypassed automatically, we
hacked up the keyguard so that it would be considered to be in a
secure state while the SIM was ABSENT. It's worth noting that
considering the keyguard to be secure did not confer any
additional security properties to the system whatsoever.
If the user did not have a pattern lock, PIN or password set then
all it would take to access the phone is to swipe away the keyguard.

This old hack was all about devices with slide-out keyboards,
but it had some side-effects. Namely, it assumed that the SIM
ABSENT state was transient. But what about phones that are
being used without a SIM at all?

Considering the keyguard to be secure when the SIM is ABSENT
breaks stuff. In fact, it turns out that making the keyguard
secure isn't really what we want at all. What we want is a way
to prevent the keyguard from being automatically bypassed on
boot when the user opens up a sliding keyboard. But we don't
have those anymore... and in the worst case it was just a little
janky... and what's more, nowadays the keyguard provides useful
features so maybe we shouldn't bypass it anyhow... oh and actually,
I deleted the code that used to bypass the keyguard when the
keyboard slider was opened... so this does nothing useful at all.

Right...

This change removes the old hack thereby ensuring that non-secure
keyguard features like launching the Camera or Assistant or
application features like hands-free voice search will work
correctly on phones without a SIM.

Bug: 6022658
Change-Id: I019d1d8c65c55cbf4d10d4928e1d2b2b242162a6
ockPatternKeyguardViewProperties.java
aa24906de299b392a3aa8576d3f0df77089f53c2 13-Jun-2012 Uriel Rodriguez <urodriguez@google.com> BUG 5457035: lowering max FUL failed attempts to 3

After an unrecognized face occurs 3 times in a row, we disable FUL until the user unlocks via the
backup lock. Lowering this values makes spoofing with liveliness enabled more difficult. Since
we currently don't differentiate between the max number attempts with and without liveliness
enabled, we had to lower it for all uses of FUL.

Change-Id: I7a429f64cde2767ddd2ceb0885343acd0b802aac
eyguardUpdateMonitor.java
79cb9b52e86beee247b76c1ecf51957b4596a956 13-Jun-2012 Jim Miller <jaggies@google.com> am 5f190731: am 955a0169: Fix 6613962: Update keyguard to use new GlowPadView UX design.

* commit '5f1907316e0085073a314dcfa41bfb35a7f31f9f':
Fix 6613962: Update keyguard to use new GlowPadView UX design.
5f1907316e0085073a314dcfa41bfb35a7f31f9f 13-Jun-2012 Jim Miller <jaggies@google.com> am 955a0169: Fix 6613962: Update keyguard to use new GlowPadView UX design.

* commit '955a016922ea49f154d190b054a202559b41a4d3':
Fix 6613962: Update keyguard to use new GlowPadView UX design.
955a016922ea49f154d190b054a202559b41a4d3 12-Jun-2012 Jim Miller <jaggies@google.com> Fix 6613962: Update keyguard to use new GlowPadView UX design.

Change-Id: I4f1ef3107e5550f7df9dcb412943a84b66432b7d
ockScreen.java
b8151ecd6ef4faa5c16d0a4c3abb45ec84d1f97a 19-Apr-2012 Amith Yamasani <yamasani@google.com> Add an icon to the user information.

Store the icon in the user folder under /data/system,
similar to how the wallpaper is stored.

Change-Id: Id8ccb55b9e2ba7b4c557505a7f69f04eca1518cf
lobalActions.java
c95f249ea98ae9281014e3a1dd5a64b9c38d73de 09-Jun-2012 Brian Colonna <bcolonna@google.com> am 5ebf04cc: Merge "Bug 6605167: Turning off FUL during error counts as attempt" into jb-dev

* commit '5ebf04cce420ca8f32270245189c4d71f28cfd27':
Bug 6605167: Turning off FUL during error counts as attempt
7019325e183ba1abf1869ccffc4b1ecd8c771a44 04-Jun-2012 Brian Colonna <bcolonna@google.com> Bug 6605167: Turning off FUL during error counts as attempt

If FUL was turned off while the error message was displayed it would
not count as a failed attempt. This commit changes the
reportFailedAttempt callback to just report the failure rather than
report the failure and close. This allows the FUL service to send the
reportFailedAttempt message earlier and then later close using the
existing cancel function, which closes without reporting a failed
attempt.

Change-Id: Ib3b76f477a98b149fcccc32ac39ecaeccd88a7e2
aceUnlock.java
dbb9e38673bd133fa61a10d874ca325d23f3b5e3 08-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 6a5f9f6d: Merge "Configuration for lock and UI sound levels" into jb-dev

* commit '6a5f9f6ddbfcb97a25436ad34be39fc7b3b45168':
Configuration for lock and UI sound levels
6a5f9f6ddbfcb97a25436ad34be39fc7b3b45168 08-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Configuration for lock and UI sound levels" into jb-dev
c9b9c818149efdf44c16652560691702fc422775 07-Jun-2012 SangWook Han <swhan@nemustech.com> Fix preload classname for phone policy.

PhoneWindow$ContextMenuCallback is renamed to PhoneWindow$DialogMenuCallback
from commit 4267534d1c42af847ed0cefd1c88c99f66b36571
"Action Bar now supports submenus as popups."

Change-Id: Ie9165d9458358dabe03b499862fcced690845e6f
olicy.java
eef4bc08137f2324e2974c282992ff546df99e54 06-Jun-2012 Jeff Brown <jeffbrown@google.com> am 615fd3df: Merge "Implement new rotation policy." into jb-dev

* commit '615fd3dff2e369d8b786abcfe41b6da988e41001':
Implement new rotation policy.
207673cdbb536b9bdd9ff7f9ce953c5485d11f5a 06-Jun-2012 Jeff Brown <jeffbrown@google.com> Implement new rotation policy.

Rotation lock does not override NOSENSOR mode anymore.

Centralize the rotation policy settings into a new class shared by
the System UI and Settings applications.

Add a new setting to specify whether rotation-lock is being hidden
because the "auto-rotate screen" option has been toggled in the
Accessibility settings panel.

Bug: 6523269
Change-Id: I15173280d25bc5d101e89a9c65913aefc53fc33a
honeWindowManager.java
c55b393efd462490cd5e27fc373bceafdd25662e 05-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Configuration for lock and UI sound levels

Define two integers in the platform configuration to
define the sound level for lock/unlock sounds, and
UI sound effects.
Use the corresponding value in KeyguardViewMediator for the lock sounds.
Use the corresponding value in AudioService when playing sound effects.

Bug 6448481

Change-Id: Ie238f5eb1645e395412864d93447ac4049f7e54b
eyguardViewMediator.java
a8c42f1aaa184ed9b30c747ca03b5d7159a3fb20 02-Jun-2012 Jim Miller <jaggies@google.com> am 94a8ae09: Merge "Fix 6592932: add means to replace assist icon from given package" into jb-dev

* commit '94a8ae09bea03ec2ca5563601e28a196d41bb6b6':
Fix 6592932: add means to replace assist icon from given package
3294b6b09b2f52cb44005720051c32c9c851fc9f 01-Jun-2012 Jim Miller <jaggies@google.com> Fix 6592932: add means to replace assist icon from given package

This provides the means to replace the assist icon shown in keyguard and the
navigation gesture for assist. It's done by adding metadata called
"com.android.systemui.action_assist_icon" to the activity that handles
android.intent.action.ASSIST. It should point to a StateListDrawable
in that package with the required states. For example:

<meta-data android:name="com.android.systemui.action_assist_icon"
android:resource="@drawable/ic_android_systemui_action_assist" />

And then something like this in drawable/ic_android_systemui_action_assist.xml :

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:state_active="false"
android:state_focused="false"
android:drawable="@drawable/ic_action_assist_normal" />
<item android:state_enabled="true"
android:state_active="true"
android:state_focused="false"
android:drawable="@drawable/ic_action_assist_activated" />
<item android:state_enabled="true"
android:state_active="false"
android:state_focused="true"
android:drawable="@drawable/ic_action_assist_focused" />
</selector>

Change-Id: Ibc29360e179fed68253ff06a07b1bb2b982d0dab
ockScreen.java
6e43ee6796795840819843e2693f6f3622638208 31-May-2012 Uriel Rodriguez <urodriguez@google.com> am fa716c7b: Merge "BUG 5457035 : Anti-spoofing : DO NOT MERGE" into jb-dev

* commit 'fa716c7b9bfe0b15725dff63a63b188fe7bc6aca':
BUG 5457035 : Anti-spoofing : DO NOT MERGE
fa716c7b9bfe0b15725dff63a63b188fe7bc6aca 31-May-2012 Uriel Rodriguez <urodriguez@google.com> Merge "BUG 5457035 : Anti-spoofing : DO NOT MERGE" into jb-dev
564268f7110779951e2a1f74fe25527e4369733d 31-May-2012 John Spurlock <jspurlock@google.com> am a91047ff: Merge "NavBar: Don\'t resize in portrait docks when HDMI connected." into jb-dev

* commit 'a91047ff23e054869f921acb2b90eafc7a65ff26':
NavBar: Don't resize in portrait docks when HDMI connected.
b30cd0a801aa1cdb0b1f6ae7e531b10eb466128a 31-May-2012 Daniel Sandler <dsandler@android.com> NavBar: Don't resize in portrait docks when HDMI connected.

The computation moving the navbar up is too drastic when a device locked
in a portrait dock is connected to a landscape external display (e.g. a TV).
Instead, only do this if the aspect ratios of the device and external display
are the same.

Bug: 6513219
Change-Id: I7cfb1096b7d1a774032d22c4b0d7eb3177766c58
honeWindowManager.java
4fa995a932d876b98c393c909c4eb2e303783e59 31-May-2012 Uriel Rodriguez <urodriguez@google.com> BUG 5457035 : Anti-spoofing : DO NOT MERGE

Squashed commit of the following:

commit c0969669a6bd55df805665c17e088456c1672da3
Author: Danielle Millett <dmillett@google.com>
Date: Wed May 30 15:41:22 2012 -0400

Turning liveliness back on

As part of the change of putting in the new head turn option, it's
now passing in the correct value to Face Unlock instead of forcing it
to always be false.

Change-Id: I745da5431cbc2d447f3d07ec7215c5b1850f6d57

Change-Id: I36a819b43e89a463bb3bb3ede0db36477fd45066
aceUnlock.java
4265686730aa586f07db37378aaa80446f86dd33 29-May-2012 Michael Jurka <mikejurka@google.com> am a66c75a8: Merge "Fix bug where recents was getting preloaded unnecessarily" into jb-dev

* commit 'a66c75a87e3485773430974b9bc314d010ba3542':
Fix bug where recents was getting preloaded unnecessarily
a66c75a87e3485773430974b9bc314d010ba3542 29-May-2012 Michael Jurka <mikejurka@google.com> Merge "Fix bug where recents was getting preloaded unnecessarily" into jb-dev
bd817711d74d04d5640bebfd8c85aa42285f091c 29-May-2012 Amith Yamasani <yamasani@google.com> am 3dac0226: Merge "Show power menu on tablets." into jb-dev

* commit '3dac02265e42bf176e26b83da430ce15d6fd06df':
Show power menu on tablets.
3dac02265e42bf176e26b83da430ce15d6fd06df 29-May-2012 Amith Yamasani <yamasani@google.com> Merge "Show power menu on tablets." into jb-dev
4004033f87ab1978ceb832e8e8cc003987ba9097 29-May-2012 Michael Jurka <mikejurka@google.com> Fix bug where recents was getting preloaded unnecessarily

Change-Id: I7d2254da009113f81fae0a785583b1c7fd6ad020
honeWindowManager.java
d965019105a4a6bb4c924fe063b4c69c4b8020a6 29-May-2012 Danielle Millett <dmillett@google.com> am 45973d6d: Merge "Moved setting the flag to suppress face unlock during a phone call" into jb-dev

* commit '45973d6d19eb9329d77e62004e80f63f111a27e5':
Moved setting the flag to suppress face unlock during a phone call
45973d6d19eb9329d77e62004e80f63f111a27e5 29-May-2012 Danielle Millett <dmillett@google.com> Merge "Moved setting the flag to suppress face unlock during a phone call" into jb-dev
7ee994d728acf2b3b3297a67001f2d21c9094109 24-May-2012 Amith Yamasani <yamasani@google.com> Show power menu on tablets.

Bug: 6524432

Show power menu on all devices by default. Specific devices will be disabled in overlays.

Handle airplane mode changes differently when the telephony states are not reliable.
Use simple toggle for silent mode when there's no vibrator.

Change-Id: Ic5ef521eee19cd300d909250203ff204f3a1ae1e
lobalActions.java
013772f2d6f0a0aec96b90a768ff198a27289eac 25-May-2012 Craig Mautner <cmautner@google.com> am 2af7b915: Merge "Redraw all windows earlier in power on sequence." into jb-dev

* commit '2af7b9151f8df3581e38847ac711185426df5dea':
Redraw all windows earlier in power on sequence.
3d7b7d59c82fdeac039382ed1724af9c9cb70107 24-May-2012 Craig Mautner <cmautner@google.com> Redraw all windows earlier in power on sequence.

Send a message to all windows to redraw before notifying
PhoneWindowManager of screen on. This minimizes the delay in
screen update that causes the keyguard clock to display the old time
before displaying the current time.

Fixes bug 6381021.

Change-Id: Ida7071e7dac2284540f101c5d004511b52133b91
honeWindowManager.java
270db71381e107e3b3bc81890b3f34424403ef9b 24-May-2012 Craig Mautner <cmautner@google.com> am 9cf5831f: Merge "Fix jank when launching apps that show wallpaper." into jb-dev

* commit '9cf5831f2b94f5e2edd7fd87abef4e9fac8aa82d':
Fix jank when launching apps that show wallpaper.
8e4df6c1e261a5b41193b00b1c0ce0badaa84f1c 24-May-2012 Craig Mautner <cmautner@google.com> Fix jank when launching apps that show wallpaper.

Do not create a StartingWindow for apps that show wallpaper.
Fix handling of obscure case where found wallpaper is hidden.

Fixes bug 6484034.

Change-Id: I07181c4aea56fa9e530df0c95d886fe8ad61ec9d
honeWindowManager.java
aa0d9f6363f43e17b99176a026c746e82310111f 22-May-2012 Jim Miller <jaggies@google.com> am a6f0b0ad: Merge "Fix6398209: reveal search when home button is long-pressed" into jb-dev

* commit 'a6f0b0ad6966d64d833978cc150cc180b40f8bb3':
Fix6398209: reveal search when home button is long-pressed
a6f0b0ad6966d64d833978cc150cc180b40f8bb3 22-May-2012 Jim Miller <jaggies@google.com> Merge "Fix6398209: reveal search when home button is long-pressed" into jb-dev
998bb765290066822ff8a3b378dadd71deb0ce73 21-May-2012 Jim Miller <jaggies@google.com> Fix6398209: reveal search when home button is long-pressed

This change add a feature to reveal the swipe to search interface
when the home key is pressed for longer than 50ms. It progressively
reveals the interface. It still requires a bit of tuning, but all
the basic parameters are in this CL.

Change-Id: I1d3a5bb7b912265eb41da68bc9313eee1af2e415
ockScreen.java
dd8e50f4b96578acd402ff4b199ca1649adf25fd 21-May-2012 Jeff Brown <jeffbrown@google.com> am cf39bdf3: Add support for switching between multiple keyboard layouts.

* commit 'cf39bdf3dff5e29447f6ce734b76dc3490385e58':
Add support for switching between multiple keyboard layouts.
cafd387d7a2d91a2c900b7744b0486818cd1aac2 17-May-2012 Danielle Millett <dmillett@google.com> Moved setting the flag to suppress face unlock during a phone call

Moved the check to suppress face unlock if a call is in progress from
onScreenTurnedOff() to initializeBiometricUnlockView(). onScreenTurnedOff()
is only called if the screen was turned off while on lockscreen and we
actually want to be doing this every time the screen is turned off. Put a
check around it to only do it when the screen is off, so that for orientation
changes, or on first boot it doesn't override the current flag value.

This fixes the following 2 bugs:

Bug 6460309: When making a phone call, after the user hangs up and it goes
to lockscreen we don't want face unlock to show. In the case where a
user makes an outgoing call and the phone goes to sleep by itself during
the phone call, when the call is ended face unlock was popping up because
it never went through onScreenTurnedOff().

There is a flag to make sure face unlock doesn't come up
immediately after booting the phone, which is done by not showing
face unlock the first time lockscreen is constructed. But there are
a few cases where lockscreen doesn't come up immediately after boot: 1. When
the device is factory reset, it goes through the wizard instead of
lockscreen. 2. In userdebug if the lock type is set to none.
In both of these cases, if face unlock is set up, it doesn't show up on
the first time. Setting the phone flag in initializeBiometricUnlockView
overrides the initial setting, which is what we want because if the screen
has turned off, it isn't the initial lockscreen after boot.

Change-Id: Iacafc515f2b594e12c853308c40cd48f3fb83e63
ockPatternKeyguardView.java
cf39bdf3dff5e29447f6ce734b76dc3490385e58 18-May-2012 Jeff Brown <jeffbrown@google.com> Add support for switching between multiple keyboard layouts.

Also show a notification when an external keyboard is connected
and does not have a keyboard layout selected yet.

Bug: 6405203
Change-Id: Id0ac6d83b3b381f8a236b2244a04c9acb203db3c
honeWindowManager.java
2a6a4df96dde5be55465816597506636bbb37cc2 18-May-2012 Adam Powell <adamp@google.com> am 93563d21: Merge "Log a warning when action bar view states cannot be restored." into jb-dev

* commit '93563d21a97aee9bb60f6cbd975bb901fad29962':
Log a warning when action bar view states cannot be restored.
fb5f1bc085d1c353b80690636ce44679501225d8 18-May-2012 Adam Powell <adamp@google.com> Log a warning when action bar view states cannot be restored.

Some apps can get into a case where the saved view hierarchy states
for action bar views are missing. Log a warning instead of crashing.

Bug 6510800

Change-Id: I95ede64ec584892e6e76ca9ab9d53e9d3689984f
honeWindow.java
a978d9bfefa8f7cb1591a1789effa955d902a9cf 17-May-2012 Craig Mautner <cmautner@google.com> am d51a68b3: Merge "Eliminate deferred surface destruction." into jb-dev

* commit 'd51a68b3d2d347be989b53af1777454f97ad9b46':
Eliminate deferred surface destruction.
d51a68b3d2d347be989b53af1777454f97ad9b46 17-May-2012 Craig Mautner <cmautner@google.com> Merge "Eliminate deferred surface destruction." into jb-dev
29da39393ed2bdb1f4aa526fa89c57e11d679e7f 17-May-2012 Brian Colonna <bcolonna@google.com> am 2b9eba55: Merge "Not calling startUi() if no longer bound" into jb-dev

* commit '2b9eba553e136c5bb955df281bdafed2b9a4ce92':
Not calling startUi() if no longer bound
2b9eba553e136c5bb955df281bdafed2b9a4ce92 17-May-2012 Brian Colonna <bcolonna@google.com> Merge "Not calling startUi() if no longer bound" into jb-dev
c7e11cf36e9f4a5a220875a4a88dcca273f54225 17-May-2012 Jeff Brown <jeffbrown@google.com> am 40013655: Support long-press on media keys with screen off.

* commit '40013655dea9427d0b3bc0250658c9923443963c':
Support long-press on media keys with screen off.
40013655dea9427d0b3bc0250658c9923443963c 17-May-2012 Jeff Brown <jeffbrown@google.com> Support long-press on media keys with screen off.

Bug: 3204066
Change-Id: I3ea4b6ceb853483b9e103de62b2ef0cf48b3dff1
honeWindowManager.java
bf08af3323117e15a65b74e66b7499d31537f9e1 17-May-2012 Craig Mautner <cmautner@google.com> Eliminate deferred surface destruction.

Removing the code that delays a surface destruction when
WindowManager.FLAG_KEEP_SURFACE_WHILE_ANIMATING is set. The lock
screen that continued to animate after destroySurfaceLocked is no
longer used and this code was causing problems.

Also mDrawState was being set to NO_SURFACE in destroySurfaceLocked
even if the surface ended up not being destroyed. Later when it was
reused the false value of mDrawState was messing things up.

The screen lock bug referenced below no longer levaes the user stuck
with a black lockscreen. However it occasionally powers back up in the
launcher screen rather than the lock screen.

Fixes bug 6485955.

Change-Id: I684104c7e7c39c161a5118aa890889fbae92e635
eyguardViewManager.java
cefbeb683416a2bbc20905f280eaeadb349cb9d9 17-May-2012 Dianne Hackborn <hackbod@google.com> am 20c0cdbb: Merge "Have the stable layout take into account the window\'s fullscreen flag." into jb-dev

* commit '20c0cdbbf79cef18e59514e0f53dfbcac0bef600':
Have the stable layout take into account the window's fullscreen flag.
20c0cdbbf79cef18e59514e0f53dfbcac0bef600 17-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Have the stable layout take into account the window's fullscreen flag." into jb-dev
c266070aec3d99c9a4d422325fbceae44c37a4d3 17-May-2012 Brian Colonna <bcolonna@google.com> Not calling startUi() if no longer bound

After the bind to the FUL service is complete, an
onServiceConnected() callback is received. This callback is
asynchronous - bindService() does not block while we are waiting for
the service to finish binding. Therefore, when rapidly turning the
screen on and off, it is possible to call bindService() and then call
unbindService() before the onServiceConnected() callback is received.
When onServiceConnected() is received, startUi() is called. If the
service is no longer bound, a runtime restart occurs when calling
startUi().

Note that onServiceConnected() actually has its work done via a
handler. The delay of calling the handler increases the possibility
of unbindService() being called before trying to call startUi(). But
since this problem still happens without using the handler,
eliminating using the handler would not solve the problem and would
just create the problems that come with performing operations on
different threads since onServiceConnected() is not called on the main
thread.

Also note that a new instance of FaceUnlock is created in
LockPatternKeyguardView with each iteration. So, if we bind/stop/bind
before getting onServiceConnected(), the second bind happens in a new
instance of FaceUnlock and therefore does not lead to a problem when
onServiceConnected() returns as a result of the first bind.

This fixes some occurrences of bug 6409767. However, this fixes the
problem when turned the device on and off rapidly. It seems there
are some reports of bug 6409767 where this is not the case, so I
can't be sure this has any affect on those cases.

This change also cleans up some debugging and modifies other
debugging to try to get just the information that is useful for
tracking down the bug.

Change-Id: Ifa59107b9974acaa8a18b74b5d47e4cf3a794b8e
aceUnlock.java
5b5cc4d5361c1817938d2db58ad40aab528b3ac3 16-May-2012 Dianne Hackborn <hackbod@google.com> Have the stable layout take into account the window's fullscreen flag.

When using stable layouts, you are typically expected to hide and
show the status bar through the system UI fullscreen flag. This hides
both the status bar and the action bar. The stable layout assumed
that when not hiding the status bar through the system UI flags, that
the status bar would be visible.

This change makes things a little smarter, also looking at the
window's fullscreen flag (which only hides the status bar). If this
flag is set on the window, then the stable layout now assumes that
the status bar will never be shown. This allows us to position the
action bar correctly in the situation where the application has set
the window to fullscreen and requested a stable layout, instead of
always leaving room for the status bar above it.

Change-Id: I757072ae99cd3741753af7210dbf51afe94d3db5
honeWindowManager.java
dd684eb3e02f6ba0adc47c1aef38b1394c04a175 17-May-2012 Michael Jurka <mikejurka@google.com> am 28e73201: Merge "Revert "Add shortcut for voice search"" into jb-dev

* commit '28e7320116dc7e428e877e7165553046bbe7cd41':
Revert "Add shortcut for voice search"
28e7320116dc7e428e877e7165553046bbe7cd41 17-May-2012 Michael Jurka <mikejurka@google.com> Merge "Revert "Add shortcut for voice search"" into jb-dev
ce01bd6e76fb984a703b62bdba0eb45f9714b25e 17-May-2012 Jim Miller <jaggies@google.com> am ee499fe6: Merge "Fix 6504124: Disable assist when ACTION_ASSIST is not available" into jb-dev

* commit 'ee499fe68e7ea61741779f375056dbaf5a78d1d7':
Fix 6504124: Disable assist when ACTION_ASSIST is not available
ee499fe68e7ea61741779f375056dbaf5a78d1d7 17-May-2012 Jim Miller <jaggies@google.com> Merge "Fix 6504124: Disable assist when ACTION_ASSIST is not available" into jb-dev
c1ceb6c614d6489b5152588d1bb41689552d9b8e 17-May-2012 Jeff Brown <jeffbrown@google.com> am 00ee1771: Merge "Don\'t allow shortcuts while keyguard showing." into jb-dev

* commit '00ee17718af8a229d0e6a14cd1f47b56a8b14b0f':
Don't allow shortcuts while keyguard showing.
00ee17718af8a229d0e6a14cd1f47b56a8b14b0f 17-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Don't allow shortcuts while keyguard showing." into jb-dev
12e0c5ac1b837d85c78221108b0d70417199bbbb 17-May-2012 Jim Miller <jaggies@google.com> Fix 6504124: Disable assist when ACTION_ASSIST is not available

Change-Id: I2218afa7954961309d8cf2f2be0aff10826b9243
ockScreen.java
fa1009638d6f45aa8659aa74d93e82dd968e380e 17-May-2012 Michael Jurka <mikejurka@google.com> Revert "Add shortcut for voice search"

This reverts commit 7a3489552ca92776c5e2a57c80026216b44005eb.

Change-Id: Iddfa86183ff0d189e8dbb5dc535344e064e0d103
honeWindowManager.java
602ab325ca03b8dd0b3c2d572614c85ce32e309a 16-May-2012 Jeff Brown <jeffbrown@google.com> Don't allow shortcuts while keyguard showing.

Bug: 6483916
Change-Id: Ica7d6b1dc6a844650e6f3a2399ebb6aab20e780e
honeWindowManager.java
32884bd822fb2c3e746415758cd5e9d5c5844f58 16-May-2012 JP Abgrall <jpa@google.com> am 44f41f28: Merge "Revert "unlock screen: enable DEBUG and track pattern start/cell progress."" into jb-dev

* commit '44f41f28eaeee4097644ab9bfce5f969977b0428':
Revert "unlock screen: enable DEBUG and track pattern start/cell progress."
3421c02956c3231dd2cc514402b5f96b9f288ef5 16-May-2012 JP Abgrall <jpa@google.com> Revert "unlock screen: enable DEBUG and track pattern start/cell progress."

This reverts commit e94d763f69bdc80d1ec1d7c3dd258c4e10206a5b.

Get rid of the debugging for the release.
atternUnlockScreen.java
60d9dfcb7e613c5efbb055c2f666400e7cbad3d4 15-May-2012 Adam Powell <adamp@google.com> am 5ff7efa2: Merge "Appease the simians" into jb-dev

* commit '5ff7efa253486b2b482031ab9a3714fc5cc10f7f':
Appease the simians
5ff7efa253486b2b482031ab9a3714fc5cc10f7f 15-May-2012 Adam Powell <adamp@google.com> Merge "Appease the simians" into jb-dev
a60314c70762b99a7ebc40547480ce351c3b5c23 15-May-2012 Adam Powell <adamp@google.com> Appease the simians

Ensure that the shown panel view is not currently attached to a parent
before adding it to the panel decor view.

Bug 6430928

Change-Id: Ic64ec4222db4754e64afdf06d7d2b77fb5ef825a
honeWindow.java
6e547abdf09b0b869636fb692b9ecf2ecf1fb720 15-May-2012 Jeff Sharkey <jsharkey@android.com> am df7adb3a: Merge "Enable haptic feedback from ILockSettings." into jb-dev

* commit 'df7adb3a44f89578064975fa98324f0e9d84bdf3':
Enable haptic feedback from ILockSettings.
df7adb3a44f89578064975fa98324f0e9d84bdf3 15-May-2012 Jeff Sharkey <jsharkey@android.com> Merge "Enable haptic feedback from ILockSettings." into jb-dev
3fb0af38a1de9258cc80b227361c9a8ded88cfef 15-May-2012 Jeff Sharkey <jsharkey@android.com> Enable haptic feedback from ILockSettings.

Bug: 6438580
Change-Id: I671ef3c7ac816596ab1944609bae672d1b0cb0ef
asswordUnlockScreen.java
2a9e2d21e7e9d753662ee364ac4957eefc5d3d20 15-May-2012 Danielle Millett <dmillett@google.com> am 05dde913: Merge "Setting liveliness to off" into jb-dev

* commit '05dde913f97b29751572ed8169f6ba20374c7036':
Setting liveliness to off
c775feb4a0b3f7c972801036ca8be952832df5e5 15-May-2012 Brian Colonna <bcolonna@google.com> am 5a1c0cf4: Merge "Fix 6437474: Fixed black box appearing on rotation" into jb-dev

* commit '5a1c0cf492b0b2a96f779479d9aec4f4c3009847':
Fix 6437474: Fixed black box appearing on rotation
ced06292057376a58311f8dad502ce973a0437cd 15-May-2012 Brian Colonna <bcolonna@google.com> am a5cf93a8: Merge "Fix 6283709: set max FUL failed attempts to 5" into jb-dev

* commit 'a5cf93a84aefd19da2f80ebab4f6f898e1744037':
Fix 6283709: set max FUL failed attempts to 5
2da87ec32e72c2c25998e2444155c00074cfbd40 15-May-2012 Dianne Hackborn <hackbod@google.com> am 2a7a6ca0: Merge "Implement new window cropping." into jb-dev

* commit '2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517':
Implement new window cropping.
05dde913f97b29751572ed8169f6ba20374c7036 15-May-2012 Danielle Millett <dmillett@google.com> Merge "Setting liveliness to off" into jb-dev
46bbdec799002a33c5890f70225bef9f23fdef93 14-May-2012 Danielle Millett <dmillett@google.com> Setting liveliness to off

This is part of the change to remove the blink checkbox. Since the
blink checkbox won't be visible anymore, we want to set liveliness to
off instead of checking the current value.

Change-Id: Iaa68cea8ec0a6012eaaaac77cea0f50575b7e660
aceUnlock.java
5a1c0cf492b0b2a96f779479d9aec4f4c3009847 15-May-2012 Brian Colonna <bcolonna@google.com> Merge "Fix 6437474: Fixed black box appearing on rotation" into jb-dev
a5cf93a84aefd19da2f80ebab4f6f898e1744037 14-May-2012 Brian Colonna <bcolonna@google.com> Merge "Fix 6283709: set max FUL failed attempts to 5" into jb-dev
ffefd0fdd1baa66665ed6195b2adeb0e1e3bb7e4 14-May-2012 Brian Colonna <bcolonna@google.com> Fix 6283709: set max FUL failed attempts to 5

After an unrecognized face occurs 5 times in a row, we disable FUL
until the user unlocks via the backup lock. This prevents attacks
where someone tries a bunch of different photos, hoping for a good
enough match to the device's owner.

This value was previously set to 15, which is much higher than
necessary. This change sets it to 5. We've been holding off on
this change because it makes our testing more difficult, but we
want this in there for factory ROM this week.

Change-Id: I4e1acc5b1dcc2c0629e0c0fe97a837d6edc44d5d
eyguardUpdateMonitor.java
88240596fce58afe79a4d06752cd8f6c086e2600 04-May-2012 Brian Colonna <bcolonna@google.com> Fix 6437474: Fixed black box appearing on rotation

The biometric unlock initializeView() function is called every time
the lockscreen is recreated. Since this normally happens when the
device turns off, initializeView() was covering the backup lock so the
backup lock is not exposed when the device turns back on. However,
initializeView() is also called when lockscreen is recreated due to an
orientation change.

With this change, the show() call to cover the backup lock has been
moved out of initializeView(), and the backup lock is now only covered
when the screen is turning off, preventing the backup lock from being
covered on an orientation change.

This also includes changes to prevent biometric unlock function calls
from occurring when SIM or Account unlock is in use. In fact, in any
situation where we know FUL won't be used, we don't even construct it.
This is not only more efficient, but it also cuts down on the
possibility of errors where FUL is being used when it shouldn't be.

Change-Id: Ie97761840df8de5701703d9b9b991726fb601064
iometricSensorUnlock.java
aceUnlock.java
ockPatternKeyguardView.java
2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517 14-May-2012 Dianne Hackborn <hackbod@google.com> Merge "Implement new window cropping." into jb-dev
85afd1b6f871d471fdff1980134676a5f1690525 13-May-2012 Dianne Hackborn <hackbod@google.com> Implement new window cropping.

The window manager now performs the crop internally, evaluating
it every animation from, to be able to update it along with
the surface position.

Change-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32
honeWindowManager.java
a11b24ef12ace6b5923997566a434a4fd8041ecb 12-May-2012 Jim Miller <jaggies@google.com> am 01119de9: Merge "Fix 6485058: remove OnTriggerListeners from Wave*Methods in cleanup" into jb-dev

* commit '01119de91d28d6e053ba2365ae6b1b03276446f0':
Fix 6485058: remove OnTriggerListeners from Wave*Methods in cleanup
01119de91d28d6e053ba2365ae6b1b03276446f0 12-May-2012 Jim Miller <jaggies@google.com> Merge "Fix 6485058: remove OnTriggerListeners from Wave*Methods in cleanup" into jb-dev
a48816375f68a8b4a945efcb68e405308a50adc9 12-May-2012 Jeff Brown <jeffbrown@google.com> am 58770232: Merge "Move power HAL interactions to PowerManagerService." into jb-dev

* commit '58770232216cd735afdfd3dd53151070e06de5ce':
Move power HAL interactions to PowerManagerService.
58770232216cd735afdfd3dd53151070e06de5ce 12-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Move power HAL interactions to PowerManagerService." into jb-dev
7304c343821309dd15f769b18f1de2fa43751573 12-May-2012 Jeff Brown <jeffbrown@google.com> Move power HAL interactions to PowerManagerService.

This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server. Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
lobalActions.java
honeWindowManager.java
8818edbe2f5bef9cf161ef57e9296ff302ad44f6 12-May-2012 Jim Miller <jaggies@google.com> Fix 6485058: remove OnTriggerListeners from Wave*Methods in cleanup

This fixes a rare crash that could happen when the device orientation
changes while the handle is held over a target. LockScreen.cleanUp()
was being called which set mCallback to null which then causes it
to crash in MultiWaveViewMethods.onTrigger().

The solution is to also remove OnTriggerListeners in LockScreen.cleanup().

Change-Id: I487c7c9dbbe40417e685b39f2e79b1c43b30fa00
ockScreen.java
07827454efef7f46d46e923a5091d8cf1e5d0d8c 12-May-2012 Jim Miller <jaggies@google.com> am 2b5cebeb: Merge "Fix 6040870: Update MultiWaveView for new device" into jb-dev

* commit '2b5cebebb60c33fe864bed71778253837cbddb54':
Fix 6040870: Update MultiWaveView for new device
4c351d62e7a09bcc29e7d0329bcdd947a302cf40 11-May-2012 Jim Miller <jaggies@google.com> Fix 6040870: Update MultiWaveView for new device

This change allows more flexibility in target placement in MultiWaveView.
It now supports a new way of specifying chevron drawables that allows
them to be moved in directions corresponding to more than the four basic
directions (right, up, left, down).

Chevron drawables can now be updated in an overlay.

This change also adds a place holder and makes a minor tweak to the layout
on 720dp devices where the navbar buttons weren't centered.

Change-Id: Icd319ec5f276870380e27737c873e78f599ff751
ockScreen.java
3631131e5fcb939931f985bffdb14af71dc0f388 10-May-2012 Jeff Brown <jeffbrown@google.com> am 571d4cbe: Merge "Fix bugs in fallback key handling." into jb-dev

* commit '571d4cbeec4adad050b8e188770e7e7dedc558f1':
Fix bugs in fallback key handling.
86f25564c42bca6c1ba0311cbf8d64b889ef5a82 10-May-2012 Brian Colonna <bcolonna@google.com> am e2d47e63: Merge "Added FUL client-side debug" into jb-dev

* commit 'e2d47e63cf1c5c095eb54f7af2a4a02b46862ddd':
Added FUL client-side debug
49eea136f81f1bda4577a55bea4f88ddd129996b 10-May-2012 Uriel Rodriguez <urodriguez@google.com> am 363b6052: Merge "changed pokeWakelock() callback to take time in milliseconds" into jb-dev

* commit '363b60527ce82b0f56434e70a8124e4d41e2b1e0':
changed pokeWakelock() callback to take time in milliseconds
571d4cbeec4adad050b8e188770e7e7dedc558f1 10-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix bugs in fallback key handling." into jb-dev
e2d47e63cf1c5c095eb54f7af2a4a02b46862ddd 10-May-2012 Brian Colonna <bcolonna@google.com> Merge "Added FUL client-side debug" into jb-dev
dff307697d7a7482efe4c10cb3b07b9249524a42 09-May-2012 Uriel Rodriguez <urodriguez@google.com> changed pokeWakelock() callback to take time in milliseconds

Changed the pokeWakelock() call back to take one argument - the duration to stay awake in ms. This
change was needed in order to poke the wakelock for the duration of the watchdog timeout. This
must be done in the service because the duration of the watchdog timeout is unknown at this point.

Moved pokeWakelock() from start() to handleServiceConnected() to make sure that this poke happens
before the poke in the service. This poke is still needed to account for when devices are rotated.

Change-Id: I19d62df1489514de0588ebb937678358e70ffc95
aceUnlock.java
fd23e3ed976b22b9a92ddb2cb3a46f9d2a0ce23f 09-May-2012 Jeff Brown <jeffbrown@google.com> Fix bugs in fallback key handling.

If a fallback key is generated using a key plus a modifier,
then it's possible we might get a different fallback key
generated if the modifier has changed. PhoneWindowManager
needs to remember which fallback is last generated for a
given key code so that it can apply the same fallback action.

When generating cancellation events, it's important to have
preserved the policyFlags of the original event. Otherwise
we may not dispatch the cancellation properly. For example,
some actions are not performed if the POLICY_FLAG_TRUSTED
is not specified.

Remember the metaState associated with a key event so we can
include it when canceled.

Tell the policy when a fallback is being cancelled so that it
can clean up its state.

After a SEARCH shortcut is invoked, clear the flag indicating
that a shortcut is pending. This is to prevent SEARCH from
getting stuck down in the case where we might forget to send
the up. (Shouldn't happen anymore after the prior fixes.)

Bug: 5616255
Change-Id: I68f0a9679c7af464eaf31c099f2aa50b53fecf1f
honeWindowManager.java
cfeda767c87c2d9dd1966c7fbc1f77fa14f80920 09-May-2012 Brian Colonna <bcolonna@google.com> Added FUL client-side debug

This is to help track down bug 6409767 and will be removed when that
bug is fixed.

Change-Id: I51df2fd7d14ecd8f311fdf2ae993ba4943764011
aceUnlock.java
a197cb2b5247360ad7a5eed61da600e2ce58875a 09-May-2012 Brian Colonna <bcolonna@google.com> am 2c214493: Merge "Added checks to make sure FUL functions are on UI thread" into jb-dev

* commit '2c21449357f8e53e578ec8835ddfeeee0368814b':
Added checks to make sure FUL functions are on UI thread
2c21449357f8e53e578ec8835ddfeeee0368814b 09-May-2012 Brian Colonna <bcolonna@google.com> Merge "Added checks to make sure FUL functions are on UI thread" into jb-dev
22001c1f96984655f7205ecbc93dd982c47b4e97 09-May-2012 Brian Colonna <bcolonna@google.com> Added checks to make sure FUL functions are on UI thread

There are three functions in FaceUnlock.java that have the requirement
that they are to be called on the UI thread. I added checks to log
an error if they are ever called off of the UI thread.

Change-Id: I581968e8138b7561b7ad75a1ac6945bf218e2bcf
aceUnlock.java
4689b2843fff4285cc3bdee0f2f2a0dc2d39594a 09-May-2012 Adam Powell <adamp@google.com> am 1e5c3336: Merge "Fix measurement for dialog windows that do not have fixed width" into jb-dev

* commit '1e5c3336e8b16c0a46542f59df53f0fa31d82d6d':
Fix measurement for dialog windows that do not have fixed width
776339fe4c6254fd8e344496a793ce4a11b6f450 09-May-2012 Eric Laurent <elaurent@google.com> am c8ade15d: Merge "Silent and Vibrate mode clean up" into jb-dev

* commit 'c8ade15dadd680c5e4b201f3b7b0823a13dedb3e':
Silent and Vibrate mode clean up
e8e94a0743eae912658865645db75619533449b3 09-May-2012 Jeff Brown <jeffbrown@google.com> am 41a4704b: Merge "Small tweaks to orientation." into jb-dev

* commit '41a4704b09f98723f4ddec895c9f2e651a5c0c8e':
Small tweaks to orientation.
b8e056a8e83c0fc8a60ed2d09025b82689f0fdf2 09-May-2012 Adam Powell <adamp@google.com> Fix measurement for dialog windows that do not have fixed width

Bug 6456773

Change-Id: I9d058f78c4b1c1759aaea2f215efee82a3489faa
honeWindow.java
bffc3d1bd33eb2d8e00a9f8b6261d815db503311 08-May-2012 Eric Laurent <elaurent@google.com> Silent and Vibrate mode clean up

Clean up related to new Vibration policy.
The vibrate behavior is now only derived from:
- presence of a vibrator on the device
- current ringer mode selected: NORMAL, VIBRATE or SILENT
If no vibrator is present the ringer mode can only be NORMAL or SILENT.

The control of ringer mode via volume keys when volume keys control the "master"
stream type (RING on phones, MUSIC on tablets) is as follows:
If a vibrator is present:
VOL- and volume equals 1: NORMAL => VIBRATE
VOL- and volume equals 0 and not continuous press: VIBRATE => SILENT
VOL+ and in SILENT mode: SILENT => VIBRATE
VOL+ and in VIBRATE mode: VIBRATE => NORMAL, volume = 1
If no vibrator is present:
VOL- and volume equals 0 and not continuous press: NORMAL => SILENT
VOL+ and in SILENT mode: SILENT => NORMAL, volume = 0

VIBRATE_ON and VIBRATE_IN_SILENT settings are not stored/retreived any more.

AudioService checks and corrects ringer mode and stream volumes if necessary when reading from
DB at boot time.

Also:
Added dump for stream volumes in AudioService.
Added device names missing in AudioSystem for USB accessory and USB device.

Issue: 6036529
Issue: 6414950
Issue: 6448163

Change-Id: I77fb821ec63e4e566320cac2701b4ac466e86aef
ockScreen.java
41a4704b09f98723f4ddec895c9f2e651a5c0c8e 08-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Small tweaks to orientation." into jb-dev
daf5d894ef71c5674e83b11de8b408e3bdabe4c7 08-May-2012 Jeff Brown <jeffbrown@google.com> Small tweaks to orientation.

Improved threshold for detecting external acceleration.

Bug: 5976859
Change-Id: Iaf2298fba8eda72d1cacbb2f3aea72f460a9262f
honeWindowManager.java
8676726dcfa54e4fecb0c0676d9945ad49f079c5 07-May-2012 Jim Miller <jaggies@google.com> am 06e8d664: Merge "Fix 6397736: Swipe up to search layout fixes" into jb-dev

* commit '06e8d6647db54aa76dda92a5a785737e66d262de':
Fix 6397736: Swipe up to search layout fixes
354619c1cc1b4668c81c5368b2256335cc9e8538 28-Apr-2012 Jim Miller <jaggies@google.com> Fix 6397736: Swipe up to search layout fixes

This fixes several layout issues on phones and tablets with MultiWaveView.

It adds a new background scrim to be shown behind the MultiWaveView
on the navigation bar.

MultiWaveView is updated to handle gravity constraints which makes layouts
much more flexible across devices.

Change-Id: I64068f4eaa81ef6c464247049117d53432fcacbd
eyguardViewManager.java
ockPatternKeyguardView.java
360ca12bf2914c0832da58f9e7963026799bf676 04-May-2012 Jim Miller <jaggies@google.com> am 516c25b3: Merge "Fix 6414061: Add new ACTION_ASSIST intent." into jb-dev

* commit '516c25b38a03decc8f9cbd41f4d9baa4f52f438f':
Fix 6414061: Add new ACTION_ASSIST intent.
0799440ab3ce50ffa6acb762cb7677abdffb3f74 02-May-2012 Jim Miller <jaggies@google.com> Fix 6414061: Add new ACTION_ASSIST intent.

Change-Id: I3d334f67723ac89f6001267e0f06ad76190b929f
ockScreen.java
c420d268de68a5ec08f20a512226b46495502121 03-May-2012 Adam Powell <adamp@google.com> am 1f2077c3: Merge "Fix AlertDialog positioning for dialogs spawned from DialogWhenLarge activities" into jb-dev

* commit '1f2077c3a0ae20caa4343dc9f66db959a939a054':
Fix AlertDialog positioning for dialogs spawned from DialogWhenLarge activities
1f2077c3a0ae20caa4343dc9f66db959a939a054 03-May-2012 Adam Powell <adamp@google.com> Merge "Fix AlertDialog positioning for dialogs spawned from DialogWhenLarge activities" into jb-dev
8877cc3e6ee48c0bd1e8f0984d000a106f6122bd 03-May-2012 Adam Powell <adamp@google.com> Fix AlertDialog positioning for dialogs spawned from DialogWhenLarge
activities

Bug 6413342

Clear extra attributes in the base theme so that they properly overlay
a ContextThemeWrapper over a fixed-size dialog theme.

Change-Id: Ia0d49f0746ca01516afa1eaea7091e5da60d14ae
honeWindow.java
3e1c4bd82457f89ec1b99dee2e9e3eec7f4c6360 03-May-2012 John Wang <johnwang@google.com> am 22930da7: Merge "Add unusable SIM message." into jb-dev

* commit '22930da77f7c2d0461474a162d0d25b9dca00875':
Add unusable SIM message.
22930da77f7c2d0461474a162d0d25b9dca00875 03-May-2012 John Wang <johnwang@google.com> Merge "Add unusable SIM message." into jb-dev
82b2cd0fe9b8c6e353a9b3b0600aafc7b97eecc1 03-May-2012 John Wang <johnwang@google.com> Add unusable SIM message.

Inform user "Unusable SIM card." when SIM is permanently disabled
due to too many wrong PUK inputs.

bug:5548405

Change-Id: Id82c7681f58f09709c630b4bc455facb549938ed
eyguardStatusViewManager.java
c6b939789a8fd3efcac2b71fc2baeb4442fbe1e8 02-May-2012 satok <satok@google.com> am e849230f: Merge "DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition" into jb-dev

* commit 'e849230f444653e692024b4321044cb9f6188919':
DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition
e849230f444653e692024b4321044cb9f6188919 02-May-2012 satok <satok@google.com> Merge "DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition" into jb-dev
1bc0a49e3cade697201e454bb6e46ee789cef6e4 25-Apr-2012 satok <satok@google.com> DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition

Bug: 5137498
Change-Id: Ieb8fd700d193eddaa31b0c5ebd8c7f7885586372
honeWindowManager.java
c3cca66404571454ee13b341925fe45efd5036e6 02-May-2012 Jeff Brown <jeffbrown@google.com> am 0632b35b: Merge "Improve handling of built-in keyboard." into jb-dev

* commit '0632b35b6828cd4324b3d218c2e38f895e819aad':
Improve handling of built-in keyboard.
0632b35b6828cd4324b3d218c2e38f895e819aad 02-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Improve handling of built-in keyboard." into jb-dev
daa3753a04699724d2cfe824ac1f5a266d643a05 02-May-2012 Jeff Brown <jeffbrown@google.com> Improve handling of built-in keyboard.

The window manager policy made some incorrect assumptions about the
meaning of the Configuration.keyboard field. We need to be more
careful about distinguishing between built-in and external keyboards.

Most of this change is to move the determination of the parts of
the Configuration related to input devices into the WindowManagerService
leveraging new features of the InputManagerService to good effect.

Then we plumb through the flag that indicates whether a device
is internal or external so that we can be more particular about
how the lid switch effects changes to the Configuration.

Bug: 6424373
Change-Id: I36a1c22ade35e578955465a25940a33f227b9763
honeWindowManager.java
c362f0cd507953baef9f295a514de0a58d5ccd31 07-Mar-2012 Masanori Ogino <ogino.masanori@sharp.co.jp> Lid switch state is incorrect

InputManager#getSwitchState() returns AKEY_STATE_UP(0=OPEN)
and AKEY_STATE_DOWN(1=CLOSE).
mLidOpen is opposite from a real lid status.

Change-Id: I40aa4e0defb95d82b6144ff6b7514f721bf9030f
honeWindowManager.java
6de7210c3055da454cc67b46bd1ea7907a1e936e 01-May-2012 Brian Colonna <bcolonna@google.com> am f4197bf9: Merge "Fix 6395288: Added lock to avoid unbind race condition" into jb-dev

* commit 'f4197bf93532b333dbea13792c422b65b0ceebf3':
Fix 6395288: Added lock to avoid unbind race condition
f4197bf93532b333dbea13792c422b65b0ceebf3 01-May-2012 Brian Colonna <bcolonna@google.com> Merge "Fix 6395288: Added lock to avoid unbind race condition" into jb-dev
1b4538c77d93c381c22afb680186bcfe6635931f 01-May-2012 Steven Ross <stross@google.com> am d9a00323: Merge "Don\'t show Face Unlock on initial boot fixes 6396685" into jb-dev

* commit 'd9a00323126cb4abae9e93089cf0a27ec8c7122d':
Don't show Face Unlock on initial boot fixes 6396685
d9a00323126cb4abae9e93089cf0a27ec8c7122d 01-May-2012 Steven Ross <stross@google.com> Merge "Don't show Face Unlock on initial boot fixes 6396685" into jb-dev
a43d2589b1ce657d8af7702cd7b3e3114e7ae133 01-May-2012 Jean-Michel Trivi <jmtrivi@google.com> am 8ccfbddd: Merge "Optimize how AudioService receives media button events" into jb-dev

* commit '8ccfbdddabf3387a1ac9d46bd057bea64eb30ef3':
Optimize how AudioService receives media button events
8ccfbdddabf3387a1ac9d46bd057bea64eb30ef3 01-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Optimize how AudioService receives media button events" into jb-dev
a3c6d8cfd607c018bc3a24233085333100380bca 01-May-2012 Jean-Baptiste Queru <jbq@google.com> am 415b8125: am d805c677: Merge "Possible NullPointerException in restorePanelState"

* commit '415b812569cb78e560f9d3a2a4d8944680669318':
Possible NullPointerException in restorePanelState
78c629807c8fe914801ed17f7e16dc1f820e67cd 27-Apr-2012 Steven Ross <stross@google.com> Don't show Face Unlock on initial boot fixes 6396685

Uses a static to keep track whether this is the first pass through the lockscreen
This will be true from when the process is instantiated until the lockscreen
is constructed for the first time, and then false afterwards.
When it is true, we suppress the biometric unlock (Face Unlock).
This avoids the problem of unpredictable and slow startup behavior for Face Unlock
on the first unlock after boot.

Change-Id: I70033af17ba3163d5fe07fc58096f01afaaaafd0
ockPatternKeyguardView.java
c68022258ebd3dd97a5079ba99f4f3cd12b223b0 30-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Optimize how AudioService receives media button events

AudioService maintains a stack of registered media button event
receivers.
This change modifies the broadcasters of ACTION_MEDIA_BUTTON intents
let AudioService directly handle the corresponding key event instead
of trapping the intent sent by PhoneWindowManager, KeyguardViewBase
and PhoneFallbackEventHandler.
Because the key event may be sent through a PendingIntent,
AudioService now also implements the OnFinished interface to be
notified when the event was consumed so it can release the wake
lock held if it was held when the key event needed to be sent
(see where PassHeadsetKey was instanciated in PhoneWindowManager).

Change-Id: I2e8614df94af9d54edbf714ef443cc372d21827a
eyguardViewBase.java
honeFallbackEventHandler.java
honeWindowManager.java
c5c33c363ec9609b83dfe87d58f0bdcf99ff57a0 01-May-2012 Jeff Brown <jeffbrown@google.com> Merge "Add support for using the lid switch to turn off the screen." into jb-dev
c458ce98ce42c00b98afe00670f822814f3da572 30-Apr-2012 Jeff Brown <jeffbrown@google.com> Add support for using the lid switch to turn off the screen.

Added a config option to allow the lid switch to turn off the
screen. This is a closer match to what a lid switch should be
doing.

Removed an old feature to bypass keyguard when keyboard is visible
because the way it was plumbed in made bad assumptions about
the meaning of the lid switch. Also, the last product we shipped
that had a physical keyboard turned this config option off.
So away it goes. We can bring it back someday if we really want it.
It's questionable how useful the feature is anyhow, since it only
works when the keyguard is unsecure and when the lid switch is
unlikely to be jostled in the user's pocket.

Fixed a bug where we would tell the power manager that the keyboard
was visible even if the lid switch did not control the keyboard.
This used to cause the power manager to try to set the keyboard
brightness, which doesn't work.

Bug: 6377115
Bug: 6406726
Change-Id: Ic84b71d09563d51c92cd1cf132fa8bdee6509103
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockScreen.java
honeWindowManager.java
imPukUnlockScreen.java
imUnlockScreen.java
5c58de3a523a384c47b0b1e0f5dd9728a74cd9f7 29-Apr-2012 Dianne Hackborn <hackbod@google.com> Add system insets to windows.

This will be used to determine which parts of a window a completely
hidden by system UI elements (status bar, nav bar, system bar) so
that they can be clipped out from rendering.

Change-Id: I2c6c6ac67dbdfeed82d2c089ef806fb483165bd9
honeWindowManager.java
257f2ecc97d294e95b069547466d2054926d960f 27-Apr-2012 Brian Colonna <bcolonna@google.com> Fix 6395288: Added lock to avoid unbind race condition

If turning the power off while FUL was closing (due to a timeout or a
cancel for example), it would be possible for unbind() to get called
twice due to a race condition. Turning the phone off calls unbind()
from the UI thread, while the other close comes from a binder thread
since it is coming from the service.

PATCH SET 1 attempted to solve the problem by adding a lock, but
having a lock around the bind is a bit scary.

PATCH SET 2 takes a new approach by having all calls coming from a
binder thread to be sent as messages to be handled on the UI thread.
Having all events occur on the UI thread removes the possibility of
race conditions and makes the code stronger by making everything
happen in a deterministic order.

This commit also cleans up the logcat logging a bit. A couple of the
log messages are now printing without DEBUG being set to true. This
is by no means spamming the log and they of course are only logged
when FUL is being used. But it serves to give us some meaningful
information from bug reports that are currently showing nothing. The
statements that are now logged would have made this particular bug
easy to track down.

Change-Id: I25a65c0808d88cb941439e5bf1f989dba8608be4
iometricSensorUnlock.java
aceUnlock.java
f8d0494bf660fa07e858d09c67dc0aac302a042a 27-Apr-2012 Daniel Sandler <dsandler@android.com> Merge "Allow nav bar height to vary between portrait and landscape." into jb-dev
9f65c4c34abb07bdda54649ed510af26f16e9c1b 26-Apr-2012 Daniel Sandler <dsandler@android.com> Allow nav bar height to vary between portrait and landscape.

Change-Id: I1d69e0f4a1772bff6534c5c591e1def26d163708
honeWindowManager.java
6d5176638c2189595cede38fb92c3e7e8700e221 24-Apr-2012 Eric Laurent <elaurent@google.com> system and UI sounds volume policy

Implement a more consistent policy for system and UI sounds (key clicks, lock/unlock,
camera shutter, DTMF, low battery...):
- All system sounds are played over STREAM_SYSTEM stream type.
- The STREAM_SYSTEM volume that was previously fixed now tracks the volume of a "master"
stream type. This "master" stream type is STREAM_RING for phones and STREAM_MUSIC for
tablets which corresponds to the stream whose volume is modified by default by the volume
keys.
- The STREAM_SYSTEM volume ranges from -24dB to -6dB (-24dB to -12dB over headphones) when the
"master" stream volume ranges from its min to its max.
- DTMF tones are played over STREAM_DTMF that tracks the "master" stream volume in the same
manner with the following exception: when in call, DTMF stream tracks STREAM_VOICE_CALL volume.
- Camera shutter sound is played over STREAM_SYSTEM_ENFORCED stream that tracks the "master"
stream volume except in countries where regulation enforces this sound. In this case
its volume is fixed and cannot be muted.
- Low battery sound is played over STREAM_SYSTEM and therefore has a tunable volume and is
heard while in call.

Issue 6344620.
Issue 6069229.
Issue 6213100.

Change-Id: I53a237878ead596e706c5dbbb1420e62cde32bd7
eyguardViewMediator.java
6bc75916401ba85efd19a09a834f4c91cdd8c7f5 26-Apr-2012 Brian Colonna <bcolonna@google.com> Merge "Changes to biometric sensor interface in lockscreen" into jb-dev
ea8441e22a4316cb6e78dd8bf461d3e658545b64 25-Apr-2012 Brian Colonna <bcolonna@google.com> Changes to biometric sensor interface in lockscreen

This cleans up the biometric sensor interface - the interface between
lockscreen and Face Unlock. Not only does it document the interface,
but it also makes two noteworthy changes to the interface:

1) Instead of calling mBiometricUnlock.start() with a parameter to
tell it whether to suppress itself, lockscreen makes all of the
decisions about whether the biometric unlock should be started or not
and only calls start() if it should be started. Passing a parmeter to
tell a function to not start itself was strange, but it was a
necessary intermediate step in the process of fixing this interface.

2) Instead of calling mBiometricUnlock.initializeView() with a top
view that the biometric unlock should attach to, lockscreen now
provides the biometric unlock with the actual view it is allowed to
work in. This keeps lockscreen in control of where the biometric
sensor is allowed to display.

A few things were also cleaned up within the Face Unlock
implementation of the biometric interface:

1) Changes needed to match the requirements of the improved biometric
sensor interface, including moving the functions into an order that
makes more sense.

2) The bind() function was only being called from start(), which has
turned into only a couple of lines of code, so the bind() code has
been just put inline into the start() function, which mirrors the
stop() function which has the unbind() code in it.

3) The showArea() function was really just one line of code with a
check. It was being called from two places. The showArea() code is
now just written inline in those two places, which makes the code
much easier to follow.

4) Renamed occurrences of FaceLock to Face Unlock.

Change-Id: Ie95ce21dcc77170381af9ce320f2675dfe249741
iometricSensorUnlock.java
aceUnlock.java
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
ockPatternKeyguardView.java
2efb6a94ca528beb96e26bd3ad2f4b995fb75b49 26-Apr-2012 Amith Yamasani <yamasani@google.com> Don't unregister receiver twice.

Bug: 6008202
Change-Id: I3a9c76b74c1451b634341806d9c93768925737cd
lobalActions.java
908e71ed7c750112af3588f85d37c6dfe405be17 25-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5983781: opening a post from status tab..."
560144e2da16eb5ff821f7e6daf7cdd7e28c70c6 25-Apr-2012 Dianne Hackborn <hackbod@google.com> Fix issue #5983781: opening a post from status tab...

...has no cross-activity transition

We apparently no longer want to skip the activity transition when
it is starting from behind the status bar.

Change-Id: I1feb0cf0303f8b89d9089b38b217eac440382059
honeWindowManager.java
e898ac59db04d8ab0762180ca8ec7cea1347aa09 07-Apr-2012 Jim Miller <jaggies@google.com> Fix 6299832: Add search target swipe action to navigation bar on phones

This adds a feature to swipe upward on the navigation bar to invoke
voice search on phones.

Change-Id: I462076fd43b1c66c5bf624f00b297c6d3414a19a
honeWindowManager.java
03c63ebebbc5945c724719a26445b168785c42e7 23-Apr-2012 Daniel Sandler <dsandler@android.com> Merge "Update SystemUI for sw600dp devices."
4a066c5c77109431f50806fc29179d28f1472871 20-Apr-2012 Daniel Sandler <dsandler@android.com> Update SystemUI for sw600dp devices.

Devices between 600 and 719dp will now use the two-bar
(phone) SystemUI layout, or something like it, derived from
PhoneStatusBar. Devices above 720dp will use the system bar
from TabletStatusBar.

However, this distinction is not to be made based on dp, at
least, not by the SystemUI; the goal is to drive most of
this switch from the window manager. Therefore most of
SystemUI's sw600dp resources have been folded into the main
set of resources (renaming them to avoid collisions where
appropriate). This allows SystemUI to choose which set of
resources to use entirely by switching status bar
components, entirely independent of Configuration.

(For some resources, particularly around recents, it seemed
more expeditious to keep relying on the device
configuration, so those resources have been bumped up to
sw720dp.)

Bug: 6297838
Change-Id: I3f5414a6a718bdc83f51930d6878cdf97df48c9c
honeWindowManager.java
19caadc08f09cc9f6665fbbb0d61e02861ce8562 21-Apr-2012 Dianne Hackborn <hackbod@google.com> You can now long press on the power off menu to reboot to safe mode.

Change-Id: I3aa575285058cf5a3d89486d6b944f6ea13d645c
lobalActions.java
c169366f2cc44fc395dba76c763505ac2bd61640 19-Apr-2012 Brian Colonna <bcolonna@google.com> Moved biometric sensor selected check into LPKV

This change moves all of the mBiometricUnlock.installedAndSelected()
checks from inside the biometric sensor implementation to
LockPatternKeyguardView. There are several reasons for this change:

1) Instead of constructing a BiometricUnlock object and asking it if
it's enabled, LPKV can check this for itself and not even bother
constructing it if it's not enabled.

2) Since mBiometricUnlock will not be constructed if biometric unlock
isn't enabled, LPKV can simply do null checks to see if it should call
biometric unlock functions. So it serves the dual-purpose of ensuring
there will be no null-pointer exceptions with regards to using the
biometric unlock.

3) This greatly reduces the chance of bugs being introduced into
non-biometric unlock methods because no biometric unlock calls will be
attempted if biometric unlock is not enabled. Previously, the calls
would be made and then the biometric unlock would check if it was
enabled and return, which was not only bug-prone, but also
inefficient.

4) This simplifies the biometric unlock interface by removing an
unnecessary function call.

5) The biometric unlock implementations do not have to check if they
are installed every time they do something, which greatly cleans up
biometric unlock implementations. It makes much more sense for the
biometric unlock functions to be able to assume that they aren't
being called unless they should be.

6) Eventually when there is more than one possible biometric unlock
method, it will make much more sense for LPKV to be in charge of
what is constructed and what isn't.

Change-Id: I5437ac05d8ceb2b182fe372cd6c75ad944ade28f
iometricSensorUnlock.java
aceUnlock.java
ockPatternKeyguardView.java
8c44c181dea290c86f591c44f8955682512a136c 20-Apr-2012 Brian Colonna <bcolonna@google.com> Merge "Fix: refreshBatteryInfo was uncovering backup"
f6d61c64fb173aa7a1415870d5fdfe730eaa4160 19-Apr-2012 Brian Colonna <bcolonna@google.com> Fix: refreshBatteryInfo was uncovering backup

The onRefreshBatteryInfo() function hides the biometric sensor area so
the biometric sensor isn't shown when the screen turns on during a
plug/unplug. However, sometimes the function is called when there
is no plug/unplug. This fix makes it only hide the biometric sensor
area (thus exposing the backup lock) on plug/unplug.

Note that this does not fix b/5465535 although it may help reduce its
frequency.

Change-Id: Iccff382c23d71257593dc1595ed8fec57adaf5bd
ockPatternKeyguardView.java
7f58b95f7c2bd75a991ec6a2f05676aaba47a544 18-Apr-2012 Dianne Hackborn <hackbod@google.com> Fix to custom scale animations.

These now do something reasonable when performing transitions
across two activities that are both on top of the wallpaper.

Fixed computation of the pivot point of the animations.

Fixed issue where the recents panel was considered a status
bar element for purposes of deciding if the animating elements
are obscured by the status bar, which would result in us not
running the animation correctly.

Change-Id: I4b9b588b80243463e6f087a9703ee886ee281630
honeWindowManager.java
fe444b48bac83bd5472b1102dae87661bafcfccb 13-Apr-2012 Steven Ross <stross@google.com> Always showing FaceUnlock view before bind fixes 6330358

Sets the view to visible directly on the UI thread when feasible
this includes all cases where FaceUnlock is bound.
The delay in processing a message was causing the bug.
This additionally replaces the call in the keyguardview show
with one when the facelockareaview is initialized.

Change-Id: I8511f175d68023372e11d6e76fa1c44df6ac8a3d
iometricSensorUnlock.java
aceUnlock.java
ockPatternKeyguardView.java
c2346134bb519a54d50655cbef940fc3fdec60a9 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Extract Vibrator implementation from interface.

Moved the core logic of Vibrator into SystemVibrator, potentially
allowing for the creation of other Vibrator subclasses.

Fixed several places where we were creating new Vibrator
instances unnecessarily instead of getting it from the Context.

It is safe to make Vibrator abstract because its constructor
was hidden from the SDK so it was not possible to subclass it.

Bug: 6334179
Change-Id: I18ece6544c26a7efb2d5099f8346a10aef8a5e18
honeWindowManager.java
ff5b158f69bf453cf1fdedd175a09482c65f2bf2 13-Apr-2012 Dianne Hackborn <hackbod@google.com> Keep activities stopped while the lock screen is up.

Tell the activity manager when the lock screen is shown, so it
can keep itself (mostly) in sleep mode during this time, having
the foreground actvities remain in their stopped state.

Change-Id: I71c86d3298f23a98014d7ae36fd540c9df9a64e6
eyguardViewMediator.java
0c2acffec8689f8721a454845b24a830bc37ce92 13-Apr-2012 Dianne Hackborn <hackbod@google.com> Clean up lock screen hide animation.

We now have an animation to apply to the thing behind the lock
screen animation when it isn't on the wallpaper, which looks
similar to the animation we use when both are on the wallpaper.

In implementing this, cleaned up the code to figure out up-front
which animation to run, getting rid of that kludgy thing that
cleared the window animation if the wallpaper was not being used
for the lower windows.

Change-Id: Ifc4c8a8894ad384124dcf4bbdaab134f1157b0f3
honeWindowManager.java
ed4995d646252313323f648e44a9539d9384f901 12-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Change window manager to use fixed size for the status bar."
3223e2537d5f4e2eceeb321405dbd6da50df66b6 11-Apr-2012 Brian Colonna <bcolonna@google.com> Changed FUL calls to more general biometric sensor calls

This is another step toward fix 5460649 - cleanup
LockPatternKeyguardView (LPKV).

After this change, LPKV has minimal knowledge of FUL. FUL now
implements a new BiometricSensorUnlock interface and LPKV talks to
that interface. Other biometric sensors can implement the same
interface such that LPKV doesn't need to know much about what type
of biometric sensor is being used or its implementation.

The new interface has better, more general function names, so some
function names in FaceUnlock.java were changed. Some of the functions
in FaceUnlock.java were also reordered to match the interface.

This change should not change the behavior of FUL. There are two
places where code functionality was changed:

1) There was a showArea() function and a showAreaWithTimeout()
function that were both called from LPKV. To simplify the interface,
only a show() function is provided - it takes a timeout and if the
timeout is 0 it doesn't do the timeout.

2) There was a stopIfRunning() function that did a check to make sure
FUL was running. If FUL was running, it stopped FUL. Then it
returned a boolean indicating if it had been running. LPKV sometimes
needs to know if FUL was running so it knows if it should restart FUL.
To simplify the interface, a single stop() function is provided which
returns whether or not it was running. I believe the 'if running'
check was redundant and that there was no case where calling stop()
when it wasn't running would cause any badness.

Change-Id: I717268f360aed823e603df8e687cd107aa69ae11
iometricSensorUnlock.java
aceUnlock.java
ockPatternKeyguardView.java
18ec7a95be24be5a321f3def932bbd6143029bdd 12-Apr-2012 Brian Colonna <bcolonna@google.com> Merge "Fix: FUL coming up when phone is powered off from lockscreen"
c3cd2500a535aeba8e8ce2876844542829dd8e68 12-Apr-2012 Brian Colonna <bcolonna@google.com> Fix: FUL coming up when phone is powered off from lockscreen

When FUL was enabled and the power was turned off from the lockscreen,
either manually or by timing out, the lockscreen would turn back on
and FUL would start.

I believe this is due to a recently-added 'force' flag, which this
commit removes.

Change-Id: I314125fe52afe1536ab5a4600f39f563e1d58991
ockPatternKeyguardView.java
cdebd54805bdd5f42ebc6bedb59d1c52c77a718c 12-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Don't do anything on lid state change by default."
2e7760eba084400f95476cf153db964cdfd40753 12-Apr-2012 Jeff Brown <jeffbrown@google.com> Don't do anything on lid state change by default.

Because a lid switch can be used to do many things, it's best
if the framework does not do anything by default when the lid is
opened or closed. The behavior of the lid switch should be
configured on a per-product basis in a config.xml resource overlay.

Bug: 6320088
Change-Id: I9f768dd11d76c3c17c49f46c92f993ee2ff1409f
honeWindowManager.java
de368ff1c995bb0b9e713a2afa8ec7ae23446bb1 11-Apr-2012 Dianne Hackborn <hackbod@google.com> Change window manager to use fixed size for the status bar.

Unlike the nav bar, it only uses a fixed size for determining
how to layout elements around it; it lets the status bar window
itself be whatever size it wants.

Change-Id: Id04278981ab38915280a47368fccc7ec14bb97ec
honeWindowManager.java
f882f1ad4edd790483924e7bf485fd7c7240d110 11-Apr-2012 Amith Yamasani <yamasani@google.com> Bind to the correct face lock service.

When switching users, bind to the correct instance of FaceLock.

Tried to get the facelock screen to show up when switching users, but it
doesn't. Power off/on works, but not switching between users on the
lockscreen. Maybe a timing issue? Or not calling some function to make
the overlay visible?

Change-Id: I9300971331c7f0ed93ae7da28170342629426b20
aceUnlock.java
ockPatternKeyguardView.java
0b2b1feaa21914f7fa68073a358b5cba3346f023 10-Apr-2012 Brian Colonna <bcolonna@google.com> Merge "Passing useLiveliness flag to FUL in startUi call"
c38cf4c7dbe7d96255d42dabf8ca801830813f5e 10-Apr-2012 Daniel Sandler <dsandler@android.com> Merge "New Android Dreams architecture, disabled for now."
077ee853171f0ad72209a59a80e526bd1387fc76 10-Apr-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6309296: Framework returns Configuration.SCREENLAYOUT_SIZE_LARGE for Xoom

Change-Id: I5882e6f6ab249232b69bdc4b8e692716f2fe5efa
honeWindowManager.java
f66e930e726f4caf49b7d47c08d160b14628c99f 09-Apr-2012 Brian Colonna <bcolonna@google.com> Passing useLiveliness flag to FUL in startUi call

Because of changes in support of multi-user functionaity, the FUL
'eye blink' checkbox was no longer enabling liveliness detection.

It no longer makes sense to check the biometric flags (such as the
liveliness flag) inside of the Face Unlock service. Instead, that
flag is now passed in from lockscreen via the aidl interface when
startUi is called.

Change-Id: I591cf1924fbb24da7d54b94ef29824e5197d3b20
aceUnlock.java
82920edd89edda7d8f706d9dce79842586dc8de5 09-Apr-2012 Brian Colonna <bcolonna@google.com> Merge "Separated FUL functionality from LockPatternKeyguardView"
7d276c377ce0c56630c06a6da431a6cb9bd76d1e 30-Jan-2012 Daniel Sandler <dsandler@android.com> New Android Dreams architecture, disabled for now.

Rather than normal Activities (which have a host of problems
when used for this purpose), screen savers are now a
special kind of Service that can add views to its own
special window (TYPE_DREAM, in the SCREENSAVER layer).

Dreams are now launched by the power manager; whenever it is
about to turn the screen off, it asks the window manager if
it wants to run a screen saver instead. (http://b/5677408)

Also, the new config_enableDreams bool allows the entire
feature to be switched on or off in one place. It is
currently switched off (and the APIs are all @hidden).

Change-Id: Idfe9d430568471d15f4b463cb70586a899a331f7
honeWindowManager.java
9431366ecb4b6e4a87c0047c36548aa0bc23f2b1 06-Apr-2012 Brian Colonna <bcolonna@google.com> Separated FUL functionality from LockPatternKeyguardView

This is the first step toward fix 5460649. All of the FUL functions
were pulled out of LockPatternKeyguardView into their own FaceUnlock
class. LockPatternKeyguardView now has an mFaceUnlock member, which
is new'd inside of the LockPatternKeyguardView constructor, passing
it some objects it needs to do FUL. FUL calls are now made from
LockPatternKeyguardView by doing mFaceUnlock.foo(). Some of the
function names were reduced to avoid redundancy (e.g.
mFaceUnlock.start() instead of mFaceUnlock.startFaceLock()).

This change is just a refactoring and is not intended to change
any functionality. There will be other cleanups in the near
future...this is basically just the minimum changes needed to get
the FUL functionality into its own class.

Change-Id: I7dc5b22857bbf1659238b0e2d113069f7bf9ffe7
aceUnlock.java
ockPatternKeyguardView.java
c8cb3291478fe9e836c1e1a56d3eae739b19a9cf 06-Apr-2012 Daniel Sandler <dsandler@android.com> Fix boot on sw600dp devices.

Soon we'll switch this threshold to 720dp, once the
PhoneStatusBar is ready to support 600dp wide devices. For
now, however, restore the previous behavior.

Bug: 6300512
Change-Id: Ibedb8ffc1b677e3bbe9af230598adb7db278635b
honeWindowManager.java
ac14351e16e1258f1cb54e2bf772b8be004eb2b8 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Move some APIs from window manager to input manager.

Simplified input injection API down to just one call.

Removed all input state reading API. It was only used by the
window manager policy and required a permission that applications
could not obtain. READ_INPUT_STATE is now unused and deprecated.

Change-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00
honeWindowManager.java
e8644b695d6c548d2c93e1da7b4a6aff786f1427 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix so that status bar doesn't resize when hiding nav bar."
9801435820dc159725c0185f18f7e60e0fb1b833 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Fix so that status bar doesn't resize when hiding nav bar.

The status bar now extends behind the nav bar, and uses
fitsSystemWindows to ensure its content is not covered. We
always report a stable content insets (as if the nav bar is
visible) even if the nav bar is hidden, so the content doesn't
jump when transitioing. This does mean that if you only hide
the nav bar (and not the status bar), when in landscape you
will end up with a status bar whose right side still leaves
room for the nav bar. But why the hell would you want to do
that?

Also improve documentation on setSystemUiVisibility().

Change-Id: I8087d875f1214ef0085a91b5ed5c2f35ff2fc1b3
honeWindowManager.java
43504980021dc5baacd94384a0a0823c12b92b1a 06-Apr-2012 Jim Miller <jaggies@google.com> Merge "Fix 6216452: Add search target to lock screen"
c00fd7ab302198635885c1e090b41e3d11adc8ea 23-Mar-2012 Jim Miller <jaggies@google.com> Fix 6216452: Add search target to lock screen

Change-Id: I0784e844fb8e1f904f37d2572c6ddbd6c22e95d1
ockScreen.java
e9bdb31ea1dc3c1c2b1833a4bf0031d85928a45b 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Refactor input system into its own service."
35bb98d5088f92ea57b9c1f8be932b4d3ec5b018 05-Apr-2012 JP Abgrall <jpa@google.com> Merge "unlock screen: enable DEBUG and track pattern start/cell progress."
2184a985da15eddd010e53120ebb1da9f8af53e1 05-Apr-2012 Amith Yamasani <yamasani@google.com> Merge "Lockscreen settings per user"
4532e6158474a263d9d26c2b42240bcf7ce9b172 05-Apr-2012 Jeff Brown <jeffbrown@google.com> Refactor input system into its own service.

Extracted the input system from the window manager service into
a new input manager service. This will make it easier to
offer new input-related features to applications.

Cleaned up the input manager service JNI layer somewhat to get rid
of all of the unnecessary checks for whether the input manager
had been initialized. Simplified the callback layer as well.

Change-Id: I3175d01307aed1420780d3c093d2694b41edf66e
eyguardViewMediator.java
52c489cd63cca0361f374f7cb392018fabfa8bcc 28-Mar-2012 Amith Yamasani <yamasani@google.com> Lockscreen settings per user

Move all lockscreen related settings to LockSettingsService.
LockPatternUtils uses this through IPC instead of Secure settings.
Migrate old settings to new database managed by LockSettingsService.
Passwords and patterns are stored in a new per-user location, except
for the primary user, for backward compatibility.
KeyguardViewMediator and LockPatternKeyguardView listen for changes
to user and updates the lockscreen.

Settings provider will look for Lock settings in the LockSettings
service now for the entries that used to be stored in Settings.

Change-Id: I956cd5b95e2d9d45a6401af7e270e6a5aa2dcc98
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockPatternKeyguardView.java
f87d19621dc2a30232bba1f51862a0b671eb9729 04-Apr-2012 Dianne Hackborn <hackbod@google.com> Clean up status bar, system bar, navigation bar management.

The status bar and navigation bar are two completely separate
elements, with their own semantics. The system bar now classifies
itself as a navigation bar, since that is really how it behaves.

This required rewriting the HDMI resizing code, so that it is
all done by PhoneWindowManager since that is what is responsible
for the size of the navigation bar (and thus now system bar). This
actually gets rid of a fair amount of code, and means we can also
do the same thing for a pure navigation bar.

Likewise the system bar now has the navigation bar ability to be
hidden when requested by system UI flags. To get the behavior
we want on Xoom, we only allow the nav bar to be hidden when it
will help provide a better aspect ratio for showing widescreen
videos.

Finally the nav/system bar now animates when hidden and shown.

Change-Id: Ie927154b68376a0b61802f99171ff56b8da92e7a
honeWindowManager.java
e94d763f69bdc80d1ec1d7c3dd258c4e10206a5b 05-Apr-2012 JP Abgrall <jpa@google.com> unlock screen: enable DEBUG and track pattern start/cell progress.

- Turned on DEBUG.
- Added logging for pattern start, and for each cell.

This should help with debugging lockscreen not receiving input when turning
sleeping phone one

Bug: 6258051
Change-Id: Id95e167c2792e80925e8e41c0c624b5bdc222249
atternUnlockScreen.java
554bb0194f1f4fcc91834eaaf2efb300cf32f693 02-Apr-2012 Dmitry Tsyganyuk <fdt017@motorola.com> Possible NullPointerException in restorePanelState

curFeatureId is just an index in a cycle and can not be used for getting an object. May get null that will cause NullPointerException. Solution is to use key to get an object from icicles.

Change-Id: I61d5c6bd1c3226a993f60efa74872995ba0e42ac
honeWindow.java
3a3a6cfd8ec12208ca75c0d0d871d19d76c34194 26-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new feature to let apps layout over status bar / system bar.

The main change is a few new flags you can supply to
View.setSystemUiVisibility(). One is a new visibility mode,
SYSTEM_UI_FLAG_FULLSCREEN, which is basically the same as
the global FLAG_FULLSCREEN option for windows, but driven as
part of the system UI state.

There are also three new flags for telling the framework that you
would like to have your application's UI ignore screen
decorations -- SYSTEM_UI_FLAG_LAYOUT_NO_NAVIGATION for going
behind the navigation bar and SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
for ignoring full screen decorations (that is the status bar).

In combination with this you can use SYSTEM_UI_FLAG_LAYOUT_STABLE
to have the framework report consistent insets to your application.

When using NO_NAVIGATION, when the user taps the screen we now
also automatically clear ONLY_CONTENT, so that we atomically show
both UI elements. This should make it easy for apps like video
players that want to move between fully full-screen and regular
modes.

The ActionBar has also been extended when in overlay mode so
that it will adjust the system window insets to also account
for its space, and allow it to be hidden using the new
SYSTEM_UI_FLAG_FULLSCREEN.

Change-Id: Ic8db1adec49a0f420bfe40c1d92eb21307856d0b
honeWindow.java
honeWindowManager.java
50c69b5d8ae4bc973e53cbe3b58b0eb0299e25c8 30-Mar-2012 Michael Jurka <mikejurka@google.com> Merge "Preload recents on phones with hard nav keys"
7f2668c8469934ce83a5647977f6e74ab782cf07 27-Mar-2012 Michael Jurka <mikejurka@google.com> Preload recents on phones with hard nav keys

Also refactor recents code across Phone/Tablet

Change-Id: Id557c5cb0f7d9378f81c40b20511a5d98bf4078e
honeWindowManager.java
c97ed10ba8ce3c3004f71c226a1142ea91a80424 29-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Ensure pointer location view is attached to the policy thread."
70825161b5bf51ed48319e142751a9c88b104994 29-Mar-2012 Jeff Brown <jeffbrown@google.com> Ensure pointer location view is attached to the policy thread.

Previously we created the PointerLocationView on whatever thread
happened to trigger the call to updateSettings(). There was
also some messiness around having to add or remove the view
while not holding mLock.

Now, just post the work to the policy handler.

This also makes it possible for us to use invalidate() instead
of postInvalidate() in PointerLocationView, which is more efficient.

Change-Id: I0646d7aeecffdc22f6ac56ae3ef951e7a12e2b93
honeWindowManager.java
52f1d752f90579c9b57e3350393a029cf72138d0 29-Mar-2012 Amith Yamasani <yamasani@google.com> Show the current user in power menu

Shows a little indicator next to the current user in the power menu
when multi-user is enabled.

Fixed a bug where Settings was sometimes being launched in the wrong
process when there are 2 instances running.

Change-Id: Iaf2a00f6d1871fd2a88d8982439e445423bb2896
lobalActions.java
135936072b24b090fb63940aea41b408d855a4f3 23-Mar-2012 Amith Yamasani <yamasani@google.com> User management and switching

Broadcast intents that get sent out when users are added/removed/switched.

More work on generating user-specific information in package manager queries.
APIs to update user name and query a user by id.
Removed Package.mSetStopped and mSetEnabled, since they're not user specific.

User removal:
- Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService
and AccountManager.
- Shutdown processes belonging to the user.

Don't show vibrate option in long-press power if there's no vibrator.

Lock the screen when switching users, to force unlocking.

Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
lobalActions.java
e90585f89d550a61e3efd5050efdc5be2be494af 06-Mar-2012 Christopher Tate <ctate@google.com> Add a config resource to disable key-chord screenshotting

The key chord screenshot mechanism introduces significant latency into
processing of volume-key input; enough to be quite noticeable and
annoying on some kinds of device. This patch introduces a new config
resource entry ("config_enableScreenshotChord"), true by default, so
that products on which this functionality is inapplicable can avoid
its runtime overhead.

Bug 6039047

Change-Id: I968ddf9046741da35988310b7893fae2c0369beb
honeWindowManager.java
d16a4f29672d7c9ea2ea802ec9c804563bcb2ccb 21-Mar-2012 Jim Miller <jaggies@google.com> am d5b5db73: am b7a6f5d7: am 928d3470: Fix 5960562: Show emergency button on PukUnlock screen

* commit 'd5b5db73fcb49a4ca04e9cefc5f5293faba5895e':
Fix 5960562: Show emergency button on PukUnlock screen
928d34704b96db9133e28dc77b716518d335b356 20-Mar-2012 Jim Miller <jaggies@google.com> Fix 5960562: Show emergency button on PukUnlock screen

This fixes an issue where the device doesn't show the emergency button
on the SIM PUK unlock screen. The problem was introduced in I3127bfd5
where we allowed the button to be conditionally shown.

Change-Id: I3e2aae2bce89399a2564c3f8a726a8db99cdec86
imPukUnlockScreen.java
b030476d193a423f6c1baf3053f66fc768c925e0 14-Mar-2012 Jim Miller <jaggies@google.com> Fix 6021938: Improved target support in lock screen

This adds the ability to enable or disable target icons based on the drawable
resource of the target.

It also fixes a bug where we'd show the camera while displaying
the PIN/PUK unlock screen or when it's disabled by DevicePolicyAdmin.

Minor simplification and cleanup KeyguardUpdateMonitor callbacks.

Change-Id: I33fad56a2203bc8b7bcd0300c20478711a56713a
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockPatternKeyguardView.java
ockScreen.java
a4972e951bf2bdb7afdafee95b3ab0c15b8bacae 14-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new "options" argument to all startActivity APIs.

This will be used to allow new features to be requested... such as,
say, a special kind of animation. Right now there are no options
defined.

Change-Id: I4eb6f27275cdd4bf186f6da316ab93a2372ad4b7
honeWindowManager.java
92a8b22e7410e74e1cba1b856333116652af8a5c 10-Mar-2012 Siva Velusamy <vsiva@google.com> ActivityManager: add option to allow OpenGL trace.

This patch adds an option to enable tracing of OpenGL functions.
OpenGL tracing can be enabled by passing "--opengl-trace" option
to am start. This option requires either a device in debug mode,
or that the application itself has debug permission set.

Change-Id: I77788bfe97c9108943b1f947ce81afe8293d78a0
honeWindowManager.java
fbc46dc3c2be5f89041d9e4d3447bc65d303d43a 02-Mar-2012 Jim Miller <jaggies@google.com> Fix 6028595: Fix reboot loop in AccountUnlock due to null callback

This fixes a bug where the device would get into a reboot loop due to having
a null callback. The problem was that a recent change caused the callback
to be used indirectly by the constructor before being set.

The solution is to pass the callback to the KeyguardViewBase constructor
which ensures it's ready by the time we call getCallback().

Change-Id: I2598fc5338be99977980e4dea41a096fb2a7ef7e
eyguardViewBase.java
eyguardViewManager.java
eyguardViewProperties.java
ockPatternKeyguardView.java
ockPatternKeyguardViewProperties.java
75e1ce63353efe93a56dba3fff8d9f9134475163 29-Feb-2012 Wu-cheng Li <wuchengli@google.com> Use SINGLE_TOP and CLEAR_TOP when starting camera from lock scren.

Add these flags so there is no need to press back key twice to
exit the camera if users slide to camera twice.

bug:6070281

Change-Id: Iadf6ab2798cf9381bc9dc761920f46b022fb6bb8
ockScreen.java
7a3489552ca92776c5e2a57c80026216b44005eb 27-Feb-2012 Michael Jurka <mikejurka@google.com> Add shortcut for voice search

On phones with soft nav bar, make long press on
home launch a voice search intent

Change-Id: I69840a96a08524a76e33a306b799222c879db095
honeWindowManager.java
b8678d76c3e09d0d65255f3971b6112a48e19099 23-Feb-2012 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 210c1a26 to master

Change-Id: Ic44193e62215086c22225f2def5eee3159d26ae8
40eec4c0f1392665dbfcd9ca9ea4a9519a71c34a 16-Feb-2012 Adam Powell <adamp@google.com> Fix the size of DialogWhenLarge windows

Change-Id: I8c9588e958d8fb9c45b1cdb235cced48ba508dd3
honeWindow.java
01011c3d7ce4f76c1a76b33a04fc63da784ddbea 21-Feb-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6037252: Screen shifts after all apps are upgraded

Two things: (1) make sure the boot message is always positioned within
the entire unrestricted display, and (2) allow the dim background to go
on top of the nav bar when being used for the boot message (this latter
is really a hack that should be more generally fixed in the future).

Change-Id: I7261b044eb802a39cadff931b50a679ff18781d6
honeWindowManager.java
ce952c8e13c535bedde77bcdb94dfcc7508475aa 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Signed-off-by: Mike Lockwood <lockwood@android.com>
honeFallbackEventHandler.java
honeWindow.java
f5f4ec97916a22859abae69c7e8f522d36271eb6 08-Nov-2011 Mike Lockwood <lockwood@android.com> PhoneWindowManager: stifle warning that ITelephony service does not exist

Signed-off-by: Mike Lockwood <lockwood@android.com>
honeWindowManager.java
d747dc8179df3cfcc68df78ec46b93992de52eaf 13-Sep-2011 Mike Lockwood <lockwood@android.com> Fix problems dispatching media button events on headless devices

Signed-off-by: Mike Lockwood <lockwood@android.com>

Conflicts:

policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
honeWindowManager.java
3a74bd36f8af1a12353db8ddbc5227d33c2ce680 12-Aug-2011 Mike Lockwood <lockwood@android.com> Add headless mode for running the framework without the surface flinger

Enabled by setting system property ro.config.headless to 1
This will allow the framework to run without starting activities,
system UI and the keyguard.
Framework can still run services, content providers and broadcast receivers.

Signed-off-by: Mike Lockwood <lockwood@android.com>

Conflicts:

policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
services/java/com/android/server/PowerManagerService.java
services/java/com/android/server/am/ActivityManagerService.java
honeWindowManager.java
aa5bf14e2123d39821863d9c352b82fb7946a220 21-Sep-2011 Mike Lockwood <lockwood@android.com> PhoneWindowManager: Disable boot progress dialog on headless builds

Signed-off-by: Mike Lockwood <lockwood@android.com>
honeWindowManager.java
61ac6bb250494db602b485491a493b64776eaf3b 03-Feb-2012 Craig Mautner <cmautner@google.com> Extract code from performLayoutAndPlaceSurfacesInnerLocked() into multiple methods.

Change-Id: I80152c38741ce73b92da9483cfed84efbac34f89
honeWindowManager.java
742a67127366c376fdf188ff99ba30b27d3bf90c 04-May-2011 Amith Yamasani <yamasani@google.com> Multi-user - 1st major checkin

Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.

Commands added to pm and am to allow creating and switching profiles.

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
lobalActions.java
118bb2bd86194454452655345846c85ec59ba547 28-Jan-2012 Jim Miller <jaggies@google.com> Fix 5906830: Don't crash on lock screens that lack a clock.

This fixes a crash seen in SIM unlock screen where the
layout doesn't have a clock to update.

Change-Id: Ic1473b60f6d32f3feae9e7aa4510f6e435fa9a73
eyguardStatusViewManager.java
ce4a0c6f160241ea06e1f2000815094263dea70d 17-Nov-2011 Jim Miller <jaggies@google.com> Fix 5906830: Update the clock earlier when lock screen comes back from suspend.

This attempts to fix an issue where sometimes the time shown on lock
screen was really old. The code now sets the time immediately when the
screen turns on.

Change-Id: Ic4649ea342499aea82f997ba488bc2cb45987739
eyguardStatusViewManager.java
fb9e364380f91295490d1acbfc9a571cb6a4384b 26-Jan-2012 Jim Miller <jaggies@google.com> Merge "Fix 5620754: don't show pattern unlock after SIM unlock if not enabled."
93708af1329bb278d83c1fac6a623629cb42a3d4 26-Jan-2012 Jim Miller <jaggies@google.com> Fix 5620754: don't show pattern unlock after SIM unlock if not enabled.

This fixes a bug where the device would show pattern unlock after the user
entered the SIM PUK unlock code. The code now correctly determines that
the device isn't secure and thus shouldn't show the unlock screen.

Change-Id: I49fd749592154a4c5840038b92d54ca7ca086074
ockPatternKeyguardView.java
3868cee0b9306644b250d3cd78b1be7af70abf68 24-Jan-2012 Jim Miller <jaggies@google.com> Fix 5907237: dismiss keyguard after the camera app launches.

This fixes a bug where either the home screen or the last app run shows
briefly while we wait for the camera app to launch. Instead, we have
ActivityManager dismiss keyguard once the camera app is up and running.

Change-Id: I1c2986ad84024dce675216a76c19c937c3e2828d
ockScreen.java
8c190f76fc92b6db9a1886b5de5b7cecdd656c4b 24-Jan-2012 Dianne Hackborn <hackbod@google.com> am 29cd79c7: am c986d6f0: Merge "Fix issue #5906017: Missing menu entries in portrait when in compatibility mode" into ics-mr1

* commit '29cd79c7b0fecd2753fc27405794c0d5b5314302':
Fix issue #5906017: Missing menu entries in portrait when in compatibility mode
a486a53a02392c5d5de5a3d0856433a25e56b110 24-Jan-2012 Dianne Hackborn <hackbod@google.com> Fix issue #5906017: Missing menu entries in portrait when in compatibility mode

This was a bug only when the status bar was hidden, the screen space for
the nav bar would not be correctly removed for all frames used in layout
computation.

This code really $*#&^!! needs to be cleaned up, the whole "status bar
is the system bar when on a tablet so it should take space from apps,
but status bar doesn't do that on phones but on phones there is a nav
bar that does the same thing" thing is whacked.

Proof that evolution DOESN'T WORK!!!!!!!!!!

Change-Id: I24e4994328480820cb638e7a40aa0b65b7ae2003
honeWindowManager.java
d3fe9abfb9a6a21a18abde6a98dceb423c04ebef 21-Jan-2012 Jim Miller <jaggies@google.com> am ab9601cd: am 230a7092: Merge "Fix 5863053: Add method to lock screen immediately." into ics-mr1

* commit 'ab9601cdbb95ae94088750eff9a926a572c1a4d6':
Fix 5863053: Add method to lock screen immediately.
cfbf7dedaddd825b608e87d3dcf46adf80a46976 12-Jan-2012 Dianne Hackborn <hackbod@google.com> Fix issue #5823276 again: home repaints after full-screen app is exited

Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

This fix does not include the change to ignore app tokens that are
hidden. This causes problems in some dialogs that stay hidden until
their app is ready to display, but need to perform a series of relayouts
during that time to get to the right size. Dropping this part of
the change still (mostly?) seems to allow us to avoid the bad states.

Change-Id: Ic052cb1499d3287f47e9ffeac5cd2470ee5a308c
honeWindowManager.java
170997a519ce79e93e4f6984e9663232475ce92c 19-Jan-2012 Justin Ho <justinho@google.com> DO NOT MERGE Revert "Fix issue #5823276: home repaints after full-screen app is exited"

This reverts commit 01b02a734d2988c22b00f5df6346ad03d8bf52b6.

Change-Id: I848c01fc44eb9a51ead1116b2647ed838ec1825f
honeWindowManager.java
230a709285abc5dfd92f05d91a8997d52a59d3c7 19-Jan-2012 Jim Miller <jaggies@google.com> Merge "Fix 5863053: Add method to lock screen immediately." into ics-mr1
93c518e4f8abd98f87cda1712b30a5a86cfa60dd 18-Jan-2012 Jim Miller <jaggies@google.com> Fix 5863053: Add method to lock screen immediately.

This fixes a bug where the device fails to lock when DevicePolicyManagerService
requests the device to be locked and the screen was off because the user hit
the power button.

The change allows DPMS to directly invoke screen lock, bypasssing the screen state.

Change-Id: Iecdda6fc61e9c519119de495be23c69c3b983921
honeWindowManager.java
f88d1493aa968d3da551116f076edd5e21f7ccfc 13-Jan-2012 Dianne Hackborn <hackbod@google.com> am 10065177: am 2e282f35: Merge "Fix issue #5823276: home repaints after full-screen app is exited" into ics-mr1

* commit '100651779fde99f7ae2a10719d688b51115f08e9':
Fix issue #5823276: home repaints after full-screen app is exited
2e282f35b009fe4c23daca35592dae2032641643 13-Jan-2012 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5823276: home repaints after full-screen app is exited" into ics-mr1
191713a51f0292b7fce72cc7e16cfd0f0204a0c7 12-Jan-2012 Guang Zhu <guangzhu@google.com> Move where prop dev.bootcomplete is set

Currently test harnesses depends on this flag to determine when
the system is fully booted, and start dismissing keyguard, launch
tests etc. However, the flag is usually set when the boot animation
is still running, and typically about 5 seconds before keyguard is
up etc. Moving to to when BOOT_COMPLETE broadcast is sent makes it
work more reliable.

We also discussed about using sys.boot_completed instead,
unfortunately this flag is not in all platform and we still have
backwards compatibility to maintain in order to drive unbundled
tests.

Change-Id: I99b084cd70d8e4bcfe490ddeca868136d32712e2
honeWindowManager.java
01b02a734d2988c22b00f5df6346ad03d8bf52b6 12-Jan-2012 Dianne Hackborn <hackbod@google.com> Fix issue #5823276: home repaints after full-screen app is exited

Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

Also don't consider windows a candidate for layout if their app token
is hidden. This fixes a transient state where we are preparing to
unhide the window but have not done so yet.

Change-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16
honeWindowManager.java
0b92eb4b8c2cfd1230245e387424df19ae0535d9 12-Jan-2012 Jim Miller <jaggies@google.com> am 1aff11be: am 7a286d83: Merge "Fix 5620754: don\'t show pattern screen after SIM PUK unlock" into ics-mr1

* commit '1aff11be4585d6ddff784d7e74188963050805fa':
Fix 5620754: don't show pattern screen after SIM PUK unlock
7a286d8391a58637e6834f4de296bf66183ce1b2 12-Jan-2012 Jim Miller <jaggies@google.com> Merge "Fix 5620754: don't show pattern screen after SIM PUK unlock" into ics-mr1
8a1131d78925756835561c3e19cddd2ddf9dbd99 12-Jan-2012 Brian Colonna <bcolonna@google.com> Merge "DO NOT MERGE cherry-picked FU framework tablet commits" into ics-mr1
28a0767751268601c4b8c208e4f8708ee2e88533 11-Jan-2012 Jim Miller <jaggies@google.com> Fix 5620754: don't show pattern screen after SIM PUK unlock

This fixes a bug introduced in testing 34a62348. The code now
properly invokes the callbacks before returning.

Change-Id: I637a8a792838379f0c8b42ef634da82787fcd961
eyguardUpdateMonitor.java
5437c220e239dc6276942990bc81c1388cfb176c 10-Jan-2012 Jim Miller <jaggies@google.com> am d3872f55: am 62fad768: Merge "Fix 4560303: Add setting to lock later when power button pressed" into ics-mr1

* commit 'd3872f55045b7ce7be7dd7ae5fff37d7988bdcb2':
Fix 4560303: Add setting to lock later when power button pressed
a4edd151c5266a2c794c95444fed67d19740cee3 07-Jan-2012 Jim Miller <jaggies@google.com> Fix 4560303: Add setting to lock later when power button pressed

This adds a feature to delay locking the device when the power button
is pressed. This fixes a use case where the user wants to turn off
the display (e.g. to save power) but doesn't want to lock the device.

For the case of a secure device (user has a pin/password/pattern),
this will lock the device immediately or not based on the setting.

For the non-secure case, this always "locks" the device to provide easy
access to the camera while preventing unwanted input.

Change-Id: Ie328485c3f7559e26896d761cbf0e69d3f4df4e2
eyguardViewMediator.java
7664c0e99d2ee70ad714b904a166b17ac7efdf9f 09-Jan-2012 Brian Colonna <bcolonna@google.com> DO NOT MERGE cherry-picked FU framework tablet commits

- cherry-picking framework CLs from master into ics-mr1 that are
needed for FU to work on tablets

- needed for OEM partners even FU isn't going on xoom

Squashed commit of the following:

commit 3258f2528f558efdaf34ae15c5425f2d879848fe
Author: Brian Colonna <bcolonna@google.com>
Date: Tue Dec 13 15:49:48 2011 -0500

Added Face Unlock to tablet lockscreen layouts

The Face Unlock Area was not part of the tablet layouts, so prior to
this change, Face Unlock would not show up on tablets when selected as
the unlock method. The backup unlock method would show up instead.

The goal here is for the pattern and PIN unlock layouts (in both
portrait and landscape mode) to look the same as before this change.
This was a little harder than it was with the phone layouts for two
reasons:

1) For the phones it was ok for Face Unlock to be sized such that it
just covers the backup method. For the tablets we want Face Unlock
to cover far more real estate.

2) The phones were based on a grid layout, whereas the tablet is a
linear layout.

Note that the diff makes the modifications look way more extensive
than they actually are. Basically, in most cases I am putting a
relative layout around some existing portion of the layout and
putting the Face Unlock Area area inside of the new relative layout.

Change-Id: I478becddf2a9ee9fe7b6d653e604fa3ad89b822f

commit 821cfe85cf2b3daf074d9749dbf6e0a5663af0de
Author: Brian Colonna <bcolonna@google.com>
Date: Mon Dec 19 15:51:10 2011 -0500

Unbinding from FU when going to backup

Lockscreen was stopping Face Unlock when going to the backup lock, but
not unbinding from the Face Unlock service until the device was
unlocked.

This caused a bug on the tablets where Face Unlock would reappear when
switching between portait and landscape orientations, even after the
backup lock was exposed. On an orientation change, Face Unlock is
restarted if the service is bound to during the orientation change.
Since it was bound to when it should not have been, Face Unlock was
restarting when it should not have been.

The wakelock is also now being poked on an orientation change because
on the tablet you can keep Face Unlock alive by switching the
orientation back and forth, but eventually the screen would go dark
with Face Unlock running.

Also, a conditional was moved in activateFaceLockIfAble() so the whole
section isn't executed if Face Unlock is not in use. Part of it was
being executed with only the inner-most part having the check. This
did not cause any issues that I am aware of.

Change-Id: Ib452b8ced28a507bf9272dbf5d3477a8abd1ba90

commit fa90bb76ac6b311d12b55d23df4ac44cec62c7b3
Author: Brian Colonna <bcolonna@google.com>
Date: Mon Dec 12 18:02:23 2011 -0500

Changed how Face Unlock coordinates are specified

Was using View.getLeft() and View.getTop() to specify the upper-left
corner of the Face Unlock area. That gives coordinates relative the
view, which was fine for the phones. For the tablet it needs
coordinates relative to the window (which still works for the phones).

Also fixed a 'bug' where h and w were swapped. However, it wasn't
causing a problem because it was swapped in two places.

Change-Id: I86c1f68439f1dcef826cfe6b8fb56c9a4a6b8dc3

Change-Id: I962c0486be85949e002b0a2701286a6a39251f36
ockPatternKeyguardView.java
edcac2aa695b2cd774ecc8deaa78c363b227b45b 03-Jan-2012 Brian Colonna <bcolonna@google.com> Merge "Unbinding from FU when going to backup"
d02c5dfd8dac526ec3c74e2c160835aa2c9d19c9 20-Dec-2011 John Wang <johnwang@google.com> am c0139281: am c892e177: Merge "Hide emergency call text if not support it." into ics-mr1

* commit 'c01392816fbb16ca76c738bc801f3b2c34548c06':
Hide emergency call text if not support it.
fb45f7b08b0218b59b5b3a9631f9b37fc8fb3dfd 19-Dec-2011 Brian Colonna <bcolonna@google.com> Unbinding from FU when going to backup

Lockscreen was stopping Face Unlock when going to the backup lock, but
not unbinding from the Face Unlock service until the device was
unlocked.

This caused a bug on the tablets where Face Unlock would reappear when
switching between portait and landscape orientations, even after the
backup lock was exposed. On an orientation change, Face Unlock is
restarted if the service is bound to during the orientation change.
Since it was bound to when it should not have been, Face Unlock was
restarting when it should not have been.

The wakelock is also now being poked on an orientation change because
on the tablet you can keep Face Unlock alive by switching the
orientation back and forth, but eventually the screen would go dark
with Face Unlock running.

Also, a conditional was moved in activateFaceLockIfAble() so the whole
section isn't executed if Face Unlock is not in use. Part of it was
being executed with only the inner-most part having the check. This
did not cause any issues that I am aware of.

Change-Id: Ib452b8ced28a507bf9272dbf5d3477a8abd1ba90
ockPatternKeyguardView.java
44fcb83b38b062a650ddf556fe7f5e34905df9ea 15-Dec-2011 Joe Onorato <joeo@google.com> Add a new ui mode for "appliance"

The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
honeWindowManager.java
088f1628991cc63401d12ce2e979f0520696693b 15-Dec-2011 John Wang <johnwang@google.com> Hide emergency call text if not support it.

Show "emergency call only" text in carrier string
only if phone supports emergency calls.

bug:5570742
Change-Id: Ie826583fd55073e57c5fe4fe6e585781127caa6a
eyguardStatusViewManager.java
ee4d45f3052c8d339035c4bb8eca9b7a724e5074 13-Dec-2011 Dianne Hackborn <hackbod@google.com> am 0be53567: am 19a06fe9: Merge "Fix issue #5755172: Soft menu key disappears when menu is open" into ics-mr1

* commit '0be53567c1c2299c548d3204d2b9240108fbd53a':
Fix issue #5755172: Soft menu key disappears when menu is open
73ab6a49db2b834ce1d56c7a1164938b409ee6fc 13-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5755172: Soft menu key disappears when menu is open

We need to work more like before in determining whether the menu
key is needed -- in some cases look back in the window list to
determine this if we don't know the value from the current window.

This requires adding a new private flag indicating whether the
compat menu state is known for a window, which is set by
PhoneWindow as part of its existing process of computing the flag
for its own windows.

Now we can have a new API on WindowState to determine the value
of this flag for a window, which if needed walks back in the window list
to find a window the value is known for (or stops at what the policy
has determined is the top full-screen window, so we stop like we used
to at things like the lock screen or the bottom of an application).

Change-Id: I829de6d629b5af8bcb422cb85249ee4041c7205e
eyguardViewManager.java
honeWindow.java
honeWindowManager.java
a44f2a59a2408ff367bd2efc7f74ec56f92565dc 13-Dec-2011 Brian Colonna <bcolonna@google.com> Changed how Face Unlock coordinates are specified

Was using View.getLeft() and View.getTop() to specify the upper-left
corner of the Face Unlock area. That gives coordinates relative the
view, which was fine for the phones. For the tablet it needs
coordinates relative to the window (which still works for the phones).

Also fixed a 'bug' where h and w were swapped. However, it wasn't
causing a problem because it was swapped in two places.

Change-Id: I86c1f68439f1dcef826cfe6b8fb56c9a4a6b8dc3
ockPatternKeyguardView.java
e4067faca93ee1669c7b68d5e767317c0bbad9c1 10-Dec-2011 Steven Ross <stross@google.com> Merge "Checking whether screen is on in constructor fixes 5658742"
bdc18b28eb04b8c8cc00313096f8bfb142e407e3 09-Dec-2011 Jeff Brown <jeffbrown@google.com> am 03e63427: am 8e0ecbfc: Merge "Shortcut keys should be handled on down, not up." into ics-mr1

* commit '03e634270d880407316b51fac2278e604fc82703':
Shortcut keys should be handled on down, not up.
fa7fa9a5ba796eabb2dadb8e2ce1b97da38e939e 09-Dec-2011 Jeff Brown <jeffbrown@google.com> am 944c985b: am e0e9fd98: Merge "Fix system hotkey handling." into ics-mr1

* commit '944c985b4199e6e029568ea87004c9727e469cc0':
Fix system hotkey handling.
ebc6fb46c28c972d745c3d34b9fdfaf46fb20c1d 09-Dec-2011 Steven Ross <stross@google.com> Checking whether screen is on in constructor fixes 5658742

Change-Id: Ic96c8dd9ee9e86000b0cbe22a7d068a8ee424448
ockPatternKeyguardView.java
8e0ecbfc97606ea30d0d8216fea635888f766b9d 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Merge "Shortcut keys should be handled on down, not up." into ics-mr1
e0e9fd981ca71aeaa45c888485c11788456bd838 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix system hotkey handling." into ics-mr1
7bedf2449041a425899448cb672e91b0a5c97c62 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Shortcut keys should be handled on down, not up.

Bug: 5720360
Change-Id: I3afc278e576ea992c76f024c8b6bad14b214239c
honeWindow.java
68b909d8acd92343fa0b1dff2f77fcd9d9991f9f 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Fix system hotkey handling.

Fixed a problem where the key up for the ALT or META key was not
delivered to the task switcher dialog because it was deemed
to be inconsistent with the window's observed state. Consequently
the dialog would not be dismissed when the key was released.

Moved global hotkey handling for META+* shortcuts and ALT/META-TAB
into the window manager policy's interceptKeyBeforeDispatching
method. This change prevents applications from hijacking these
keys.

The original idea was that these shortcuts would be handled only
if the application did not handle them itself. That way certain
applications, such as remote desktop tools, could deliberately
override some of these less important system shortcuts.
Unfortunately, that does make the behavior inconsistent across
applications. What's more, bugs in the onKeyDown handler of
applications can cause the shortcuts to not work at all, for
no good reason.

Perhaps we can add an opt-in feature later to enable specific
applications to repurpose these keys when it makes sense.

Bug: 5720358
Change-Id: I22bf17606d12dbea6549c60d20763e6608576cf7
conUtilities.java
honeWindowManager.java
ecentApplicationsDialog.java
7e05b4a3097a8e2254de3c9bf7cbba28926c9cf9 08-Dec-2011 Dianne Hackborn <hackbod@google.com> am 7377e593: am 0e385ee4: am b32785c6: Merge "More fixing for issue #5366535: Lockscreen has wrong layout..." into ics-mr0

* commit '7377e59314885b8ef65bd19d04984998cb2e5ff4':
More fixing for issue #5366535: Lockscreen has wrong layout...
0e385ee4de901f4c509374fad5bc040a2ac80721 08-Dec-2011 Dianne Hackborn <hackbod@google.com> am b32785c6: Merge "More fixing for issue #5366535: Lockscreen has wrong layout..." into ics-mr0

* commit 'b32785c6e893743956e28b285b8e6f6fc7aa8edb':
More fixing for issue #5366535: Lockscreen has wrong layout...
7029f19dc8d55e56f5f27458e2d763546dad81e9 08-Dec-2011 Amith Yamasani <yamasani@google.com> am 675a5ba8: am 3b5555fc: Merge "Make new ringer toggles on power menu accessible and navigable with keyboard." into ics-mr1

* commit '675a5ba82f886d8a5f954219b6544a97acb17e29':
Make new ringer toggles on power menu accessible and navigable with keyboard.
3b5555fc4483f6813f3df4787d98dd5357851566 08-Dec-2011 Amith Yamasani <yamasani@google.com> Merge "Make new ringer toggles on power menu accessible and navigable with keyboard." into ics-mr1
0c5c2884542be5313007cb2ba22c409133e5ec5a 08-Dec-2011 Jeff Brown <jeffbrown@google.com> am 03be4d9c: am ff3b5a82: Merge "Make the dock orientation override the HDMI orientation." into ics-mr1

* commit '03be4d9cf456b7ad82e6fbbdea2b4902cb0e4abb':
Make the dock orientation override the HDMI orientation.
e48a160e57a6426be81bfa18dd35324a36f6a74d 07-Dec-2011 Amith Yamasani <yamasani@google.com> Make new ringer toggles on power menu accessible and navigable with keyboard.

Bug: 5721663

Added content descriptions and made the listview allow navigation between nested
views.

Change-Id: I69d78d65e1bab829f63c2e6025051206e511f00f
lobalActions.java
ff3b5a828ea1f7409af4475898689804bed10ede 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Merge "Make the dock orientation override the HDMI orientation." into ics-mr1
d9efb95a0e3ffa06232aeaaeedadfcca2ab93603 07-Dec-2011 Dianne Hackborn <hackbod@google.com> More fixing for issue #5366535: Lockscreen has wrong layout...

...but corrects itself

Change upgrade window to not allow the device to rotate while it is shown.

Change-Id: I75b126ab8806b84a0351e2706ebea10570bde575
honeWindowManager.java
eb3e4b98a45722d5d1ea73e45d86c119d678bb05 07-Dec-2011 Jeff Brown <jeffbrown@google.com> Make the dock orientation override the HDMI orientation.

Bug: 5714422
Change-Id: I5a229f987fb88a25d2e49d0c73184f556ffc1114
honeWindowManager.java
9c316f3c6ac785fd27be97a119dfe8f1303a8ed4 07-Dec-2011 Amith Yamasani <yamasani@google.com> am d49ec62c: am f3364080: Merge "New and improved silent mode on lockscreen." into ics-mr1

* commit 'd49ec62cfb0469c39f2b5d79cbf2a6f69cceb7d7':
New and improved silent mode on lockscreen.
6243edd818b84adfbe712d5d233d6414b33653ac 06-Dec-2011 Amith Yamasani <yamasani@google.com> New and improved silent mode on lockscreen.

3-state item to toggle between Silent/Vibrate/Ringer in long-press power menu.
No volume dialog on lockscreen, unless Power menu is up.

Set VIBRATE_IN_SILENT=1 when upgrading device.

Change-Id: I097d216f96c4abdbd83420e0c477106951b3607d
lobalActions.java
eyguardViewBase.java
4f102ea7865737c2a17f261c7efa4c06aee9c87a 06-Dec-2011 Brian Colonna <bcolonna@google.com> Merge "Making Face Unlock fix that wasn't proerly merged in master"
6e6e5df754bb6f41a37500d5b1c45329a37ca326 06-Dec-2011 Brian Colonna <bcolonna@google.com> Making Face Unlock fix that wasn't proerly merged in master

It appears that https://android-git.corp.google.com/g/#/c/144795/1
was incorrectly merged down into master. This commit is to correctly
add the change from that cl into the master branch.

Without this change, if you bring up the emergency dialer while Face
Unlock is running, you momentarily see the backup lock.

Change-Id: I6350150bf46ac52d5c50c9e88119f09397d22902
ockPatternKeyguardView.java
deb86c63c33f766b1a7fd6916f56b757d40803b1 06-Dec-2011 Dianne Hackborn <hackbod@google.com> am ec42750e: am 0c0120ef: Merge "Fix issue #5714517: App shortcuts can result in bad task intents" into ics-mr1

* commit 'ec42750e4d0e695515d078fb1f222c99a705fd93':
Fix issue #5714517: App shortcuts can result in bad task intents
f5b8671c340f189c50b41c53622f979b6d5e0a57 06-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5714517: App shortcuts can result in bad task intents

New API to let you build an Intent whose base configuration is correct,
but has an additional "selector" to pick out the specific app that you
would like launched.

Change-Id: Ide9db6dc60e2844b7696cfe09b28337fe7dd63db
honeWindowManager.java
89972657bd7fdd9def17fe75e2529865b2369722 03-Dec-2011 Amith Yamasani <yamasani@google.com> am f8dad0b3: am afd01086: Merge "Further volume improvements." into ics-mr1

* commit 'f8dad0b37d9aa2476ef3ab84b9f4a7a9f4c960e4':
Further volume improvements.
afd01086795c7c1f6950a709180b2361625b8b6a 02-Dec-2011 Amith Yamasani <yamasani@google.com> Merge "Further volume improvements." into ics-mr1
32cbc3855c2a971aa5a801fd339fb6a37db91a1a 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Refactor InputQueue as InputEventReceiver.

This change simplifies the code associated with receiving input
events from input channels and makes it more robust. It also
does a better job of ensuring that input events are properly
recycled (sometimes we dropped them on the floor).

This change also adds a sequence number to all events, which is
handy for determining whether we are looking at the same event or a
new one, particularly when events are recycled.

Change-Id: I4ebd88f73b5f77f3e150778cd550e7f91956aac2
honeWindowManager.java
2ef6f1bb5603c2e221191117695725237f49a5d5 01-Dec-2011 Amith Yamasani <yamasani@google.com> Further volume improvements.

- Remove silent mode from Power menu
- Show volume dialog on lockscreen
- Allow beeps when adjusting volume in lockscreen

Bug: 5586083
Change-Id: I93052a8ec5004c784f20e04488af9382d495e711
lobalActions.java
eyguardViewBase.java
4952dfd16a0f839559ffa78f5016394caf85294f 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Ensure input events are processed in-order in the application.

As it turns out, it used to be possible for there to be multiple
input events simultaneously in flight in an application. Although
it worked, it made it hard to reason about what was going on.
The problem was somewhat exacerbated by the introduction of a
queue of "InputEventMessage" objects as part of an earlier latency
optimization.

This change restores order from chaos and greatly simplifies the
invariants related to input event dispatch within the application.

Change-Id: I6de5fe61c1fe2ac3dd33edf770d949044df8a019
honeWindowManager.java
41995689f26dc44be9628bb81e9448d067d66fff 01-Dec-2011 Amith Yamasani <yamasani@google.com> am 52976f04: am e9b0608c: Merge "No clicking on volume icon in volume dialog." into ics-mr1

* commit '52976f04d8bebf44398a94cf5796f6a998c8935d':
No clicking on volume icon in volume dialog.
e9b0608c76bd19356f3141358ffdf134b7a9700f 01-Dec-2011 Amith Yamasani <yamasani@google.com> Merge "No clicking on volume icon in volume dialog." into ics-mr1
2a40d0d92b208021b492e9af3d944720cbf269fc 01-Dec-2011 Daniel Sandler <dsandler@android.com> Merge "Put screensavers back in the icebox for now. DO NOT MERGE." into ics-mr1
4d774e0ac274e2a1c2a65a9dedfb336c95879f05 01-Dec-2011 Dianne Hackborn <hackbod@google.com> am f5fd08d6: am a1240184: Merge "Fix issue #5433192 and maybe #5433192" into ics-mr1

* commit 'f5fd08d64959f23ba87f4da4771ca511b05a6be0':
Fix issue #5433192 and maybe #5433192
e0f085d4b8f313179825f2b051cb403736a7d01a 01-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5433192 and maybe #5433192

5433192: Factory reset device: compatibility screen is the first...
...screen before setup wizard

Don't show compat mode dialog if compat mode is unknown (which happens
early in boot before an activity is shown for example). Also make sure
to update status any time the current focus app token changes, so we
correctly update every time switching apps.

5651152 [Stingray] change zoom/strech setting icon won't go away

This is probably also fixed by updating when the app token changes.

Change-Id: Ibe9bd6277166230d5d96689741b78325ea099d57
honeWindowManager.java
2b0acc90ae5a1133356b3af43d99056de1b3f626 30-Nov-2011 Amith Yamasani <yamasani@google.com> No clicking on volume icon in volume dialog.

Don't disable volume slider when it hits zero.
Show correct icon for Silent mode in Power menu.

Bug: 5586083
Change-Id: Iaa957fc08e314e0de1c007dfc967a1d960080aab
lobalActions.java
d2b22a885a79d537c79e98257647cc120bde2998 30-Nov-2011 Daniel Sandler <dsandler@android.com> Put screensavers back in the icebox for now. DO NOT MERGE.

Bug: 5689684
Change-Id: I3a5291c3520bb43e35d55714f1522e4ae7f6e63c
honeWindowManager.java
b9430d2a1c8dbf7b9998d349544c9ae133dab18f 23-Nov-2011 Steven Ross <stross@google.com> Display max retry lockout message on backup lock fixes 5462647

Change-Id: I75e51f45f821542ae380e4ec4e3232b3fbe660f4
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
ockPatternKeyguardView.java
0475f82c95e6e9657580820b16b0e48d814119b5 29-Nov-2011 Jeff Brown <jeffbrown@google.com> am c339fe30: am be6ab576: Merge "Fix application launch shortcuts." into ics-mr1

* commit 'c339fe302bc5083f0a110569eec06676be511088':
Fix application launch shortcuts.
be6ab576ff0e3bf2a8dc3feee6f476061afbda30 29-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix application launch shortcuts." into ics-mr1
123ad2823b1b60b33228f5b39f24139def4e2236 29-Nov-2011 Dianne Hackborn <hackbod@google.com> am 3788ce9e: am 50b20425: Merge "Another attempt at getting OOM reports to batch." into ics-mr1

* commit '3788ce9ed9b896c2f1d5500910e949a6eba308e2':
Another attempt at getting OOM reports to batch.
50b2042502bc459b40430fe3b3b83d7d61e5daf9 29-Nov-2011 Dianne Hackborn <hackbod@google.com> Merge "Another attempt at getting OOM reports to batch." into ics-mr1
672342c30903fa6b70a3e8e1977bb34210aede14 29-Nov-2011 Dianne Hackborn <hackbod@google.com> Another attempt at getting OOM reports to batch.

We now generate a stack-trace looking thing at the top of the report.

Also fix a bug I hit where the phone window manager was sending a
broadcast before the boot had completed.

Change-Id: I0cee16180e4d05c9bd3fe715212a28f504ec91ac
honeWindowManager.java
6651a638348c15e89e265b0a53c775cac9beafa2 28-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix application launch shortcuts.

Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the
platform.

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
honeWindowManager.java
0e9c942e4a97c0416928d9697f6e92be8faff5a3 29-Nov-2011 Daniel Sandler <dsandler@android.com> am 834c2870: am fed7a99a: Merge "Quick fix for bug 5646217 blocking automation tests" into ics-mr1

* commit '834c2870fa422098b3728ae26099b3030994f86f':
Quick fix for bug 5646217 blocking automation tests
7d46c613f6bfeb6638c6aafb52eab417ad8eef52 23-Nov-2011 Daniel Sandler <dsandler@android.com> Quick fix for bug 5646217 blocking automation tests

The screen saver knows to avoid running when applications
are holding wake locks via window flags, but other wake
locks are invisible to the window manager and therefore to
the screen saver activation code.

The correct thing to do is move the screen saver to the
power manager to give it access to all wakelock information.
In the meantime, this fix checks for the user's
STAY_ON_WHILE_PLUGGED_IN setting and disables the screen
saver in this case.

Bug: 5646217
Change-Id: Ia2286a8c3745267871901f7a0b7df94ec344a456
honeWindowManager.java
5b17f73573e778c3ac22e41d13d4633f1f1d3f9f 22-Nov-2011 Daniel Sandler <dsandler@android.com> am 70f1279e: am 63188574: Merge "Dismiss system windows when screen savers start." into ics-mr1

* commit '70f1279e65eaa138f297a8f590f8383f2c76f7b4':
Dismiss system windows when screen savers start.
711683cd96884690b9e834198e7c756bb23ab5ad 20-Nov-2011 Daniel Sandler <dsandler@android.com> am 25a43ada: am 9b5d7a59: Merge "Dreams (now Screen Candy) development." into ics-mr1

* commit '25a43adabb70aa769a097c6cb09d71b031431677':
Dreams (now Screen Candy) development.
6686effc613fb92218ee3288136a9c0fec0b6417 18-Nov-2011 Daniel Sandler <dsandler@android.com> am 2e56995e: am da0e7b0c: Merge "Tie screen saver to the screen off timeout." into ics-mr1

* commit '2e56995e9e19f18958167a28911120f31b096756':
Tie screen saver to the screen off timeout.
76b2337cfaeaf066f907b611d5e2ba380a619ab7 18-Nov-2011 Jim Miller <jaggies@google.com> resolved conflicts for merge of 1a783be3 to master

Change-Id: Ibaff3547ac51250fe40adf3aa06d6a30ecfcef54
5207d9c94b31cd2da1c4a52c2ae7f9c1f50ccad1 18-Nov-2011 Daniel Sandler <dsandler@android.com> Dismiss system windows when screen savers start.

Also add a couple more flags to the intent:
- NO_HISTORY (finish activity on suspend)
- FLAG_FROM_BACKGROUND

Bug: 5578434
Change-Id: I97b965175a27760b819dc29ddb57865c5f4754d6
honeWindowManager.java
2d54536d08a59680078f78bc6301379563df4c85 17-Nov-2011 Daniel Sandler <dsandler@android.com> Dreams (now Screen Candy) development.

- support for global "disable" setting
- renamed settings provider keys to remove "DREAM"

Bug: 5591015
Change-Id: I31f31b3ca6001fec1e0032a49cdf0d10df7b0ec7
honeWindowManager.java
be3bf963c4e05985dd88d4ed91ce3d7810a6e110 18-Nov-2011 Jim Miller <jaggies@google.com> am a8606cf6: am 398f80ea: Merge "Fix 5620754: don\'t show pattern screen after SIM PUK unlock" into ics-mr1

* commit 'a8606cf661fde3300165f181c5825cf0535adc66':
Fix 5620754: don't show pattern screen after SIM PUK unlock
da0e7b0c7a0bb1f9f972c3ed042b8cd752031046 18-Nov-2011 Daniel Sandler <dsandler@android.com> Merge "Tie screen saver to the screen off timeout." into ics-mr1
70bded0ab8390cb53342f1fb1f1ff9ee56f60e5f 18-Nov-2011 Jim Miller <jaggies@google.com> Merge "Fix 5636798: clear PIN/PUK fields when device sleeps or user cancels" into ics-mr1
9a3caf39e4c628c6dfcac92f7e2b7e4538a73009 18-Nov-2011 Jim Miller <jaggies@google.com> Fix 5636798: clear PIN/PUK fields when device sleeps or user cancels

This bug is the result of onPause()/onResume() not being called properly
when we have both lock and unlock screens present, which is true for the SIM
and PUK unlock cases.

The fix is to invoke onPause() and onResume() on both of them if they exist.

Verified the rest of the code correctly handles having both.

Also, when the user cancels, we now clear the fields.

Change-Id: If7fbd31df7eab9e3d60656d50d2392607a4bf471
ockPatternKeyguardView.java
imPukUnlockScreen.java
imUnlockScreen.java
398f80eacb8e59d868f287bf273a1253fe219ce4 18-Nov-2011 Jim Miller <jaggies@google.com> Merge "Fix 5620754: don't show pattern screen after SIM PUK unlock" into ics-mr1
90d5d46b9e1bfc2df1a4a16b411eafb43c80eba5 18-Nov-2011 Jim Miller <jaggies@google.com> Fix 5620754: don't show pattern screen after SIM PUK unlock

This fixes a bug where we would inadvertently show the pattern
screen after PUK-unlocking the device. Could potentially happen
after SIM unlock as well, but that path appears to be fast enough that
it's rarely seen.

The cause was not getting the SIM state change before deciding to show
the Unlock screen.

We now immediately invoke the callback if SIM/PUK unlock succeeds without
waiting for the round-trip from the radio layer.

Change-Id: I02dcb456da415b82f30f8e3abc43f788f3931b33
eyguardUpdateMonitor.java
imPukUnlockScreen.java
imUnlockScreen.java
7e37df5d1f77a8cb3119b9bc66198d467ce57b22 17-Nov-2011 Daniel Sandler <dsandler@android.com> Tie screen saver to the screen off timeout.

The window manager now monitors the plug state; the screen
saver will never be automatically started if the device is
running off battery.

Change-Id: Ib1064d9cdd540238957df3ba7020303b0f6943c2
honeWindowManager.java
f27e94ce9db83f01a98eefd0add04e7a19dde60d 17-Nov-2011 Daniel Sandler <dsandler@android.com> am 7fd3ba91: am d5decdcc: Merge "Disable desk dock apps." into ics-mr1

* commit '7fd3ba9149affe68f8e21c88d3eceb4514cf2f6f':
Disable desk dock apps.
28b23cdef491a270d6fcd4d60f5aebef3f10f370 17-Nov-2011 Daniel Sandler <dsandler@android.com> am 8b9ba6fa: am f52a4482: Merge "Add a default Dreams component." into ics-mr1

* commit '8b9ba6fa8806c401c89df88f0a1690fbfd1ebb89':
Add a default Dreams component.
d5decdccc64c59ad62de86c70dbe9ead12150cdc 17-Nov-2011 Daniel Sandler <dsandler@android.com> Merge "Disable desk dock apps." into ics-mr1
f52a4482dd3ca336f84fc6c533ea4a99a72b23dd 17-Nov-2011 Daniel Sandler <dsandler@android.com> Merge "Add a default Dreams component." into ics-mr1
11ddf533a2165ca68002d3b48e312271b3d0dedb 16-Nov-2011 Daniel Sandler <dsandler@android.com> Disable desk dock apps.

When a device is attached to a desk dock, the
CATEGORY_DESK_DOCK intent will no longer be fired.
As a side effect, the "dock home" behavior (which captures
the home key for the dock app as long as the device is
docked) is now disabled for desk docks.

Car docks are unchanged.

Bug: 5591015
Change-Id: I7884f655913c31cf53b88cb2e2b371987be27f64
honeWindowManager.java
c753a1865ca049fb20fc5cea036c06ea77647ff1 15-Nov-2011 Steven Ross <stross@google.com> Not showing facelock when plugging/unplugging fixes 5438524

This will close down or prevent the start of FaceUnlock if
the device is plugged in or unplugged,
unless FaceUnlock is currently active.

Change-Id: I216831964472da47fb24644070d1717dffe1b7f7
ockPatternKeyguardView.java
c224f76303b3124c76768761c544410b86b732f8 16-Nov-2011 Daniel Sandler <dsandler@android.com> Add a default Dreams component.

Currently set to DeskClock's screensaver, but since it's a
(private) string in f/b/c/r/r/values/config.xml any product
could overlay this.

Bug: 5611008
Change-Id: I7a4623c9c667a6cff8ed80ad600a8a4460bfafb7
honeWindowManager.java
057d48147a186918061d64875808692796c12005 16-Nov-2011 Jim Miller <jaggies@google.com> am 8622fb34: am 34a62348: Merge "Fix 5581164: Use abbreviated day in lockscreen" into ics-mr1

* commit '8622fb34769dc257a319ce8e7dab652312d6c049':
Fix 5581164: Use abbreviated day in lockscreen
f6cf6de27a20f2d7a996281d15b52e9ecb97751b 16-Nov-2011 Steven Ross <stross@google.com> Merge "No blackscreen when dialog is showing fixes 5511992"
34a62348be92034a9fb7582e51754224785568dc 16-Nov-2011 Jim Miller <jaggies@google.com> Merge "Fix 5581164: Use abbreviated day in lockscreen" into ics-mr1
066d088cce115448db85b55e8333262be85899cd 15-Nov-2011 Jim Miller <jaggies@google.com> am 390811b8: am b35a21f9: Merge "Fix 5602985: Show "Emergency calls only" when device has no SIM." into ics-mr1

* commit '390811b8a4a08703b32d4d36bc6997798b52d341':
Fix 5602985: Show "Emergency calls only" when device has no SIM.
b35a21f987b99cfe90f4c46e0a708703274b8f46 15-Nov-2011 Jim Miller <jaggies@google.com> Merge "Fix 5602985: Show "Emergency calls only" when device has no SIM." into ics-mr1
96af5a054d94fb02dbc3614f37e12619d31254ae 15-Nov-2011 Jeff Brown <jeffbrown@google.com> am d3b98329: am d5713179: Merge "Override app requested orientation when docked." into ics-mr1

* commit 'd3b98329636ad089bb0b14cefa4b49d32e5ec678':
Override app requested orientation when docked.
dec6cf4f30a823a004d853915bc13c59d607f285 15-Nov-2011 Jeff Brown <jeffbrown@google.com> Override app requested orientation when docked.

Applies to docks, lid switch, HDMI and rotation lock.
We always choose a mode that is compatible with the application's
request, so if in a landscape dock, we might override a request
for seascape but we leave requests for portrait alone.

Bug: 5620454
Change-Id: Ib0c4f60f7f9e3aeafaba9c717233a950fccb8af2
honeWindowManager.java
bc072da931b7b146f19c0ee9dd5dac9a1cccab16 15-Nov-2011 Jeff Brown <jeffbrown@google.com> POWER key is always a wake key.

This change is useful to ensure that injected POWER key events
always wake the device even if the right policy flags were
not set.

Change-Id: I05b8b35f984f5c9f58b0e9d44bcb6f41a9562fc8
honeWindowManager.java
0a981cf522ba816065494473651105f4aa981654 15-Nov-2011 Steven Ross <stross@google.com> No blackscreen when dialog is showing fixes 5511992

When a dialog is activated, we won't show the blackscreen
until after the lockscreen comes back in focus, which occurs
when the dialog closes.
The user may toggle the power button, causing onScreenTurnedOff to
reset mHasOverlay, even though the dialog is still on top of the window.
Thus, the dialog will have a black box behind it without this change.

Change-Id: I6bec7984b88454e9fff22147cbbfc27b9c0a74f2
ockPatternKeyguardView.java
e5ae019b8cb3f4235b0d3e5eace27ce56680c60e 15-Nov-2011 Jim Miller <jaggies@google.com> Fix 5581164: Use abbreviated day in lockscreen

This fixes a problem where the alarm status was forced to scroll on phones
when the date string got too long. We now abbreviate the day on lock screen.

Change-Id: I99990f1568282c65fb6ed4e78d20bb31b3487a8e
eyguardStatusViewManager.java
2fcd63b8cf94a947498f0aab24b9d702a6fe909b 15-Nov-2011 Jim Miller <jaggies@google.com> Fix 5602985: Show "Emergency calls only" when device has no SIM.

Some countries require phones to show "Emergency calls only" when
roaming on a device with no Sim. This changes causes the phone
to now display the PLMN string on devices that are voice-capable when
the sim is missing. This depends on the PLMN containing the text
"Emergency calls only" when the radio has connectivity to any carrier.
Otherwise, the PLMN is expected be null or empty which will cause the
device to just show "No SIM card."

Change-Id: I7c1d4624ae67074e2ca40161845ca8bb36031c42
eyguardStatusViewManager.java
a4e3fe22762116b1bb6f40b354febf7bd2eec44d 15-Nov-2011 Steven Ross <stross@google.com> Merge "Making KeyguardView slippery fixes 5501105"
6162960c1eda8cce32a236e7f805cc4fdf9cf656 15-Nov-2011 Jim Miller <jaggies@google.com> am 3dd55677: am ff95f657: Merge "Fix 5579440: Add transport control view to tablet unlock screens" into ics-mr1

* commit '3dd5567710168da330741cb4c4263cc03dd942f1':
Fix 5579440: Add transport control view to tablet unlock screens
faed16030df5221f790a4d6fd5bdfb592db977fa 09-Nov-2011 Jim Miller <jaggies@google.com> Fix 5579440: Add transport control view to tablet unlock screens

This updated tablet layouts to support showing album art and transport
control views in PIN, pattern and password screens of lock screen.

It also allows the addition of a background protect asset and
the ability to show the system wallpaper on layouts that define a
transport_bg_protect view.

Also updated layout to use new ICS-style buttons on lock screen and
fixed bug with "forgot pattern" button where we were showing the
emergency call icon.

To avoid problems with leading ones in the mono-space clock font,
we now right-justify status text on tablet and remove the AM/PM
indicator.

Status font size adjusted by UX.

Added background protection drop shadow to transport control.

Fixed portrait mode to be right-justified when transport is showing.

Change-Id: I790292fc39f4588f87adc9d9241706817ae6baab
ockPatternKeyguardView.java
229574c7f5fad24a8240270db29fa6532256bb52 14-Nov-2011 Steven Ross <stross@google.com> Making KeyguardView slippery fixes 5501105

Setting the slippery flag keeps this window from processing
events occurring in places where another window is on top of it.
Specifically, if someone clicks above the pattern/FaceUnlock portion
of the window and then drags down onto FUL, this blocks the
underlying lockscreen from processing those touch events.

Change-Id: Ia7038841df0044f66220af8a00c7845b2293c2a4
eyguardViewManager.java
4bae1f66021a76a9e2c0598f9e7f293f56178405 11-Nov-2011 Dianne Hackborn <hackbod@google.com> am 8f45e3e2: am be425cce: Merge "Fix issue #5522658: Menu button shown on lock screen if app underneath requests it" into ics-mr1

* commit '8f45e3e280fa84494d5d45c73697645d20dea101':
Fix issue #5522658: Menu button shown on lock screen if app underneath requests it
be425ccea47c13d3f8f3d877fdbdcb3c074f7e8b 11-Nov-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5522658: Menu button shown on lock screen if app underneath requests it" into ics-mr1
4eff8d37da8f9fa24c00dc4b1fa33300b2b510c8 11-Nov-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5522658: Menu button shown on lock screen if app underneath requests it

Drive the menu button off of the currently focused window. That is, after all,
the one that is going to receive the menu key event.

Change-Id: I61cac1e274602e5ea53402ab15bd63a9cd89e9cd
honeWindowManager.java
5a8ce7b2bf6ba9c986f0182de1074468953a967f 10-Nov-2011 Jeff Brown <jeffbrown@google.com> am 71ed608e: am 88089ccc: Merge "Wake on volume key when in dock. Bug: 5580373" into ics-mr1

* commit '71ed608ea7cfb349bba06c5f6bb17b525a4fd964':
Wake on volume key when in dock. Bug: 5580373
88089ccc79ee7ba5f48ade9bb73a99cf05f6ec62 10-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Wake on volume key when in dock. Bug: 5580373" into ics-mr1
43150bfa9377ca7a5fe0e6bfcdc04fb5807501f7 09-Nov-2011 Jeff Brown <jeffbrown@google.com> Wake on volume key when in dock.
Bug: 5580373

Change-Id: I847fb10b48c2e5e26cabefea1d630793efc32131
eyguardViewMediator.java
honeWindowManager.java
f16cb9e5107938b61e5149105e53edc7ffc00395 10-Nov-2011 Dianne Hackborn <hackbod@google.com> am 8eac3b2f: am 0f70e482: Merge "Fix issue #5470311: Activity with android:configChanges defined..." into ics-mr1

* commit '8eac3b2f1ae4b155bd159317e9f221223189ba26':
Fix issue #5470311: Activity with android:configChanges defined...
0f70e482c8aa7ce9c5676b1226ff98b63fb991e7 10-Nov-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5470311: Activity with android:configChanges defined..." into ics-mr1
56b53b597f015fa73ca339deff62eadf287297ae 10-Nov-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5470311: Activity with android:configChanges defined...

...should not be restarted when rotating screen on xoom

This was a side-effect of a previous fix to compute the screen layout
config class based on the actual space available to the application, not
the raw display size. On a device like Xoom, the system bar causes us
to switch between LONG and NOTLONG depending on whether the system bar
is on the short or long side of the screen.

To fix this, we now compute the screen layout class the same way
"smallest width" is computed: looking at all of the possible rotations
and using the smallest of them all. In addition to preventing the device
from toggling between long and notlong on a Xoom-like screen, this will
also avoid other possible undersireable behavior like changing screen
layout size when rotating.

This does mean that Xoom is no longer considered a long screen even when
in landscape, because it is not a long screen in portrait.

Change-Id: I85f90a16294ef5a7de94d5b9231abbc6f914fe90
honeWindowManager.java
524a0adeb55885520a5fec1aa152d0049ec96345 10-Nov-2011 Jim Miller <jaggies@google.com> am 5943c1dc: am 270826a8: Merge "Fix 5555408: allow emergency button to be disabled on SIM/PUK unlock screen" into ics-mr1

* commit '5943c1dc406574b360e9cb1343a5dab00a84a8e2':
Fix 5555408: allow emergency button to be disabled on SIM/PUK unlock screen
270826a8878b5470d48d93ca3d518ac93860870d 10-Nov-2011 Jim Miller <jaggies@google.com> Merge "Fix 5555408: allow emergency button to be disabled on SIM/PUK unlock screen" into ics-mr1
97c9e987ba188ccb5212d3cfbac65ab26f4cfcb6 09-Nov-2011 Jeff Brown <jeffbrown@google.com> am 0816b0c8: am bc0b010e: Merge "Handle EXTRA_DOCK_STATE_LE_DESK and HE_DESK. Bug: 5569662" into ics-mr1

* commit '0816b0c871ea93ffbcd3c60151d067dcfcebc1ac':
Handle EXTRA_DOCK_STATE_LE_DESK and HE_DESK. Bug: 5569662
fc2cc318baf2d54bee636c58eb229541961c1a44 09-Nov-2011 Wei Huang <weih@google.com> am e64022ca: am ea50748b: Merge "Change slide-to-camera intent to INTENT_ACTION_STILL_IMAGE_CAMERA." into ics-mr1

* commit 'e64022ca65e36c743eca260f05f245fe9d90f80c':
Change slide-to-camera intent to INTENT_ACTION_STILL_IMAGE_CAMERA.
1ae5b71a95c0472fd07d9928ff34ee1870081e66 09-Nov-2011 Brian Colonna <bcolonna@google.com> resolved conflicts for merge of 7cf1eeb9 to master

Change-Id: Id125e315e24ced927f3a500135af7e5aff50cfa2
09a56563cea260f12b5606837f5b01420b920170 09-Nov-2011 Brian Colonna <bcolonna@google.com> am 04217efb: Merge "Fix 5514230: preventing null window token from occurring" into ics-mr0

* commit '04217efb8eaebdbd846671a2f743fa3e960b5dde':
Fix 5514230: preventing null window token from occurring
0816b0c871ea93ffbcd3c60151d067dcfcebc1ac 09-Nov-2011 Jeff Brown <jeffbrown@google.com> am bc0b010e: Merge "Handle EXTRA_DOCK_STATE_LE_DESK and HE_DESK. Bug: 5569662" into ics-mr1

* commit 'bc0b010ecc7254b0e2c7a0268e5242557579b471':
Handle EXTRA_DOCK_STATE_LE_DESK and HE_DESK. Bug: 5569662
e64022ca65e36c743eca260f05f245fe9d90f80c 09-Nov-2011 Wei Huang <weih@google.com> am ea50748b: Merge "Change slide-to-camera intent to INTENT_ACTION_STILL_IMAGE_CAMERA." into ics-mr1

* commit 'ea50748b546e7dc21dc06195af5f0a8f2b812417':
Change slide-to-camera intent to INTENT_ACTION_STILL_IMAGE_CAMERA.
1a693182669133c57eda91a4e465e6cd55718f63 08-Nov-2011 Jeff Brown <jeffbrown@google.com> Handle EXTRA_DOCK_STATE_LE_DESK and HE_DESK.
Bug: 5569662

Change-Id: Ib8cb9fb68a1a2d3520f34f7fbf6f002dfb91809d
honeWindowManager.java
7cf1eeb9a4a39887c493e95c3c1610ff3cacc65a 08-Nov-2011 Brian Colonna <bcolonna@google.com> am 04217efb: Merge "Fix 5514230: preventing null window token from occurring" into ics-mr0

* commit '04217efb8eaebdbd846671a2f743fa3e960b5dde':
Fix 5514230: preventing null window token from occurring
ea50748b546e7dc21dc06195af5f0a8f2b812417 08-Nov-2011 Wei Huang <weih@google.com> Merge "Change slide-to-camera intent to INTENT_ACTION_STILL_IMAGE_CAMERA." into ics-mr1
b75783571b2b51357f97407903b2fda9534f91f9 08-Nov-2011 Wu-cheng Li <wuchengli@google.com> Change slide-to-camera intent to INTENT_ACTION_STILL_IMAGE_CAMERA.

ACTION_CAMERA_BUTTON is for camera hardware button. Change the
intent to INTENT_ACTION_STILL_IMAGE_CAMERA.

bug:5572158

Change-Id: I49ffbf50ecd4458065ee1c2d1fdab8d9e696a1a8
ockScreen.java
1f56edc6cd377eab05d9816e93591a7139cdff96 08-Nov-2011 Jim Miller <jaggies@google.com> Fix 5555408: allow emergency button to be disabled on SIM/PUK unlock screen

Some carriers cannot process emergency calls when the IMSI is not available,
which happens when the SIM is locked. This allows the behavior to be overwritten
in an overlay. When the config variable is set to 'false', the emergency
button no longer appears on the SIM or PUK unlock screens.

Change-Id: I3127bfd5e7ebfabea997fbe048cc474e48b7a81c
eyguardStatusViewManager.java
imPukUnlockScreen.java
imUnlockScreen.java
aa87fd03ff75535786ee9026fead5b35f97a5e4e 07-Nov-2011 Jim Miller <jaggies@google.com> am 4d8ecc65: Merge "Fix 5231823: PIN/Password polish on lock screen" into ics-mr1

* commit '4d8ecc65c5a747f350492b21397d7466ff628900':
Fix 5231823: PIN/Password polish on lock screen
4d8ecc65c5a747f350492b21397d7466ff628900 07-Nov-2011 Jim Miller <jaggies@google.com> Merge "Fix 5231823: PIN/Password polish on lock screen" into ics-mr1
6233fbe5da2466da26245a35acc5129974dd5440 04-Nov-2011 Brian Colonna <bcolonna@google.com> Fix 5514230: preventing null window token from occurring

Sometimes the lockscreen view is recreated even though it has already
been created (and therefore Face Unlock is already running). One
example of this is when the lockscreen momentarily displays in
landscape mode and then corrects itself into portrait mode.

When lockscreen recreates itself, it removes the view and then later
re-adds the view. During that time the window token is null and may
be passed to Face Unlock when it tries to restart. The reason this
doesn't happen *every* time the view is recreated is because the
onServiceConnected() callback starts Face Unlock, and usually it
runs after the view is re-added, but sometimes it runs before the view
is re-added, resulting in this bug.

An earlier fix put null-token checking inside of the Face Unlock
service, which prevented crashing but Face Unlock was still unable
to run. This fix makes the null token case not happen so Face Unlock
can run every time. It accomplishes this by simply not restarting
Face Unlock until the view has been re-added.

This fix also replaces checking two flags everywhere to see if
Face Unlock is being used and instead uses a single function call.

Change-Id: Ib46f25f2a58ab2e70470337861c25ee81a858873
ockPatternKeyguardView.java
d9d09451ccec7c551d5f9c2f1417c9c1de2952a6 03-Nov-2011 Jim Miller <jaggies@google.com> Fix 5231823: PIN/Password polish on lock screen

Fixes these issues:
- add IME button to switch IMEs on password screen on tablet
- centers '0' on PIN screen for phones and tablets
- tablets now use the same ICS background key asset as phones
- make PIN layout consistent between phones and tablet
- center the I-beam when any button is showing in the password entry field

Change-Id: I4da0173f9b2efeab46617c5a41a8132895b63a97
asswordUnlockScreen.java
62c7f540f5064a596e53ef3efd6ecefb161703f6 03-Nov-2011 Daniel Sandler <dsandler@android.com> am 1f42a3db: Merge "Bring back Android Dreams." into ics-mr1

* commit '1f42a3db9e09138f92e8eb16c35cf50e92a88a46':
Bring back Android Dreams.
e5f2cfeb229881601e81f9afca62bccbdc8e6485 03-Nov-2011 Daniel Sandler <dsandler@android.com> Bring back Android Dreams.

Also fix bugs related to loading changes in dreams settings.

Bug: 5121105
Change-Id: I1527c3100d5219a678dd94ed5393bc478b1a1622
honeWindowManager.java
02829c30aec9b05b13c612c732dde2670af0c375 02-Nov-2011 Jim Miller <jaggies@google.com> am 22726020: am 1dce37bd: Merge "Fix 5497305: Make sure we show SIM unlock when "None" is selected" into ics-mr0

* commit '2272602032e5051d5067a7a95c741304468a81af':
Fix 5497305: Make sure we show SIM unlock when "None" is selected
2272602032e5051d5067a7a95c741304468a81af 01-Nov-2011 Jim Miller <jaggies@google.com> am 1dce37bd: Merge "Fix 5497305: Make sure we show SIM unlock when "None" is selected" into ics-mr0

* commit '1dce37bd6bb9b3fe555342f9d2c52e60e10a3fea':
Fix 5497305: Make sure we show SIM unlock when "None" is selected
9fa1ada318ad9be0b43951b9d3c107b4e0bf345c 01-Nov-2011 Jim Miller <jaggies@google.com> Fix 5497305: Make sure we show SIM unlock when "None" is selected

Previously the code ignored SIM state when lockscreen was set to "None."
It now properly accounts for the SIM state when deciding to show.

Change-Id: I272348c1a21b57ac146910850ea3db3adef0227c
eyguardViewMediator.java
468825f60a722dba0961a97b851e4f951e38929e 31-Oct-2011 Amith Yamasani <yamasani@google.com> am 18936d7d: am 69e640ee: Merge "Bring back the old-style Ring/Vibrate/Silent states when using volume keys." into ics-mr0

* commit '18936d7d1d0964ba3f5112c5e3ce60f31e1ba5bb':
Bring back the old-style Ring/Vibrate/Silent states when using volume keys.
18936d7d1d0964ba3f5112c5e3ce60f31e1ba5bb 30-Oct-2011 Amith Yamasani <yamasani@google.com> am 69e640ee: Merge "Bring back the old-style Ring/Vibrate/Silent states when using volume keys." into ics-mr0

* commit '69e640ee84fc218d6318acaf73a1c1841d7fba6b':
Bring back the old-style Ring/Vibrate/Silent states when using volume keys.
c696a53d1fe4d61373c5dc64dd057d322da90c8f 29-Oct-2011 Amith Yamasani <yamasani@google.com> Bring back the old-style Ring/Vibrate/Silent states when using volume keys.

In order to completely mute the ringer (no vibrate), introduce an extra
state beyond mute, which mutes the vibrator as well, if it was enabled.

Bug: 5530217

Change-Id: Ib1f299ee6bbca56c1aa7e1100662591362d08307
lobalActions.java
3e7af943fe0d2d9b3a0ea7b086266df33d599a35 28-Oct-2011 Jim Miller <jaggies@google.com> am c1a1cca8: Merge "Fix 5487180: Check for empty plmn/spn strings instead of just null" into ics-mr1

* commit 'c1a1cca866ff76a6dbfa500292593d8031908a9b':
Fix 5487180: Check for empty plmn/spn strings instead of just null
c1a1cca866ff76a6dbfa500292593d8031908a9b 28-Oct-2011 Jim Miller <jaggies@google.com> Merge "Fix 5487180: Check for empty plmn/spn strings instead of just null" into ics-mr1
be95d778701d24c6e550bff45fa1e04c1714a721 28-Oct-2011 Jim Miller <jaggies@google.com> Fix 5487180: Check for empty plmn/spn strings instead of just null

This fixes a problem where we'd sometimes show a '|' in front of
the spn string or after the plmn string.

Change-Id: I6a3a398b0ddf89fcc8862b275dea0e925873b56a
eyguardStatusViewManager.java
a42ba3309e732c8096130bacba6611756309f06c 27-Oct-2011 Jim Miller <jaggies@google.com> am 11bfc0c4: Merge "Fix 5369428: Use full battery state information when determining charge status" into ics-mr1

* commit '11bfc0c431f57e7aac6190aa77b311c649a01619':
Fix 5369428: Use full battery state information when determining charge status
11bfc0c431f57e7aac6190aa77b311c649a01619 27-Oct-2011 Jim Miller <jaggies@google.com> Merge "Fix 5369428: Use full battery state information when determining charge status" into ics-mr1
16464b8e55020a4d77a8e5e4673db974e749dc82 21-Oct-2011 Jim Miller <jaggies@google.com> Fix 5369428: Use full battery state information when determining charge status

This is a fix for a bug where we'd show "connect charger" when the device was
connected but not charging due to the battery being in an unchargeable state
(too hot, cold, etc).

It now maintains a full copy of the battery state and uses the plugged status
to determine if the device is plugged in.

Change-Id: I60fa4e4566a45663b130f0ff4863bcc595ae3c4a
eyguardUpdateMonitor.java
664cd2da4fd8d5831aa3c84665539f1c4d2e652a 26-Oct-2011 Bart Sears <bsears@google.com> am 6e03b220: am d887377a: Merge "Fix power key handling after volume change. Bug: 5497716" into ics-mr0

* commit '6e03b22015bd834da1a5755e75d7468e5b3b13c5':
Fix power key handling after volume change. Bug: 5497716
d887377aa84f0d422cf605dad981f8dc53c0f99f 26-Oct-2011 Bart Sears <bsears@google.com> Merge "Fix power key handling after volume change. Bug: 5497716" into ics-mr0
ff20471b082996243224e006cad19fef8fa80d7c 26-Oct-2011 Jeff Brown <jeffbrown@google.com> Fix power key handling after volume change.
Bug: 5497716

We should only cancel the pending power key when there
actually is one pending.

Change-Id: Iab684d24a643e1be4a8abde5cf905ca1819e9aa8
honeWindowManager.java
1a088aa1b9350681edcf1a94f54e45debd7eca15 24-Oct-2011 Brian Colonna <bcolonna@google.com> Fix 5479823: black patch was showing before resuming call

- This issue was marked as RelTeamHotIssue

- When Face Unlock is enabled, the black area is shown when going into
the emergency dialer to prevent the backup lock from showing.
However, it was doing this even if Face Unlock has already gone to
the backup method.

- Since the same code is used for returning to a call as is used for
starting the emergency dialer, it was doing the same thing when
resuming a call.

- Just had to add a simple check to only display the black area if
Face Unlock is still running.

- Note that this did *not* cause a problem when Face Unlock was not
the unlock method.

Change-Id: Icc4deebcb47ceda035ea29c7d976342d3a8a60a7
ockPatternKeyguardView.java
c9c417c85d08074e5ececd5c74db1364e9c097c2 24-Oct-2011 Brian Colonna <bcolonna@google.com> Merge "Added callback to allow Face Unlock to hide black area" into ics-mr0
b0994ed7ffd31d02b9d66a470decfdfaf0d6f8ee 24-Oct-2011 Xavier Ducrohet <xav@android.com> CherryPick 35530d from master to mr0. do not merge.

qemu.hw.mainkeys indicates if the device has h/w main (home/back) keys.

If it has main keys, then the navigation bar is *not* displayed.

Change-Id: Idb36a1f787360363a009463f0c016a423594a5b9
honeWindowManager.java
f8b9a4751e6d0721804931aa39545e3741ff5013 24-Oct-2011 Brian Colonna <bcolonna@google.com> Added callback to allow Face Unlock to hide black area

- Part of fix 5491362 (RelTeamHotIssue)

- Because the fix closes the camera early, this change is needed so
the black area isn't still hanging around while the camera fades
to the backup lock.

Change-Id: Iab7c264adab0fb05979fe2732048ccf2237e64c5
ockPatternKeyguardView.java
2928c9d82b4fcca67472cf77e3c508e64baff1fc 21-Oct-2011 Jim Miller <jaggies@google.com> Fix 5493266: Properly restore background after playing music

KeyguardViewBase maintains the transparent background for all lock screen
views. The background was being overwritten by the change to make lock
screen opaque when music was being shown.

Change-Id: Id1ab415f68746b20c9229fa58fef9ec8be354f01
eyguardViewBase.java
ockPatternKeyguardView.java
0c4ccff36930ff4f0292b94ad51e164c9fa060a3 19-Oct-2011 Daniel Sandler <dsandler@android.com> Add hasNavigationBar() to the window manager.

It is no longer sufficient to check the value of
internal.R.bool.config_showNavigationBar to determine if a
navigation bar (separate from the status bar) is shown on a
device, because the emulator needs to be able to override
this value (now possible by setting qemu.hw.mainkeys to "1"
or "0", for navbar or no navbar, respectively).

This logic is now contained in PhoneWindowManager, and any
clients wishing to know whether the system has a software
nav bar should consult the new hasNavigationBar() method.

Bug: 5404945
Change-Id: I119d32a8c84b88b2ef46f63244e7f11dc5de0359
honeWindowManager.java
06398768ec048cf05717ee44b81cb357fdc896dd 19-Oct-2011 Jim Miller <jaggies@google.com> Merge "Fix 5288804: Make music trasports in lockscreen more closely match design" into ics-mr0
2720cfae624770674122640f2d4a3f55702d80ff 19-Oct-2011 Brian Colonna <bcolonna@google.com> Merge "Fix 5433466 - FU out of position during orientation change" into ics-mr0
02c4c8a700ab2c5dc10566550ba0cab121eff0ce 18-Oct-2011 Jim Miller <jaggies@google.com> Fix 5288804: Make music trasports in lockscreen more closely match design

This fixes three issues;
- Make the background black while the transport is showing.
- Show scrim sandwiched between artwork and overlapping UI.
- Remove gaps in sides of background assets.

Change-Id: I563fc680c4c042d8b25ec37332aeab528cf838ca
ockPatternKeyguardView.java
f13313a073ad3f3c4e91baa4adbfdec66395065e 19-Oct-2011 Jim Miller <jaggies@google.com> Merge "Fix 5452698: fix broken logic in reportFailedAttempt() in lockscreen" into ics-mr0
9d20405e5117f05dfd3049798cd36a74142a6822 18-Oct-2011 Brian Colonna <bcolonna@google.com> Fix 5433466 - FU out of position during orientation change

If you turn the device from portrait to landscape mode and immediately
invoke the lockscreen, it will come up in landscape mode and switch to
the desired portrait mode within a couple of seconds. Previously,
Face Unlock would come up in landscape mode, but its position would
not change once lockscreen corrected itself, causing Face Unlock to be
partly off the screen.

This has been fixed by checking if we are already bound to Face Unlock
when the layout is created. If this is true, then the layout is being
created due to a change in orientation, and we stop Face Unlock, and
restart it at the new position.

This commit also adds a fix where we now use INVISIBLE for the Face
Unlock area when it is not showing instead of using GONE. The
dimensions of the Face Unlock area is 0-by-0 when set to GONE, and we
want to avoid the possibility for the Face Unlock service being
assigned a zero area. I'm not sure if this was ever causing problems,
but it certainly is not the intended behavior.

Also cleaned up some comments and logging.

Change-Id: I68deb49cb26dafb5c238167d0c23f0eed2cfb75a
ockPatternKeyguardView.java
5310a731eab664352044781d4b107b4837ea77ac 18-Oct-2011 Winson Chung <winsonc@google.com> Merge "Updating screenshot animation and behaviour. (Bug: 5333706)" into ics-mr0
a63bb84bbe98e72871c2138ab3eb517d0f9a80ef 17-Oct-2011 Winson Chung <winsonc@google.com> Updating screenshot animation and behaviour. (Bug: 5333706)

- Removing the second ticker text
- Adding a new animation to the status bar
- Adding a large icon to the notification

Change-Id: I8778178519fc72ffc299e8d624069b684475191d
honeWindowManager.java
29aa5dc7de41cc41428dfa958a0cbeac38b29e26 18-Oct-2011 Jim Miller <jaggies@google.com> Fix 5452698: fix broken logic in reportFailedAttempt() in lockscreen

This fixes a bug where we were no longer showing the countdown dialog
every 5 attempts or "forgot pattern" button when the user has a fallback
password enabled on the pattern unlock screen.

It now correctly shows the dialog whenever the user hits a multiple of
5 bad attempts on any of the pin/pattern/password screens.

Change-Id: I4eb47b4149958a93572d256a4a70f9d67bc1eb38
ockPatternKeyguardView.java
9a7e4ce72a1f97832e71386ad023439ed9b179bd 18-Oct-2011 Jim Miller <jaggies@google.com> Merge "Fix 5466678: use new setSystemUiVisibility() API to enable clock in statusbar" into ics-mr0
05f1cdc3e9aca13ea30f77bb750d3be4340e708d 18-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix stupid bug breaking touch on devices without a nav bar.

Change-Id: Id76b7ab5625470fcc72541fb2fe8845cddba523f
honeWindowManager.java
305c78cce649056643641c51f12f2b6d2eb839f3 16-Oct-2011 Jim Miller <jaggies@google.com> Fix 5466678: use new setSystemUiVisibility() API to enable clock in statusbar

This fixes a bug where the clock wasn't being shown in the statusbar while
the music widget is showing.

Change-Id: Ic1c52c4ab7fa1490fe14ddafaf2c494bcf51866d
eyguardUpdateMonitor.java
eyguardViewManager.java
ockPatternKeyguardView.java
cd8640fc1a801349e863a7b6270a0702a63c014b 16-Oct-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5398675: It's (too) easy to keep the navigation bar..." into ics-mr0
e26ab70de2f80de95264990a7af07fd445637065 16-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5398675: It's (too) easy to keep the navigation bar...

...from ever becoming visible

Now there is a 1 second delay from when the user dismisses the nav bar
until when it can be re-hidden.

Also move the code for capturing touch events while nav bar is hidden
out to be used even when there is no nav bar, so this API behaves
consistently across devices whether or not they have some element of
the UI that is being hidden. On devices with a nav bar, this will
all work the same as prime (the flag is set, the app gets the callback
about the flag being set, when the user touches that touch is captured
so the app doesn't see it put does clear the flag and tell the app
about this).

Change-Id: Icb5ea0ddaf614aa3f12d2140796217f128761dee
honeWindowManager.java
7b5dd87351ac476dd872c51f9b819d2a3e572382 16-Oct-2011 Jim Miller <jaggies@google.com> Fix 5466793: Fix memory leak in system process when face lock is enabled.

Previously, the code was not unregistering the callback when we unlocked
the device, which kept a reference to LockPatternKeyguardView indirectly
by a reference to mFaceLockCallback.

It now correcly removes the callback when we unlock the device.

Change-Id: Ie592d007a1dfc2416b9e8956aba2c34e3d0120ee
ockPatternKeyguardView.java
d814d4fa0c76a0384f7e32816e1ca36f237911c6 15-Oct-2011 Uriel Rodriguez <urodriguez@google.com> Merge "going directly to backup after face unlock fails 15 times" into ics-mr0
ef0e259d59a20e6ed2334f37b2fb8067ff9cbf99 14-Oct-2011 Jim Miller <jaggies@google.com> Fix 5458658: Fix memory leak in lock screen

This fixes a memory leak caused by not unregistering the info callback
held when LockPatternKeyguardView gets destroyed.

Change-Id: I8c008b6f8a5e8471bd0e1fd3939aa75175923ce5
ockPatternKeyguardView.java
fd2ed6910f932ce43b621d6296eff112e137fbf9 14-Oct-2011 Uriel Rodriguez <urodriguez@google.com> going directly to backup after face unlock fails 15 times

- after 15 failed face unlock attempts, go to backup until the backup method is successful
- if the backup method times out (because too many unsuccessful unlocking attempts),
face unlock will not be launched until the backup method is used sucessfully
- fixes 5365919

Change-Id: I9aef7a4f1abcceefc5d6f1c0458ae5cbe8a902df
ockPatternKeyguardView.java
4e6d35829ebf98ea37f77ea434550d51950c1119 14-Oct-2011 Jim Miller <jaggies@google.com> Fix 5358124: Better transport control visibility management in lock screen

This changes TransportControlView to be "sticky" on lockscreen. Basically, once it
appears on lockscreen, it stays there until unlocked and then locked again in paused state.

Tested basic design goals (using Music2):
- play then lock -> shows
- pause then lock -> not shown
- toggle pause to play while locked and not shown -> shows
- pause after played once while locked -> stays until we unlock and lock again while paused
- remote control play while paused & sleeping -> resume lockscreen -> shows

Also tested:
- configuration changes (orientation) to ensure widget continues to show after it once appears
- remote events while lock screen on -> keeps lockscreen on.
- remote events while sleeping -> doesn't wake.

Change-Id: I23418c5f7dfd1457c0844d2683772e8a3ed0abd1
ockPatternKeyguardView.java
3406886939b0f28c426acefbe9dc77292210d8b4 14-Oct-2011 Steven Ross <stross@google.com> Merge "Making FaceUnlock not pop up for overlays Fixes 5451837 Fixes 5446341" into ics-mr0
2ce6882bb498c93af114626daa79cfa4f3f4e366 14-Oct-2011 Brian Colonna <bcolonna@google.com> Fixed problem where Face Unlock area was showing

I introduced a bug cl https://android-git.corp.google.com/g/#/c/141926
that caused black box to hide lock pattern even when not using Face
Unlock.

Fixed by adding the corresponding check to make sure Face Unlock is
being used.

Change-Id: I9c429c99d7db4d1ab831080f23a1e10123dbfe3e
ockPatternKeyguardView.java
7726289c2890d13baa3d10dc504b43e2128b4918 13-Oct-2011 Steven Ross <stross@google.com> Making FaceUnlock not pop up for overlays Fixes 5451837 Fixes 5446341

When the screen turns on because of an incoming phone call or
when the emergency dialer is selected, FaceUnlock is deactivated
until the phone call is completed and the screen is turned off.

This also checks for non-phone overlays.
If the lockscreen becomes unfocused while the screen is on,
we assume that the reason is an overlay and prevent FaceUnlock
from starting. The normal clock app is not considered an overlay by
this approach, and thus it works as intended (back button
brings up FaceUnlock).

Also reverts: https://android-git.corp.google.com/g/#/c/139885/2
to make FaceUnlock appear when music is playing again

Change-Id: Id715878556667d2b7e35c30a28d91be6a4eee575
ockPatternKeyguardView.java
3505abf31df8dafab2c83ceb8f85b5694cac3b78 14-Oct-2011 Brian Colonna <bcolonna@google.com> Merge "Fix 5451144: Poking wakelock upon fallback" into ics-mr0
9eeaaa39c3bad72a369aeff11f95ffea13a5e214 14-Oct-2011 Brian Colonna <bcolonna@google.com> Fix 5451144: Poking wakelock upon fallback

Now poking the wakelock when Face Unlock goes to the fallback method.
Previously, the backup lock would stay up for a varying amount of
time depending on how long Face Unlock took before fallback. The
backup is now consistently displayed for 5 seconds.

Also added comments to some older code.

Change-Id: I9f6bdd2d3015e7eb9cb90143737a3cdc87189993
ockPatternKeyguardView.java
19fa262c52ddaf0e5ec200f4f7f21bda0d4b617b 14-Oct-2011 Martijn Coenen <maco@google.com> Merge "Send ACTION_USER_PRESENT when provisioning is completed." into ics-mr0
50b15348c5b61472b5ed02434968b5a035765b63 14-Oct-2011 Adam Powell <adamp@google.com> Merge "Bug 5312828 - Menu button not responding" into ics-mr0
c6d51889c27cfa815f001cdf25792e98446e300f 13-Oct-2011 Adam Powell <adamp@google.com> Bug 5312828 - Menu button not responding

Increase tolerance for apps calling invalidateOptionsMenu at
inconvenient times.

Change-Id: I712b20002afd0f056c3f05b160c5fa9c2ef0b552
honeWindow.java
97175bc3277055047d4c3e6109824065f2abec5d 13-Oct-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5446988: WindowManager warns BOOT TIMEOUT,..." into ics-mr0
534b7af02782bdd36b96c6b83dfa7213d94b88c9 13-Oct-2011 Brian Colonna <bcolonna@google.com> Merge "Fix 5437700: Underlying backup method was exposed" into ics-mr0
38cc8960cbe09f8cb028a0cf8798c8c6fc75df33 13-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5446988: WindowManager warns BOOT TIMEOUT,...

...dev.bootcomplete flags is set before boot animation is out

Also:

- Fix crash in recent apps if the intent for an old app didn't
happen to have the new task flag set.
- Fix issue where a crash in system UI would cause the crash
dialog to be displayed below it, effectively locking the UI. Now
the crash dialog for persistent processes is shown above everything
else.

Change-Id: I0312001a92beeae5f644c7c3e5c5e19f6716df36
honeWindowManager.java
dba935659024a9ca83cb6bd3f1a9970e277f7658 06-Oct-2011 Daniel Sandler <dsandler@android.com> Break apart DISABLE_HOME and DISABLE_RECENT.

Additionally, start using setSystemUiVisibility() where
possible in the keyguard to allow activities and dialogs to
re-enable some of the navigation keys (notably: home but not
recents).

Finally, stop disabling MENU for activities atop the keyguard.

Bug: 5380495 // no home in driveabout, clock
Bug: 5396134 // able to show home/recent in keyguard
Change-Id: I04eb224554ee8cff79476b85148c4cda75bb0b62
eyguardViewBase.java
eyguardViewManager.java
eyguardViewMediator.java
1000e3fa06d1d560a6e790730fa351c497bb2a0e 13-Oct-2011 Daniel Sandler <dsandler@android.com> Merge "Stop enabling all disabled status bar features from GlobalActions. (DO NOT MERGE)" into ics-mr0
81cdada882f15acd69deca0803ea66dd5d0f6f32 13-Oct-2011 Brian Colonna <bcolonna@google.com> Fix 5437700: Underlying backup method was exposed

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
ockPatternKeyguardView.java
63c8a47b7fb8244e8ee9fbcf40a77a30a9c98ca9 13-Oct-2011 Brian Colonna <bcolonna@google.com> Merge "Fixes 5446301" into ics-mr0
aef555bcf26e770e37f2065913084588fb92c6fb 13-Oct-2011 Jim Miller <jaggies@google.com> Fix 5444675: Fix vibrate regression on Pattern and PIN unlock screens.

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
asswordUnlockScreen.java
4841e29d0fd3fbe0594f283e4897869331a20fbf 12-Oct-2011 Steven Ross <stross@google.com> Fixes 5446301

If the user is making an emergency call, don't bring up Facelock
Has the side effect of not bringing up Facelock if they cancel dialing

Change-Id: I5d23e89b7f687f260670d41f1cc55ebf2a135181
ockPatternKeyguardView.java
d5bb82d18cbd95bb9e751d8315b9ed0b69595033 12-Oct-2011 Jeff Brown <jeffbrown@google.com> DO NOT MERGE. Improve screenshot chord debouncing.
Bug: 5011907

Introduce a 150ms delay in handling volume down keys
while waiting to see if a power key will follow.

Don't trigger the screenshot chord if both volume up and
volume down are pressed together.

Don't trigger the long-press power menu if volume keys are
also pressed.

Require the user to press both keys in the chord within
the debounce time and continue long-pressing them in order
to trigger the screenshot action.

Change-Id: I248968d37b73c09d6d08e7f62667c443eba32da0
honeWindowManager.java
ec3f05e707044505642cbdb180aff5edf9b926aa 10-Oct-2011 Daniel Sandler <dsandler@android.com> Stop enabling all disabled status bar features from GlobalActions. (DO NOT MERGE)

Leaky singleton bug! GlobalActions, recents, and the
keyguard are all in the same process and therefore receive
the same StatusBarManager instance. Therefore, their calls
to enable() and disable() clobber one another.

Bug: 5423182
Change-Id: Ie535d88f5a5bb940dabee5f1ac176027e1793c5c
lobalActions.java
24d7b5f22ac98392f8b2d2c94560173e44d1ca6c 11-Oct-2011 Nick Pelly <npelly@google.com> Send ACTION_USER_PRESENT when provisioning is completed.

This is needed for application to know when the keyguard becomes
unlocked, because isKeyguardLocked() is typically true while
provisioning (setup wizard), but ACTION_USER_PRSENT was
not sent when it transitions to false after provisioning.

Bug: 5436867
Bug: 5430833
Change-Id: Icae13ff9cab84774a002a426eb9cb353fa1dc530
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockPatternKeyguardView.java
538e565c06e915b91e7e3a901f872ccdd9bccdd3 11-Oct-2011 Adam Powell <adamp@google.com> Fix bug 5396097 - menu theme consistency

Fix a bug where action bar menus were using the wrong context to
inflate stock views. This was causing them to use the action bar's
themed widget context instead of the current theme's specific action
bar items.

Note that action views in the menu will still be inflated using the
themed widget context. This can produce some weird side effects if
the action views use theme attributes relating to these action bar
item attributes.

Change-Id: Ied3614d1fedb10a0f5366bbe7b90cd5f2f1ff969
honeWindow.java
baa2812b377ec412f1b764463f20b8baad91b207 11-Oct-2011 Jim Miller <jaggies@google.com> Fix 5386408: Fix battery state information propagation in Lock Screen

This fixes a bug where Lock Screen would sometimes inappropriately show
"charged" if it took a while for Lock Screen to get an update on the
battery state. It now starts with the state set to BATTERY_STATUS_UNKNOWN
so we properly update listeners when we finally get battery information
in handleBatteryUpdate().

Change-Id: I71018a233f38b2f897ff2e6592d7e310550fa016
eyguardUpdateMonitor.java
2b78c7006aabe9473ad7da932b0bc221684013e4 11-Oct-2011 Jim Miller <jaggies@google.com> Merge "Fix 5406921: Register for receiving phone state changes when KGSVM gets created."
c3892c525d5fffc40f068e7fdc975807e987c9d4 08-Oct-2011 Steven Ross <stross@google.com> Fixes 5429869 Only displaying FaceUnlock when window is focused

Makes sure that the screen is on and the window is focused before bringing up FaceUnlock

Change-Id: I4c138c5c60fde217b6243627bd043194278835c2
ockPatternKeyguardView.java
ba8ecd206cc6f175767f952d380c88f70ece04cf 08-Oct-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix how we hide and show the nav bar."
df89e65bf0fcc651d20b208c8d8d0b848fb43418 07-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix how we hide and show the nav bar.

The PhoneWindowManager is now responsible for hiding and showing
the nav bar.

For hiding, it just moves it off the screen (easy way to get a
nice slide animation on and off). At the same time, we use a
new WM facility to put up a fake input window to capture all
touch events.

When a touch event is received, we force the system UI to clear
the navigation hiding bit so it will be shown again.

This removes a bunch of code from the system UI for hiding and
showing the nav bar. Also removes the code calling from userActivity()
to the system UI, which was bad. (Also no longer using userActivity()
fixes bugs around re-showing the nav bar due to key presses and
other wrong things.)

Change-Id: I8c3174873b5bcaa36a92322a51e8f7993e88e551
honeWindowManager.java
19eb7014bd6d0751b21c2b00873c0fbf499abe61 07-Oct-2011 Jim Miller <jaggies@google.com> Fix 5406921: Register for receiving phone state changes when KGSVM gets created.

This fixes a bug where the state wasn't being updated because it wasn't
registered for KeyguardUpdateMonitor state changes when the view first created, like on first boot.

Change-Id: Ic6838afffd0de51decdc43a8e8a796696aed49df
eyguardStatusViewManager.java
9c2df261797259728845a04d5e47ddf36251f93d 07-Oct-2011 Steven Ross <stross@google.com> Fixing alarm clock bug

The alarm clock doesn't actually hide the view until AFTER Facelock starts
hence the need to kill Facelock after it has started when the even is caught
Also fixing phone black box background in case the user cancels the call quickly

Also eliminating blackscreen after 4s for multiple reasons
so people can login if lockscreen locks up
also so cancel fade is to the backup lock

Change-Id: I8162ff67453038559f289408f4f0d452d4f79ab3
ockPatternKeyguardView.java
85b9edf2da0534bc53d139bb88cda8866d265afe 07-Oct-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately"
9a230e01a1237749a8a19a5de8d46531b0c8ca6a 06-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately

This cleans up how ui flags are managed between the client and window manager.
It still reports the global UI mode state to the callback, but we now only clear
certain flags when the system goes out of a state (currently this just means the
hide nav bar mode), and don't corrupt other flags in the application when the
global state changes.

Also introduces a sequence number between the app and window manager, to avoid
using bad old data coming from the app during these transitions.

Change-Id: I40bbd12d9b7b69fc0ff1c7dc0cb58a933d4dfb23
honeWindowManager.java
219f3c71269ff0bd8949b88af07f92c4e4eddc67 06-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Make SENSOR orientation modes trump rotation lock. Bug: 5371750"
4dfce20cac7492882d366d053006795aefad59da 05-Oct-2011 Jeff Brown <jeffbrown@google.com> Make SENSOR orientation modes trump rotation lock.
Bug: 5371750

Change-Id: I4d18b6c8ba1de0afd5929ddb8d7123272e35fbe2
honeWindowManager.java
0c422a72edbbb0e259a123bd028eb264f5e3cd2c 05-Oct-2011 Brian Colonna <bcolonna@google.com> Added callback for Face Unlock service to poke the wakelock

Change-Id: I76a4e0f8ac0fe17e39195f4593fac7e36d7281f0
ockPatternKeyguardView.java
dce0bb62ce4e1afbdacd2b4a8ee2e02a1563e852 05-Oct-2011 Steven Ross <stross@google.com> Killing Facelock when a phonecall comes in

This needs to actively listen for phonecall callbacks,
or calls that come in while Facelock is active will drop.

Change-Id: I818433e5de9085f0357f61d6a04b395e58871396
ockPatternKeyguardView.java
85b10b0dd0e568699f349ba500ddc8d3e6c1c12d 05-Oct-2011 Jim Miller <jaggies@google.com> Fix 5317948: Don't display facelock when transport controls are showing.

Change-Id: I0061fa9ec184846b0ed82c977a2e48b36cb079af
ockPatternKeyguardView.java
a1aebdf787443413ba870fc9203639405a5ff7bf 04-Oct-2011 Ben Komalo <benkomalo@google.com> Merge "New PIN unlock screen layout."
e5320a0270816122ba7939431cc80ed37a5b691b 04-Oct-2011 Amith Yamasani <yamasani@google.com> Merge "Tie the lockscreen sounds with the ringer volume."
51ea88a86e5cf418e956b199de35658f0a5fd623 03-Oct-2011 Ben Komalo <benkomalo@google.com> New PIN unlock screen layout.

Moves "OK" to the right and moves backspace up to beside the text field.

Bug: 5255976
Change-Id: I1b97ee108c9f10f11e5feb361810150bd6dbc776
asswordUnlockScreen.java
fee5cb54af9c86c045f1cb5d129c2cc395fe56db 04-Oct-2011 Danielle Millett <dmillett@google.com> Merge "Reworked biometric weak check functions"
58396984ef49080d5550919130fc0d869ccf840b 30-Sep-2011 Danielle Millett <dmillett@google.com> Reworked biometric weak check functions

Renamed isBiometricEnabled to isBiometricWeakInstalled. This function
now checks if the system property is set, the facelock package is
installed, and if the phone has a front facing camera. It no longer
checks if facelock is currently set as the unlock method.
Added isBiometricWeakInstalled checks to all cases where facelock is used
in LockPatternKeyguardView

Change-Id: Ia86a7ad6118101c6aab90ffb2ee9c42bf2548149
ockPatternKeyguardView.java
893746bef59277072403b953a3f84743a32a522d 04-Oct-2011 Justin Ho <justinho@google.com> Merge "allow override of HDMI rotation"
f8419a0299680ed580975b0fcb758990b4367db8 03-Oct-2011 Adam Powell <adamp@google.com> Fix bugs around overlay action modes.

Multiple focusable windows cause undesired behavior around selection
modes. TextView isn't sure how to behave when it loses window focus
with regard to selection handles and action modes need to be focusable
for WebView find on page since it uses an EditText as a custom view.

For now:

* Use a layered window decor for overlay action mode when there is no
action bar requested. This eliminates an extra window and avoids the
issue described for full-screen UIs.

* Disable WebView's find-on-page mode when the action mode's UI will
not be focusable. This only affects WebViews in floating windows.

Also remove the "Text Selection" title for WebView's selection mode at
UX's request, as it is inconsistent with TextView's selection mode and
the string does not fit on phones in portrait even on wide
devices. This now uses the same mechanism used in TextView to decide
whether to use title text.

Change-Id: I80caeecea9b47728cf26bb0a388153ca0bdeafe1
honeWindow.java
8cb751b05a590a191ab4887567503269a475bbd6 01-Oct-2011 Amith Yamasani <yamasani@google.com> Tie the lockscreen sounds with the ringer volume.

Actual volume is a ratio of the ringer volume and drops along with
but slower than the ringer volume, so that at lowest ringer volume,
the lockscreen sounds are still somewhat audible.

Don't start the sounds if the ringer is muted.

Bug: 5394473
Change-Id: Ifcf242b3198b4ec8f12334e26ec23ebf05a96b83
eyguardViewMediator.java
ee1d541ec89e1d2724a382c90276586e2c28b278 29-Sep-2011 Marco Nelissen <marcone@google.com> Merge "Use SoundPool instead of Ringtone."
d5545bd0a9efa65a8f7436205dd88965bc60192b 29-Sep-2011 Marco Nelissen <marcone@google.com> Use SoundPool instead of Ringtone.

The lock screen was using Ringtone for the lock/unlock sounds, which
meant two new MediaPlayers were created every time a sound needed to
be played. In addition, the Ringtone was assigned to a local variable,
which means it could go be garbage collected and finalized while it
was still playing.
For short sounds that need to be played repeatedly, SoundPool is a
better option anyway, so use that instead.
b/5382634

Change-Id: I8794cbb24604fa7c03032bd5e32ceab37a858054
eyguardViewMediator.java
b9a4b3c18aa0094bbbbc2858c765fb4aeafdee67 29-Sep-2011 Justin Ho <justinho@google.com> Fix lockscreen
Bug: 5391404

Change-Id: I021a37705b72ab1990f7651fecbe743a8af4e372
ockPatternKeyguardView.java
e0b6cd14ac116006e26dac6898a332fa90f1f49c 29-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5386915 - Action mode is intercepting touches it shouldn't be

Standalone action mode windows should not be touch modal.

Change-Id: Ia3bab69b3ac344837093a17c4b58451bcc3471bf
honeWindow.java
cfdd6242eb0c26373b9c57d2ad1ddc126708189e 29-Sep-2011 Brian Colonna <bcolonna@google.com> Fix 5385186 - Face Unlock no longer shown when first booted

Face Unlock used to show on first boot via an onScreenTurnedOn()
callback. At some point something changed and this no longer gets
called at boot time. This left us in the state where the black box
was covering the backup method, but Face Unlock was not starting.

Instead of finding a new way to make Face Unlock start at boot, it
was decided that it is probably best for it not to start at boot
anyway. So much is happening at boot time, including camera
initialization, that trying to make this work right might cause more
problems than it solves.

This fix moves the code that makes the black box cover the backup
method. Instead of happening when the layout is originally created,
it now happens in the show() function, which gets called not only
when the screen is turned on, but also before the screen turns off,
such that it is ready to go when the screen turns back on. This not
only keeps the black box from displaying on boot (because show()
doesn't get called at boot time), but also makes sure the black box is
already there before the screen is turned on, preventing any glitches
that may briefly show the underlying backup method.

Change-Id: I99bdae561a70918b5f12ea5badff08b07d74403c
ockPatternKeyguardView.java
d90172e05fbc912975264814c54bbcfc12cd91f9 29-Sep-2011 Brian Colonna <bcolonna@google.com> Merge "Pulled out part of onScreenTurnedOn() into show() function"
8917838b533c97dfd391371bfe3eaa811c3cd3b7 29-Sep-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5386180 - Wire up action bar home/up for dialogs"
915ce0d917fecd14e9b8b0caa4b01e72f3e0db11 29-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5386180 - Wire up action bar home/up for dialogs

Action bars in dialogs are largely an undocumented "feature" but they
do work - with the exception of this since it previously relied on the
host being an Activity. Make it work.

Change-Id: I52ae24c3bfdd9766e4c0f035183e7f148a4e0162
honeWindow.java
4284e9d19a3f917b85e5eac4d6e304fc9b866139 28-Sep-2011 Brian Colonna <bcolonna@google.com> Pulled out part of onScreenTurnedOn() into show() function

The onScreenTurnedOn() function in LockPatternKeyguardView was
actually being called in two cases - when the screen was turned on,
AND when the show() function was called in KeyguardViewManager, which
actually happens just before the screen is turned off. Face Unlock
functionality was added to the onScreenTurnedOn() function, not
expecting that the function was also being called just before the
screen turns off. This causes Face Unlock to run when the screen is
turned off, preventing it from running when the screen is turned on.
This was not obvious during testing because it's not a problem when
testing from the lock screen. To reproduce the problem you must log
in successfully, then turn the screen off, wait, and turn it back on.

The solution was to pull the non-face unlock functionality from
onScreenTurnedOn() into its own function called show(), which is
called from the KeyguardViewManager show() function and also called
from onScreenTurnedOn(). In this way, the onScreenTurnedOn()
functionality is not changed, but the show() function can be used
for the onScreenTurnedOn() functionality minus the Face Unlock stuff.

One exception to note - I left setting mScreenOn inside of
onScreenTurnedOn() and didn't pull it into show()...that seems like
the correct thing to do.

Change-Id: I9dcc144c7842112c4d35eb3f8b4ab1cd42c05675
eyguardViewBase.java
eyguardViewManager.java
ockPatternKeyguardView.java
267cb2b284626f910cf64352bfc494d0f8d3dc42 26-Sep-2011 Brian Colonna <bcolonna@google.com> Fix 5323545 - FaceLock no longer appears when taking a call

Prior to this fix if the screen was off and a call was received, the
onScreenTurnedOn() callback would bring up the FaceLock service,
which would cover the phone interface. It now requires the call state
to be CALL_STATE_IDLE to start FaceLock. When the phone interface
closes, the user is left at the backup lock screen. Bringing FaceLock
up after a call ends does not seem like the correct thing to do.

While working near the FaceLock callback code, the sleepDevice()
callback was removed because it is no longer used (Fix 5327896).

Some cleanup was also done with regards to KeyguardViewManager.
FaceLock calls were being made from the KeyguardViewManager in
onScreenTurnedOn() and onScreenTurnedOff() via an interface to
LockPatternKeyguardView. This level of indirection was removed
because it can just be handled inside of the corresponding calls
in LockPatternKeyguardView. Likewise the FaceLock functionality
inside of hide() in KeyguardViewManager is now in
onDetachedFromWindow() in LockPatternKeyguardView. Overall this
is much cleaner, especially considering interfacing through
KeyguardViewBase was a bit of a hack.

Patch Set 2:

- Now using KeyguardUpdateMonitor to get phone state

- Removed unnecessary wrapper functions for hiding / viewing
FaceLock area
- These were really only there because at one point I was calling
them from KeyguardViewManager and the naming was confusing

- Removed if(DEBUG) from a couple of log messages that are actually
warnings that shouldn't show up and I want to know if they happen
even if I don't have DEBUG set to true

Change-Id: Id7befc47dd421156ff6cdb3aaf62fc76fe9cfad2
eyguardUpdateMonitor.java
eyguardViewBase.java
eyguardViewManager.java
ockPatternKeyguardView.java
a2f00da374cd0d9776bc6c4e1cf3c3def990270b 27-Sep-2011 Jim Miller <jaggies@google.com> am b4f0a9f3: Merge "Fix 5326463: rework sim state handling in lockscreen" into ics-factoryrom

* commit 'b4f0a9f3894c1f039168ad672f4aa194999c7cdd':
Fix 5326463: rework sim state handling in lockscreen
9a41ef890dac73b8d439d9b725ec79fdad050486 27-Sep-2011 Erik Gilling <konkers@android.com> allow override of HDMI rotation

This allows kiosk/demos to be given in portrait mode. Set with:
adb shell setprop persist.demo.hdmirotation portrait

Change-Id: Ic0c858dcf6329ca34180f582d4869539dde8f69b
Signed-off-by: Erik Gilling <konkers@android.com>
honeWindowManager.java
3f5f83b54fad4c797f5dbd75f050e4980e839122 27-Sep-2011 Jim Miller <jaggies@google.com> Fix 5326463: rework sim state handling in lockscreen

Previously it was possible to get an inconsistent state because there
were two paths that updated the lock screen sim state. This reworks
the data flow to ensure the same path is always used to update the state.

KeyguardUpdateMonitor now correctly updates the entire state of the callee
whenever a new callback is registered.

In addition, KeyguardUpdateMonitor now caches the phone state in order
to avoid a round-trip binder call in updateEmergencyCallButtonState().
This avoids a condition that could make lockscreen unresponsive while
updating the emergency call button state.

KeyguardStatusViewManager also ensures the TransportControlView is
hidden when created to ensure we don't inappropriately update the carrier
line while waiting for the first callbacks to update the status lines.

Change-Id: I6b3975b703a7d90bac8d0fe29fbc0f1d9c5e0e7d
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewMediator.java
0e86bc07886bbd7e2b9166d1e6c7b5dc94d14217 26-Sep-2011 Brian Colonna <bcolonna@google.com> Merge "FaceLock is now closed if emergency dial button is pressed"
4c253119db0ce753e46ec3809b54b9e357d363db 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Prevent unintended rotations. Bug: 4981385"
c0347aa19f354a8e1ff4fcd5372b134c0c7c16ad 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Prevent unintended rotations.
Bug: 4981385

Changed the orientation listener to notify the policy whenever
its proposed orientation changes, and changes the window manager
to notify the orientation listener when the actual orientation
changes. This allows us to better handle the case where the
policy has rejected a given proposal at one time (because the
current application forced orientation) but might choose
to accept the same proposal at another time.

It's important that the proposal always be up to date. A proposal
becomes irrelevant as soon as the phone posture changes such
that we can no longer determine the orientation with confidence
(such as when a device is placed flat on a table).

Simplified the orientation filtering. Now we just wait 200ms
for the device to be still before issuing a proposal. The idea
is that if the device is moving around a lot, we assume that
the device is being picked up or put down or otherwise in
the process of being moved. We don't want to change the rotation
until that's all settled down. However, we do want to tolerate
a certain amount of environmental noise.

(The previous confidence algorithm was also designed along
these lines but it was less direct about waiting for things
to settle. Instead it simply made orientation changes take
longer than usual while unsettled, but the extra delay was often
too much or too little. This one should be easier to tune.)

Change-Id: I09e6befea1f0994b6b15d424f3182859c0d9a530
honeWindowManager.java
93b19cbe4bb48ab2c67180c2b6cd93e1e26edf31 24-Sep-2011 Brian Colonna <bcolonna@google.com> Merge "Changed result of entering credentials after forgot pattern"
6ed1bfb1b68071d64a8ab145cc249d37377f9758 24-Sep-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5341139 - bottom bar stays if app wants to handle orientation change"
a05aba9c506cd12a753c53e060c289095c3477e9 23-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5341139 - bottom bar stays if app wants to handle orientation
change

Let action bars move between split/unsplit mode on configuration
changes if set to split when narrow.

Change-Id: I13f5115a65247cb1878ee823493ca8e2b6ba4cf6
honeWindow.java
90c52de28691ca0bbbf7c039ef20f85ce46882cc 23-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5173952: Opening a Notification From Lock Screen...

...Should Skip Unsecure Lockscreen (ICS)

Also while I am in there, clean up logging of intent objects to include
even less sensitive information, while showing the true Intent in dump
output (since apps can't get to that).

Change-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e
honeWindowManager.java
eef1ae1d91d55341c25d01547ac9b952be5aa658 23-Sep-2011 Brian Colonna <bcolonna@google.com> FaceLock is now closed if emergency dial button is pressed

Previously facelock would remain on top of the dial keypad until it
timed out.

Change-Id: Iaf1b3b0040fbfcb5c32e3db7b0466d2a6f89dc1d
ockPatternKeyguardView.java
aae641bc6404d8cee8840769881742df8963aa5b 23-Sep-2011 Brian Colonna <bcolonna@google.com> Changed result of entering credentials after forgot pattern

After pressing forgot pattern and entering credentials, it used to
bring you to the screen to choose a new pattern. Now you are brought
to the screen to choose any unlock method. The reason for this change
is that both Pattern and FaceLock are valid possibilities when a
pattern is forgotten since FaceLock can use a pattern as a backup
method.

Change-Id: Ide28a780771a50952e72c3c06e1f71cbcb48f834
ccountUnlockScreen.java
5298a8c71ae0125b32cc9e00062b9be370d9a043 23-Sep-2011 John Wang <johnwang@google.com> am dd6d1bbd: Merge "Update PUK unlock screen." into ics-factoryrom

* commit 'dd6d1bbd15c4e5cf1b3e0ac34c96f29fb04863c6':
Update PUK unlock screen.
a0c7a5765dbbd255f9a122ba8829ca44032acde0 23-Sep-2011 Adam Cohen <adamcohen@google.com> am 08ee7fa4: Merge "Fixing emergency dialer flicker on lock screen (issue 5314293)" into ics-factoryrom

* commit '08ee7fa463aee5e83f77789e9a99f17a34ab68b4':
Fixing emergency dialer flicker on lock screen (issue 5314293)
d65b3b99f087113a3a75991663e5676bb106fa0b 23-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5355912 - SearchView in ActionBar with
Theme.Holo.Light.DarkActionBar gets black text

Make sure that menus generated for use in action bars get themed correctly.

Change-Id: I14ba676d296c785514425d40d89e62dc4ff1da1a
honeWindow.java
dd6d1bbd15c4e5cf1b3e0ac34c96f29fb04863c6 23-Sep-2011 John Wang <johnwang@google.com> Merge "Update PUK unlock screen." into ics-factoryrom
400110902e1680eebe70aed583789870e31758f6 22-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5355844: PowerManager does not call screenTurningOn after boot.

Be more explicit about initialization -- power manager never sends
screen update when first initializing, phone window manager retreives
current screen state and applies that itself when initializing.

Change-Id: I8294ed36d700e186c1637754df8c8183721c15dd
honeWindowManager.java
7f3eb49ad5dc7e4e4e9d354304ec1d43e9330b46 22-Sep-2011 John Wang <johnwang@google.com> Update PUK unlock screen.

1. Make Pin and Puk focusable EditText.
2. Add hint text for pin and puk.
3. Update focusEntry logic.

bug:5243771
Change-Id: I65bd52510bbbf0ebd7830ecac7e31159ae750c6c
imPukUnlockScreen.java
b35914bb90c0650f65bdc7bdca1de24c2fd0179f 22-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Disallow 180 rotation for phones. Bug: 4981385"
a829e16681903e6a41901145195f88bf9d952f88 22-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Handle orientation changes more systematically. Bug: 4981385"
d3187e39b04c79810630bed30940ad39847aadab 22-Sep-2011 Jeff Brown <jeffbrown@google.com> Disallow 180 rotation for phones.
Bug: 4981385

Change-Id: Icaed9cfe4ee9771ca5951abcd1173024d87a024b
honeWindowManager.java
01a98ddbdfbaf1f0d2bc602537e6e314364902a3 21-Sep-2011 Jeff Brown <jeffbrown@google.com> Handle orientation changes more systematically.
Bug: 4981385

Simplify the orientation changing code path in the
WindowManager. Instead of the policy calling setRotation()
when the sensor determined orientation changes, it calls
updateRotation(), which figures everything out. For the most
part, the rotation actually passed to setRotation() was
more or less ignored and just added confusion, particularly
when handling deferred orientation changes.

Ensure that 180 degree rotations are disallowed even when
the application specifies SCREEN_ORIENTATION_SENSOR_*.
These rotations are only enabled when docked upside-down for
some reason or when the application specifies
SCREEN_ORIENTATION_FULL_SENSOR.

Ensure that special modes like HDMI connected, lid switch,
dock and rotation lock all cause the sensor to be ignored
even when the application asks for sensor-based orientation
changes. The sensor is not relevant in these modes because
some external factor (or the user) is determining the
preferred rotation.

Currently, applications can still override the preferred
rotation even when there are special modes in play that
might say otherwise. We could tweak this so that some
special modes trump application choices completely
(resulting in a letter-boxed application, perhaps).
I tested this sort of tweak (not included in the patch)
and it seems to work fine, including transitions between
applications with varying orientation.

Delete dead code related to animFlags.

Handle pausing/resuming orientation changes more precisely.
Ensure that a deferred orientation change is performed when
a drag completes, even if endDragLw() is not called because the
drag was aborted before the drop happened. We pause
the orientation change in register() and resume in unregister()
because those methods appear to always be called as needed.

Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
honeWindowManager.java
5dbe9228a95c4ee5bfcdf2791634f59ce119c0e6 22-Sep-2011 John Wang <johnwang@google.com> am 6588bba3: Merge "Notify the sim state after callback registration." into ics-factoryrom

* commit '6588bba33fbf2756253d19764022a743e13573e9':
Notify the sim state after callback registration.
c3e4454fdb57391c8d7c77a9d61381d0f4d857e8 22-Sep-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5300621 - Share menu disappears in gallery"
ebcd6bb1b9ac5f898621ba25c37f2e3ccd2ff33b 22-Sep-2011 Adam Cohen <adamcohen@google.com> Fixing emergency dialer flicker on lock screen (issue 5314293)

Change-Id: Ia9bf4acb84923e200b89ee55fc53bc92877001cf
ccountUnlockScreen.java
eyguardStatusViewManager.java
ockScreen.java
asswordUnlockScreen.java
atternUnlockScreen.java
imPukUnlockScreen.java
imUnlockScreen.java
823f074a73cfc23c40a7b576c71daa096ee9ed6a 22-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5300621 - Share menu disappears in gallery

ActionProviders (or action views) unfortunately had no way to report
that they had opened a sub-UI that would affect menu visibility
listeners used to hide action bars when not in use. This caused the
Gallery UI to hide its action bar when the share popup was open.

Add hidden API (to be made public later) to ActionProvider that can be
used to inform the menu system that a sub UI has opened or
closed. Account for this in menu visibility callbacks. Fix
ShareActionProvider to use this when its popup windows open and close.

Fix a regression where submenus were not properly reporting visibility
changes.

Change-Id: Ia6f45fb463ad106105c40d01f141c2e5c8b96f78
honeWindow.java
6588bba33fbf2756253d19764022a743e13573e9 22-Sep-2011 John Wang <johnwang@google.com> Merge "Notify the sim state after callback registration." into ics-factoryrom
dda868cd3383aecb45b42e39abfa2670101dde00 22-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Keyguard sound needs to hold wake lock."
61e159504a49cd283fea1658beaa758a3d3e0a99 21-Sep-2011 John Wang <johnwang@google.com> Notify the sim state after callback registration.

Notify the register the current sim state right away in
registerSimStateCallback.Otherwise the register won't
receive any state until sim state gets changed again.
That will introduce a racing condition. If the sim state
changes to PUK_LOCKED after registering the callback, the
PUK unlock screen shows up. If the sim state changes to
PUK_LOCKED before registering, the PUK unlock screen won't
show.

bug:5243771
Change-Id: I27de1329a30adba68952cf086d2130c4cef54270
eyguardUpdateMonitor.java
39129cc88496e8fae68974ac52547cdebce030ad 21-Sep-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5341804 - Unable to type into the find on page CAB"
23016582222cdaeb880ee3db080f6c245ea8e031 21-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5341804 - Unable to type into the find on page CAB

Standalone action mode windows should be focusable.

Change-Id: I7ce23f1028eb0d0d36bdb287589a6018dc178580
honeWindow.java
e47e8520fa48bd014287eda94ea39927de73d6bc 21-Sep-2011 Dianne Hackborn <hackbod@google.com> Keyguard sound needs to hold wake lock.

We need to hold a wakelock while playing the keyguard lock sound,
so that it actually completes before the CPU goes to sleep.

Change-Id: I144c345383afeb911ea461b2eb17b31183b6d092
eyguardViewMediator.java
cec857d85c838ed7253c64b84d5b1354be7595b1 21-Sep-2011 Adam Cohen <adamcohen@google.com> am 41298971: Merge "Fixing disappearing lock screen, issue 5319246" into ics-factoryrom

* commit '41298971c774a336257fff4a97ed5d5505bbfb60':
Fixing disappearing lock screen, issue 5319246
51e9d5c635b8882c1947122f1aa7e820d3a5f287 21-Sep-2011 Adam Cohen <adamcohen@google.com> Fixing disappearing lock screen, issue 5319246

Change-Id: Ia59ba6388775efc83aadf1e489b767be5624d385
ockPatternKeyguardView.java
6bb68deb7d8b6784699b1653ceb0b5a71b5925f0 20-Sep-2011 Adam Powell <adamp@google.com> am 6724872b: Merge "Fix bug 5336495 - Silent mode icon on power dialog is wrong" into ics-factoryrom

* commit '6724872b166d84f640dfa3213e917ecd37333484':
Fix bug 5336495 - Silent mode icon on power dialog is wrong
093dee952f3078aaa69a524ba91188fee6608ddf 20-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5336495 - Silent mode icon on power dialog is wrong

Change-Id: I384882434827a3ab57d65bb0a79e9da10315326f
TODO: Add appropriate vibrate-in-silent-mode icon when available.
lobalActions.java
bc1aa7bbc753ebcd32da4507fa23215489b6d314 20-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5312624: Lock screen very flickery

The key thing was to fix isVisibleOrBehindKeyguardLw() so that it
wouldn't count a window as not visible if it was just currently
in the process of drawing due to an orientation change.

Also improve logic in deciding when to turn screen on to better ensure
the screen is in a stable state, in particular treating screen off
as a frozen screen and not allowing it to turn on until the
update of the screen due to any config change is done.

Change-Id: If82199f3773270b2d07f9c7de9da2dad8c7b28d7
honeWindowManager.java
d413eb3861aae87386d418e9af4875f6f330cd05 19-Sep-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5333962 - Problems with no action bar/overlay action mode"
8ee6d7c20e7767c2f61f8db9a99d01e0a05f3842 18-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5333962 - Problems with no action bar/overlay action mode

Change the standalone action mode window for overlay mode to be of
TYPE_APPLICATION. (This also fixes a bug where overflow menus would
not work properly on these types of action mode bars.)

Set exitFadeDuration on btn_cab_done_holo_* drawables.

Remove no-window-focus override selector states for selectable item
backgrounds to allow proper touch feedback on windows that do not have
focus but that the user can interact with.

Change-Id: Ib504866238708150d21e6183ff7b695869c05d3e
honeWindow.java
38e29a61d0c87fe3e391d24e2eb11dd1800d107d 18-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5242779: Device not responding to touch on unlock screen

Rework how we decide when it is okay to turn on the screen by having
the policy call back to the power manager when it knows the lock screen
has been drawn.

Change-Id: Ie8f3f72111dcf7f168723e6dce24e0343b4afe5d
eyguardViewManager.java
eyguardViewMediator.java
honeWindowManager.java
68a8cf4a8e2829bc61c5f77cbb062a5ed143cd0a 16-Sep-2011 Brian Colonna <bcolonna@google.com> Merge "Properly laying out FaceLock on lockscreen"
4d7cee1e4b9ed17da8fc041be80369eb525901f1 14-Sep-2011 Brian Colonna <bcolonna@google.com> Properly laying out FaceLock on lockscreen

- FaceLock area now specified in layout files instead of trying to
grab an existing view, which was only practical if pattern was
backup method

- Now fills area it is supposed to and works with pin as well as
pattern backup

- Backup method is no longer exposed behind FaceLock just before it
starts or just after it tells the lockscreen to unlock

- Added synchronized blocks so FaceLock cannot be told to stopUI by
two different threads at the same time

Change-Id: I3bfad6b44dbe0e3c2ea3c87d2978451c22a7484c
ockPatternKeyguardView.java
atternUnlockScreen.java
247d8b08b2618c33a4ec1be974829c033c9b909f 15-Sep-2011 Danielle Millett <dmillett@google.com> Merge "isPasswordEnabled and isPatternEnabled return true if used as backup method"
d32b472edfda62c8c2713c4c72da4cdba32dd5ff 15-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5155678: Portrait > Landscape full-screen transition..."
ec537457cd2869e52b9b2c99e8c01dd96a9682e2 15-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5155678: Portrait > Landscape full-screen transition...

...mode cuts off screen rendering

The code for limiting application window sizes to not include the
navigation bar was dead. Now it is back.

Change-Id: Ic0bde56e3300fd0d9d225e19d8de2766d07e8780
honeWindowManager.java
ca7b6568333e1446b8357a89f6bdf757fee29768 15-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5283365: Rotating the device to portrait mode, hides the keyboard partly"
1f903c3b577d20f7db7e3d5875cafe577d0d845f 14-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5283365: Rotating the device to portrait mode, hides the keyboard partly

PhoneWindowManager now takes full responsibility for deciding where the
navigation bar goes. This gets rid of a bunch of race conditions with
determining layout while the nav bar is moving itself at the same time
the window manager is computing a new configuration.

Note that this breaks the "nav bar on left" option. The current nav
bar code could also be cleaned up some more to completely drive its
behavior based on onSizeChanged() happening during relayout.

Change-Id: I1651d74c3464ba0d588aab3049e099c78420146a
honeWindowManager.java
86ed436b83d6b71ff00d1c3db910f2952018489e 15-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5237737 - ActionBar should fire an accessibility event when
action mode is turned on/off

Fire AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED when action modes
come and go to give an indication of UI change on the level of a menu
or dialog opening/closing.

Change-Id: Id36c6153b0722b4b6927c8d36503e8ac57c2d2b2
honeWindow.java
28739171f2135c1083dc5f87a3827f9212a55580 14-Sep-2011 Daniel Sandler <dsandler@android.com> Merge "When the status bar hides, close the notification panel."
98392efb24d8aac36a4cfa85106812e17d5984f9 13-Sep-2011 Jeff Brown <jeffbrown@google.com> Fix bug in KeyButtonView key injection logic.
Bug: 5299191
Bug: 5300282

Only send keys when mCode != 0.

Simplified the logic for repeating / non-repeating keys.
Key down / up are always correlated with touch down / up, the
only thing that's special is that we detect long press for
repeating keys and not for others.

Ensure that up or cancel is always sent for every key
that is generated. Previously it was possible for keys to get
stuck down if touch moved out of the button's active area.

Removed the funky HOME long press timer. We don't need it
since we can rely on the long-press flag instead. Since the
system UI is in direct control of key repeating and long-press
behavior for the keys it inject, this eliminates the need for
special hacks to circumvent the timer.

Ensure that the same haptic feedback is provided for all keys,
including the recent apps key. Previously this only worked
because the code was injecting a bogus key with code 0.

Don't generate repeated haptic feedback for virtual keys
even when those keys are injected. This doesn't happen
for virtual keys synthesized by the InputReader because it
never injects repeats itself (the InputDispatcher synthesizes
them), but it is an issue for the KeyButtonView.

Change-Id: I8b3615dde738af28e76898d161d6ce9a883b59ec
honeWindowManager.java
73da5fe0feda040b200aa60fff15024ec38d7edc 13-Sep-2011 Danielle Millett <dmillett@google.com> isPasswordEnabled and isPatternEnabled return true if used as backup method

When facelock is enabled, isPasswordEnabled or isPatternEnabled will return true depending
on which one is set as the backup method. This is a cleaner way to handle things, rather than
specific cases for facelock in all the methods that call these functions.

Change-Id: Iacb802b89626dfc13f2306de1a2e622ca9b69427
ockPatternKeyguardView.java
9c00d5b8e7390799cc63d7c8d073de5802463250 13-Sep-2011 Daniel Sandler <dsandler@android.com> When the status bar hides, close the notification panel.

Bug: 5087130
Change-Id: I8a63f424158faa3266f6904c0a57ac352a0555e4
honeWindowManager.java
56bacd76b2e8caaad6be933ceb7168e046f7253e 09-Sep-2011 Jim Miller <jaggies@google.com> Allow lockscreen orientation to be overridden with a system property.

There are cases where lockscreen changes orientation (when docked, etc.),
but it's not easy to test. This allows lockscreen's behavior to be
overridden by command-line.

Change-Id: I7ce1e2ca0ea03a9034a6f537e33650e99e3594d8
eyguardViewManager.java
1d50a2c0682926f783f9acab5c4bdeca1d3cb9cd 09-Sep-2011 Jeff Brown <jeffbrown@google.com> Merge "Adjust layers for system overlays."
15ea55a6f1ae44ca63da158e3539903d77433988 09-Sep-2011 Brian Colonna <bcolonna@google.com> Moved FaceLock bind/unbind calls inside of null check

- I am not sure under what circumstances mKeyguardView can be null in
onScreenTurnedOn() and I never saw this behavior before the commit,
but it can happen and prevent the device from booting

- Patched to fix line length

Change-Id: I39efa5c1d68158af5c108430036fe7c715ef855b
eyguardViewManager.java
4f4ed38a8852bcf45fbec460ab61256fe98b2b40 09-Sep-2011 Jim Miller <jaggies@google.com> Merge "Fix 5185505: Add support for weak biometric sensors to lockscreen."
6edf2637e96139735df83907c221cce16d4d7eaa 06-Sep-2011 Jim Miller <jaggies@google.com> Fix 5185505: Add support for weak biometric sensors to lockscreen.

Added binder interfaces to the framework.

Change-Id: I7d55b45baa4d1600ebd2a3828e85c3357cfcfb58
eyguardViewBase.java
eyguardViewManager.java
ockPatternKeyguardView.java
atternUnlockScreen.java
3705b22c9704050dfb46d784ae84e9d7f9357ad4 09-Sep-2011 Michael Jurka <mikejurka@google.com> Merge "Adding null check to prevent monkey crash. (5263199)"
45d378b705e873edfd9be5ada7b639e8a832856c 09-Sep-2011 Winson Chung <winsonc@google.com> Adding null check to prevent monkey crash. (5263199)

Change-Id: I26372c8aa8022659582b31ca5a4279b9590f02f8
honeWindow.java
bfcb60ab0f696c8ef70830c365550e62fe2808bf 09-Sep-2011 Jeff Brown <jeffbrown@google.com> Adjust layers for system overlays.

Prevent system overlays from showing above the notification bar.

Allow secure system overlays to be fullscreen, for the pointer
location view.

Show the drag layer above the notification bar.

Change-Id: Ic8d663792a243cca2cd9952d241d001e0357d551
honeWindowManager.java
b0d89922b186b62701aa7ee1ed8f808fac2c1d9b 09-Sep-2011 Jeff Sharkey <jsharkey@android.com> Merge "Always disable() through SBMS; watch date."
4519a02608b9e02a2c0dbc7dff37c21167db8f24 08-Sep-2011 Jeff Sharkey <jsharkey@android.com> Always disable() through SBMS; watch date.

Touching StatusBar.disable() directly can make the cached value over
in StatusBarManagerService stale. Instead, dispatch DISABLE_BACK
through setSystemUiVisibility() on tablets; it's unused on phones.

Also DISABLE_NOTIFICATION_TICKER when showing secure lockscreen, and
watch for TIME_CHANGED in DateView.

Bug: 5255469
Bug: 5242677
Change-Id: I4efaf9799b2f229f49d7024da5dafceacd5e08bb
eyguardViewMediator.java
1d07e16c9d9ecaaaf8994ad5691c4063ab31f265 08-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5174277 - Trouble with Menus

Make sure that options menu panel presenters associated with a PhoneWindow
get re-wired properly when a new menu is generated.

Change-Id: Ic06130019aec8b8edc372054c348f147d164fc5f
honeWindow.java
62c3efd204acdf1f7bf3bde584e2a0dfd9ca046e 03-Sep-2011 Jim Miller <jaggies@google.com> Fix 2679658: Be more aggressive about recreating lock screen.

In the past we were overly cautious about not recreating the lockscreen
under steady state conditions. However, that allowed lockscreen
to get into weird states where the screen orientation and the
loaded layout disagree. Once in this state, the user could not
recover because we would never reload the layout due to the fixed
orientation of lock screen.

This avoids the problem by being more aggressive about reloading
the layout. It now recreates the lockscreen (for reals) whenever
a view requests it via recreateMe().

In addition it serializes recreateMe() requests to ensure a pending
configuration change event has a chance to propagate and be handled
by the lockscreen looper.

Change-Id: I86a54abba899eb314f7cc8dbf6cbb98266bc548a
ockPatternKeyguardView.java
6b0c11da5a7a7ea236fd9dc409d1ce7a33bff9c2 03-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5150899: Call activity takes 15MB we never get back."
5d927c2d8e832fcfcb0154c8741f896001141ef4 02-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5150899: Call activity takes 15MB we never get back.

Persistent process can no longer use hardware acclerated drawing
when running on a low-memory device.

Change-Id: I3110335617af1c98fcede9bf41f4a1d0c20d0e87
eyguardViewManager.java
honeWindowManager.java
054340d0a3f242efeaf898cca38625bdcb3b4b5a 02-Sep-2011 Jeff Sharkey <jsharkey@android.com> Show statusbar clock based on lockscreen status.

Keep track of lockscreen clock visibility, and only hide statusbar
clock when one is provided by lockscreen. This fixes bug where widget
would hide all clocks.

Bug: 5242065
Change-Id: I48de98ecb956c7f22bd40b54d771c78c1a80c14c
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockPatternKeyguardView.java
69666e078152362b19d02d9ee79bbd5fc69e09c3 02-Sep-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5229575: Youtube link shared through messaging is not..."
ba24e4d8bbeb60e96d74f05e21691dad61ce497e 01-Sep-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5229575: Youtube link shared through messaging is not...

...opening after selecting option "Youtube" as a luncher.

Also:

* Tweak window animations so that the wallpaper exist animations do not
stop too early (causing the wallpaper to suddenly disappear).
* Make sure no input is being processed while booting, to avoid
accidentally doing things especially in the upgrade dialog.
* Some other small cleanup.

Change-Id: I40a6b53731991d4e31ac4502e3d85f0e47507481
honeWindowManager.java
e3646dd8d96fb9756c8a7a4757ad5277e3801aed 01-Sep-2011 Mike Lockwood <lockwood@android.com> Show back button in status bar when in an activity in front of the lockscreen.

When the lockscreen is up we still enable the home and recent app buttons,
but the back button is only enabled if the lockscreen is not obscured by other activities

Fixes problem escaping from the DeskClock app when the screen is locked.

Bug: 5206013

Change-Id: I68c9e4513018f51e2ee4fc11254e42ecbef834e4
Signed-off-by: Mike Lockwood <lockwood@android.com>
eyguardViewMediator.java
d040edbae968d826aa2c82d382345811a45c646b 31-Aug-2011 Dianne Hackborn <hackbod@google.com> Use floating point window positions.

Gets rid of gapps between windows during animations.

Change-Id: I17d2ef0af214008f0eabd7eb19268f145fe83b39
honeWindowManager.java
9d4bc852ea459c2a4347a87ce0357b3328a25db8 31-Aug-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix input channel leak. Bug: 5156144"
f52c70b2ccf711f507723bc74a68ca8c3a12c57a 31-Aug-2011 Jeff Sharkey <jsharkey@android.com> Disable clock in lockscreen; better flag logic.

When showing lockscreen, hide clock and navigation. Clean up logic
to be easier to understand.

Bug: 5112812
Change-Id: I20e3563aa36644db678c7839d47f01f223fe8d37
eyguardViewMediator.java
cc4f7db698f88b633a286d8ab1105b28a474cd09 31-Aug-2011 Jeff Brown <jeffbrown@google.com> Fix input channel leak.
Bug: 5156144

Input channels could leak or simply live longer than they should
in some cases.

1. Monitor channels (used by the pointer location overlay) are never
unregistered, so they would leak.

Added code to handle failures in the receive callback by closing
the input channel.

2. The DragState held onto its input window and application handles
even after the input channel was disposed.

Added code to null these handles out when they are no longer needed.

3. Input channels previously used as input event targets would stick
around until the targets were cleared (usually on the next
event).

Added code to detect when the input dispatcher is in
an idle state and to proactively clear the targets then
to ensure that resources are released promptly.

4. Native input window handles held onto the input channel even
after the input window was removed from the input dispatcher.
Consequently, the input channel would not be disposed until
the input window handle itself was freed. Since the input
window handle is held from managed code, this meant that the
window's input channel could stick around until the next GC.

Refactored the input window handle to separate the properties
(info) and identify (handle) state into different objects.
Then modified the dispatcher to release the properties (info)
when no longer needed, including the input channel.

7. The pointer location overlay does not actually use its
standard input channel, only the monitor input channel.

Added INPUT_FEATURE_NO_INPUT_CHANNEL to allow windows to
request that they not be provided with an input channel
at all.

Improved some of the error handling logic to emit the status
code as part of the exception message.

Change-Id: I01988d4391a70c6678c8b0e936ca051af680b1a5
honeWindowManager.java
1c18828d20807342d37000746b18a3c1696f3b2e 09-Aug-2011 Jim Miller <jaggies@google.com> Fix 5044158: Integrate music transport control into LockScreen

This integrates a new version of TransportControlView into LockScreen
and adds plumbing to handle new AudioService events to show/hide the view
and updates the required assets for all devices.

Updated to use new AudioManager API. Since the current API only supports
one RCD, the handler now lives in TransportControlView.

Change-Id: I220d4dd760bef35bd84209adc3c5829bf5bc9a2c
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
ockPatternKeyguardView.java
asswordUnlockScreen.java
4ae8cb9e73b3b516434c9dc26fcc9697daff851d 29-Aug-2011 Jim Miller <jaggies@google.com> Fix 5044158: Reduce overall memory footprint of lockscreen

On devices that do not require showing lock before unlock, we now only create
just the unlock screen. In addition to simplifying the code, this also
prevents keeping around a potentially unusued lock screen and saves ~1MB
in the system process on devices with only a secure lockscreen.

Change-Id: I533f2692b44a7991d4850cecc874c76166e7ce71
ockPatternKeyguardView.java
6055f3e0d6083e662af1452a09c1331d3eafe829 28-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5217267 - Action bars and menu shortcuts

Don't try to "close" the menu after completing a shortcut action if an
action bar is present.

Change-Id: I54a75543cf9a52e3186ff464924a0b37d0b20b9d
honeWindow.java
816879f2d57a22394816b5a405f9e15e6ac56b3b 29-Aug-2011 Jim Miller <jaggies@google.com> Merge "Fix 5216579: Don't show IME switch option in numeric mode of lockscreen"
b0166bc62f781c3dd921560c0ebafd965603fb16 29-Aug-2011 Jim Miller <jaggies@google.com> Fix 5216579: Don't show IME switch option in numeric mode of lockscreen

Since LockScreen provides its own PIN entry keyboard, we don't need to show
the IME switcher button.

Change-Id: I04528acaee66e5109d631c0c79a3e7c64876e4c5
asswordUnlockScreen.java
d96dbbe3356d6863c13134e545d281a56443f9b1 27-Aug-2011 Svetoslav Ganov <svetoslavganov@google.com> Merge "Lock screen should be kept on while it is touch explored."
295e3c27e4e3762a002382fc1657f5f0070a3410 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5214105 and work on issue #5109947.

Change-Id: Iff2cfec5280a314989d915aa830c16124f921611
5214105: taking a screenshot while "Android is upgrading..." crashes device
5109947: Race condition between retrieving a content provider and updating its oom adj
honeWindowManager.java
2e1db30d18a0ff6640bb0ad61f922ec1fdcf5a3c 25-Aug-2011 Svetoslav Ganov <svetoslavganov@google.com> Lock screen should be kept on while it is touch explored.

1. The lock screen goes off after a certain timeout but a blind
user performing touch exploration of that screen needs more
time to find controls and interact with them. Therfore, we
reset the lock timeout by poking the wake lock on the last
hover event so the lock timeout will start ticking after
the user has stopped interacting with the lock screen.

bug:5133879

Change-Id: I340d2a820e90f6fd63a45d65a5457ce6e570189c
ockPatternKeyguardView.java
29aae6f36e565b8f2a99f2193597b964bb800ee8 19-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4279860: previous UI flashes before showing lock screen...

...(when turning display on after recently turning it off)

Also clean up when we decide to turn the screen on to improve that
transition. There are still problems here with turning it on
before the wallpaper gets dispayed.

Change-Id: I2bc56c12e5ad75a1ce5a0546f43a845bf0823e66
eyguardStatusViewManager.java
eyguardViewMediator.java
honeWindowManager.java
82349c54ce793cb0a7cf3acf1bcc6df1e6413abc 23-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5202226 - Leave menu button visible for no-button phones if
targetSdk < ICS

Compatibility support for existing apps. Apps in the wild that
properly target <=GB phones and HC tablets should be able to expect
that their small-screen UI will continue to work as intended on ICS
devices. Make sure that we show the soft menu button in the nav bar if
the current device was not officially supported in Honeycomb, the app
does not target ICS or newer, and the window does not have an action
bar.

Change-Id: I069c30841d3827a60ef8040831fde6f4c051d0ee
honeWindow.java
67403e096e6f59b7cd18a90d0d3f5c3d17c31407 23-Aug-2011 Mathias Agopian <mathias@google.com> BLUR_BEHIND flag is not supported anymore

Bug: 5185650
Change-Id: I56541d4967b90b150a734be1bbeff696eb6a4fb3
ccountUnlockScreen.java
lobalActions.java
ockPatternKeyguardView.java
imPukUnlockScreen.java
imUnlockScreen.java
661cd52e0e1d527132eb1cae604d3e64da7ec0cb 22-Aug-2011 Dianne Hackborn <hackbod@google.com> Add progress dialog for booting after an upgrade.

This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog. This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
eyguardViewMediator.java
honeWindow.java
honeWindowManager.java
4f36995777a4136e8e63ea51cef2ff61df48790d 20-Aug-2011 Jim Miller <jaggies@google.com> Fix 5026428: Rework unlock attempt logic with active DPM to show better messages

Prior to this change, we didn't have a mechanism to warn the user when
they were approaching the wipe data threshold dictated by active DPMs.

Here's the new flow:

- If a device policy manager is installed and sets the max
password attempts, we start warning the user when they are within
a grace period of hitting the max (currently hard-wired to 5).

- We continue to show a dialog after each continued attempt
until the user reaches 0 remaining attempts.

- We now show a message when they hit 0 so they know why their device is
being reset. The device will reboot and wipe data shortly after this final
dialog is shown.

Also increased the criteria for a pattern attempt from 3 dots to 4 dots
since the user can never set a pattern less than 4 in length. This will
greatly reduce the likelihood of a false wipe on the pattern unlock screens
without compromising security.

Change-Id: I28825ef21dfa2e2b6540e743252c6d50c41e5ad7
ockPatternKeyguardView.java
asswordUnlockScreen.java
6d97842849bed82affbd45251529f85f0958a6b8 20-Aug-2011 Jim Miller <jaggies@google.com> Merge "Fix 5021968: Add input method switcher button to lock screen."
858f8eaac75bcd1b296b41837caf3dae82d1d72a 19-Aug-2011 Jim Miller <jaggies@google.com> Fix 5021968: Add input method switcher button to lock screen.

This adds an IME switcher button to lock screen. It is only
shown if the user has more than one applicable and enabled IME installed.

Change-Id: I5f9503a205c2edb27170825539ba4a6ef25418ed
asswordUnlockScreen.java
c0e3f2453cd8fcb9f587070bc41590b59e9f1e30 19-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5186318: Can't take multiple screenshots

Locking good. Races bad.

Change-Id: I59dd0ec2de47973c38fd646c2f441dd174eba444
honeWindowManager.java
0f4739f7d0d121e9cd07dd556d227f878f7bed0f 19-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5186258 - Incorrect window width is used for custom panel views in the MATCH_PARENT case"
3429ff53d0a7dcf019bf076c7a3eeb877a1a2626 19-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5186258 - Incorrect window width is used for custom panel
views in the MATCH_PARENT case

Change-Id: I11c4a58303fa3c4a9f3540908c6409bacd84a35e
honeWindow.java
cd2bad41afdf7c112b66a436562d080f3b99af1b 18-Aug-2011 Jim Miller <jaggies@google.com> Fix 5149726: Add slight delay to initial lock screen 'ping' animation.

This adds a slight delay before the first ping animation runs. The
idea is to ensure enough time for the display to come on and the user
to notice the animation.

Change-Id: I3d981f5d50efa14683bb08cf6a1430244ce67e55
ockScreen.java
84f4936dee660d7bfbfb7adec3cd831f3bdded4c 18-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5183332 - monkeys are jerks

Change-Id: I15beb7b55ff5809b95dc869a9b0c43c49d1571c6
honeWindow.java
130453c2eb615bb8cc51a26afbd40822a72636c1 18-Aug-2011 Daniel Sandler <dsandler@google.com> Fix DISABLE_EXPAND in the tablet status bar.

The codepath that honored this flag had been routed around
when notification peeks were disabled. (The bug was allowing
notifications to be accessed from a secure lockscreen.)

Bug: 5173959
Change-Id: I35dee343ee4f0288530580054f8bb9f511ebe6af
eyguardViewMediator.java
9f550e91f4d82313135a37a426d563f855a4f6a5 18-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot"
fc8fa638617efb5695a1f89ea75375faebbe2a40 18-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot

We now do the screenshot in a separate process.

Also change the recents panel to not use hardware acceleration
on lower-end devices. And improve how it gets shown to not
load all data up-front which results in a long delay when you have
lots of recents.

Change-Id: Ia309a90f9939e5405758621b3f7114597bd0c02a
honeWindowManager.java
926808dc9bd99e3d663d1612961f587db6161ad5 18-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 533274 - Menu key opens wrong menu in action mode"
012da5a27fc669defdc616d74172caf22540d55e 18-Aug-2011 Adam Powell <adamp@google.com> Fix bug 533274 - Menu key opens wrong menu in action mode

Don't open the options menu in response to the menu key when an action
mode is active.

Change-Id: I89cd251dd14276fc381e20f82725d42ac9264181
honeWindow.java
4fd8d5330e21886864002b6c68ef28827ce45074 17-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5167786 - make sure custom option panels still work.

Change-Id: Ife3ca80f593c141f680fcc5178687112a538474d
honeWindow.java
f35d049b9953fbd1cd24887bac57b5e148c97846 17-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5168889 - action bar not respecting return codes of onCreate/Prepare menu

Change-Id: If28630cb21e74bde7a2474ce060078ea30170b9d
honeWindow.java
bb04b678cdc19119c98d1edfdbb732983e490e66 17-Aug-2011 Erik Gilling <konkers@android.com> Merge "Set rotation to landscape on HDMI instead of 0"
10a058c96b20aad06066f40f7f4fcd6a7b8aa0b7 17-Aug-2011 Erik Gilling <konkers@android.com> Set rotation to landscape on HDMI instead of 0

When the native orientation of the device is not landscape HDMI display
will be wrong.

Change-Id: Ie1d4f6b7247e0a43ff13b5318b644ec7cff293f2
Signed-off-by: Erik Gilling <konkers@android.com>
honeWindowManager.java
e43fca99573291311f90b540d67833011d5fc6be 16-Aug-2011 Adam Powell <adamp@google.com> Offer a masked version of setUiOptions for windows to only modify certain flags.

Change-Id: I36aaff982767f8984c468e8c13f8d5ec8c3c0040
honeWindow.java
62f20ecf492d2b29881bba307c79ff55e68760e6 16-Aug-2011 Dianne Hackborn <hackbod@google.com> Add new am option to profile the launching of an activity.

Change-Id: Ie71a8043eafe41f53a0b3dbb5170276d87acbc9b
honeWindowManager.java
61aa9f3b5649fb9ae4f7eb3027fa26eff5f2bb08 13-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Don't use HW accel drawing in lock screen on lower-end devices."
b375632c9cf7b7be9309ff55f602499d59cfa597 12-Aug-2011 Dianne Hackborn <hackbod@google.com> Don't use HW accel drawing in lock screen on lower-end devices.

This saves about 8MB in the system process because we don't need
to do HW accelerated drawing there anymore.

Change-Id: Ieaf72fe772536e12d10cf129d9338ca9fce6a6d4
eyguardViewManager.java
8b08b88640e1f847d4890399f236b434b08921c0 12-Aug-2011 Daniel Sandler <dsandler@android.com> Properly disable status bar on secure lockscreens.

(Broken implementation appeared in change I967e455.)

Bug: 5158885
Change-Id: I0e22c269ff76d19bcdd5e51e1722e34fdc025dfa
eyguardViewMediator.java
294a6199bd3a6eb7a78d5e2d85bdf706aa886a36 11-Aug-2011 Daniel Sandler <dsandler@google.com> Merge "Subtract the navigation bar from DisplayMetrics."
36412a7e7c4929bdac1221b7ced9e73d0d204691 04-Aug-2011 Daniel Sandler <dsandler@google.com> Subtract the navigation bar from DisplayMetrics.

Its region is now treated like the system bar: inaccessible
to applications and therefore not worth reporting as part of
the display.

(Note that using setSystemUiVisibility you can gain
temporary access to the navigation bar region, unlike the
sempiternal system bar.)

The navigation bar is now considerably less in control of
its own behavior (the window manager assumes it will be a
certain size and in a certain position in landscape and
portrait). This change also fixes the navbar so that it
becomes GONE instead of merely INVISIBLE (allowing
underlying windows to expand in size accordingly).

Bug: 5052456 // the feature
Bug: 5067627 // notification shade falling behind the navbar
Bug: 4959805 // fix third-party apps relying on DisplayMetrics
Change-Id: I60257fc5c858e0edcaba8cfc1f8d58dd99a68258
honeWindowManager.java
74d188c91134a255005c392770ad80d8c44e3c0c 10-Aug-2011 Daniel Sandler <dsandler@android.com> Initial support for notification panel access in keyguard.

The special touch target and fancy animations (see bug
5052059) aren't there yet; we'll probably need a different
flavor of DISABLE_EXPAND to specify that state. But this is
a start and should get the basic feature into testers'
hands.

Bug: 5052059
Change-Id: I967e4557e467d1762d6566643bb401eb84f94e92
eyguardViewMediator.java
97a30017a408192aab623abf7a4edaeb71cae652 10-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5080988 - State change to action views made in
onPrepareOptionsMenu will be lost

Change the ordering of restoring action views. Restoration now comes
after onCreate but before onPrepare in the menu setup rather than
after both. This allows apps to mutate the restored state in
onPrepare.

Change-Id: I822a716415d01112eb517ac093eaf6929f041aad
honeWindow.java
8868f9797c39e5fc7c9612fbb69d53f34f03f6a2 08-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5011824 - New Holo overflow menu for physical menu key devices"
f3447351f7571b5ab3c2a59832d9497bde4f6776 07-Aug-2011 Jim Miller <jaggies@google.com> Fix 5125978: remove lockscreen logspew

Change-Id: Iefa103e867e870dfe587271e0555404589d9e5b3
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewManager.java
eyguardViewMediator.java
dfee59afb3e4cdcde38f6338f9360655de76da92 06-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5011824 - New Holo overflow menu for physical menu key devices

The new Holo-style overflow menu now appears from the edge of the screen
where the device's physical menu key can be found. The policy determining
this lives in getPreferredOptionsPanelGravity() in WindowManagerService.

Change-Id: I8851a2265547156591e82044e50b5cfc58d3eefa
honeWindow.java
adff7fa2f6b4f5e0c594f62b8bb42db9147cb8dd 05-Aug-2011 Jim Miller <jaggies@google.com> Merge "Fix 5117544: Fix crash in KeyguardStatusViewManager when resId==0"
e0c2d8e5d4551f4d31c7129fb2062011b41e8ddd 05-Aug-2011 Jim Miller <jaggies@google.com> Fix 5117544: Fix crash in KeyguardStatusViewManager when resId==0

Change-Id: If870760f7dcafe02084af4c82db7dbb809c31c75
eyguardStatusViewManager.java
f1eaf7f4394fa0dc3d788f3f7816f686f514fca5 05-Aug-2011 Jim Miller <jaggies@google.com> Merge "Fix 5045008: replace "ring/silence" target in LockScreen with camera app"
be8d1cf1ac9fc514fb0cc2e8ef4a85beb0197fa0 05-Aug-2011 Jim Miller <jaggies@google.com> Fix 5045008: replace "ring/silence" target in LockScreen with camera app

This change replaces the ring/silence target with a camera target. It
is disabled and falls back to the old behavior when any device policy
disables the camera.

Updated with latest icons.

Change-Id: I2374eba08f85ff1d1b0bad2859efa30bb166fb60
ockScreen.java
e0018cc79089e8d0093ba8437d6370d414badb00 04-Aug-2011 Daniel Sandler <dsandler@google.com> Merge "Crushing Dreams."
21351d1b440d3665ebedd7736915f5ef88477c42 04-Aug-2011 Dianne Hackborn <hackbod@google.com> Merge "Whoops also need to move notification shade above lock screen."
e8ecde10b33b1d050d2b63b3f4cd20e8bb7c96d4 04-Aug-2011 Dianne Hackborn <hackbod@google.com> Whoops also need to move notification shade above lock screen.

And this requires making a new layer for the volume toast.

Change-Id: I4f272d56c87cf3b6bf886774b0fb02e610ab9164
honeWindowManager.java
dc5facd47631b4f076f98a4dca6ea16c64ae6002 04-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5044737 - Compatibility menus should be as wide as the screen
width

Change-Id: I96f4d6d41fe490845a1e7dd40c9f1a38f01781b7
honeWindow.java
ee91d94e4bc9ae63bd2728dd0a3ba989554af5a0 03-Aug-2011 Daniel Sandler <dsandler@google.com> Crushing Dreams.

Bug: 4988983
Change-Id: I9874497fede77cad6644c21cb93a236c16376fb6
honeWindowManager.java
85de77a1c7d8393dfe349567f818a94e83720040 03-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5098288 - Rethink the suite of new themes"
269248d112e35fe8e9f0d5d11c96dcb2ac1118b0 02-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5098288 - Rethink the suite of new themes

Cut down the list of new themes for ICS. Holo apps now have
Theme.Holo, Theme.Holo.Light, and Theme.Holo.Light.DarkActionBar to
choose from.

Add manifest attribute android:uiOptions to express
splitActionBarWhenNarrow. Other options may move into this later as
well. (DialogWhenLarge?) This attribute is valid on both activity and
application tags; application settings will serve as the default for
activities that do not explicitly set uiOptions.

uiOptions are not currently reflected in the startup window for new
activities.

Change-Id: Iffdc2ce4cc69f79c9bd4e541b7923286e6936c1e
honeWindow.java
6311d0a079702b29984c0d31937345be105e1a5e 03-Aug-2011 Dianne Hackborn <hackbod@google.com> Clear the bitmap from the canvas in a lot of places.

Change-Id: I6b2071ac7b348c473b9bdd1b972d095aebbb4fb3
conUtilities.java
6b05d58018c2806459c121e507c005639b74aee9 18-Jul-2011 Jim Miller <jaggies@google.com> Fix 5044158: Initial pass: add music transport controls to LockScreen

Refactored all lockscreen notifications to go through new KeyguardStatusViewManager.
This is required to intercept messages originally intended for separate TextViews that
are now shown in a single view when showing the transport control view.

Refactor EmergencyCallButton to be handled by common code in KeyguardStatusViewManager.

First pass at LockScreenWidgetCallback for LockScreen "widgets" to send events back to LockScreen.

First pass at LockScreenWidgetInterface, which will be required of Views that want to be rendered on
LockScreen.

Added place-holder TransportControlView until the real one is ready and integrated it into GridLayouts.

Ensured emergencyCallButton is in all views, even if not shown since some devices may lock the user
out if certain criteria isn't met (missing SIM, etc).

Refactored layouts and removed keyguard_screen_status*.xml since layouts are all over the map and
no longer make good use of a shared layout for this.

Minor tweak to MultiWaveView to fix layout issues when placed in GridLayout where the measurement
was being calculated improperly.

Moved EmergencyCallButton to bottom of view where we can.

Removed unused Alpha keyboards from tablet password unlock layouts.

Removed unused views (status2, emergencyCallText screenLocked) from layouts and made common views have common names.

Fixed bug with MultiWave layout in landscape where array was shown in wrong orientation.

Separated clock colors for phones/tablets since they're now different.

Converted remaining phone layouts to use GridLayout.

Start routing audiomanager events to lockscreen views.

Move emergency call button handling to KeyguardStatusViewManager.

Change-Id: I480b0346cfe19aad316fea0c0aaabf8862693636
ccountUnlockScreen.java
eyguardStatusViewManager.java
eyguardUpdateMonitor.java
eyguardViewManager.java
ockScreen.java
asswordUnlockScreen.java
atternUnlockScreen.java
imPukUnlockScreen.java
imUnlockScreen.java
tatusView.java
ccdd4ee44f8cfbb45b2989cca833895fcc4c4225 28-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5087980 - MenuItem#expandActionView should work from within
onCreateOptionsMenu

Initialize menu presenters early enough to respond to expanding an
action view within onCreateOptionsMenu.

Have SearchView show the IME as an async post to handle attempts to
show it while the UI is still in initial setup.

Change-Id: I77f3a94ed4397737edb5a7a15bf54993b6723f5e
honeWindow.java
89b09da7b3b1e69264d9ec710c66eb2f891b313e 27-Jul-2011 Adam Powell <adamp@google.com> Bug 5076788 - Optimize the building and invalidation of menus

Fix cases that weren't batching menu presenter changes correctly.

Have FragmentManager invalidate the options menu less often.

Change-Id: Ia66fcd09ada8b0a084ad6b08d4340a8fa0c8fc5d
honeWindow.java
8a722f24478cf8de130fc0d37cd4bbc966eafb62 25-Jul-2011 Winson Chung <winsonc@google.com> Merge "Preventing screenshots when waking from sleep."
d859fa399133da32705415e138c897f263ae99ad 22-Jul-2011 Winson Chung <winsonc@google.com> Preventing screenshots when waking from sleep.

- Fixing crash in SystemUI when trying to access external storage while it is not mounted

Change-Id: I3d9a05c155b83a2cc39915caebad4b7016025d09
honeWindowManager.java
0bd1d0a15294345bf88b20df28466907f982cec7 23-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5060033 - No text-editing toolbar when in a dialog

Fix a bug that caused standalone action mode bars to not appear
properly or account for system insets such as the status bar.

Add public API to View to toggle the fitsSystemWindows attribute.

Change-Id: I5d7669425b930c5d23f9df26a45f544b706e8242
honeWindow.java
44b578aa4aadb964f85acedda6e691abf36700b0 22-Jul-2011 Daniel Sandler <dsandler@android.com> Merge "Subtract the navbar's bounds from fullscreen windows."
78ede2c898949b7dbb5f27b8b263f34e842d7d01 22-Jul-2011 Dianne Hackborn <hackbod@google.com> Merge "Move status bar above keyguard."
71baf1d82db71de5b0f123752e8724dd5fec528d 22-Jul-2011 Dianne Hackborn <hackbod@google.com> Move status bar above keyguard.

This is to make it possible to pull down the notification shade
while in the keyguard.

I tried a quick test and I don't see anything horrendously broken,
but who knows what kind of subtle layering issues may result.

Change-Id: I70107a18588fd3e61dd17dec407911c2f6c9e585
honeWindowManager.java
038f1c80af06da55056120e121d43e3ee89ec726 21-Jul-2011 Adam Powell <adamp@google.com> Bug 5061529 - Save/restore action view state for menu items across
invalidations.

This includes expand/collapse state.

Add CollapsibleActionView interface. Views can implement this to have
special behavior when they are presented as an expanding/collapsing
action view. This lets SearchView and others take care of fiddly
behavior (focus stealing; opening the IME) automatically without apps
needing to implement this themselves.

Change-Id: Ibbd1eb5fcf3e3a862419e9344ad50f896bd05e36
honeWindow.java
6179ea3196e9306d3f14361fe9ef14191b1edba6 28-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding accessibility support to the Status Bar.

1. Added content description to pretty much all animals
in the zoo including buttons in the navigation bar,
notifications and status icons for battery, signal,
data, etc.

2. Rectored to avoid ovelaying views since they block
touch exploratino. In general overlaying views
cause trouble for touch exploration and accessibility
in general.

3. Avoid sending accessibility events in case the user is
touching outside of the StatauBAr panels to avoid
confusion.

4. Added records to accessibility events in the places where
this would help the presentation. So the event comes from
a given "leaf" view and its predecessor is adding a record
to the event for itself to provide more cotext. It is up
to the accessiiblity service to choose how to present that.

bug:4686943

Change-Id: I1c1bd123d828fb10911bca92130e9a05c1f020b3
eyguardViewMediator.java
8e8b415bbdd2f30b1fcfdf799e70f076d4de81b0 21-Jul-2011 Daniel Sandler <dsandler@android.com> Subtract the navbar's bounds from fullscreen windows.

Bug: 4959805
Change-Id: I56743429077ab0cdefcc0062f45aa0bb1c7e60ce
honeWindowManager.java
b80d332e7421e0b8cff12569c2f1b450d769e782 16-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5037642 - Refine back button behavior for action bar modes.

Action modes for the action bar used to aggressively hijack the back
button before the view hierarchy got a chance to respond to it. Loosen
this. New ordering is: view hierarchy => window feature-level modes
(action bar modes e.g. CAB/search) => Activity/window callback
behavior.

Change-Id: Iac1b22997713be968a94f77f9fa6cebaf6f923f0
honeWindow.java
0a3deee6974f2d9fec1371ed6fdd46dc5b2a75f6 15-Jul-2011 Adam Powell <adamp@google.com> Fix regression with legacy expanded menus

Change-Id: I28a21dc72d11c6729370e0acd90b06ed98baf098
honeWindow.java
fbaa1ea13cf4ebf95f6b4228219d9385781127e5 15-Jul-2011 Jim Miller <jaggies@google.com> Merge "Fix 5027468: prevent screen from turning back on while lockscreen in password mode."
dcb9376913a954266d07733e5e33bd846230cff8 15-Jul-2011 Jim Miller <jaggies@google.com> Fix 5027468: prevent screen from turning back on while lockscreen in password mode.

This fixes a bug where LockScreen would turn back on due to the sequence of events
that ultimately cause PasswordUnlockScreen.onResume() to be called when the device powers off.

This is required because the lockscreen rebuilds itself before the screen turns off
so that it's ready to show immediately when the device comes back on.

Change-Id: I86a61cc3b1d77cf7f2a9a198051ea2bbe90607b2
asswordUnlockScreen.java
5f81f1bcd9cdb15411bd4bb036b75ee6e822b8bf 14-Jul-2011 John Wang <johnwang@google.com> am 74c425d3: am 54b2a326: Merge "Show SIM blocked after 10 time puk wrong entries." into honeycomb-LTE

* commit '74c425d3e95ed0f47b1a5d447007886d01d7ff56':
Show SIM blocked after 10 time puk wrong entries.
74c425d3e95ed0f47b1a5d447007886d01d7ff56 14-Jul-2011 John Wang <johnwang@google.com> am 54b2a326: Merge "Show SIM blocked after 10 time puk wrong entries." into honeycomb-LTE

* commit '54b2a3262738cdb3d0df747d8719e9a3cac33dfc':
Show SIM blocked after 10 time puk wrong entries.
98c3fcc7afe34966c3608ec9283794a177ed902b 08-Jul-2011 John Wang <johnwang@google.com> Show SIM blocked after 10 time puk wrong entries.

After user enters 10 time wrong puk in puk unlock screen,
device need show the SIM permanently disabled message
is in lock screen.

bug:4905509
Change-Id: I06242834972b3f403cfe99a2edd8bae47d7ed474
eyguardViewMediator.java
11ed1d6cae9214335c92ac38498a4e6c7d1c8324 12-Jul-2011 Adam Powell <adamp@google.com> Fix bugs around restoring submenu state after activity teardown/restore

Change-Id: I6cb5b3cad39b141dff84b8e0ca62f8f0a76a03b1
honeWindow.java
8ecfac1d8c2988c3d5031e78f9edefff6e663fd1 09-Jul-2011 Jim Miller <jaggies@google.com> Fix 4942542, 4590542: Password unlock fixes

Fixes issue where hint text was inappropriately shown on password unlock screen.
This was caused by TextView.setKeyListener() clearing the inputType flags. The
workaround is to change the order of these calls. TextView.setKeyListener()
should probably not be clearing existing inputType flags.

Fixes wake issue caused by IME events not poking the wakelock. It now correctly pokes
the wakelock whenever the password text field changes.

Change-Id: I746b21117492c4a176f6627e7d33150e6104495e
asswordUnlockScreen.java
40030c8d4d6de3154d0c38da14cf2c1bbd0f7659 01-Jul-2011 Winson Chung <winsonc@google.com> Merge "Binding Pwr+VolDown to take screenshot."
9112ec3039dda4186c6f957981237c0691db2269 27-Jun-2011 Winson Chung <winsonc@google.com> Binding Pwr+VolDown to take screenshot.

Change-Id: I77b018538f6bc870f59df0b5336ba95f4582beec
honeWindowManager.java
1c8d207201150c29ac92c424e1320c715a64b5bc 30-Jun-2011 Jim Miller <jaggies@google.com> Fix 4691563: Polish MultiWaveView experience in LockScreen and InCall screen
Better activation experience:
- Hold off on switching out targets until current animation has finished.
- Hide unselected targets when a target is selected.
Code simplification:
- Use explicit callback objects to handle animation updates instead of having MWV implement the interface.
- More compact chevron-loading code.
- Don't use animations for properties that need to change immediately.

Other minor timing tweaks.

Change-Id: I328533e8ab7b4c69c7ba51c8c55002765dcbbd46
ockScreen.java
2e4aa1888461426072f27217b8f9eb06f345bb9d 28-Jun-2011 Jim Miller <jaggies@google.com> Fix 4691563: Don't show lock before unlock screen

- Rename config_enableSlidingTabFirst to config_enableLockBeforeUnlockScreen and
default to 'false' on all devices.
- Use new larger handle asset.

Change-Id: I2537158b67642eb3f4c4a22a0bc388bf3022d408
ockPatternKeyguardView.java
f782ded942fc2d1caed1be0c1784a76471bcae79 25-Jun-2011 Jim Miller <jaggies@google.com> Merge "LockScreen layout, button style, and owner info fixes - enable OwnerInfo to appear in status1 if dedicated view not present. - force all status lines to be singleline and marquee. - fix justification in landscape layouts. - use buttonBarStyle for buttons on all LockScreens. - reduce the size of the clock to fit in landscape. - no longer show "Draw a pattern to unlock" help message in LockPatternView."
7377cd0ab4e4db23d6ef99c2c73e3e1d5c9312fa 25-Jun-2011 Jim Miller <jaggies@google.com> LockScreen layout, button style, and owner info fixes
- enable OwnerInfo to appear in status1 if dedicated view not present.
- force all status lines to be singleline and marquee.
- fix justification in landscape layouts.
- use buttonBarStyle for buttons on all LockScreens.
- reduce the size of the clock to fit in landscape.
- no longer show "Draw a pattern to unlock" help message in LockPatternView.

Change-Id: I1ff51550e2180f9d912c8f710ad5e2fd2424d373
atternUnlockScreen.java
tatusView.java
0b2be42a07fcb66ca0a5f70624c8871245b4f6fd 23-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4595971 - Menu not prepared to be prepared

The menu key gets the menu ready on key down and shows it on key
up. Ensure on key up that we still have a valid menu before attempting
to show it.

Change-Id: I24e67fa0cdb14cb5471c087a5e9f55ec0b2edf9f
honeWindow.java
08a975ef86200a73db51bfbcca6bea8ad2a63cbd 22-Jun-2011 Jim Miller <jaggies@google.com> Update LockScreen layouts to latest UX spec.

- better placement and consistent handling of emergency button.
- use new GridLayout for landscape modes.
- add dimensionable parameters for time and status line fonts.
- fix assets and emergencyCallButton resource references when building for tablets.

Change-Id: I5f4c9cfb6a88ce3ccd8ab4fdafede8e6e59f9407
ccountUnlockScreen.java
asswordUnlockScreen.java
imPukUnlockScreen.java
imUnlockScreen.java
a3e3c533ee4af6d9dba43b70ac421ba880992961 22-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4807086 - Options menu panel too narrow in landscape

Now that landscape on phones uses the config_prefDialogWidth setting
to restrict the default size of dialog windows, the options menu panel
was affected.

Restrict the ratcheting preferred width feature based on the width
LayoutParam only, and respect the LayoutParams width provided by panel
windows.

Change-Id: Idc62f41910f6f22dc50cab978c5642bb0a8dbdaf
honeWindow.java
9c8e735817b8ff57070a035d2463f22eea50b8d4 18-Jun-2011 Jim Miller <jaggies@google.com> Merge "Update pattern unlock and assets to match new UX design spec."
0d244193bed0c995e2beaff5e217200457b28b9d 17-Jun-2011 Jim Miller <jaggies@google.com> Update pattern unlock and assets to match new UX design spec.

Fix bug with LockPatternView measurement.
Clean up forgotPassword/emergencyCall button code.
Lots of layout tweaks. Now uses new GridLayout for many of them.
New assets.

Updated after review.

Change-Id: I52d4ce65c6b6c644ac60eb55bb8eaff8bfeb1071
atternUnlockScreen.java
1766974b02a1accf6b0b553e3e7239b7c8416199 16-Jun-2011 John Wang <johnwang@google.com> am 03cbb58e: am ff42c04d: Merge "Support SIM permanently disabled state." into honeycomb-LTE

* commit '03cbb58e2418dc22ae18a8648404382da4ee46e8':
Support SIM permanently disabled state.
03cbb58e2418dc22ae18a8648404382da4ee46e8 16-Jun-2011 John Wang <johnwang@google.com> am ff42c04d: Merge "Support SIM permanently disabled state." into honeycomb-LTE

* commit 'ff42c04d15e000f6295e796e154cc60c54aa078b':
Support SIM permanently disabled state.
ff42c04d15e000f6295e796e154cc60c54aa078b 16-Jun-2011 John Wang <johnwang@google.com> Merge "Support SIM permanently disabled state." into honeycomb-LTE
3b1fc47d004f6b29af8f40d181baa3460b1e3b15 13-Jun-2011 Michael Jurka <mikejurka@google.com> Port recent apps from tablet to phone

- wire up to long press on home
- remove unused recents activity
- remove duplicate recents resources in -large directories (using -sw600dp instead)
- fix issue with zoom/scale translation when recents was brought up

Change-Id: I45538ccaff49b46ac3659c4828f9e2b0cd075241
honeWindowManager.java
b0b24b3df50988d23f571b83d829fecc986ec497 11-Jun-2011 John Wang <johnwang@google.com> Support SIM permanently disabled state.

SIM card can get permanently disabled due to too many
PUK retries. The PERM_BLOCKED pin state of SIM application
represents this state.

This change decodes permanent disabled state and broadcasts it
via ICC_ABSENT intent with PERM_DISABLED reason. It also update
the lockscreen to show the prompt message.

bug:4392059
Change-Id: I5e60dd65f48f42aa2e54db4cdebf803d6e666b99
eyguardUpdateMonitor.java
eyguardViewMediator.java
ockPatternKeyguardView.java
ockPatternKeyguardViewProperties.java
ockScreen.java
3fe9cc5ea6a9e1acd52144c8ae6cb0492dba34ba 15-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of e95c07bd to master

Change-Id: I9af0c08a9f1c1f68661efe051a66835e850b76f6
e95c07bd8a4f658e035ba0ed2079357961af011b 15-Jun-2011 Dianne Hackborn <hackbod@google.com> am 7c7f8e18: am 0a8a2324: Merge "Fix issue #4603422: Compatibility mode button doesn\'t always update" into honeycomb-mr2

* commit '7c7f8e18dee8b582ec8e30a1412903ceec2ef5f5':
Fix issue #4603422: Compatibility mode button doesn't always update
7c7f8e18dee8b582ec8e30a1412903ceec2ef5f5 15-Jun-2011 Dianne Hackborn <hackbod@google.com> am 0a8a2324: Merge "Fix issue #4603422: Compatibility mode button doesn\'t always update" into honeycomb-mr2

* commit '0a8a2324239d7604e2a68349585aa67b59b25f4c':
Fix issue #4603422: Compatibility mode button doesn't always update
7d04932ef5c001769ccef244f551b75773f1666b 15-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4603422: Compatibility mode button doesn't always update

We now tell the system bar every time the top activity has changed for
it to re-evaluate its UI state.

Also fix issue #: 4607102 Low rider notifications. It turns out this
was due to the change in the dialog asset; the notification UI was relying
on this having a lot of padding to make it sit above the status bar.
Now we have an explicitly mechanism to set how much it overlaps (or doesn't)
the status bar.

Change-Id: Iab5ebd86e620ff4fc4cd77206e18af962ec2830e
honeWindowManager.java
7c1650d180e536ce6b5f2fa7423abbbe7dcb08cd 14-Jun-2011 John Wang <johnwang@google.com> am aabe5f46: am 49572479: Update sim missing message in lock screen.

* commit 'aabe5f46846a45163be874dca2d19910ce38c232':
Update sim missing message in lock screen.
aabe5f46846a45163be874dca2d19910ce38c232 14-Jun-2011 John Wang <johnwang@google.com> am 49572479: Update sim missing message in lock screen.

* commit '49572479a9cb479f2b323f011c1a9f8142ec1a46':
Update sim missing message in lock screen.
70832a3d77d90f09fb7ba27612c9cbec6a92abe6 14-Jun-2011 Jim Miller <jaggies@google.com> Some tuning for MultiWaveView animations and assets:
- allow individual chevrons to be specified for (top, bottom, left, right).
- move ring to pressed position (currently w/o animation)
- add top/bottom chevron handling and refactor code accordingly.
- constrain drag handle to the ring

Change-Id: I859b2d03d8f0397c68b87a8ee15df20d55c9552c
ockScreen.java
49572479a9cb479f2b323f011c1a9f8142ec1a46 14-Jun-2011 John Wang <johnwang@google.com> Update sim missing message in lock screen.

Update SIM missing message to include SIM corrupted situation.

bug:4392059
Change-Id: Icf2f8d801a2e2761a309442209118a6a71a4c633
ockScreen.java
b505074e8273887fbcd1e933738a42e770085fb8 09-Jun-2011 Jim Miller <jaggies@google.com> Add new MultiWaveView widget and integrate it into LockScreen

This adds a new multi-target widget to the framework and integrates
it into LockScreen.

Now with updated assets.

Change-Id: Ib41595b9e80a7be6d647f44c803a77f9e5bfeca9
ockScreen.java
924b7c74960c88660d0d4bae84433c1592a81834 10-Jun-2011 John Wang <johnwang@google.com> am 4d042048: am 08a8f3f9: Merge "Set emergency call text visibility." into honeycomb-LTE

* commit '4d042048243f38d3062ab4719ac26c9154380115':
Set emergency call text visibility.
f741e679c496f7345304a6543f01d7048e31d1a7 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of e2aa0490 to master

Change-Id: Id0448a1598fc93aca0652b29253e02586e35a067
4d042048243f38d3062ab4719ac26c9154380115 09-Jun-2011 John Wang <johnwang@google.com> am 08a8f3f9: Merge "Set emergency call text visibility." into honeycomb-LTE

* commit '08a8f3f9dc035bc462061ae87090a8da59c6713a':
Set emergency call text visibility.
08a8f3f9dc035bc462061ae87090a8da59c6713a 09-Jun-2011 John Wang <johnwang@google.com> Merge "Set emergency call text visibility." into honeycomb-LTE
e2aa04908cfdf65ef309f1491f31a0c8846977ff 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am a1396dfe: am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2

* commit 'a1396dfe7ad6ec6953f544be42d69d7804ab0fd4':
Work on issue #4518815: Compatibility mode introduces compatibility regression...
a1396dfe7ad6ec6953f544be42d69d7804ab0fd4 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2

* commit '021408910af170268cb486910d4dd5a7d838c2bb':
Work on issue #4518815: Compatibility mode introduces compatibility regression...
5328bf0b2e62c2719daf9154edbe81fd819974a6 09-Jun-2011 John Wang <johnwang@google.com> Set emergency call text visibility.

Set emergency call text visibility based on
emergencyCallCapable config for sim missing
and networklock screens.

bug:4392059
Change-Id: Ibfe92405ada7b452927940295c090d88ecd79519
ockScreen.java
5fd2169eabd77e6bfafaf456e58051a3bafb2bca 07-Jun-2011 Dianne Hackborn <hackbod@google.com> Work on issue #4518815: Compatibility mode introduces compatibility regression...

...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components. This addresses everything
I could find.

Unfortunately it does *not* fix this particular app. I am starting to think this
is just an issue in the app. This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
honeWindowManager.java
de13001f765e30bc29a3a74bfa751cc42e426a93 08-Jun-2011 John Wang <johnwang@google.com> am 1f866589: am 71030e53: Merge "Add SIM PUK unlockscreen." into honeycomb-LTE

* commit '1f8665895f71904b9d757854277cb637841356c3':
Add SIM PUK unlockscreen.
1f8665895f71904b9d757854277cb637841356c3 07-Jun-2011 John Wang <johnwang@google.com> am 71030e53: Merge "Add SIM PUK unlockscreen." into honeycomb-LTE

* commit '71030e536522449f34dc584fda94f34e7be6ee19':
Add SIM PUK unlockscreen.
0f7b3f8ba5c2f0b8f96e072bd866c9fb374ebdeb 31-May-2011 John Wang <johnwang@google.com> Add SIM PUK unlockscreen.

Puk unlockscreen is implemented as SimPukUnlockScreen.

Added config_enable_puk_unlock_screen to control the display of puk unlock screen.

Using config_voice_capable to control the display of emergency call button.

bug:4384956

Change-Id: I2b8256b4ecdf3d4f1e85c4e868fac1810cfd29be
eyguardUpdateMonitor.java
ockPatternKeyguardView.java
ockScreen.java
imPukUnlockScreen.java
imUnlockScreen.java
678d344bcb5c7981b5033cdf8070c58783ded01b 03-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of b9e2f68b to master

Change-Id: Icb68aee4c68170f0e7cd7854dbaa61656a349142
33f27e2c83683698ed39863a52abd55aa66f1217 03-Jun-2011 Jim Miller <jaggies@google.com> Merge "Fix 4368649: Fix visible password issue on password unlock screen"
5a1ff22f20cf825c0f95509aa187a823ca0075a2 03-Jun-2011 Jim Miller <jaggies@google.com> Fix 4368649: Fix visible password issue on password unlock screen

Change-Id: I9ec30898e27d49d82d11dfcf3abb4273e4277316
asswordUnlockScreen.java
50469db07167e3a837e10f215baa4eacb1319604 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 7322e557: am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit '7322e557cfe42da42779625d69ced2db74a9df90':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
58f48edd21aa6f50886e68ef23d801027e96ec01 03-Jun-2011 Daniel Sandler <dsandler@google.com> am f5699b82: am b4b44bd3: DO NOT MERGE. Restore status bar on phones.

* commit 'f5699b82adef34b0b6bd88554c6a017f8662985e':
DO NOT MERGE. Restore status bar on phones.
b4b44bd32983e154f2ad61b99809ed6cedd46d47 03-Jun-2011 Daniel Sandler <dsandler@google.com> DO NOT MERGE. Restore status bar on phones.

Bug: 4529373
Change-Id: Ie08522dbf762e80ac077ce403ff83312cec907f7
honeWindowManager.java
631cb3d591c3f28ac989375d9ae689790a31236d 03-Jun-2011 Daniel Sandler <dsandler@google.com> Restore status bar on phones.

Bug: 4529373
Change-Id: I669774e734cb5f40c8944ffb5161c3b4bf7b2996
honeWindowManager.java
0d780ae8ace99458a352445a7999c4a70a89a6ab 03-Jun-2011 Jim Miller <jaggies@google.com> Merge "Fix 4518876: Disable lock screen rotation on phones."
06cc78a4e3126703cae88dbc969974267b9f2c94 03-Jun-2011 Jim Miller <jaggies@google.com> Fix 4518876: Disable lock screen rotation on phones.

This reverts commit e28016c28620f070a6737c7fd536437e7b116f84
that enabled lockscreen rotation always and works around a
race condition caused by KeyguardViewManager not following
onConfigurationChanged events. It now checks
R.bool.config_enableLockScreenRotation each time it is shown.

There's still some work to be done, but this change makes the
phone usable. KeyguardViewManager needs to track config
changes and update the layout parameters to be correct.

Change-Id: I7c9f2402c960d5bd72a4b73118a66e27a05777cf
eyguardViewManager.java
ed60f81940c5f2125518c7c31ad4f61b8a9baf3e 02-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 76450622 to master

Change-Id: I26ccd8f264e65f100d894f43cf597a781552db83
8d02deabac62c4a68a335a7b3141795466362b89 01-Jun-2011 Adam Powell <adamp@google.com> Implement bug 4500971 - Collapsable action views

Action views may now be flagged as 'collapsable'. This means that the
action menu will always show them in the collapsed state by
default. When selected, the action view will "take over" the
navigation/view side of an action bar until dismissed via the home/up
button.

This feature allows for more long-term exclusive modes akin to
ActionModes but less intrusive. The action menu itself remains
unaffected. Collapsable action views are ideal for things such as
search or categories of tool palettes.

Change-Id: Ibafce5631befbfe67c5d834c2e2617d3d7f6da7a
honeWindow.java
5cfee3fabb3482c6a6df1c8b6f21e843cf214527 31-May-2011 Brian Carlstrom <bdc@google.com> Integrating keystore with keyguard (Part 1 of 4)

Summary:

frameworks/base
keystore rewrite
keyguard integration with keystore on keyguard entry or keyguard change
KeyStore API simplification

packages/apps/Settings
Removed com.android.credentials.SET_PASSWORD intent support
Added keyguard requirement for keystore use

packages/apps/CertInstaller
Tracking KeyStore API changes
Fix for NPE in CertInstaller when certificate lacks basic constraints

packages/apps/KeyChain
Tracking KeyStore API changes

Details:

frameworks/base

Move keystore from C to C++ while rewriting password
implementation. Removed global variables. Added many comments.

cmds/keystore/Android.mk
cmds/keystore/keystore.h
cmds/keystore/keystore.c => cmds/keystore/keystore.cpp
cmds/keystore/keystore_cli.c => cmds/keystore/keystore_cli.cpp

Changed saveLockPattern and saveLockPassword to notify the keystore
on changes so that the keystore master key can be reencrypted when
the keyguard changes.

core/java/com/android/internal/widget/LockPatternUtils.java

Changed unlock screens to pass values for keystore unlock or initialization

policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java
policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java

KeyStore API changes
- renamed test() to state(), which now return a State enum
- made APIs with byte[] key arguments private
- added new KeyStore.isEmpty used to determine if a keyguard is required

keystore/java/android/security/KeyStore.java

In addition to tracking KeyStore API changes, added new testIsEmpty
and improved some existing tests to validate expect values.

keystore/tests/src/android/security/KeyStoreTest.java

packages/apps/Settings

Removing com.android.credentials.SET_PASSWORD intent with the
removal of the ability to set an explicit keystore password now
that the keyguard value is used. Changed to ensure keyguard is
enabled for keystore install or unlock. Cleaned up interwoven
dialog handing into discrete dialog helper classes.

AndroidManifest.xml
src/com/android/settings/CredentialStorage.java

Remove layout for entering new password

res/layout/credentials_dialog.xml

Remove enable credentials checkbox

res/xml/security_settings_misc.xml
src/com/android/settings/SecuritySettings.java

Added ability to specify minimum quality key to ChooseLockGeneric
Activity. Used by CredentialStorage, but could also be used by
CryptKeeperSettings. Changed ChooseLockGeneric to understand
minimum quality for keystore in addition to DPM and device
encryption.

src/com/android/settings/ChooseLockGeneric.java

Changed to use getActivePasswordQuality from
getKeyguardStoredPasswordQuality based on experience in
CredentialStorage. Removed bogus class javadoc.

src/com/android/settings/CryptKeeperSettings.java

Tracking KeyStore API changes

src/com/android/settings/vpn/VpnSettings.java
src/com/android/settings/wifi/WifiSettings.java

Removing now unused string resources

res/values-af/strings.xml
res/values-am/strings.xml
res/values-ar/strings.xml
res/values-bg/strings.xml
res/values-ca/strings.xml
res/values-cs/strings.xml
res/values-da/strings.xml
res/values-de/strings.xml
res/values-el/strings.xml
res/values-en-rGB/strings.xml
res/values-es-rUS/strings.xml
res/values-es/strings.xml
res/values-fa/strings.xml
res/values-fi/strings.xml
res/values-fr/strings.xml
res/values-hr/strings.xml
res/values-hu/strings.xml
res/values-in/strings.xml
res/values-it/strings.xml
res/values-iw/strings.xml
res/values-ja/strings.xml
res/values-ko/strings.xml
res/values-lt/strings.xml
res/values-lv/strings.xml
res/values-ms/strings.xml
res/values-nb/strings.xml
res/values-nl/strings.xml
res/values-pl/strings.xml
res/values-pt-rPT/strings.xml
res/values-pt/strings.xml
res/values-rm/strings.xml
res/values-ro/strings.xml
res/values-ru/strings.xml
res/values-sk/strings.xml
res/values-sl/strings.xml
res/values-sr/strings.xml
res/values-sv/strings.xml
res/values-sw/strings.xml
res/values-th/strings.xml
res/values-tl/strings.xml
res/values-tr/strings.xml
res/values-uk/strings.xml
res/values-vi/strings.xml
res/values-zh-rCN/strings.xml
res/values-zh-rTW/strings.xml
res/values-zu/strings.xml
res/values/strings.xml

packages/apps/CertInstaller

Tracking KeyStore API changes
src/com/android/certinstaller/CertInstaller.java

Fix for NPE in CertInstaller when certificate lacks basic constraints
src/com/android/certinstaller/CredentialHelper.java

packages/apps/KeyChain

Tracking KeyStore API changes
src/com/android/keychain/KeyChainActivity.java
src/com/android/keychain/KeyChainService.java
support/src/com/android/keychain/tests/support/IKeyChainServiceTestSupport.aidl
support/src/com/android/keychain/tests/support/KeyChainServiceTestSupport.java
tests/src/com/android/keychain/tests/KeyChainServiceTest.java

Change-Id: Ic141fb5d4b43d12fe62cb1e29c7cbd891b4be35d
asswordUnlockScreen.java
atternUnlockScreen.java
b9e2f68b2865307db25fa7295b7ba3bd51c7521a 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am 13e2bef4: am 80cf4e79: Merge "Fix issue #4500511: Holo effect background doesn\'t reach top of screen anymore" into honeycomb-mr2

* commit '13e2bef4f67c5bc5ce93aade1431ae3332d361f0':
Fix issue #4500511: Holo effect background doesn't reach top of screen anymore
a239c84525795ffc1828b545aa8069af88d26a71 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4500511: Holo effect background doesn't reach top of screen anymore

Change-Id: Iebefe924e71206f3e6388eaee64f7b1416bc3239
honeWindowManager.java
7322e557cfe42da42779625d69ced2db74a9df90 01-Jun-2011 Dianne Hackborn <hackbod@google.com> am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit 'a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
2f0b17573d4324832f7a20402a3d2b5920bc4866 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4502672: Wrong xml resources used for homescreen widgets.

There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config. For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
honeWindowManager.java
76450622f08b1d0d09df7f1ad8e52afe01090770 26-May-2011 Dianne Hackborn <hackbod@google.com> am d5238cc1: am 7a09f72b: Merge "Rework how we decide whether to use system or status bar." into honeycomb-mr2

* commit 'd5238cc1ab8366389b2aada228f2f2e5cbb3244e':
Rework how we decide whether to use system or status bar.
81e56d535c853d73ff537357da5b935f51cb779d 26-May-2011 Dianne Hackborn <hackbod@google.com> Rework how we decide whether to use system or status bar.

The PhoneWindowManager is now responsible for determing this,
since it needs to do this before we can generate the configuration
since we need to take into account the system bar size we will use.

Also the Display should now report the screen height without
including the system bar.

Change-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757
honeWindowManager.java
8c1132e3ceed8e1a8c696e2afe0e6fe456ccd7ef 26-May-2011 Daniel Sandler <dsandler@android.com> Merge "Framework support for Android Dreams."
da97f16c5d62d96c1b774a73da23bdc3e3e7b794 25-May-2011 Jeff Brown <jeffbrown@google.com> am c5c7e047: am d0132e8e: Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)

* commit 'c5c7e047d1a1c56ba55bdfea9391d1907f355dbc':
Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
b9b9b3e271ce33f71797d6795bcccb5d0bcd6292 25-May-2011 Jeff Brown <jeffbrown@google.com> am 6f37a7f9: am eea0aa25: Support primitive ALT-TAB style navigation using Recent Apps. (DO NOT MERGE)

* commit '6f37a7f9b6f83fbcc919dc452e72838623e8bb5d':
Support primitive ALT-TAB style navigation using Recent Apps. (DO NOT MERGE)
14c45e2ef99bf87848a379879dbf8f4090799307 25-May-2011 Jeff Brown <jeffbrown@google.com> am 16f1d2ca: am 36001a9f: Merge "Support chorded fallback keys. (DO NOT MERGE)" into honeycomb-mr2

* commit '16f1d2ca00a2c793e510edba5266a6d0998efbfc':
Support chorded fallback keys. (DO NOT MERGE)
d0132e8e187ebf69bf4d2d6d0ef0027ff3f7a727 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)

Alt-TAB should have different semantics from the APP_SWITCH key
or long-press on HOME. Accordingly, remove the fallback action
for Alt-TAB and initiate the task switching behavior directly
in the policy.

Modified RecentApplicationsDialog to be more precise about the
initial modifiers that it considers to be holding the dialog.

The dialog is now dismissed by a second press on the APP_SWITCH
key or by a second long press on HOME.

Change-Id: I07e72dc4e1f3cd8edaf357c1d49e79f60d6d1604
honeWindowManager.java
ecentApplicationsDialog.java
eea0aa25870d49e381567f09abbfb41de52a5a32 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Support primitive ALT-TAB style navigation using Recent Apps. (DO NOT MERGE)

Change-Id: I0296a09519ba9417c208d197ebd996b586ee3daa
honeWindowManager.java
ecentApplicationsDialog.java
524ee64b91bc123e1ccfc881a0f1a1e84722251d 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Support chorded fallback keys. (DO NOT MERGE)

Also be more careful about canceling fallback keys during focus
transitions, when the application handles the key, or when the
policy decides to do something different.

Fixed a crash due to JNI CallObjectMethod returning an undefined
value (not null) when an exception is thrown.

Fixed a crash due to the policy trying to create a Dialog for
recent apps on the dispatcher thread. It should happen on the
policy's Looper instead.

Bug: 4187302
Change-Id: I043f82913830f411b3bb4018d6422467b6ca454f
honeWindowManager.java
0601eb7953cbf77d92826bef3ca37e208d922de7 13-Apr-2011 Daniel Sandler <dsandler@android.com> Framework support for Android Dreams.

A Dream is an activity that is launched by the window
manager after a specified idle time. You might think of this
as a "screen saver", but with the same capacity for
interactivity as any other application.

The window manager maintains a timer (like the screen lock
timer) that is reset on userActivity; the timer is suspended
during wakelocks and when the screen is off.

When the timer elapses, the user's preferred dream module is
launched (by reading Settings.Secure.DREAM_COMPONENT, which
is configured through the Settings app UI).

Like a dock app, the user can install new dreams and a
single application package may contain multiple dream
activities. Unlike the dock mode, however, there is no
"screensaver mode" for the system to manage. This allows us
to offer the user the ability to run a dream at any time, in
addition to making the overall mechanism quite simple.

There is no public API for this facility.

There is, however, a useful/recommended base class for dream
activities in the support library (change I4559a958).

Change-Id: Ied691856f88cfa38a7aca496d015f9a595da72f2
honeWindowManager.java
161e67ff3ba26408eea09221734ad2e29a1eed11 20-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 06a8ceac to master

Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68 20-May-2011 Dianne Hackborn <hackbod@google.com> am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
Add new "-swNNNdp" resource qualifier.
69cb87576ba163b61bb0e6477a3b7c57a9b11d40 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
honeWindowManager.java
143c529f28bd49e077e4bc36ff30ed2ff7ffb838 17-May-2011 Adam Powell <adamp@google.com> am 21f1d49f: am a7f52d46: Merge "DO NOT MERGE Use action bar overflow menus on large configurations as well as xlarge." into honeycomb-mr2

* commit '21f1d49f0eac47c1ebbabf82f145dc60f988d069':
DO NOT MERGE Use action bar overflow menus on large configurations as well as xlarge.
a7f52d4665967b4331d38408ba81af37ec589cb4 17-May-2011 Adam Powell <adamp@google.com> Merge "DO NOT MERGE Use action bar overflow menus on large configurations as well as xlarge." into honeycomb-mr2
b07f943273a06383b4ab81793cbb6292f3d1586a 16-May-2011 Adam Powell <adamp@google.com> DO NOT MERGE Use action bar overflow menus on large configurations as
well as xlarge.

ICS will have a more intelligent way of determining this.

Change-Id: I1ba6460dec09b8259db858c78a9157bb7742c85d
honeWindow.java
60e13114eb806d50b7b362d39051c5c775704bf6 16-May-2011 Dianne Hackborn <hackbod@google.com> am 1d340a3c: am 0eac0927: Merge "DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked." into honeycomb-mr2

* commit '1d340a3c24913d8750900355cd92ef5742eea11f':
DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.
68066c2f38e47b56f0510c56eafd827731a0dc08 22-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.

Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.

Change-Id: Id155f133c0bf108508a225ef64ed3ca398a90a58
honeWindowManager.java
63446167b9d6d9ed3410320d17e8fe816caf6c42 16-May-2011 Dianne Hackborn <hackbod@google.com> am fddd927f: am 9d0f2c6d: Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2

* commit 'fddd927fb78bb206287203f4f447a416b525115a':
DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
29735689cea7bf52998c1911542dcfdd1c1d9628 22-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.

Change-Id: Ie271123271a662f3f753f381ce4c43ad7904dc4a
honeWindowManager.java
01defe403f3705ac5802e392ee18a78737c51fcb 11-May-2011 Daniel Sandler <dsandler@google.com> Merge changes I21e9629e,I535ed3ba

* changes:
Create an XML config flag to turn the navbar off.
It's lights out for you, navigation bar!
0129b31ff493bb0aa10b778cbeacbec5964644f8 11-May-2011 Daniel Sandler <dsandler@google.com> Create an XML config flag to turn the navbar off.

This will eventually be replaced by something else, probably
in Configuration, that allows the WM to tell everyone
(including the status bar) whether there exist hardware
home/back/etc. keys.

Change-Id: I21e9629ed43de4a944ad75e5b9d6d4ada8aba23f
honeWindowManager.java
1d4d30aebd2c22627131819cabfe95f97def2c83 28-Apr-2011 Daniel Sandler <dsandler@google.com> It's lights out for you, navigation bar!

Views requesting lights out mode will cause the navbar to
disappear (this is useful for viewing videos/photos/etc
using every pixel of the screen).

But there's a catch: any user activity at all will cause the
lights to come back on and the navbar to return.

Change-Id: I535ed3ba9ae7fab3282c402be256add765395b6f
honeWindowManager.java
aa9d84c37e05f696ec158dac98ce38cf41e18314 10-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 05be6d6f to master

Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
05be6d6fe09ddfb706d1bef3b20c3d37f45e3c8a 10-May-2011 Dianne Hackborn <hackbod@google.com> am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2

* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
Better compat mode part one: start scaling windows.
e2515eebf42c763c0a2d9f873a153711778cfc17 28-Apr-2011 Dianne Hackborn <hackbod@google.com> Better compat mode part one: start scaling windows.

First step of improving app screen size compatibility mode. When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling. Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling. The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible. It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode. This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well. I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly. There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
honeWindowManager.java
7ba631f8b7ba823e943bdda623f7262b342e2c60 05-May-2011 Joe Onorato <joeo@google.com> If there is no hdmi available, still record that hdmi is not plugged in.

Bug: 4321927
Change-Id: I583b75477914f6ec0d6cb8c3d6775063202e1dbe
honeWindowManager.java
0c19aaaebb5baf78857e2e18ebe7fb37b7e1cf8e 04-May-2011 Daniel Sandler <dsandler@android.com> Merge "On-screen navigation bar (separate from the status bar)."
31bb97d240915d6ead410ab0befd3da115a92282 04-May-2011 Adam Powell <adamp@google.com> Fix bug 4361642 - Action menu unresponsive after orientation change

Through invalidating panel menus and action bar initialization it was
possible for instance state restoration to throw out a new menu
already in use. Invalidate the menu if it already exists instead. The
saved instance state will be applied later if a relevant panel menu is
shown.

Change-Id: I6bad7640ecb8d2f5f8ea658e1c68b07d52d108b9
honeWindow.java
d1f4207ba577e2ac3f39a719f8ee4bb9f4940dc1 04-May-2011 Adam Powell <adamp@google.com> Fix bug 4355335 - android.app.cts.DialogTest.testContextMenu failing on IRJ28

Change-Id: Icfcd8c2aadd0fb9e49296b8318858317407e1b7f
honeWindow.java
0d8ec1d739e15c232c58a5a5de605685830c287e 03-May-2011 Adam Powell <adamp@google.com> Fix bug 4345702 - update action bar tab views when the Tab object is
updated

Also fix a bug with visibility of split action bar views.

Change-Id: Iadd63d5e9b6cb9debab0f7a777e424e4c4807a13
honeWindow.java
640a66eac612b850b5dabd3b93bd94f83ed2d567 29-Apr-2011 Adam Powell <adamp@google.com> Refactoring of action bar internals

Split action bar implementation details. Factor out common components
into AbsActionBar. Layout rules for the lower half of split action
bars.

Change-Id: I6bc39ba6c343055597880a7d4663dd8f30aa4999
honeWindow.java
3513e1ca6fedf830269d4349f481cf5cae26251b 30-Apr-2011 Conley Owens <cco3@android.com> am ded7c652: am 893812b2: am e6e3322a: am 8fff7805: Merge "Remove duplicate \'=\' in exception message"

* commit 'ded7c652d754751e6fbde729d66825c69394d1cb':
Remove duplicate '=' in exception message
ded7c652d754751e6fbde729d66825c69394d1cb 29-Apr-2011 Conley Owens <cco3@android.com> am 893812b2: am e6e3322a: am 8fff7805: Merge "Remove duplicate \'=\' in exception message"

* commit '893812b2ee4a640ad398f7f79f90b92d52a5f3b1':
Remove duplicate '=' in exception message
9b4bee0f14bbd137b0797127aff2df46a6321ec5 28-Apr-2011 Adam Powell <adamp@google.com> Introducing the split action bar.

Apply (or extend) the theme Theme.Holo.SplitActionBarWhenNarrow or
Theme.Holo.Light.SplitActionBarWhenNarrow to enable splitting the
action bar across both the top and bottom of the screen. This places
the action menu along the bottom, leaving more room at the top for
titles, navigation, and custom views and more room at the bottom for
menu items.

TODO: Refine layout of the action menu when placed at the bottom of
the screen. Make action modes split as well.

Change-Id: I92c91f99c533f26aecf6b828ed041386c4f16922
honeWindow.java
c1a9b03a35b833e639e35fe3298ed8e71b7657e9 28-Apr-2011 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Remove duplicate '=' in exception message

Remove duplicate '=' in IllegalArgumentException of MyAdapter::getItem()

Change-Id: I151a1432a9f54c8d42bae295f3967b0be2223026
lobalActions.java
8956dbbc5f292d8b79072ae73b25f2114c8c7479 22-Apr-2011 Daniel Sandler <dsandler@android.com> On-screen navigation bar (separate from the status bar).

In Honeycomb we introduced navigation controls in the status
bar, for xlarge devices without physical buttons. What about
phones? The status bar is pretty cramped already, and
besides, it's at the top of the display most of the time,
not at the bottom where your thumb is likely to be.

Enter the navigation bar. It's a new window type that
appears atop almost everything (including the keyguard); the
window manager subtracts its rectangle from the default
visible rectangle of other windows (including the status bar
and notification shade).

However, it behaves (on phones) like the status bar in that
applications that request fullscreen windows can get access
to those pixels. Well, almost; they need cooperation from
the navigation bar implementation to make the navbar
disappear, just like the status bar.

The current SystemUI implementation of the navigation bar on
phones is still rough, but it has the basics:

+ back, home, and menu keys (NB: we're showing menu all the
time right now because checking the api level of the
package owning the top window is currently a poor
indicator of whether the app requires the menu key)
+ it tries to stick to the same physical end of the device,
regardless of device orientation (on a phone, this is
the strip of land closest to the microphone)

Change-Id: Ic613a3351220af0bbfbdef63e1d99cbefd5ed1c2
honeWindowManager.java
526b9313a9ac68924611b7f0492446728b7c746e 23-Apr-2011 Adam Powell <adamp@google.com> Fix a bug when showing the menu panel with an action bar/menu items
present.

Change-Id: I38cc257661f5a10ccca6ec7625e43e70287129d2
honeWindow.java
dacea8ce503369e7b82ff1c0e1a5a8a48863a25a 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Start work on simulating landscape/portrait when orientation is locked.

Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.
honeWindowManager.java
9d13264f6b5818812e61d66baaada599b8ad1faf 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Fix bug in deciding which rotation to use for an orientation.

Change-Id: Icc928c2188a5865035cafcdab2efd5bae3132b1f
honeWindowManager.java
696cba573e651b0e4f18a4718627c8ccecb3bda0 29-Mar-2011 Adam Powell <adamp@google.com> Refactor menu internals.

In the old world, MenuBuilder and MenuItemImpl were responsible for
generating views for any presentation of a menu. MenuBuilder needed to
know any types and resources involved, and the implied caching
semantics did not work well for menus presented within AdapterViews.

In the new world, the MenuPresenter interface takes over the
responsibility of generating views or adapters for menu
items. MenuBuilder/MenuItemImpl still provide extra metadata tracking
used by these presenters. Mutiple presenters may be active for a
single menu at a time. All of this remains internal framework
implementation details.

BaseMenuPresenter provides a simple base for presenters that treats
the host MenuView more like an AdapterView. This allows for less
rebuilding of views when items are added/removed.

Callbacks have been restructured. Calls that relate to the menu itself
are still handled by MenuBuilder.Callback, but calls related to a
specific presentation of a menu are handled by MenuPresenter.Callback
objects attached to a MenuPresenter.

Also add API to programmatically set divider options for LinearLayout
and hidden API so that ActionBarView can have finer-grained control
over divider placement.

Change-Id: I2265b86a084279822908021aec20dfbadc1bb56b
honeWindow.java
da3ae8fba865e4b02016bcb65b87a1fbfa000158 15-Apr-2011 Jim Miller <jaggies@google.com> Use system IME for LockScreen password mode.

Change-Id: I16c4d26fd2aeac2fe1647145b70dfde9d8d26af9
asswordUnlockScreen.java
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 07-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These haven't been working since before 1.0.

Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
eyguardViewMediator.java
honeWindow.java
honeWindowManager.java
fbfb3dafd90515235ad6ac88d9599e43dadd780a 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Merge "Minor Alt-TAB / Recent Apps Dialog improvements."
5487500cf3d9f6d7703ce0704cb91837aa95d716 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Minor Alt-TAB / Recent Apps Dialog improvements.

Alt-TAB should have different semantics from the APP_SWITCH key
or long-press on HOME. Accordingly, remove the fallback action
for Alt-TAB and initiate the task switching behavior directly
in the policy.

Modified RecentApplicationsDialog to be more precise about the
initial modifiers that it considers to be holding the dialog.

The dialog is now dismissed by a second press on the APP_SWITCH
key or by a second long press on HOME.

Change-Id: Idf4d803f51103819057cb655ff3b770b7729e4be
honeWindowManager.java
ecentApplicationsDialog.java
ea495d4c1f6e0aefe145a9a6c75a2aab4daf2037 06-Apr-2011 Joe Onorato <joeo@google.com> Move around the HDMI switch detection so we don't try to get the status if we can't listen to it.

Change-Id: I46f4e92923ba010f68109b6d043c817e25dfe650
honeWindowManager.java
8c769cb9cc02fe0496c16b51bc555729accf70c4 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Support primitive ALT-TAB style navigation using Recent Apps.

Change-Id: I6dc774326c971826d160c82126fb39acb5b9124b
honeWindowManager.java
ecentApplicationsDialog.java
da3d5a91b6b311ed77f2707d4456c1f18b84d73b 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Support chorded fallback keys.

Also be more careful about canceling fallback keys during focus
transitions, when the application handles the key, or when the
policy decides to do something different.

Fixed a crash due to JNI CallObjectMethod returning an undefined
value (not null) when an exception is thrown.

Fixed a crash due to the policy trying to create a Dialog for
recent apps on the dispatcher thread. It should happen on the
policy's Looper instead.

Bug: 4187302
Change-Id: I659a3fd1bd2325ed36d965f9beb75dacb89790c9
honeWindowManager.java
25ef3030a7386697c63e4a4bd3dee11ca2170e89 19-Mar-2011 Adam Powell <adamp@google.com> Fix bug 4136005 - Extended menus do not work

Fix for extended panel menus on small-screen devices.

Change-Id: I7788563019648867872d88ac974bfacdce8af385
honeWindow.java
1b365921e88b14857d8e0826e221c371d25f6cb2 10-Mar-2011 Jim Miller <jaggies@google.com> Fix 3201849: Enable hardware acceleration in LockScreen WaveView [DO NOT MERGE]

Change-Id: I07bbed7843857158cd2c1ffd9b184bde7fd5860d
eyguardViewManager.java
ockScreen.java
3fa8a454f61c772036f5f38661d1a077fd3d8388 10-Mar-2011 Jim Miller <jaggies@google.com> Fix 3201849: Enable hardware acceleration in LockScreen WaveView

Change-Id: Id64e82fe2e09ac231736d7867cd47b504d79b81b
eyguardViewManager.java
ockScreen.java
8620d9533a8d2e34f81d4932e1e4d9cae58cacbb 04-Mar-2011 Patrick Dubroy <dubroy@google.com> Remove guard preventing onDetachedFromWindow() from being called

This was the cause of 3510699: Launcher has leaked IntentReceiver.

Change-Id: I7d0e4662314d657f6ac06a9a9d37861f8d8ee975
honeWindow.java
56194ebec6212e229f4ccdaa4b187166d20013ef 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Wake screen from external HID peripherals.

Added some plumbing to enable the policy to intercept motion
events when the screen is off to handle wakeup if needed.

Added a basic concept of an external device to limit the scope
of the wakeup policy to external devices only. The wakeup policy
for internal devices should be based on explicit rules such as
policy flags in key layout files.

Moved isTouchEvent to native.

Ensure the dispatcher sends the right event type to userActivity
for non-touch pointer events like HOVER_MOVE and SCROLL.

Bug: 3193114
Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
eyguardViewBase.java
eyguardViewManager.java
eyguardViewMediator.java
honeWindowManager.java
039e634f6137550ee072d78b45243b4c6832e489 02-Mar-2011 Dianne Hackborn <hackbod@android.com> am 4b8c9b74: am 7fff2d19: am 1de4a2ca: am 62619392: Merge "Fix leak when keylock is recreated."

* commit '4b8c9b740528301d3ca60fe3b4b861fcd85ceb0a':
Fix leak when keylock is recreated.
d20d5523c75a544f391d4d1cb3886ddd0ad34508 02-Mar-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3387676 com.android.browser: java.lang.NullPointerException..."
c13c8d82aea28c26eb891082d4931e5edb99cee3 02-Mar-2011 Jim Miller <jaggies@google.com> Merge "Fix 3463772: Bring back alarm icon on LockScreen"
599351e93dd559f06f73c7c4595f023ca8d08289 02-Mar-2011 Jim Miller <jaggies@google.com> Fix 3463772: Bring back alarm icon on LockScreen

Change-Id: Icdf948c774d280e22da84e9241b345244a56befd
tatusView.java
b66ad57ca072a8cb83ee9c269e233d5002d96e17 02-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3387676 com.android.browser: java.lang.NullPointerException...

Unable to destroy activity {com.android.browser/com.android.browser.BrowserActivity}:
java.lang.NullPointerException at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2809)

Add a bunch of guards to not call on to the window callback after the
window is destroyed.

Change-Id: I66ca0705f421bafdfe953d03654c8f78d9e68249
honeWindow.java
4b8c9b740528301d3ca60fe3b4b861fcd85ceb0a 01-Mar-2011 Dianne Hackborn <hackbod@android.com> am 7fff2d19: am 1de4a2ca: am 62619392: Merge "Fix leak when keylock is recreated."

* commit '7fff2d19a24f9f9b669676864dc5652ab179d2fc':
Fix leak when keylock is recreated.
d3c9704d3efee8a64de321aa96bc49013f2db7f3 01-Mar-2011 Adam Powell <adamp@google.com> Fix bug 3497307 - Fix issues with FEATURE_ACTION_MODE_OVERLAY

Properly close down overlay windows when decor is detached. Delay
opening popup overlays to prevent issues when restoring instance
state.

Change-Id: I7ff44ce65e78c0172a12a9ddfe11460c885593ca
honeWindow.java
1de4a2ca58df9bd21e054742f52e0af7a2ed5864 01-Mar-2011 Dianne Hackborn <hackbod@android.com> am 62619392: Merge "Fix leak when keylock is recreated."

* commit '626193926df0b3c7236e5c244f30d797d9192e0d':
Fix leak when keylock is recreated.
1e0c7ae184984051e8f42c71f89435fc1d40be35 10-Feb-2011 Kenneth Andersson <kenneth.andersson@sonyericsson.com> Fix leak when keylock is recreated.

DigitalClock could sometimes leak when the keylock was recreated.
This happened because onDetachedFromWindow() was called BEFORE
onAttachedFromWindow().
This is the flow that causes the memory leak:
1) The LockPatternKeyGuardView is created and added. This will start
a loop dispatching onAttachedToWindow() to all views involved.
2) PatternUnlockScreen.onAttachedToWindow() is called
3) If the configuration has changed since creation, recreateMe() in
LockPatternKeyguardView.java is called.
4) recreateScreens() is called
5) PatternUnlockScreen is removed (to be re-added later) in
LockPatternKeyguardView.recreateUnlockScreen()
6) Since DigitalClock is a part of PatternUnlockScreen, its
onDetachedFromWindow() will be called.
7) The loop started in 1) will continue to dispatch
onAttachedToWindow() - and will eventually call
DigitalClock.onAttachedToWindow()
8) DigitalClock.onAttachedToWindow() registers a receiver that is
normally unregistered in onDetachedFromWindow(). But since
onDetachedFromWindow was already called in 6), it will not be called
again.
9) The receiver has leaked, and it has a reference to DigitalClock,
so that will leak as well, together with its parents e.g.
PatternUnlockScreen and LockPatternKeyguardView

The fix is to wait with the recreation of the screens (in 4) until
the loop (in 1) is finished. This is done by posting this as an event
instead of calling recreateScreens() immediately.

It is possible that this a fix for the root cause mentioned in
"Fix 3106227: use WeakReferences for receivers in DigitalClock class"
8b886fab5496b0b1f5193f21855220176deddc37 by Jim Miller
<jaggies@google.com>.

Change-Id: I6a5f6f49a565d459bf4e285f34f053cc1022286f
ockPatternKeyguardView.java
6aea1154bae3a0935fdb9b09b2d91d9548232eb0 18-Feb-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE: KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()

BUG: 3402847

Change-Id: I7cb199763e8d5386914b4c2173c9e1579b08674c
Signed-off-by: Mike Lockwood <lockwood@android.com>
honeWindowManager.java
33bbfd2232ea9eaae9a9d87a05a95a430f09bd83 25-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for mouse hover and scroll wheel.

Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View
hierarchy as onGenericTouchEvent. Pointer events dispatched
this way are delivered to the view under the pointer. Non-pointer
events continue to be delivered to the focused view.

Added scroll wheel support to AbsListView, ScrollView,
HorizontalScrollView and WebView. Shift+VSCROLL is translated
to HSCROLL as appropriate.

Added logging of new pointer events in PointerLocationView.

Fixed a problem in EventHub when a USB device is removed that
resulted in a long stream of ENODEV errors being logged until INotify
noticed the device was gone.

Note that the new events are not supported by wallpapers at this time
because the wallpaper engine only delivers touch events.

Make all mouse buttons behave identically. (Effectively we only
support one button.)

Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
honeWindowManager.java
ece945291e04ea8493895349ed95a2ab46b51c93 24-Feb-2011 Patrick Dubroy <dubroy@google.com> Fix 3272590: Long-press on home & menu should be same as click

Change-Id: I151571900f4bb63910ccfb77fc64c8be9676a224
honeWindow.java
honeWindowManager.java
ad788884de1dcac2c979efc57f12c58de156e801 23-Feb-2011 Daniel Sandler <dsandler@google.com> Merge "Rotation lock fix for sensor{Landscape,Portrait} activities."
1815c0275e9714c9ba0263b652c8576dd1059cb1 23-Feb-2011 Jeff Brown <jeffbrown@google.com> Merge "Be more precise about tracking fallback keys."
bfaf3b91709ef35e0d5901b186edd7c2a9729161 23-Feb-2011 Jeff Brown <jeffbrown@google.com> Be more precise about tracking fallback keys.

Only initiate fallback key handling if the first key down was
not handled and there is no other fallback key already in progress.
This prevents spurious fallbacks from being generated when
applications handle the initial down but not repeated downs or the up.

Change-Id: I8a513896cf96b16dc502cd72291926d5532aa2ab
honeWindowManager.java
3c85a4e6396dabf7f0061ff2c6e9f9b35793eadd 22-Feb-2011 Mike Lockwood <lockwood@android.com> Merge "KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()"
e7e5ac250ca6e682edc850a5148b6c46c4d2e060 22-Feb-2011 Daniel Sandler <dsandler@google.com> Rotation lock fix for sensor{Landscape,Portrait} activities.

E.g. if an app is sensorLandscape and the device rotation is
locked to landscape, the activity should not be allowed to
flip to seascape even if the device is inverted.

If the rotation is locked 90° from the activity's
supported orientations, we must override the lock as before,
but we now suppress the sensor input (confining the activity
to one of its two orientations). This best preserves the
spirit of the rotation lock while still allowing the
activity to run in a supported configuration.

Bug: 3453407
Change-Id: I8ee255e0250ba7e4534f4622ac37b82d31cf9936
honeWindowManager.java
2ed6ad6aeca5f9829ea7dad4e092064ee4baad47 22-Feb-2011 Daniel Sandler <dsandler@google.com> Fix the flipping orientation lock.

We were setting ACCELEROMETER_ROTATION to 0 before putting
in the proper USER_ROTATION value, and PhoneWindowManager's
content observer would eagerly rotate the screen to the last
locked orientation before re-rotating to the updated locked
rotation.

Now we set USER_ROTATION first. Additionally, the
content observer is now the only place we set
mUserRotation{,Mode} (previously we would race with it in
setUserRotationMode()).

Bug: 3425657
Change-Id: I04ba1a3631c6d985c2e406c4d148c39fb5c36216
honeWindowManager.java
cc0c159e9b3dd4e0f48da0ce3e33d2c68a651413 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new hover move action and scroll wheel plumbing.

Added support for tracking the mouse position even when the mouse button
is not pressed. To avoid confusing existing applications, mouse movements
are reported using the new ACTION_HOVER_MOVE action when the mouse button
is not pressed.

Added some more plumbing for the scroll wheel axes. The values are
reported to Views but they are not yet handled by the framework.

Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
honeWindowManager.java
6f2fba428ca5e77a26d991ad728e346cc47609ee 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new axes for joysticks and mouse wheels.

Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
honeWindowManager.java
520d8bc1d840966b5519195aaa514597a662c053 18-Feb-2011 Mike Lockwood <lockwood@android.com> KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()

BUG: 3402847

Change-Id: I725838c9d96617dd4497f9c80417cd623eceb846
Signed-off-by: Mike Lockwood <lockwood@android.com>
honeWindowManager.java
a924dc0db952fe32509435fdb8dc9c84a9e181f3 17-Feb-2011 Dianne Hackborn <hackbod@google.com> Start window manager refactoring.

Move all of the pieces into a new com.android.server.wm package.

Change-Id: I942b7bcfb84ee0f843f47d58e55ffc5a93c0da94
eyguardViewMediator.java
79a444a0cd78bc6528e19336a0d49ef4a17b263c 16-Feb-2011 Jim Miller <jaggies@google.com> Fix 3391330: Use BATTERY_STATUS_FULL as "Charged" state

Some devices that use LiPo batteries do not charge them to 100%
as a safety margin and to preserve battery longevity. This change
allows KeyguardUpdateMonitor to determine when the battery state should be
reported as "Charged", provided the device sets BATTERY_STATUS_FULL in
that case.

Manual merge of Change-Id: Iac6cb78e24f9a696017459cc773c38ef7fe7779f

Change-Id: I15c316a17108c064bf2c7e657ca908f8767be936
eyguardUpdateMonitor.java
tatusView.java
79628c6662b863c220ff68159e4272f45d66cbe8 15-Feb-2011 Jim Miller <jaggies@google.com> Fix 3409550: Fix crash caused when max pattern attempts met.

This fixes a bug introduced by a recent change in GB that
fixed a memory leak and subsequent OOM crash. The code in
cleanUp() is now more aggressive about releasing unused
references because the view is expected to go away afterwards.

However, due to the immediate callback from reportFailedUnlockAttempt(),
the member variables are cleared before we reach the end of the
handler. The fix is to postpone reporting the failed attempt
until after the rest of the logic has completed.

Change-Id: Ic35eaf17e9921213c8793d00f9008d957a290b88
atternUnlockScreen.java
ef5a440d0a02aa34388d975c58fb7a30e56a0f5c 11-Feb-2011 Adam Powell <adamp@google.com> Fix bug 2955651 - can open normal menu during action modes

Prevent the usual menu pipeline from trying to open the action bar
overflow menu when the action bar is not visible.

Change-Id: I0708d142ad271368baa79351b97aad1533636fe7
honeWindow.java
b2abd8c424a68eb6a5e3615a99f66c0bd46e6063 30-Jan-2011 The Android Open Source Project <initial-contribution@android.com> Mass merge from gingerbread - do not merge

Change-Id: I45dc3596bf4211d8f91c64f2d1d00588878df629
f81a6f67b7cabd2ced6de7d75a6c44ab342e2d88 29-Jan-2011 Jim Miller <jaggies@google.com> am 2e4b9985: am 6354dd0b: Merge "Fix 3403858: Remove lock icons from status1 area." into honeycomb

* commit '2e4b9985dba629eac5662c32a6684fb7b880aeff':
Fix 3403858: Remove lock icons from status1 area.
2e4b9985dba629eac5662c32a6684fb7b880aeff 29-Jan-2011 Jim Miller <jaggies@google.com> am 6354dd0b: Merge "Fix 3403858: Remove lock icons from status1 area." into honeycomb

* commit '6354dd0b3e507b2afebc5ba41cd57866ade5ba94':
Fix 3403858: Remove lock icons from status1 area.
a6b4ffcc605063ef2517070db65f340386dfc464 29-Jan-2011 Jim Miller <jaggies@google.com> Fix 3403858: Remove lock icons from status1 area.

Change-Id: Ib311f7a9dd4c46965263b3cf72994aab5d2dfb0d
tatusView.java
bafa3a31f58a52d49883db43167e28c16af1fc61 28-Jan-2011 Joe Onorato <joeo@google.com> am d6874a10: am cfd0bafd: Merge changes Iaa7bc042,Icc312fc9,I50ba06ed into honeycomb

* commit 'd6874a105ee584b1dc60aae2f2af7c78ee875114':
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.
d6874a105ee584b1dc60aae2f2af7c78ee875114 28-Jan-2011 Joe Onorato <joeo@google.com> am cfd0bafd: Merge changes Iaa7bc042,Icc312fc9,I50ba06ed into honeycomb

* commit 'cfd0bafdebf1fccd3f5a0baed5cad8a539546e9b':
Make keyguard also ask to turn the back button off, now that it is controlled separately.
Allow independent control of the back and the other navigation buttons.
Allow the status bar disable flags to be used as View's system ui visibility fields.
4671ce56cd041be7ade960d244753a739d2c08f2 28-Jan-2011 Joe Onorato <joeo@google.com> Make keyguard also ask to turn the back button off, now that it is controlled separately.

Bug: 3363046
Change-Id: Iaa7bc0428ae4a8f0c133fd699b762e6c4f167d63
eyguardViewBase.java
226e57563c3110aa688fc41f10b7a96cd21b6231 28-Jan-2011 Jim Miller <jaggies@google.com> Merge "Fix 3391330: Use BATTERY_STATUS_FULL as "Charged" state [DO NOT MERGE]" into gingerbread
c0a1387f0fca91a1d66b0ca81d2e74100efa3df6 26-Jan-2011 Jim Miller <jaggies@google.com> Fix 3391330: Use BATTERY_STATUS_FULL as "Charged" state [DO NOT MERGE]

Some devices that use LiPo batteries do not charge them to 100%
as a safety margin and to preserve battery longevity. This change
allows KeyguardUpdateMonitor to determine when the battery state should be
reported as "Charged", provided the device sets BATTERY_STATUS_FULL in
that case.

Change-Id: Iac6cb78e24f9a696017459cc773c38ef7fe7779f
eyguardUpdateMonitor.java
ockScreen.java
atternUnlockScreen.java
992f75bcd0ca37147df832c0cfc41995422df6db 27-Jan-2011 Jeff Hamilton <jham@android.com> resolved conflicts for merge of 6687ecb4 to honeycomb-merge

Change-Id: Id9677d2ef1c03191cf73a7d90e80b57ea686afec
32d35b2cfcb93288b190473c1f59fb5f3e36a796 27-Jan-2011 Jeff Brown <jeffbrown@google.com> am 9d925d2d: am da910fd5: Merge "Handle ActivityNotFoundException in the WM policy." into honeycomb

* commit '9d925d2dfdb2a0bd89ff081c1693129f3bf85e77':
Handle ActivityNotFoundException in the WM policy.
9d925d2dfdb2a0bd89ff081c1693129f3bf85e77 27-Jan-2011 Jeff Brown <jeffbrown@google.com> am da910fd5: Merge "Handle ActivityNotFoundException in the WM policy." into honeycomb

* commit 'da910fd5ea024f214f806d880d86d77bf94497b5':
Handle ActivityNotFoundException in the WM policy.
da910fd5ea024f214f806d880d86d77bf94497b5 27-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Handle ActivityNotFoundException in the WM policy." into honeycomb
7201f3d64a44f0379e75c6c0ec2bb710d77e5659 27-Jan-2011 Joe Onorato <joeo@google.com> am 7c77bd0e: am e193c468: Merge "Fix 3388705: Explicitly check for low battery level" into honeycomb

* commit '7c77bd0e3dda93242e7dbcfb4754817894483653':
Fix 3388705: Explicitly check for low battery level
7c77bd0e3dda93242e7dbcfb4754817894483653 27-Jan-2011 Joe Onorato <joeo@google.com> am e193c468: Merge "Fix 3388705: Explicitly check for low battery level" into honeycomb

* commit 'e193c4688f9062e1d4dba97413788b6ffa122a55':
Fix 3388705: Explicitly check for low battery level
e193c4688f9062e1d4dba97413788b6ffa122a55 27-Jan-2011 Joe Onorato <joeo@google.com> Merge "Fix 3388705: Explicitly check for low battery level" into honeycomb
b92e18e2dfa4f5b791a53b9c963cf2b9e1f1f25c 27-Jan-2011 Jim Miller <jaggies@google.com> Fix 3388705: Explicitly check for low battery level

This fixes a bug in StatusView believed to be caused by
seeing "invalid charger" update from BatteryService.

The code normally relies on "interesting events", as determined
by KeyguardUpdateMonitor. I believe something else is
triggering an update (perhaps a SimStateChanged event) that updates
the status without also updating StatusView.mShowingBatteryInfo
and mPluggedIn.

The safer way to do this is to explicitly check the battery
level before telling the user the device needs to be charged.

Change-Id: Ic39ed86c78a157dc9fbdef4d76a9c3db39ccafca
eyguardUpdateMonitor.java
tatusView.java
f0a3cc5a5f3646c34c6dfd58a42368dfd5807e16 27-Jan-2011 Jeff Brown <jeffbrown@google.com> Handle ActivityNotFoundException in the WM policy.

When invoking a registered shortcut for which the activity was not
found, the startActivity throws ActivityNotFoundException. If this
exception is not caught and handled, then the shortcut key is
dispatched to the application instead of being suppressed as it
should have been.

Found while fixing Bug: 3396233

Change-Id: I0e8e9e3ba09dd403a901d5eae12839734be467ed
honeWindowManager.java
166f26e2c2378decaf023a4c829b03034a65d160 27-Jan-2011 Dianne Hackborn <hackbod@google.com> am f35d43f9: am 2dc9c784: Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb

* commit 'f35d43f90b9e4553343a59b217430aaba91b0d1f':
Fix issue #3382992: IME close animation stutters from URL bar
f35d43f90b9e4553343a59b217430aaba91b0d1f 27-Jan-2011 Dianne Hackborn <hackbod@google.com> am 2dc9c784: Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb

* commit '2dc9c784b2fab67a8233318f559e65f444bf0c97':
Fix issue #3382992: IME close animation stutters from URL bar
2dc9c784b2fab67a8233318f559e65f444bf0c97 27-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb
63042d6a0347017fcc4cd98560ca3407044c165c 27-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3382992: IME close animation stutters from URL bar

Gross hack is grosser.

Change-Id: I0a34bf1d7c16c547402318f24776a5f7e8b7552b
honeWindow.java
b648c60854e74ffda4caefa26b9e1d3f6cdbf13f 26-Jan-2011 Joe Onorato <joeo@google.com> am a4a5ec5e: am 1aadb210: Merge changes I48392c75,Id09437a4,I4a0aa878 into honeycomb

* commit 'a4a5ec5e748f99c40301c9c422b3d36cb44c6081':
Expose the window flags for lights out mode.
Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its own.
Make FLAG_FULLSCREEN not go into lights out mode anymore.
a4a5ec5e748f99c40301c9c422b3d36cb44c6081 26-Jan-2011 Joe Onorato <joeo@google.com> am 1aadb210: Merge changes I48392c75,Id09437a4,I4a0aa878 into honeycomb

* commit '1aadb2108d7614d9d1ff61b41c6c31cb8d211ab9':
Expose the window flags for lights out mode.
Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its own.
Make FLAG_FULLSCREEN not go into lights out mode anymore.
14782f705e94d4e563a48efc85fd25129fd38a7d 26-Jan-2011 Joe Onorato <joeo@google.com> Expose the window flags for lights out mode.

I hadn't wanted to do this, but it makes porting the FLAG_FULLSCREEN
stuff over to this simpler because you don't have to go find a view
to proxy through.

This change also clears the flag everywhere when the window manager
notifies the views that the change has come back.

Change-Id: I48392c7550925bcca50c5bb9e1f263e99de6c7bc
honeWindowManager.java
644f9c3ad93f6674abff4143b78404cd222b5e30 25-Jan-2011 Joe Onorato <joeo@google.com> Make FLAG_FULLSCREEN not go into lights out mode anymore.

Change-Id: I4a0aa8789f537717f82df4efb6a35108e1ab1784
honeWindowManager.java
fbe446d7f2b9679f356d7a1d2e4a0ceab515ba76 26-Jan-2011 Jeff Brown <jeffbrown@google.com> am 391ef42c: am 3168a137: Merge "Fix surface frame size reporting." into honeycomb

* commit '391ef42c92ab97e5c22a720973790696d30576ca':
Fix surface frame size reporting.
391ef42c92ab97e5c22a720973790696d30576ca 25-Jan-2011 Jeff Brown <jeffbrown@google.com> am 3168a137: Merge "Fix surface frame size reporting." into honeycomb

* commit '3168a13723ff0f3f87937457fe33c3518caa4bb9':
Fix surface frame size reporting.
30bc34f191ca8a009af313fc751e5b4bff6e39a1 25-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix surface frame size reporting.

The SurfaceHolder provided by the wallpaper service was not reporting
the correct size in getSurfaceFrame(). This broke an optimization in
the ImageWallpaper. The old code happened to work because calling
lockCanvas on the SurfaceHolder with a null dirty rectangle happened
to have the side-effect of updating the SurfaceHolder's surface frame
size field because it passed mSurfaceFrame as the dirty rect, causing
mSurfaceFrame to be set to the size of the region to be drawn.

However, relying on this side-effect is wrong. Among other things,
the dirty region could actually be smaller than the surface frame.

This patch fixes WallpaperService, SurfaceView and ViewRoot to ensure
that the surface frame size is always set explicitly and is not modified
by calls to lockCanvas.

Change-Id: I10948f5ec269409ceaf0f7d32b3f6731e9499ebc
honeWindow.java
d8bdc06f8139231f1edc1a8bf22b637ebb790605 23-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT (DO NOT MERGE)

Fixed a bug in the handling of SENSOR_LANDSCAPE and SENSOR_PORTAIT
on devices that have a natural landscape orientation. The old code
was disabling 180 degree orientation detection when it shouldn't have.

Bug: 3381359
Change-Id: I19bd2519e7f69a24835840fbf542aa7349981029
honeWindowManager.java
76a23f8b2e22273ecba8443a90fed53e45f52a2e 25-Jan-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of eebc944f to master

Change-Id: I969cf69d2bd6901742d2cdf1bd44344ee7ba9fc7
eebc944fd13099945b04a99f15173cdaada1ecf2 25-Jan-2011 Jeff Brown <jeffbrown@google.com> am aaa55d3f: Merge "New orientation listener." into honeycomb

* commit 'aaa55d3f45744814907d0809befb49281ced462e':
New orientation listener.
4519f07e9c6b993fbe7a3d3df24d71d9450a54f1 23-Jan-2011 Jeff Brown <jeffbrown@google.com> New orientation listener.

The objective in this listener is to be more careful about the
signal processing to prevent spurious orientation changes
and to make all of the tweakable factors physically meaningful.

The calibration is defined in terms of time constants and
does not assume a particular discrete sampling rate. This is
useful because it allows us to change the accelerometer sampling
interval if desired without having to change the calibration.
Moreover, the accelerometer sampling interval can vary +/- 20ms
from one sample to the next even in normal circumstances.

Proposed orientation changes are weighted by confidence factors
that vary exponentially in relation to how close the device
is to the ideal orientation change posture (screen is vertical,
angle is exactly at the midpoint of the orientation quadrant,
and no external acceleration beside gravity). When not in an ideal
posture, the device takes proportionally longer to settle into a
new orientation state.

Added a little tool to plot the log output of the
WindowOrientationListener. Check the README for more information
about how to use it.

Change-Id: I787f02d03582ff26367df65eda8d9ce85c5cb343
honeWindowManager.java
10f4126a367071a49f208f10ceb1ed0e1151d48c 24-Jan-2011 Joe Onorato <joeo@google.com> resolved conflicts for merge of faf083ef to master

Change-Id: I316a1b4356f6dba6c3880ccb02dbb2fa00d21a85
faf083ef0b7b893acb871084231d20e08e208f8f 24-Jan-2011 Joe Onorato <joeo@google.com> am 4c541b13: Merge "visibility ("lights out") API." into honeycomb

* commit '4c541b1303b0ee2b9b0d19bee85d3780c5c4c110':
visibility ("lights out") API.
4c541b1303b0ee2b9b0d19bee85d3780c5c4c110 24-Jan-2011 Joe Onorato <joeo@google.com> Merge "visibility ("lights out") API." into honeycomb
664644d9e012aa2a28ac96f305b1ce6499ec8806 24-Jan-2011 Joe Onorato <joeo@google.com> visibility ("lights out") API.

1. Views may setSystemUiVisibility() to recommend that
the system chrome (status bar or other UI) show or hide
itself. (This functionality was previously available only
via the FLAG_FULLSCREEN window flag for some SystemUI
implementations.)

2. Views may register a OnSystemUiVisibilityChangedListener
on a view, and find out when the system UI actually
appears or disappears, allowing apps to coordinate the
appearance of their own UI if desired.

Bug: 3241144
Change-Id: Ia1758d94099182d49a1e3688ea2738ae4995b829
honeWindowManager.java
02b74a07de57962b52ea62d7347d68bc7f079a05 24-Jan-2011 Adam Powell <adamp@google.com> am b2d7b02c: am 8ccea78c: Merge "Fix bug 3299208 - Some apps\' dialogs aren\'t show()ing successfully" into honeycomb

* commit 'b2d7b02c4f3e2a43e65985edc70db52e257dd673':
Fix bug 3299208 - Some apps' dialogs aren't show()ing successfully
b2d7b02c4f3e2a43e65985edc70db52e257dd673 24-Jan-2011 Adam Powell <adamp@google.com> am 8ccea78c: Merge "Fix bug 3299208 - Some apps\' dialogs aren\'t show()ing successfully" into honeycomb

* commit '8ccea78c01a6098e96189799b46b72cbfeba7bae':
Fix bug 3299208 - Some apps' dialogs aren't show()ing successfully
8ccea78c01a6098e96189799b46b72cbfeba7bae 24-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3299208 - Some apps' dialogs aren't show()ing successfully" into honeycomb
e571e60a3d49443b6caf4cd29ccd01ffd9ef3ad3 24-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3299208 - Some apps' dialogs aren't show()ing successfully

Fix legacy submenus in options menus.

Change-Id: I3d115c72d99dadd5b23f9459fd27277a39de332b
honeWindow.java
3f3e3839755d122c8d14fdd37a9237fba521e6b9 23-Jan-2011 Jeff Brown <jeffbrown@google.com> am 5f1e37a7: am f4180679: Merge "Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT" into honeycomb

* commit '5f1e37a736928bbb38f665d12812a1bed3394fa3':
Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT
5f1e37a736928bbb38f665d12812a1bed3394fa3 23-Jan-2011 Jeff Brown <jeffbrown@google.com> am f4180679: Merge "Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT" into honeycomb

* commit 'f41806799ad70085722dd7d11e3f8043109290bf':
Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT
892bd76881e2df9b4915a30144efc5428f7ab5a3 23-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT

Fixed a bug in the handling of SENSOR_LANDSCAPE and SENSOR_PORTAIT
on devices that have a natural landscape orientation. The old code
was disabling 180 degree orientation detection when it shouldn't have.

Change-Id: I484a0aa44b3b8267a7d3b74bdf39c296faa7c6e3
honeWindowManager.java
4b290bb60e3cf7160d7e12fe6255c1098998abca 20-Jan-2011 Jim Miller <jaggies@google.com> am e744a6b7: am e25c4d10: Merge "Fix 3339257: Update lockscreen keyboard to fit Holo theme" into honeycomb

* commit 'e744a6b7016595ebb1de3a6bd24045731d60da30':
Fix 3339257: Update lockscreen keyboard to fit Holo theme
e744a6b7016595ebb1de3a6bd24045731d60da30 20-Jan-2011 Jim Miller <jaggies@google.com> am e25c4d10: Merge "Fix 3339257: Update lockscreen keyboard to fit Holo theme" into honeycomb

* commit 'e25c4d1077071e33795ec0316b504f6cd2a0ba08':
Fix 3339257: Update lockscreen keyboard to fit Holo theme
e25c4d1077071e33795ec0316b504f6cd2a0ba08 20-Jan-2011 Jim Miller <jaggies@google.com> Merge "Fix 3339257: Update lockscreen keyboard to fit Holo theme" into honeycomb
688435833fea20c5aa9bc4305dc052e55bcec33c 18-Jan-2011 Jim Miller <jaggies@google.com> Fix 3339257: Update lockscreen keyboard to fit Holo theme

This updates the lockscreen keyboard to be like the
latin-1 IME keyboard and updates it to fit the holo theme.

Fixed some minor issues addressed in review.

Change-Id: I3c6dd8f91be753510e6eadfa9ad913f77038947b
asswordUnlockScreen.java
310ae9b39c10f6b43c885e458eb8d135a3ba6b71 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am fe86e979: am 661b6cfb: Merge "Okay, new plan for dialogs." into honeycomb

* commit 'fe86e9793ce62c6a1aa34e5712f16b45800efdd0':
Okay, new plan for dialogs.
1539a2967b3c3eb12a18b5cdf20a017c7a0df7d6 19-Jan-2011 Adam Powell <adamp@google.com> am eb7a7a04: am 6cfc7a0a: Merge "Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing" into honeycomb

* commit 'eb7a7a044adba95216152e848fa692ec2869e06b':
Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing
7fc5d4b8e7145413411da3320495388f09fab536 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am 2ec5a716: am 36c84403: Merge "Fix issue #3362484: Can\'t dismiss activity picker by tapping outside dialog" into honeycomb

* commit '2ec5a7160b3d32887b2428edef7a751ee3700809':
Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog
fe86e9793ce62c6a1aa34e5712f16b45800efdd0 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am 661b6cfb: Merge "Okay, new plan for dialogs." into honeycomb

* commit '661b6cfb2bcecdd335540db7059e5d8e22c2e79a':
Okay, new plan for dialogs.
eb7a7a044adba95216152e848fa692ec2869e06b 19-Jan-2011 Adam Powell <adamp@google.com> am 6cfc7a0a: Merge "Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing" into honeycomb

* commit '6cfc7a0acb0d3b202ae1dbee88e7e8bdfaee5590':
Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing
661b6cfb2bcecdd335540db7059e5d8e22c2e79a 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Okay, new plan for dialogs." into honeycomb
ef57575887bde74ef09e9f21aae6b02f9c8163c7 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Okay, new plan for dialogs.

Don't dismiss by default when tapping outside, even for AlertDialog.

If AlertDialog doesn't have any buttons, tapping outside will dismiss it.

Applications can make their own dialogs (or activities looking like
dialogs) can use the existing and new APIs to control this behavior
themselves so that it does the right thing.

Change-Id: I02bfb9161e169de0033200211b3a7ec80080bd83
honeWindow.java
6cfc7a0acb0d3b202ae1dbee88e7e8bdfaee5590 19-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing" into honeycomb
a1e6358a4c62c8b6de1f2428901e45b688bd9e9f 19-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing

Change-Id: I9e7ec4ab14c6008397d26c499ccf478f8875f918
honeWindow.java
2ec5a7160b3d32887b2428edef7a751ee3700809 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am 36c84403: Merge "Fix issue #3362484: Can\'t dismiss activity picker by tapping outside dialog" into honeycomb

* commit '36c84403ec07439d11ed284ac5f9a9db807fbf92':
Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog
36c84403ec07439d11ed284ac5f9a9db807fbf92 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog" into honeycomb
cfaf8878de83b6bb7a24aee3c240259f428e6e4a 18-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog

Change-Id: Idc2fe5a86c61e8f94fe9d902a0087a05f6f7918e
honeWindow.java
2e1469a13d6cca6c9cb3a48151c15f0ca73fa003 18-Jan-2011 Dianne Hackborn <hackbod@google.com> am f6759102: am 3aa959b9: Merge "Fix issue #3362666 Activities launched from ongoing notifications don\'t animate" into honeycomb

* commit 'f67591025debf040695e9ed0d0edeff5ef0c5db2':
Fix issue #3362666 Activities launched from ongoing notifications don't animate
f67591025debf040695e9ed0d0edeff5ef0c5db2 18-Jan-2011 Dianne Hackborn <hackbod@google.com> am 3aa959b9: Merge "Fix issue #3362666 Activities launched from ongoing notifications don\'t animate" into honeycomb

* commit '3aa959b9ce7ac4ac241033b3eea9f2c0ce34d554':
Fix issue #3362666 Activities launched from ongoing notifications don't animate
08121bca5bb875707974853b57820804a9e7cd3a 18-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3362666 Activities launched from ongoing notifications don't animate

The phone-oriented code for turning off animations when the screen is entirely
covered by the status bar was not appropriate for the tablet.

Change-Id: Ica3e0db989f16b9187eacd6ecf4ac3d17661dd6d
honeWindowManager.java
8fac2876647621ccdc6c0b116f6442acde8af1bc 18-Jan-2011 Jim Miller <jaggies@google.com> am b70d39fd: am 6e3212a3: Merge "Fix 3329600: Always enable screen rotation in lockscreen." into honeycomb

* commit 'b70d39fda198a2f6d37fec9bbdb67462df9de40c':
Fix 3329600: Always enable screen rotation in lockscreen.
0d1aa05fa6f9dec2b77836f2ca91dce7af9c14ce 18-Jan-2011 Jim Miller <jaggies@google.com> am d0861c89: am 3d7a9707: Merge "Fix 3210299: Extend lock screen wake timeout to 10s" into honeycomb

* commit 'd0861c8992356296115dc203feb50ce8a8794bd9':
Fix 3210299: Extend lock screen wake timeout to 10s
b70d39fda198a2f6d37fec9bbdb67462df9de40c 18-Jan-2011 Jim Miller <jaggies@google.com> am 6e3212a3: Merge "Fix 3329600: Always enable screen rotation in lockscreen." into honeycomb

* commit '6e3212a38b503e35563ec93c35a6851c99d95c77':
Fix 3329600: Always enable screen rotation in lockscreen.
d0861c8992356296115dc203feb50ce8a8794bd9 18-Jan-2011 Jim Miller <jaggies@google.com> am 3d7a9707: Merge "Fix 3210299: Extend lock screen wake timeout to 10s" into honeycomb

* commit '3d7a9707a58bb043147f30dc81c61deeeffeeef7':
Fix 3210299: Extend lock screen wake timeout to 10s
6e3212a38b503e35563ec93c35a6851c99d95c77 18-Jan-2011 Jim Miller <jaggies@google.com> Merge "Fix 3329600: Always enable screen rotation in lockscreen." into honeycomb
e28016c28620f070a6737c7fd536437e7b116f84 18-Jan-2011 Jim Miller <jaggies@google.com> Fix 3329600: Always enable screen rotation in lockscreen.

Sometimes we get the wrong value for the sensor resource we
use to configure lockscreen orientation. However, the current
UI design has LockScreen always respond to orientation (when
enabled in settings) so we don't need to rely on this for the time-being.

Change-Id: If37314befd25a7b3306500643155523ad4fe6657
eyguardViewManager.java
0f6226b9f417182bbf791598000f0a153fbf191c 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Add joystick support to framework."
3d7a9707a58bb043147f30dc81c61deeeffeeef7 18-Jan-2011 Jim Miller <jaggies@google.com> Merge "Fix 3210299: Extend lock screen wake timeout to 10s" into honeycomb
77274695a724eefe70c63a5d8bbdf77bd89b748b 18-Jan-2011 Jim Miller <jaggies@google.com> Fix 3210299: Extend lock screen wake timeout to 10s

Change-Id: I9e4f8761a80271b97ff6411a41664642273baaef
eyguardViewMediator.java
cb1404e45639d20439d7700b06d57ca1a1aad1fa 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Add joystick support to framework.

Change-Id: I95374436708752e1a9cff3f85c5b9bc3e0987961
honeWindow.java
98893db9dc1ffba1390f368b996b57c521678762 17-Jan-2011 Adam Powell <adamp@google.com> am 4ba7f35e: am 92cd4d02: Merge "Fix bug 3360882 - Allow FEATURE_CUSTOM_TITLE and FEATURE_ACTION_MODE_OVERLAY to coexist." into honeycomb

* commit '4ba7f35e0f9cfdf59ed6e8f9092992893da46d4a':
Fix bug 3360882 - Allow FEATURE_CUSTOM_TITLE and FEATURE_ACTION_MODE_OVERLAY to coexist.
5fbda0427a572d98f48a669305ae72000181016b 17-Jan-2011 Jim Miller <jaggies@google.com> am f0c53e66: am bdac9e0f: Merge "Fix 3005526: Properly update StatusView from Password/PIN unlock" into honeycomb

* commit 'f0c53e66997bf781fb52f76e58aa0928fd8b64eb':
Fix 3005526: Properly update StatusView from Password/PIN unlock
9e8d9b6cd90c50fe59a286563ccf23d1cbaa3b54 17-Jan-2011 Jim Miller <jaggies@google.com> am a55c1280: am 057d9f16: Merge "Fix 3342063: Correctly update StatusView when battery changes." into honeycomb

* commit 'a55c1280f9b674619368ee61e4fe6b8db64eb2ce':
Fix 3342063: Correctly update StatusView when battery changes.
a3006a46d026d9d430a5ecb8d8617bd5ca146266 17-Jan-2011 Jim Miller <jaggies@google.com> am 3530ebe4: resolved conflicts for merge of 578e73da to honeycomb-plus-aosp

* commit '3530ebe451fea39b159baa9b8c9f9cd851de42a3':
Fix 3106227: use WeakReferences for receivers in DigitalClock class
4169700edd83eda7b02dee0b36b5b26dfef70d9b 17-Jan-2011 Jim Miller <jaggies@google.com> am 76e75335: am 1f6e37ef: Merge "Fix 3355957: Don\'t hide the keyboard for PIN/Password" into honeycomb

* commit '76e75335648f1c0c695701a94499bfd4625eba5d':
Fix 3355957: Don't hide the keyboard for PIN/Password
21e4fa553973ee36d420fc33f00c809d96ebcef4 17-Jan-2011 Jeff Brown <jeffbrown@google.com> am 7d5f9095: am 85562dde: Merge "Fix keyboard hidden states." into honeycomb

* commit '7d5f9095a6feb40aa0c87d5671050df7c24609ef':
Fix keyboard hidden states.
4ba7f35e0f9cfdf59ed6e8f9092992893da46d4a 17-Jan-2011 Adam Powell <adamp@google.com> am 92cd4d02: Merge "Fix bug 3360882 - Allow FEATURE_CUSTOM_TITLE and FEATURE_ACTION_MODE_OVERLAY to coexist." into honeycomb

* commit '92cd4d0296cc8936fcccd97cdbc7a13b724efab4':
Fix bug 3360882 - Allow FEATURE_CUSTOM_TITLE and FEATURE_ACTION_MODE_OVERLAY to coexist.
92cd4d0296cc8936fcccd97cdbc7a13b724efab4 17-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3360882 - Allow FEATURE_CUSTOM_TITLE and FEATURE_ACTION_MODE_OVERLAY to coexist." into honeycomb
8f68f4fe79f29334e3d822564733c349622c05a8 17-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3360882 - Allow FEATURE_CUSTOM_TITLE and
FEATURE_ACTION_MODE_OVERLAY to coexist.

Fix "custom title" dialog window decor for holo.

Change-Id: Ia732caeb89e12d8d754be31c3bd2faf13a8c95d6
honeWindow.java
f0c53e66997bf781fb52f76e58aa0928fd8b64eb 17-Jan-2011 Jim Miller <jaggies@google.com> am bdac9e0f: Merge "Fix 3005526: Properly update StatusView from Password/PIN unlock" into honeycomb

* commit 'bdac9e0fbe874cf7414228624bd0d3af4f715ccc':
Fix 3005526: Properly update StatusView from Password/PIN unlock
305093f9116b364856bcdcd499e9f69910e249dd 17-Jan-2011 Jim Miller <jaggies@google.com> Fix 3005526: Properly update StatusView from Password/PIN unlock

This uses the newly added setHelpMessage() to properly show PIN and
password help in StatusView.

Change-Id: I8662e179e989c6e72f657c81f23b1b2fa7982727
asswordUnlockScreen.java
tatusView.java
a55c1280f9b674619368ee61e4fe6b8db64eb2ce 17-Jan-2011 Jim Miller <jaggies@google.com> am 057d9f16: Merge "Fix 3342063: Correctly update StatusView when battery changes." into honeycomb

* commit '057d9f16f793c3796751913ad2eeb12582a7626b':
Fix 3342063: Correctly update StatusView when battery changes.
057d9f16f793c3796751913ad2eeb12582a7626b 17-Jan-2011 Jim Miller <jaggies@google.com> Merge "Fix 3342063: Correctly update StatusView when battery changes." into honeycomb
fc5001a5926495182e49408391b84172fb8f7915 17-Jan-2011 Jim Miller <jaggies@google.com> Fix 3342063: Correctly update StatusView when battery changes.

LockScreen wasn't correctly updating StatusView when the battery
status changed. In addition, the messages aren't supposed to
"pop" when changed, so changed visibility state from GONE to INVISIBLE
when not in use.

Change-Id: Icacbf7e2275c77a28e7e0a9d1247abdbebadcd4f
ockScreen.java
atternUnlockScreen.java
tatusView.java
3530ebe451fea39b159baa9b8c9f9cd851de42a3 17-Jan-2011 Jim Miller <jaggies@google.com> resolved conflicts for merge of 578e73da to honeycomb-plus-aosp

Change-Id: I334ae5382220a84881521885b6e3c3991fd8bbb0
6687ecb447025a1c56253d0fd67ad30af070db17 17-Jan-2011 Jim Miller <jaggies@google.com> Merge "Fix 3106227: use WeakReferences for receivers in DigitalClock class" into gingerbread
b47bed9c48f73dbd94c0240983f61edc875e99f5 16-Jan-2011 Jim Miller <jaggies@google.com> Fix 3355957: Don't hide the keyboard for PIN/Password

BT or USB keyboards currently cause the on-screen keyboard to
be hidden. This will probably need to be refactored in the
future but the change is too complicated for the current
release.

Change-Id: Ieb655b85622f7c174ed4a5d1c3766d130a9d32f1
asswordUnlockScreen.java
d04a88cb8e9e8c32a2964ca1ce29984a12f3db71 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix keyboard hidden states.

Bug: 3355957
Change-Id: I7ff8f83421ebd89bacd3ba472e23eeba99732cb1
honeWindowManager.java
ddb16aa8a67bbdac45192b1e335f17810f453fbe 16-Jan-2011 Jeff Brown <jeffbrown@google.com> am 9f1ae205: am 06bc9721: Merge "Disable soft keyboard when keyboard attached." into honeycomb

* commit '9f1ae205b40a2cc730b3e07b1a408ad2803c40fd':
Disable soft keyboard when keyboard attached.
db10a638fd46d91dbf0be48b4df02e4c71d02dab 16-Jan-2011 Jeff Brown <jeffbrown@google.com> am 12116af5: am c8276990: Merge "Add volume down as a safe mode key for Stingray." into honeycomb

* commit '12116af5c422608d609ec884939ee8ceba3279b9':
Add volume down as a safe mode key for Stingray.
8b886fab5496b0b1f5193f21855220176deddc37 14-Jan-2011 Jim Miller <jaggies@google.com> Fix 3106227: use WeakReferences for receivers in DigitalClock class

This works around a bug in the framework where LockScreen wouldn't
get GC'd under certain circumstances which would lead to an OOM
crash. It now uses WeakReferences for observers inside the
DigitalClock container class and unregisters them if the containing
DigitalClock goes away.

Also removed mLive variable which was unused and could potentially
leak the receivers.

Left mAttached for debugging so we can use it to determine if the
calls to onAttachToWindow() and onDetachFromWindow() are grossly
unbalanced which may be the root cause of the original problem.

Have cleanUp() explicitly clear unused references to make
tracing through hprof references easier.

Change-Id: I99a7e0c356001b05eab5aa729564553666febfea
ccountUnlockScreen.java
eyguardViewManager.java
ockPatternKeyguardView.java
ockScreen.java
atternUnlockScreen.java
06bc9721d8f5db053b51e1c536e746833ad46036 15-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Disable soft keyboard when keyboard attached." into honeycomb
4aed78b5056560f499e5953f659fa90a06ecc38a 15-Jan-2011 Jeff Brown <jeffbrown@google.com> Disable soft keyboard when keyboard attached.

Also hide menu shortcuts everywhere until we can get around to
redesigning the menu UI to be more consistent.

Bug: 3306545
Bug: 3330748
Change-Id: I4d4e19525cdfc93d9aae0dcaa1e6266fb552c5bc
honeWindow.java
honeWindowManager.java
c8276990df3ac55c8cbda12919abe247132c96ea 15-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Add volume down as a safe mode key for Stingray." into honeycomb
0ce53b47d6625806ae5aac8eb17e40e6c3510e37 14-Jan-2011 Anders Hammar1 <anders.hammar1@sonyericsson.com> DO NOT MERGE Make the Phone options dialog use current language

The title of the Phone options dialog is displayed using wrong
translation if the user changes the current language setting. Moving
the setTitle call to prepareDialog to ensure that the title gets
updated before the dialog is shown.

Change-Id: I6f8f460789effd22de5be8339cc46667269e78c0
lobalActions.java
e79223ed415ca437aa5954f8bfdaf11309f6338a 14-Jan-2011 Anders Hammar1 <anders.hammar1@sonyericsson.com> Make the Phone options dialog use current language

The title of the Phone options dialog is displayed using wrong
translation if the user changes the current language setting. Moving
the setTitle call to prepareDialog to ensure that the title gets
updated before the dialog is shown.

Change-Id: I03ff59c7f4ff711a06b05de7cca94fa928cf67ef
lobalActions.java
b6e34769aebcd932c31f1ae0f008f5fa0662f638 14-Jan-2011 Anders Hammar1 <anders.hammar1@sonyericsson.com> Make the Phone options dialog use current language

The title of the Phone options dialog is displayed using wrong
translation if the user changes the current language setting. Moving
the setTitle call to prepareDialog to ensure that the title gets
updated before the dialog is shown.

Change-Id: I03ff59c7f4ff711a06b05de7cca94fa928cf67ef
lobalActions.java
b09abc1dd271d0eb4ba4050d8bf9670802a7d0fe 14-Jan-2011 Jeff Brown <jeffbrown@google.com> Add volume down as a safe mode key for Stingray.

Fixed a race condition during startup. We need to wait for the input
devices to actually be ready before trying to detect safe mode.

Fixed a problem during safe mode activation where we would try to add
the overlay window but the display was not initialized. Now we do it
after the system is ready.

Bug: 3134825
Change-Id: I4c043c142ae6bf0d865c79d266d36154eaf00709
honeWindowManager.java
f99f9c5f92dbcdf5f6e9c93847a5dae4c35a817e 13-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3153930: orphan window left on screen

The problem is that if a window containing children is removed
before the children are, the children may be lost. This change
(amongst the huge amount of new debugging code) now ensures at
this point that all children windows are removed when the parent
is.

Note that this results in a bunch of error messages now as the
client app tries to continue to do things with that child window.
This is correct, it shouldn't be doing that, and needs to be
fixed to stop it. But at least it now can't cause the window
manager to leak surfaces.

Change-Id: I7b80dd89ff9de7cb5af1dc759cfa4b31ac29cddc
honeWindowManager.java
a3a078e34317763ad1294e0164c147074584e2e8 12-Jan-2011 Jim Miller <jaggies@google.com> Merge "Fix 3201849: Use custom Drawable for bg in lockscreen" into honeycomb
6014527c350895383b99ba91d3d009a32b1d22a6 12-Jan-2011 Dianne Hackborn <hackbod@google.com> Add "min size" facility to the Window class.

This allows us to have a new dialog theme that behaves like an alert dialog
for both Dialog and Activity versions. Very useful with so many more things
being displayed as dialogs on our nice large screen.

Note I didn't change the existing dialog themes to have this behavior, since
it will probably break things. Instead there is a new variation. And the
DialogWhenLarge variations now use this for their dialog form, to fix many
of the real new dialogs we have that need this behavior.

Removed the public definition of the one alert dialog theme. None of the
others have ever been public, this one shouldn't be.

Added new .Panel versions of the Holo themes, like we already had for the
original themes.

Changed the alert dialog layout to no longer use WeightedLinearLayout,
since the window now takes care of that. This allowed for the removal
of the xlarge version of those layouts.

Change-Id: I0c8372bde25eb9af47404a719b3f07230baf73bf
honeWindow.java
39d4b067a777a96817c279429a8e3c452c13c5b4 12-Jan-2011 Jim Miller <jaggies@google.com> Fix 3201849: Use custom Drawable for bg in lockscreen

This uses a custom drawable to improve the performance of
rendering a transparent background in LockScreen on devices
without hardware acceleration.

Change-Id: I7aae13070d475c3ac19d91ba5c6cb7d2a83a18ce
eyguardViewBase.java
14770e049e10377bd963623891ccb0976b2dd6ee 12-Jan-2011 Joe Onorato <joeo@google.com> Merge "The status bar half of making the status bar resize when hdmi is plugged in." into honeycomb
dc10030581d6eec1c96acd62ed511f91d25d73a1 12-Jan-2011 Joe Onorato <joeo@google.com> The status bar half of making the status bar resize when hdmi is plugged in.

Change-Id: Ia349413774ba709fb3242780671c7b459850f4a4
honeWindowManager.java
32aa2c90ee6e12f6c53c7d572d5c02f1d795b8f7 12-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3338079 - Dialog styled activity decor

Fixed a bug in FastScroller that could cause a crash on an empty list
in always-show mode.

Fix holo light button text color

Change-Id: I7b50043d715b9b870eb34808017d743ba64d2e08
honeWindow.java
f0ad6e6eaf48ac8f4007232ad0a8511a7b5cfc0e 11-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3333015 - Overflow menu item submenus do not open

Submenus of action bar menus will open as new menus.

Change-Id: I924b87bbea91b0df5e3608ec894530302c0e1d8d
honeWindow.java
3b4fcbc9f13bab6a2e9e5c37cc5e18fec7341c04 09-Jan-2011 Brett Chabot <brettchabot@android.com> Add ActivityManager#isRunningInTestHarness() public API.

Replaces use of ro.monkey system property. This new API is controlled by
ro.test_harness.

Bug 3329873

Change-Id: Idb5bbbd9ca691976ef842eec681be34c29915976
ockScreen.java
b450a65c1c833e40d8c85a7670ed64f8be34102b 07-Jan-2011 Jim Miller <jaggies@google.com> Fix 3330653: Update lockscreen layouts to match latest mocks [DO NOT MERGE]

This change list:

- simplifies the UI design to reduce the number of
on-screen items by combining Alarm status with the date line.

- updates many of the layout files to match closer to the
final design.

- Simplifies the logic for showing Status1 info. It's now
more predictable and robust.

- updates the layout for tablets

- contains a modified alpha to work well with different backgrounds
(Tested: white, gray, and dark backgrounds)

- updates the tablet icons to something closer to the final size.

Manual merge from Change-Id: Ifb349dfa778e9c91b0649c8d95229607be5af8e5

Change-Id: Ia2a9a2d285102d0208b3a7fcead58d6454d116ae
ockScreen.java
atternUnlockScreen.java
tatusView.java
247fe74c934cb3fba85aae7e051a8044f460fb11 09-Jan-2011 Dianne Hackborn <hackbod@google.com> Implement issue # 3255887 could CursorLoader offer...

...to throttle contentobserver-based requeries

Why yes, I guess it could.

This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.

And removes some of the old APIs that had been deprecated but
need to be gone for final release.

And fixes a few little problems with applying the wrong theme
in system code.

Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f
honeWindowManager.java
0d69fae5e6b138f951cf6461a353bed32a1f556a 09-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3330683 - Do not show the legacy menu panel for HC apps on
xlarge devices.

Change-Id: Ic268684570a429d8da499c142b23bb20b3fe2b82
honeWindow.java
5e3f284baa271cb0fbf90e504d19fdd2e385382e 08-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3200615 - "MenuPopupHelper cannot be used without an anchor"

Add protection against views disappearing before previously posted
Runnables attempt to show a menu anchored to them.

Change-Id: Ia2a322e76665e61feb5bdb92377d5066cb6d5b04
honeWindow.java
ad7fa7fa77318d416ed338ede6aae582c239f822 07-Jan-2011 Dianne Hackborn <hackbod@google.com> WM part of #3293405: Screen needs to be redrawn when HDMI is plugged in

Change-Id: If5ceb28073c6abf14165871bd99cb481b31a863b
honeWindowManager.java
64da12ab1f472e01325b6c6d094153ac110eaf7b 05-Jan-2011 Jeff Brown <jeffbrown@google.com> Add dispatch key shortcut window callback.

Enables Activities and Dialogs to implement key shortcut behavior.
Useful for global key shortcuts that are not bound to the focused
view or to a menu.

Change-Id: If377d20b227ee1c5cac84c47c9630b2d77f67e2c
honeWindow.java
83c09685f2e62bc3cf7e71bc61d903f4b9ccaeb4 24-Dec-2010 Jeff Brown <jeffbrown@google.com> Add initial support for cursor-based pointing devices.

Some parts stubbed out but you can plug in a mouse and move
a green cursor around to interact with the UI.

Change-Id: I80d597a7f11d3bd92041890f74b3c77326975e6e
honeWindowManager.java
eb9f7a01b0f501a535d872a957c1102ebb13d1c7 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix policy issues when screen is off. (DO NOT MERGE)

Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Bug: 3144874
Change-Id: Iebb91e10592b4ef2de4b1dd3a2e1e4254aacb697
ockScreen.java
honeWindowManager.java
07f3d6649703ee21001ae1590bfd58282a447365 22-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3194697: default orientation for portrait-mode apps on stingray is backward?

Change-Id: Ia01963d1dcdda12ef1b4c56af2bd389e5dadbce1
honeWindowManager.java
caab4d0a509a5283b65d7c44e66b0dc7b89a6d7c 10-Dec-2010 Jeff Brown <jeffbrown@google.com> Update shortcuts.

Also modified the shortcut key handling so that it drops chorded
Search+X keys when even if no shortcut was found. Without this
change, pressing an unhandled shortcut causes the Search widget to
pop up and the character to be typed.

Bug: 3022227
Change-Id: Ic0921428bd1270604ca28caf1f8493727127f4ed
honeWindowManager.java
ccc714131359eb1022d8c6702b7d82ab9e93f27c 13-Dec-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 78e9f4cb to master

Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
e4a5951925f16f18dae91ed65567e96528f17fee 07-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3154576: battery stats checkin should include UID -> packages+ map

Includes some other small fixes to battery collection and a few
other things.

Output of package info looks like this:

5,0,i,uid,1000,com.android.settings
5,0,i,uid,1000,com.android.providers.subscribedfeeds
5,0,i,uid,1000,com.android.providers.settings
5,0,i,uid,1000,com.android.server.vpn
5,0,i,uid,1000,android
5,0,i,uid,1000,com.android.systemui
5,0,i,uid,1000,com.google.android.backup
5,0,i,uid,1001,com.android.phone
5,0,i,uid,1001,com.android.providers.telephony
5,0,i,uid,1022,com.android.nfc
5,0,i,uid,10021,com.google.android.location
5,0,i,uid,10021,com.google.android.syncadapters.calendar
5,0,i,uid,10021,com.google.android.gsf
5,0,i,uid,10021,com.google.android.syncadapters.contacts
5,0,i,uid,10026,com.android.providers.downloads.ui
5,0,i,uid,10026,com.android.providers.media
5,0,i,uid,10026,com.android.providers.drm
5,0,i,uid,10026,com.android.providers.downloads
5,0,i,uid,10032,com.android.launcher
5,0,i,uid,10039,com.google.android.gm
5,0,i,uid,10041,com.google.android.gallery3d
5,0,i,uid,10049,com.android.providers.calendar

Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
ecentApplicationsDialog.java
c1fb48d77ce2db2ca3af1dd2eeb91dc1b0f81b46 09-Dec-2010 Jeff Brown <jeffbrown@google.com> Improve shortcut handling.

Shortcut keys invoked using Meta are handled as fallback actions instead
so applications can handle Meta however they like.

Change-Id: I28955bac5bba9a399eed2fc6c9b73bba3f4bf383
honeWindowManager.java
hortcutManager.java
49ed71db425c5054e3ad9526496a7e116c89556b 07-Dec-2010 Jeff Brown <jeffbrown@google.com> Add support for fallback keycodes.

This change enables the framework to synthesize key events to implement
default behavior when an application does not handle a key.
For example, this change enables numeric keypad keys to perform
their associated special function when numlock is off.

The application is informed that it is processing a fallback keypress
so it can choose to ignore it.

Added a new keycode for switching applications.

Added ALT key deadkeys.

New default key mappings:
- ESC -> BACK
- Meta+ESC -> HOME
- Alt+ESC -> MENU
- Meta+Space -> SEARCH
- Meta+Tab -> APP_SWITCH

Fixed some comments.
Fixed some tests.

Change-Id: Id7f3b6645f3a350275e624547822f72652f3defe
honeWindowManager.java
2ee1856f814c4246f1b56db21693432442a70d94 06-Dec-2010 Daniel Sandler <dsandler@google.com> Merge "Hide navigation buttons and clock on lockscreen."
7e06ea80f781b26e17d630ccbb08237be2541f36 06-Dec-2010 Adam Powell <adamp@google.com> Fix bug 3245210 - Bad window style for action modes for light holo dialog theme

Also fixed some issues with the overlay action mode window styles.

Change-Id: Ie4cf43f6ccf720ef0090ca8bd667fb6d78152f93
honeWindow.java
3e8f5a2c1beb4b918856063880e05125946e4347 03-Dec-2010 Daniel Sandler <dsandler@google.com> Hide navigation buttons and clock on lockscreen.

(This introduces a StatusBarManager disable flag to ask the
status bar to hide just the clock, which might be useful in
other situations, such as clock/dock apps.)

Bug: 3130393
Change-Id: Ia08627508518e2ed3713ffbf856e4ec42952b3a8
eyguardViewMediator.java
049dd3d4a4869e0c65d370e2538fcfb55bacef52 02-Dec-2010 Adam Powell <adamp@google.com> Fix bug 3248786 - silly monkeys.

Change-Id: I41306cae06a7b4fd3852e0760ae668c8d6eacc5d
honeWindow.java
59485d7442a175551fcb5eeee71820432df4ea7b 02-Dec-2010 Daniel Sandler <dsandler@google.com> Do not allow lights out mode for old apps.

Legacy applications using FLAG_FULLSCREEN do so principally
to get as much screen real estate as possible; reducing
clutter is usually a secondary concern. The new UI style
takes care of the latter for the most part, and the former
is irrelevant because the xlarge system bar never goes away.

Lights out---and with it the disappearance of important
systemwide navigation controls---is probably *not* something
these apps are expecting! Consider a game: it might want
FLAG_FULLSCREEN on phone to take over your entire display,
but might also rely on menu (to pause the game or bring up
options) and home (to allow you to exit). Lights out makes
these tasks much harder on the user because those buttons
aren't visible anymore.

So, to mitigate this potentially confusing situation, we now
disable lights out for fullscreen legacy apps.

[Hack, er, cleverness alert: We use NEEDS_MENU_KEY as a
shorthand for "legacy app." This flag is set by
pre-Honeycomb apps by default, but even an app built against
the current API can request this flag; be forewarned that if
you do, you won't get lights out mode in this particular
system bar implementation when you use FLAG_FULLSCREEN.]

Change-Id: If90d8354114ba45f9485b935b87ee575a30b9f87
honeWindowManager.java
8515ee846bd76aee86ec5ddfcc4dd1e626dd999c 30-Nov-2010 Adam Powell <adamp@google.com> Fix bug 3240444 - add OnMenuVisibilityListener for action bar.

Fix bug 3180015 - leaking window handles on configuration change for
action bar dropdown menus

Rename ActionBar.NavigationCallback to something more consistent with
the rest of the API.

Change-Id: Ic1fb4c07484c57a72649b30e27d220b18cda6cdf
honeWindow.java
1f2451007c660091b7b090c1ea332f9044515d2d 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Ensure the ShortcutManager uses the correct key character map.

The ShortcutManager used to only receive the key code of the key event
that triggered the shortcut. This change now provides the shortcut
manager with the whole key event so it can look up the associated
character using the correct key character map.

To make this more efficient, added a mechanism for recycling
key events. At the moment it is only used by key events owned by the
system process, since clients of the existing API (such as Views)
might continue to hold on to key events after dispatch has finished so
they would break if the key event were recycled by the framework.

Deprecated KeyCharacterMap.BUILT_IN_KEYBOARD.

Change-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8
honeWindowManager.java
hortcutManager.java
47e6b1b5eef8ee99872f278f66bc498c4fcca0d8 30-Nov-2010 Jeff Brown <jeffbrown@google.com> Support non-orientation aware keyboards and other devices.

Fixed a bug with dpad keys on external keyboards being rotated
according to the display orientation by adding a new input device
configuration property called "keyboard.orientationAware".

Added a mechanism for overriding the key layout and key character
map in the input device configuration file using the new
"keyboard.layout" and "keyboard.characterMap" properties.

Also added "trackball.orientationAware", "touch.orientationAware" and
"touch.deviceType" configuration properties.

Rewrote the configuration property reading code in native code
so that it can be used by EventHub and other components.

Added basic support for installable idc, kl, and kcm files
in /data/system/devices. However, there is no provision for
copying files there yet.

Disabled long-press character pickers on full keyboards so that
key repeating works as expected.

Change-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791
honeFallbackEventHandler.java
2a98a4cbaaf3300036434dd1d44b891ea8a8c932 20-Nov-2010 Jim Miller <jaggies@google.com> Fix 3024522: Add "no lock screen" support to the framework.

This adds a new feature where LockScreen can be disabled to
allow the device to go straight to the home screen when
powered on.

Change-Id: I288e8d5359442c042ae7911340885877a864faff
eyguardViewMediator.java
50262e587ccd4b2fb0aa28c3b2f779b536825639 26-Nov-2010 Joe Onorato <joeo@google.com> Long press on home shouldn't open recents

Change-Id: Iafb8205878768b74a833528532ab399d44b04263
honeWindowManager.java
a111187a5b4dc5d287e29ced7d65e8d20edca140 24-Nov-2010 Dianne Hackborn <hackbod@google.com> Change rotation freeze to all be implemented in window manager.

Lots of work for no visible change in behavior, but now we can
do some fancier stuff...

Also allow rotation in all 4 directions.

Change-Id: I7e5e9537c5e359f69b83c10f65cc1ce95f371461
honeWindowManager.java
29fc2c9705e1bb8ae098fca016032d2325031587 24-Nov-2010 Joe Onorato <joeo@google.com> Allow status bar panels to be on top of the status bar.

Change-Id: I3c74ece5f7042e6302717f4263746d59d5447ec9
honeWindowManager.java
46b0d6861ce01b5644433e8f9ed9fcb2ae3a66bd 23-Nov-2010 Joe Onorato <joeo@google.com> Turn off the long press on home action

Change-Id: I8b083e9e9b8bde4751264de18e5400434b315848
honeWindowManager.java
621e17de87f18003aba2dedb719a2941020a7902 23-Nov-2010 Dianne Hackborn <hackbod@google.com> Implement issue #3221502: New APIs to support new back stack / task navigation

What this adds:

- A new Intent activity flag to completely replace an existing task.
- A new Intent activity flag to bring the current home task up behind
a new task being started/brought to the foreground.
- New versions of startActivity() that take an array of Intents to be
started, allowing applications to start a task in a specific state.
- A public moveTaskToFront() method on ActivityManager, with a new flag
that allows the caller to have the task moved to the front with the
current home task immediately behind it.

Change-Id: Ie8028d09acffb5349d98043c67676daba09f75c8
ecentApplicationsDialog.java
0a3ab5d632e16ef86bdc05bc45a16b016f02e3f1 19-Nov-2010 Dianne Hackborn <hackbod@google.com> Goodbye title_bar_shadow.

May you rest in HELL.

Change-Id: I1e9e5f509a7860e4aeb4f6598b8c6551a59a8714
eyguardViewBase.java
8e11ef0d949a52fec15359ec35557b2e773b093d 19-Nov-2010 Dianne Hackborn <hackbod@google.com> Some work on issue #3201795: Improve transition when keyboard comes up

Now try to slide dialogs if they end up moving due to the IME (or
other system things) showing/hiding. Pretty hackish, but seems to
work.

Change-Id: Icd297e941cf847fa920c9605145c46be63043d52
honeWindowManager.java
6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Added support for full PC-style keyboards.

BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
honeWindow.java
honeWindowManager.java
hortcutManager.java
7dda196e34c6c51bd219c79e8087f1d83cbbe8c3 09-Nov-2010 Yuling Liu <yuling.liu@sonyericsson.com> Change hide() to dismiss() to avoid memory leak.

Change-Id: I4a5acb123c673c75a48c3e77566cdca4760d8576
imUnlockScreen.java
bf85f43e48d046fe214cdadfa553e85f909d2b76 16-Nov-2010 Adam Powell <adamp@google.com> Add protection for ActionMode-related window callbacks that may not
implement new methods.

Change-Id: Id4463ee97366187ba43b0966f79aa8bd34f7fa1d
honeWindow.java
debf3bed9ea913ac55c80e1f9f7f33217054a943 16-Nov-2010 Adam Powell <adamp@google.com> Fix bug 2948913 - provide lifecycle notifications for action modes

Change-Id: I432e29a7bddb18bc32dfbe21a8ecd7d83158e3a0
honeWindow.java
c028a5ee7e6998f8ab0239baf91634eadad021e8 16-Nov-2010 Adam Powell <adamp@google.com> Merge "Fix a couple interactions between action bar and options menus"
8d12e201626239291fe2c4b31f97f2a14f01dea9 16-Nov-2010 Adam Powell <adamp@google.com> Fix a couple interactions between action bar and options menus

Fix bug 3129937 - Activity.openOptionsMenu not calling onPrepareOptionsMenu

Fix bug 3070720 - actionbar android.R.id.home isn't dispatched to fragments

Change-Id: I4a154941595583cdec7d1dffbeac9c8340781fa0
honeWindow.java
dab0014acc9e010a65352a2eaa15bbed309a9c87 15-Nov-2010 Mathias Agopian <mathias@google.com> am 99866c11: am 9e291a4b: Merge "Revert "allow all 4 orientations"" into gingerbread

* commit '99866c111bd72a6cc9be17b127cd40ec9396ca7d':
Revert "allow all 4 orientations"
7eec10e6c99c30d5ee061fec08ac89ad4254ac32 13-Nov-2010 Dianne Hackborn <hackbod@google.com> Get rid of the extended themes.

We now decide whether to use a bitmap background based on whether the
window's drawing is hardware accelerated. To do this, there is a new
"state_accelerated" that state list drawables can be parameterized on,
and the standard window background uses this to select a solid color
or bitmap drawable as appropriate.

Introduces a little hackery to have wm preview windows pretend like
they are hardware accelerated even if they aren't, so the preview looks
closer to the actual app.

Also Add a DialogWhenLarge variation for the light theme.

Change-Id: I215a79d5df65ba3eed52ab363cade9d8218a6588
honeWindow.java
honeWindowManager.java
f9ce879e5cdc7e36e5f56cfcd7675036e79b3921 14-Nov-2010 Mathias Agopian <mathias@google.com> Revert "allow all 4 orientations"

This reverts commit 1d8d0159e72556ea20aba325fb27d8470282e1ba.

Change-Id: Iffd8cbad98ff7e498032df1d226f4fbc7cde95b1
honeWindowManager.java
6af97e1c20df4d7010fafd7059c95d9b4113e4a6 12-Nov-2010 Adam Powell <adamp@google.com> Revised assets for progress bars and indeterminate progress spinners.

Add support in ActionBar for activity-wide progress APIs.

Add ability for progress bars to set a target framerate rather than
the 5fps previously used.

Clean up some more dialog layouts using hardcoded styles rather than
theme attributes.

Change-Id: I8e88c7595e27c0b6f7829b598f2b084ac8501ae3
honeWindow.java
55d3bae235a8d233acd486385dad7836cb40da1f 13-Nov-2010 Dianne Hackborn <hackbod@google.com> Merge "Change recents UIs to do task switches."
46e75294d540fe807d78aec2582ae02cc38c7d42 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Enable touch splitting for all windows by default.

New default only applies to applications with targetSdkVersion >=
HONEYCOMB. Old applications default to no touch splitting for
their windows.

In addition, enabled split touch for various system windows.

Bug: 3049580
Change-Id: Idc8da9baa2cd8e1e4e76af8967d7b6a5ccb94427
honeWindow.java
b677746bd8cfbf7dc37ebe31c000017a70037b06 12-Nov-2010 Dianne Hackborn <hackbod@google.com> Change recents UIs to do task switches.

When switching to a recent task that is currently active, do a
task switch instead of a start activity, so the activity is brought
back in its exact same state.

Also fix problem in phone recents where the icon would disappear
after you touch it.

Change-Id: Id5c8478f8c33c90f52fbb4d969037d2bf5af9fff
ecentApplicationsDialog.java
3915bb845b032dc184dba5e60970b803390ca3ed 05-Nov-2010 Jeff Brown <jeffbrown@google.com> Tell system server whether the app handled input events.

Refactored ViewRoot, NativeActivity and related classes to tell the
dispatcher whether an input event was actually handled by the application.

This will be used to move more of the global default key processing
into the system server instead of the application.

Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
honeWindowManager.java
51387974f0914a12dcf758938bbd4ffe120bdab4 08-Nov-2010 Joe Onorato <joeo@google.com> Merge "Move the volume, media, call, camera and search key handling from PhoneWindow to a new PhoneFallbackEventHandler class that is used for all windows, not just ones with decors."
d44266cec387e76b788b4eb84b28463fa3268c66 07-Nov-2010 Hiroshi Lockheimer <hiroshi@google.com> am 01128df3: am ce22d608: Merge "allow all 4 orientations" into gingerbread

* commit '01128df3c442b87f601d9c13ff2ebd54b015925d':
allow all 4 orientations
86f6786032b1a0380cf089aeeceef7e9d8982ef8 06-Nov-2010 Joe Onorato <joeo@google.com> Move the volume, media, call, camera and search key handling from
PhoneWindow to a new PhoneFallbackEventHandler class that is used
for all windows, not just ones with decors.

Bug: 3155146
Change-Id: Ib070fa3e523e3564b225bca576c08012fef4f416
honeFallbackEventHandler.java
honeWindow.java
olicy.java
1b815d68053394463df3822c49e377308ca73cca 05-Nov-2010 Daniel Sandler <dsandler@google.com> Rotation lock bugfix.

We were using a stale version of the accelerometer rotation
setting when figuring out what the current rotation lock
state is.

Change-Id: I7780617c875a8f6c9697e829642f86f9f664df89
honeWindowManager.java
1d8d0159e72556ea20aba325fb27d8470282e1ba 05-Nov-2010 Mathias Agopian <mathias@google.com> allow all 4 orientations

Change-Id: Ia01b234d7d4e55cd4d8776e2a003ecf0cbd7d06f
honeWindowManager.java
e213677037f836529efcc0ac201fc61dd95481c5 04-Nov-2010 Dianne Hackborn <hackbod@google.com> Push the jumpDrawablesToCurrentState() thing off everywhere it should be.

Also add a new interface that items in AbsListView can implement to
adjust the bounds of the selection shown for them. This will allow
contacts to use list view's regular selection facility rather than
implementing something special in their item views.

Change-Id: I29cbdbc7122111ee97e47fe7d6ec55ff07be79cc
ecentApplicationsBackground.java
b73617de462579f7c12c25a4c2747c576f00f6a2 17-Aug-2010 Daniel Sandler <dsandler@google.com> Rotation lock.

IWindowManager now supports two new methods,
freezeRotation() and thawRotation(), that allow a caller to
temporarily stash the device's current rotation as the
default rotation (when no other constraints are present).

The system bar uses this to implement a user-accessible
rotation lock by calling freezeRotation() and then turning
off accelerometer-based display rotation; unless overridden
by an app, the display will continue to appear in the frozen
rotation until the rotation is unlocked by the user (either
via the rotation lock icon in the system bar or by checking
"rotate screen automatically" in Settings).

Bug: 2949639
Change-Id: Icd21c169d1053719590e72401f229424b254622f
honeWindowManager.java
0c91a8ee9321da4dee17f0aeffbc20b0c5bb0644 02-Nov-2010 Jim Miller <jaggies@google.com> Minor tweaks to lockscreen animation:

Remove transition delay to show home.
Add new constants to allow finer tuning of "success" animation.
Transition all items to transparent on successful unlock.

Change-Id: Id9f57b9bfc08be840d9282f987925617d2b42ea1
ockScreen.java
b0418da0e7594a8c2164a46985c5f1993632e010 01-Nov-2010 Jeff Brown <jeffbrown@google.com> Add plumbing for volume mute key.

Full support for the volume mute key will be implemented in a
later change.

Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
eyguardViewBase.java
eyguardViewMediator.java
honeWindow.java
honeWindowManager.java
4d396052deb54399cbadbeb8abd873df6f3af342 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix policy issues when screen is off.

Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Fixed a couple of issues where media keys were being handled inconsistently
or not at all, particularly in the case of the new PAUSE, PLAY
and RECORD keys.

Bug: 3144874
Change-Id: Ie630f5fb6f128cfdf94845f9428067045f42892c
eyguardViewBase.java
eyguardViewMediator.java
ockScreen.java
honeWindow.java
honeWindowManager.java
6c586dbb977c461b1c929f2b5e813ea3c0e658b4 01-Nov-2010 Joe Onorato <joeo@google.com> Long press on menu no longer opens the IME.

Bug: 3063616
Change-Id: I6f13300d2dc2f7fa549c7329e9b5509b6d4ffd5d
honeWindow.java
dea3ef7967228f0ddcc03f2455a4f1254758e584 28-Oct-2010 Dianne Hackborn <hackbod@google.com> Add new resize mode to not resize, new web input types.

Change-Id: Ib098c03793d08532c3c099b59d0cc6b567e54900
honeWindowManager.java
82de1aecd17b4f2e0113fd345d84298649f001b8 28-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3083761: windowSoftInputMode="adjustPan" ignored on stingray

The code for the new always-there status bar was a bit too brute-force,
and also impacting things like the IME. We now implement this by
actually having an explicit concept of "display size" that the status bar
can carve out from everyone else.

Change-Id: I1963d0b07f52e8d8dc3c836227da9bf5d3f2e8b9
honeWindowManager.java
a6face4d40280067c6c829c8c186fc47969e7b7b 25-Oct-2010 Marco Nelissen <marcone@google.com> Plumb KEYCODE_MEDIA_PAUSE and KEYCODE_MEDIA_PLAY up through the framework.
b/2764237

Change-Id: I9a20974fa0b7527230258f7d0bf829a031673a9d
eyguardViewBase.java
eyguardViewMediator.java
honeWindow.java
honeWindowManager.java
85446e95afa480cee2247bb96795fccc8cf812af 23-Oct-2010 Adam Powell <adamp@google.com> Fix bug 3105695 - Action modes in dialogs or other small windows

Overlay action modes now show in their own windows aligned to the top
of the screen.

Change-Id: I81600bbd1bcaeb59fdcf0a959bd35f82165baa2c
honeWindow.java
385a753dead6ef15f2e30eae47f73e642b3ef7ed 21-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 368fdba4 to master

Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
431bb2269532f2514861b908d5fafda8fa64da79 19-Oct-2010 Joe Onorato <joeo@google.com> Reduce logging.

Remember, the system and main logs are
- Shared resources
- Primarily for recording problems
- To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
eyguardViewMediator.java
3b2b354ec1ba070eae13391d004d97a3e1403050 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays.

Manual merge from Gingerbread.

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: Id876736fd8bf332ff9a5428bde59f5268aa49c3a
honeWindowManager.java
2d3f159aa9622e05a18e7f93cecd57ad673955ae 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays. (DO NOT MERGE)

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
honeWindowManager.java
253a5ef88638037ec986bfd6c88bf36dc5e7d471 14-Oct-2010 Jim Miller <jaggies@google.com> Fix 3024528: Add owner info to SecureSettings.

Change-Id: Ibed62aa8881c795f0d48007fc04beac0e9c1d4a0
tatusView.java
cd4af421ca6b102cabd2cf1ff63488e086c32c44 14-Oct-2010 Jeff Brown <jeffbrown@google.com> am 4b255a23: am 03aa28fb: Merge "Improve the input policy handling a bit." into gingerbread

Merge commit '4b255a23041225103a6870e77a236f78c2816eda'

* commit '4b255a23041225103a6870e77a236f78c2816eda':
Improve the input policy handling a bit.
e02d808abf370965c3c4e4d38af11bc69110fde2 08-Oct-2010 Daniel Sandler <dsandler@google.com> Dynamically show the menu button on the system bar.

Windows with FLAG_NEEDS_MENU_KEY (or windowNeedsMenuKey=true
in their theme) will cause the system bar to show a menu
icon. (Note that the phone's status bar currently ignores
this, but phones tend to have hardware menu keys anyway.)

Additionally, all windows whose package's SDK version is
pre-Honeycomb will have FLAG_NEEDS_MENU_KEY set by default.

Bug: 3003728

Change-Id: I2d983763a726ea4f32cd1af9b0390e30478b11d1
honeWindow.java
honeWindowManager.java
3122e4488aa0749cbec9890ace22c366e35350c3 12-Oct-2010 Jeff Brown <jeffbrown@google.com> Improve the input policy handling a bit.

Fixed some issues with Monkeys turning off their own screens. Ook ook!
Added some more comments to explain what's going on.

Change-Id: Id2bc0466161a642a73ef7ef97725d1c81e984b12
honeWindowManager.java
e20c9e0264190f94324197a8271cf03811a4ca58 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Cherry pick of b931a1b4 from gingerbread into master.

Change-Id: I700a5f07b8b227878cea9437a289a45a245c0424
honeWindowManager.java
b931a1b4183386ba840edc1bcc507eccf11b5cbe 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Change-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970
honeWindowManager.java
481bbb9c11e640cc6b322bdb300f69f31ea011fe 08-Oct-2010 Joe Onorato <joeo@google.com> Merge "Get rid of the global actions menu on tablets."
d208e709267f8af77690cb38dba2ae8e30ab5241 08-Oct-2010 Joe Onorato <joeo@google.com> Get rid of the global actions menu on tablets.

We have the system tray for that stuff. Make long press on power
go directly to the shut down confirmation dialog. Make that dialog
auto dismiss when the screen goes off. Reword it when we're skipping
the global actions menu, because it feels too abrupt to say "The
phone will shut down" when they haven't clearly pressed a button
that says shut down.

Change-Id: I8c92a1362bd4ed242e6cd94c2dae6d9ff9c4c34d
honeWindowManager.java
owerDialog.java
1657f43095bf455b9c9efdc5f9b9761e4b4cb189 08-Oct-2010 Jim Miller <jaggies@google.com> Merge "Fix 3061025: Extend wave lockscreen timeout while grabbed."
4139b5505c1e07c56900aa72dd91a01e6b740f5f 08-Oct-2010 Jim Miller <jaggies@google.com> Fix 3061025: Extend wave lockscreen timeout while grabbed.

This fix extends the lockscreen timeout to 30s while the
handle is being held. As a precaution, it will still timeout
after 30s of not completing the lock. Once the handle is
released, the screen will go dark after 5s, which gives
it enough time to finish pending animations.

Change-Id: Ie89449b6b09de06ca8a88702cc85085b2556903c
ockScreen.java
d37870af20dc4c1dd4b5a13889767d699a85e701 07-Oct-2010 Joe Onorato <joeo@google.com> Don't crash if there is no phone app and someone presses the phone button.

The phone button probably doesn't exist on products without phone apps,
but the monkeys still know how to find it.

Change-Id: I36aca53506c8d7d7565df8674aff9d59745139e0
honeWindow.java
38014763a2ceec005682066da01849adf95839bd 05-Oct-2010 Dianne Hackborn <hackbod@google.com> am 89230e3b: am 458fc5f5: Merge "Fix issue #3041660: Camera image flips upside down when rotating device" into gingerbread

Merge commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d'

* commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d':
Fix issue #3041660: Camera image flips upside down when rotating device
e5439f228f603f60febe058f633d91d5af2fff76 03-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3041660: Camera image flips upside down when rotating device

Apps now must explicitly opt in to having their rotation changed while
forcing landscape mode. Also add some new orientation constants for other
things apps may want to do.

Change-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd
honeWindowManager.java
27dec99148c9d1cddb99269b131d8220098dc79f 02-Oct-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 4d28e8c5 to master

Change-Id: I2449488a84e44b3fb5f820b50951b2b2bfa3bcbf
6493e64c2a3d5fa6adf0e6331a061d5bc67649fa 01-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3037083: Problem report for Pinball

The app was toggling between hiding and showing the status bar, because
the dialog was large enough to fill the screen but didn't set to hide
the status bar.

It turns out that the code to determine the top fullscreen window is
intrinsically unstable, since it relies on comparing a window's frame
with the screen, yet the window frame can change as a result of changes
such as hiding the status bar.

Instead, we now simplify all of this to just say that the top fillxfill
window gets to control the status bar.

Change-Id: I22913adf7235fe0d52612f6738c7c94351274e38
honeWindowManager.java
a53146c5569f8ff5f7eb55e9ad35d23ddacf2add 07-Sep-2010 Christopher Tate <ctate@google.com> Drag/drop APIs and infrastructure

A View initiates a drag-and-drop operation (hereafter just called a "drag")
by calling its startDrag(ClipData) method. Within the processing of that
call, two callbacks are made into the originating View. The first is to
onMeasureDragThumbnail(). Similarly to the core onMeasure() method, this
callback must respond by calling setDragThumbnailDimension(width, height) to
declare the size of the drag thumbnail image that should be used. Following
this, the View's onDrawDragThumbnail(canvas) method will be invoked to
actually produce the bits of the thumbnail image.

If all goes well, startDrag() will return 'true', and the drag is off and
running. (The other arguments to startDrag() provide reconciliation between
the current finger position and where the thumbnail should be placed on
the screen relative to it.)

Potential receipients of the ClipData behind the drag are notified by a
new dispatch mechanism, roughly parallel to motion event dispatch. The core
routine is the View's onDragEvent(event) callback, with the mechanics of
dispatch itself being routed through dispatchDragEvent(event) -- as in
the case of motion events, the dispatch logic is in ViewGroup, with leaf
View objects not needing to consider the dispatch flow.

Several different event 'actions' are delivered through this dispatch
mechanism:

ACTION_DRAG_STARTED: this event is propagated to every View in every window
(including windows created during the course of a drag). It serves as a
global notification that a drag has started with a payload whose matching
ClipDescription is supplied with the event. A View that is prepared to
consume the data described in this event should return 'true' from their
onDragEvent() method, and ideally will also make some visible on-screen
indication that they are a potential target of the drop.

ACTION_DRAG_ENTERED: this event is sent once when the drag point
enters the View's bounds. It is an opportunity for the View to set up
feedback that they are the one who will see the drop if the finger goes
up now.

ACTION_DRAG_LOCATION: when the drag point is over a given View, that
View will receive a stream of DRAG_LOCATION events, providing an
opportunity for the View to show visual feedback tied to the drag point.

ACTION_DRAG_EXITED: like DRAG_ENTERED, but called when the drag point
leaves the View's bounds. The View should undo any visuals meant to
emphasize their being the hovered-over target.

ACTION_DROP: when the drag ends at a given point, the View under that
point is sent this event, with the full ClipData of the payload.

ACTION_DRAG_ENDED: paralleling the DRAG_STARTED action, this is the global
broadcast that the drag has ended and all Views should return to their
normal visual state. This happens after the DROP event.

Change-Id: Ia8d0fb1516bce8c735d87ffd101af0976d7e84b6
honeWindowManager.java
04e79051dce4f7ea3b3c6ced2c03676083449267 24-Sep-2010 Steve Howard <showard@google.com> am 56d60903: am a7bfe6ad: Support "seascape" rotation for "landscape-only" apps

Merge commit '56d6090380027efc7910537a2c2b99097ca36778'

* commit '56d6090380027efc7910537a2c2b99097ca36778':
Support "seascape" rotation for "landscape-only" apps
a7bfe6ad763208942d74a15933e2de1a3e06eba0 24-Sep-2010 Steve Howard <showard@google.com> Support "seascape" rotation for "landscape-only" apps

Change-Id: Ibbbd850dc2bfb741b39c04c982fbdd98f3fa4a67
honeWindowManager.java
3060421045d4d9e411797f91bb509824b03e33fb 23-Sep-2010 Jim Miller <jaggies@google.com> Add new WaveView widget to framework and integrate into LockScreen.

This adds a new "Energy Wave" widget to the internal widgets and
integrates it into LockScreen.

ValueAnimator needed a slight modification since it expects to
be run inside of Activities with a Looper. Additionally, this adds
an API, removeAllUpdateListeners(), which is needed to properly
recycle ValueAnimator objects.

Some minor code cleanup and UI tweaks after review.

Changed delay timeout from 1.3s to 0.5s.

Change-Id: Ibcf015e61fa8ba79d62f2019f1b29ace7caa00c8
ockScreen.java
5bd069fe1e5208b9d41ea108a8c9ada504cae39c 23-Sep-2010 Jeff Brown <jeffbrown@google.com> am 27917946: am de04fb0a: Merge "Enforce serial ordering of MotionEvents." into gingerbread

Merge commit '279179461edccaa4217fe752a9abf6fcc2efa5a1'

* commit '279179461edccaa4217fe752a9abf6fcc2efa5a1':
Enforce serial ordering of MotionEvents.
93ed4e3052a773289c0570984801ea8f0f0849d2 23-Sep-2010 Jeff Brown <jeffbrown@google.com> Enforce serial ordering of MotionEvents.

This change modifies ViewRoot to wait until the MotionEvent has been
delivered before telling the input dispatcher that it is finished.
The serial ordering guarantee will be required by new features that
may need to transfer touch focus from one window to another.

Change-Id: I0a64d1f0c8bc3f08846f213d6e28ce48b1d48e58
honeWindowManager.java
8d20f6b8cb5023318a4f422778d1d4f845ac7fe4 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am 40e3af61: am 8abc9e9b: Merge "Don\'t play a sound if a volume key press is canceled." into gingerbread

Merge commit '40e3af61dcbf7e49979a67410f37c4b4523a0bd6'

* commit '40e3af61dcbf7e49979a67410f37c4b4523a0bd6':
Don't play a sound if a volume key press is canceled.
8b7a982d290b368407e0c419c10105d5d4306b4b 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Don't play a sound if a volume key press is canceled.

Change-Id: I8e45af20ec83a81565e10be3648b95686fa897af
honeWindow.java
9305647eb61bb60a1f42481a0c0d208dc9bbe965 10-Sep-2010 Joe Onorato <joeo@google.com> Plumb lights out mode through from the window manager to the status bar running in the system ui process.

Lights out mode itself isn't implemented.

Change-Id: Ieeef0eb9ae5be23000f770e74e8ee66472f4c673
honeWindowManager.java
bc4603b0b1f1242387655274e39649882ca391d1 31-Aug-2010 Jim Miller <jaggies@google.com> Fix 2579224: Add a separate timeout for lockscreen vs display

This change adds a second timeout to the SecuritySettings page
separate from the standard display timeout.

Change-Id: I41fe10e31688308f52695ad3ee30a4b0507112bd
eyguardViewMediator.java
ee969aa850437c7c9b4e6e016b6ff43267c73d91 27-Aug-2010 Jim Miller <jaggies@google.com> Fix 2797185: Show 3D Recents on xlarge device

This fixes a bug where some xlarge devices weren't showing 3D recent apps.
The cause was that the config wasn't guaranteed to be loaded by
the time we reach init() in PhoneWindowManager.

The fix looks at the property on-demand, which can't happen
until after the user sees the home screen, which guarantees the
configuration is loaded.

Change-Id: Ic41196f7a15218033b831e6e9cf9d536e0712844
honeWindowManager.java
e6ad1a8ba29bdd5d61ad1c91146def582c8c0334 21-Aug-2010 Jim Miller <jaggies@google.com> Fix 2797185: Integrate 3D RecentApps View into system.

This adds 3D recents to the platform. Enabling it is a
matter of setting 'config_enableRecentApps3D' on devices
capable of supporting it (those with OGLES2.0 at the moment).

Change-Id: Ife7bfe8ca02e7657821b68f915e31b0dab50cd2c
honeWindowManager.java
f4a6ec4e9398c1beb019e1c208272bf56401f925 24-Aug-2010 Adam Powell <adamp@google.com> Disable FEATURE_ACTION_BAR on windows with incompatible feature sets.

Change-Id: I70c860c72eb9e1f1f123764202334ab714f4f830
honeWindow.java
6c6f575423d6718c3ff322224c1520901ce881e1 21-Aug-2010 Adam Powell <adamp@google.com> More ActionBar/config change tweaks. Preserve open overflow menus

Change-Id: Ic8ad2b1e3909fbf84ff4d852ae046a9f9508477c
honeWindow.java
dfc8cde5c865560458518dfcd178ec9f4ebede30 21-Aug-2010 Steve Howard <showard@google.com> am 1f442104: am e0c8582e: Merge "Improve orientation sensing when waking up while flat." into gingerbread

Merge commit '1f4421048206ca1745ddd6366588759c9c5c38f9'

* commit '1f4421048206ca1745ddd6366588759c9c5c38f9':
Improve orientation sensing when waking up while flat.
5eb49583e2f0b82d7a48182ffed5f409b4f85dc5 16-Aug-2010 Steve Howard <showard@google.com> Improve orientation sensing when waking up while flat.

This change makes the window manager pass the currently displayed
orientation to the WindowOrientationListener each time to calls to get
the currently sensed orientation. Now, when the
WindowOrientationListener doesn't know for sure what the orientation
of the device should be (for example, if the sensed orientation is
flat on a table), then it trusts the already-displayed orientation,
rather than trusting whatever sensors reading it most recently
received.

The main use case this addresses is:
* user uses device in portrait
* user turns off device, puts it in pocket
* while in pocket, screen gets turned on, activating orientaiton
sensor, which senses landscape orientation
* screen timed out
* user takes device out, places it on a table (or looks down at it,
holding it flat), and unlocks it

Previously, when the device was unlocked, the
WindowOrientationListener would return landscape orientation based on
its previous sensor readings. Now, it will override those previous
readings because it knows they never actually took effect and the
device is presently flat.

This change also slightly modifies the way we handle flat orientation,
now completely ignoring data when the tilt distrust is nonzero (even
if the current sensor reading shows non-tilted).

Change-Id: Ia4950a41827f8c53a80487d0c2e83b556df781b9
honeWindowManager.java
04253aa134c4795d98cdb219b952393be1914f8b 18-Aug-2010 Adam Powell <adamp@google.com> Back button closes ActionModes

Change-Id: I763782706ce7aa65a5a11129450d97a2bcb3a625
honeWindow.java
291905e34a7f0ae03c68fb2c1b8c34b92d447fbf 18-Aug-2010 Dianne Hackborn <hackbod@google.com> Maybe fix #2925641: calling onCreateOptionsMenu before attached activity

Also add some APIs to PreferenceActivity.

Change-Id: I85894a3eb9cd3e5adb78b82e85454c0d74773178
honeWindow.java
266b1008cfc570d95d10ce650343765fa6bac7e7 17-Aug-2010 Adam Powell <adamp@google.com> Fix some ActionBar bugs.

* Fix a bug where the options panel would not open on non-xlarge
screens to show overflow menu items.

* Fix a bug where ActionBarView would try to add a custom nav view
twice.

* Fix a bug where ActionBarView would expand too far in wrap_content mode

Change-Id: I433ea56524aad885d813ae8743fe2fcefa9649fa
honeWindow.java
8171b5182f5f07d33c9dfdf2dd8f0f6ae9588039 05-Aug-2010 Jae Yong Sung <jysung@google.com> lock screen for xlarge

Change-Id: Iab9f53609bf24be774752a9960aaaa654d7a614f
eyguardViewManager.java
ockPatternKeyguardView.java
ockScreen.java
asswordUnlockScreen.java
atternUnlockScreen.java
tatusView.java
b047208b3b3391d5c9b0114b0906341240f48368 12-Aug-2010 Adam Powell <adamp@google.com> Cleanup on CL 61012

Change-Id: I394909c65a4978be26db063c9f69f1098ab028b3
honeWindow.java
f6148c53f93978af678cc0559a4417b608a33ae1 12-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2911311 and bug 2911700

Integrate the action bar overflow menu better with the options menu lifecycle.

Change-Id: I1e3fdba04b01718c3ee3367f92e5dabe7bc84b5c
honeWindow.java
943fbb4f4006273ae5983da42143d721ae05dfd4 12-Aug-2010 Adam Powell <adamp@google.com> Merge "ActionBar overlay mode, height fetching, show/hide"
b219a83ff6278eeef981e6908abf871876a68699 12-Aug-2010 Jeff Brown <jeffbrown@google.com> am f66f8a58: am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread

Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'

* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
Add support for the PointerLocation overlay.
6b336f835d637853800b94689375a03f337139a4 11-Aug-2010 Adam Powell <adamp@google.com> ActionBar overlay mode, height fetching, show/hide

Change-Id: Ie931ed26ec885d891d6733132b517a53d95f8491
honeWindow.java
a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Add support for the PointerLocation overlay.

This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications. The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
honeWindowManager.java
f75eeb28def26798682748aa5dedabebac86bb6a 11-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2908822 - open/closePanel should do the right thing with ActionBars

Change-Id: Ic77f9dee864d17046f69c78a1e6d96a49b5c6180
honeWindow.java
6dd73b45a4b21eba4d1035346cc7870bb01ab621 06-Aug-2010 Adam Powell <adamp@google.com> Fix some lifecycle issues with populating the action bar's menu

Change-Id: I5f63df3260392b09fbb7120986702d01dac5906c
honeWindow.java
8e552630e72a17d7340f1bebccbc6fd6faef82fb 05-Aug-2010 Adam Powell <adamp@google.com> Let action modes overlay window content

Change-Id: Ic0512c3e6338e1de15facec0a6650f9da9808a24
honeWindow.java
5d27977f9da482627ceb19317a2cd70467aff046 28-Jul-2010 Adam Powell <adamp@google.com> Action modes without action bar

Change-Id: I0367ab35e598a17980bd373b30828175f6283acc
honeWindow.java
ac670c0433d19397d4e36ced2110475b6f54fe26 28-Jul-2010 Romain Guy <romainguy@google.com> Generate shaders to cover all possible cases.

With this change, all the vertex and fragment shaders used by the GL
renderer are now generated based on a program description supplied
by the caller. This allows the renderer to generate a large number
of shaders without having to write all the possible combinations by
hand. The generated shaders are stored in a program cache.

Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
honeWindow.java
6e34636749217654f43221885afb7a29bb5ca96a 23-Jul-2010 Adam Powell <adamp@google.com> Moved context modes into view, renamed to action modes

ContextualMode renamed to ActionMode. Adds a reference to the action
bar and reduces confusion around things named "Context".

Change-Id: Ia5098b1d0799a0ece0810c34e6696eda039fb005
honeWindow.java
4042744bf8e5630690b479a9447bc6aff8c279fe 16-Jul-2010 Daniel Sandler <dsandler@google.com> Disable hiding of the system bar on xlarge devices.

We treat the system bar as "outside" the available screen,
so activities will never be able to draw over (or under!)
that space.

Change-Id: I287a0b1e837e415cf08fc94053c4cc14a7753848
honeWindowManager.java
8028dd32a4a04154050220dd0693583d5b750330 15-Jul-2010 Adam Powell <adamp@google.com> Overflow menu for action bars.

The overflow menu replaces the normal options menu panel for
activities with an action bar. It always appears as the rightmost
action button and is displayed as a dropdown menu. The menu key
summons and dismisses the overflow menu instead of the options panel
where applicable.

Change-Id: I0b4fa7e36f35ab12e2f0c1d12bec79ccab8cc4b1
honeWindow.java
e92ea3474de7998a016b48bab4e9a4bbafd5b549 14-Jul-2010 Adam Powell <adamp@google.com> Fix bug 2835056 - ActionBar doesn't update title properly when set in onCreate

Change-Id: I593315db8df0190c2702a87ebef293e5f798823d
honeWindow.java
2388ad9eef109fa7f63c196c819c83f0376f0645 14-Jul-2010 Dianne Hackborn <hackbod@google.com> am f8d9379b: am d76b67c3: IME events are now dispatched to native applications.

Merge commit 'f8d9379bd834573feca085284970cf686993c330'

* commit 'f8d9379bd834573feca085284970cf686993c330':
IME events are now dispatched to native applications.
d76b67c340d1564abf8d14d976fdaf83bf2b3320 14-Jul-2010 Dianne Hackborn <hackbod@google.com> IME events are now dispatched to native applications.

And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
honeWindow.java
4267534d1c42af847ed0cefd1c88c99f66b36571 10-Jul-2010 Adam Powell <adamp@google.com> Action Bar now supports submenus as popups.

Change-Id: I1691c16081b3474ed6d6e406f91f5f74a2dc8fcb
honeWindow.java
1a33274d28a3174b9062ae0dcce77bf1d68cd463 09-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 167449e5 to master

Change-Id: Ib448e69a726eb45b5c9099d2574e40b8345eee67
34bcebca707187393263183aa4dab32728763f2f 08-Jul-2010 Joe Onorato <joeo@android.com> Let the window manager place the rest of the windows on screen when the status bar is at the bottom.

Change-Id: I29c43beee047bb99695a34e6b202ff3f8400c8c2
honeWindowManager.java
00fa7bdd69f0868fd17ea7c881c771d785b2fbbd 03-Jul-2010 Jeff Brown <jeffbrown@google.com> More native input dispatch work.

Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
honeWindowManager.java
89e0645b4157961e8c465eb9c819f965fdb453d8 24-Jun-2010 Adam Powell <adamp@google.com> Added context modes to ActionBar API.

Change-Id: I7c3e782cbf01be7bc671b377fb4d706040888833
honeWindow.java
f92f8686f982c62a609a2087383a77a24d126992 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am 98f7aed6: am 1e4b9f39: Remove InputConsumer, replacing with InputQueue.

Merge commit '98f7aed66b54c365f816fe990de978f61155cde1'

* commit '98f7aed66b54c365f816fe990de978f61155cde1':
Remove InputConsumer, replacing with InputQueue.
1e4b9f3936d6f357e89360293e05a0e16d5fa440 23-Jun-2010 Dianne Hackborn <hackbod@google.com> Remove InputConsumer, replacing with InputQueue.

Change-Id: Ib06907278457aaee842b123adc072840ca3602d8
honeWindow.java
320742b15a710ede57862eee170945da26ef0172 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am e3e2883f: am e24a60aa: Merge "First stab at attaching native event dispatching." into gingerbread

Merge commit 'e3e2883f2232007174ead562610eb01201890d9b'

* commit 'e3e2883f2232007174ead562610eb01201890d9b':
First stab at attaching native event dispatching.
a95e4cb62f3642cb190d032dbf7dc40d9ecc6973 19-Jun-2010 Dianne Hackborn <hackbod@google.com> First stab at attaching native event dispatching.

Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.

Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still
work).

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
honeWindow.java
96675b1df3969f2d313b68f60ed9fa36805db8ce 11-Jun-2010 Adam Powell <adamp@google.com> Merging ActionBar menu with options menu.

Options menu items may now specify if they would like to appear in the
action bar. Menu items defined in xml may set the showAsAction
attribute to one of "never"(default), "ifRoom", or "always". Action
buttons are populated as follows:

* All showAsAction="always" items become action buttons, even if it
would crowd the navigation area of the action bar.

* If there is space remaining, showAsAction="ifRoom" items are added
until no more will fit comfortably.

Action button click events are now handled by the
onOptionsItemSelected method used by the standard options menu.

The construction of options menus now happens earlier in order to
provide data to the action bar. Activities with an action bar can now
expect to have onCreateOptionsMenu called when activity start-up is
complete.

Activity#invalidateOptionsMenu can be used to force a refresh of menu
items where the previous API would use ActionBar#updateActionMenu.

Change-Id: If52ddf1cf9f6926206bcdeadf42072ea2c24fab9
honeWindow.java
83ea9e395e86ca2d12d822609ca2a8b35b78cca9 16-Jun-2010 Brett Chabot <brettchabot@android.com> am 685fcf36: am c95812e6: Merge "Move out all framework-tests classes." into gingerbread

Merge commit '685fcf364b84d5ac911ae9cbbc4fec99f36cbd48'

* commit '685fcf364b84d5ac911ae9cbbc4fec99f36cbd48':
Move out all framework-tests classes.
be81f4f15dad6d690efcab1973d1e174ce3b001b 15-Jun-2010 Brett Chabot <brettchabot@android.com> Move out all framework-tests classes.

Previously tests/framework-tests contained a quarantined set of test classes
that needed access to package-private framework api. Running these tests
normally would cause the dalvik verifier to throw errors.

runtest now has support for turning off the dalvik verifier for frameworks
tests, so move this tests into their recommended location, close to the source
being tested.

Also move policy source into a 'src' folder to accommodate the tests move.

Change-Id: I62f839da185a55bc553b653bf583fd99da438512
ccountUnlockScreen.java
lobalActions.java
conUtilities.java
eyguardScreen.java
eyguardScreenCallback.java
eyguardUpdateMonitor.java
eyguardViewBase.java
eyguardViewCallback.java
eyguardViewManager.java
eyguardViewMediator.java
eyguardViewProperties.java
eyguardWindowController.java
ockPatternKeyguardView.java
ockPatternKeyguardViewProperties.java
ockScreen.java
asswordUnlockScreen.java
atternUnlockScreen.java
honeLayoutInflater.java
honeWindow.java
honeWindowManager.java
olicy.java
owerDialog.java
ecentApplicationsBackground.java
ecentApplicationsDialog.java
hortcutManager.java
imUnlockScreen.java
ackage.html