1565 Commits

Author SHA1 Message Date
Craig Mautner
00baebe124 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
2012-09-28 15:32:31 -07:00
Adam Powell
6a5b0a3673 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
2012-09-28 14:27:36 -07:00
Daniel Sandler
287f8a6e11 Merge "Remove dock home support." into jb-mr1-dev 2012-09-28 12:25:31 -07:00
Daniel Sandler
7c135205f2 Remove dock home support.
We still have dock apps and dock mode, just not home-key
capture.

Bug: 7163049
Change-Id: I8234ebf066798071517b4a586b06708b6ec0bc71
2012-09-28 15:21:45 -04:00
Craig Mautner
cd03a26f4f Missed a spot, needInput was not getting called.
Fixes bug 7250008.

Change-Id: I837af438510275ea69e217289aeb7a08111b91b5
2012-09-28 11:54:09 -07:00
Amith Yamasani
01996793dd Merge "Remove user switcher from long-press power menu" into jb-mr1-dev 2012-09-28 11:09:22 -07:00
Craig Mautner
af08ccb20d Merge "Add null checks before using mViewMediatorCallback." into jb-mr1-dev 2012-09-28 10:33:07 -07:00
Craig Mautner
7def1db039 Add null checks before using mViewMediatorCallback.
Fixes bug 7250008.

Change-Id: I744241c46de5222a3e1767a04464e657ccd9f799
2012-09-28 10:27:56 -07:00
Amith Yamasani
bc4ba82335 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
2012-09-28 10:21:32 -07:00
Daniel Sandler
0dc2b81ce1 Merge "Cleanup internal status bar APIs." into jb-mr1-dev 2012-09-28 10:07:16 -07:00
Jeff Brown
42af2ac6a3 Merge "Revert "Do not use last app rotation as default."" into jb-mr1-dev 2012-09-27 21:49:58 -07:00
Jeff Brown
0f862b432e 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
2012-09-27 21:11:01 -07:00
Svetoslav Ganov
7befb7deb2 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
2012-09-27 20:33:20 -07:00
Christopher Tate
5e08af03a3 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
2012-09-27 18:56:23 -07:00
Steven Ross
93aa70c6df Merge "Only poke the wakelock for FUL if the screen is on fixes 7222901" into jb-mr1-dev 2012-09-27 18:35:20 -07:00
Jim Miller
0d5cad735d Merge "Updating AndroidClock font to match the Roboto thin style for time display." into jb-mr1-dev 2012-09-27 18:05:36 -07:00
Jim Miller
36c37a021e Fix crash caused by null owner info
Fixes bug 7249550

Change-Id: I35a46bf03e9d11311e2f7d7d55e25bbc93687f83
2012-09-27 17:35:18 -07:00
Christian Robertson
24de605072 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
2012-09-27 17:34:22 -07:00
Jim Miller
4251736794 Merge "Update keyguard layouts on phone" into jb-mr1-dev 2012-09-27 15:52:33 -07:00
Jim Miller
3af630c8d1 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
2012-09-27 15:49:30 -07:00
Daniel Sandler
11cf178100 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
2012-09-27 14:03:08 -04:00
Steven Ross
acbe41fc13 Only poke the wakelock for FUL if the screen is on fixes 7222901
Change-Id: Ie00084fcaef3127ac917c740e5eea3fce463cbcd
2012-09-27 13:23:16 -04:00
Steven Ross
fbb9c6197f 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
2012-09-27 08:25:47 -04:00
Jeff Brown
b32e221699 Merge changes I332f020f,I632648ac into jb-mr1-dev
* changes:
  Update references to migrated global settings.
  Handle user switched for settings changes.
2012-09-25 17:03:11 -07:00
Svetoslav Ganov
e20a177d3f 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
2012-09-25 16:07:59 -07:00
Jeff Brown
bf6f6f9de7 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
2012-09-25 15:27:51 -07:00
Jean-Baptiste Queru
164ff6bb64 Merge into jb-mr1-dev
Change-Id: I65f9c552cf0ef2792df64c907f0a56913e6c6f30
2012-09-25 09:42:30 -07:00
Jim Miller
7641506e3c 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
2012-09-24 19:31:29 -07:00
Kenny Root
c6f8a9985b Merge "LockScreen: don't update KeyStore password on unlock" into jb-mr1-dev 2012-09-24 08:43:34 -07:00
Jim Miller
1cd5522fcc Merge "Send USER_PRESENT for keyguard choice "None"" into jb-mr1-dev 2012-09-21 20:07:46 -07:00
Jim Miller
3fd47af32d 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
2012-09-21 20:06:50 -07:00
Amith Yamasani
77e95d3d71 Merge "Show lockscreen widgets for the current user." into jb-mr1-dev 2012-09-21 18:16:49 -07:00
Amith Yamasani
8fd96ec2dc 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
2012-09-21 18:10:34 -07:00
Kenny Root
abb53b72fb 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
2012-09-21 16:15:33 -07:00
Jim Miller
1ed9fa10de Merge "Make DPM API for disabling keyguard widgets more generic" into jb-mr1-dev 2012-09-21 15:21:33 -07:00
Michael Jurka
7566abd305 Merge "Add support for changing status widget on security screen" into jb-mr1-dev 2012-09-21 01:10:53 -07:00
Amith Yamasani
920ace0bbc 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
2012-09-20 22:33:43 -07:00
Michael Jurka
20c41d5382 Add support for changing status widget on security screen
Change-Id: I080fd89eb84445604c602b6e807b55153a7ee129
2012-09-20 19:19:41 -07:00
Jim Miller
48b9b0d068 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
2012-09-19 23:44:45 -07:00
Jim Miller
109f1fd80c 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
2012-09-19 20:47:37 -07:00
Dianne Hackborn
52716deb40 Merge "Fix deadlock in LockPatternUtils by using local id." into jb-mr1-dev 2012-09-19 13:28:11 -07:00
Craig Mautner
f1b6741975 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
2012-09-19 13:18:29 -07:00
Craig Mautner
8f301e6668 Merge "Add debug for b/7094175." into jb-mr1-dev 2012-09-19 13:07:53 -07:00
Jim Miller
5d8d169bbb Merge "Fix wrong pattern count in keyguard pattern security view." into jb-mr1-dev 2012-09-18 21:06:41 -07:00
Jim Miller
d2b82f70fe 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
2012-09-18 21:02:08 -07:00
Amith Yamasani
4adb9d3416 Merge "DevicePolicyManager per user" into jb-mr1-dev 2012-09-18 20:00:44 -07:00
Adam Powell
98c370e71d Merge "Make invalidateOptionsMenu asynchronous" into jb-mr1-dev 2012-09-18 18:42:59 -07:00
Adam Powell
4b6d93fd04 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
2012-09-18 18:37:28 -07:00
Jim Miller
402f0c8123 Merge "Refactor Carrier text as a movable module." into jb-mr1-dev 2012-09-18 17:00:38 -07:00
Jim Miller
772db427a7 Merge "Selectively enable back button in keyguard for security screens." into jb-mr1-dev 2012-09-18 15:32:04 -07:00