1321 Commits

Author SHA1 Message Date
Dianne Hackborn
e53fd84a28 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.
2012-06-25 17:37:17 -07:00
Dianne Hackborn
b4215267f3 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
2012-06-25 17:37:13 -07:00
Dianne Hackborn
9e608c1218 Merge "Fix issue #6381224: Initial emulator boot fails and shows a blank black screen." into jb-dev 2012-06-25 17:35:49 -07:00
Dianne Hackborn
42e620caf0 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
2012-06-25 14:27:41 -07:00
Dianne Hackborn
357d99c61d 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
2012-06-22 12:50:50 -07:00
Craig Mautner
42a6516de9 am 89c6bec3: Merge "Make sure onScreenTurnedOn is called at power on." into jb-dev
* commit '89c6bec3218d2f3f6d9fbe04fe2936021440ea80':
  Make sure onScreenTurnedOn is called at power on.
2012-06-21 14:07:13 -07:00
Craig Mautner
4f5d1511b9 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
2012-06-21 13:03:41 -07:00
Dianne Hackborn
b0222bb19e 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...
2012-06-20 12:08:03 -07:00
Dianne Hackborn
0fa4d30b03 Merge "Fix issue #6686339: 2 taps required to launch notification..." into jb-dev 2012-06-20 12:06:38 -07:00
Dianne Hackborn
6e2281d44c 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
2012-06-19 17:54:24 -07:00
Jim Miller
2b7df3686f 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
2012-06-19 15:24:45 -07:00
Jim Miller
45308b1b3b 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
2012-06-19 15:00:13 -07:00
Jean-Michel Trivi
586b8ee62e am 2f442304: Merge "Remote volume handling" into jb-dev
* commit '2f4423043ffeaf232ec984be03743326f08cdc8a':
  Remote volume handling
2012-06-19 10:56:28 -07:00
Jean-Michel Trivi
2f4423043f Merge "Remote volume handling" into jb-dev 2012-06-19 10:54:32 -07:00
Jean-Michel Trivi
3114ce3861 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
2012-06-18 18:37:17 -07:00
Jim Miller
a10b1a738d am 12da2c5e: Merge "Fix 6665117: ACTION_ASSIST visual improvements" into jb-dev
* commit '12da2c5eeeadd6c23da5d3003d0da3b6b73d5052':
  Fix 6665117: ACTION_ASSIST visual improvements
2012-06-18 13:32:05 -07:00
Jim Miller
12da2c5eee Merge "Fix 6665117: ACTION_ASSIST visual improvements" into jb-dev 2012-06-18 13:29:49 -07:00
Jeff Brown
7947698096 am d7a04de1: Capture window manager\'s last ANR state in bug report.
* commit 'd7a04de16798acc04ec0a89a0c7d9f1cf60d1521':
  Capture window manager's last ANR state in bug report.
2012-06-18 10:34:25 -07:00
Jim Miller
5250db0bfd am b06be57f: Merge "Fix 6507787: fix MMI PUK unlock procedure" into jb-dev
* commit 'b06be57f0acf8bb7b8c1767604058c8f061a7b8b':
  Fix 6507787: fix MMI PUK unlock procedure
2012-06-18 10:32:29 -07:00
Jeff Brown
d7a04de167 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
2012-06-17 15:55:46 -07:00
Jim Miller
20039ad17b 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
2012-06-15 18:11:00 -07:00
Jim Miller
b06be57f0a Merge "Fix 6507787: fix MMI PUK unlock procedure" into jb-dev 2012-06-15 15:19:16 -07:00
Jim Miller
2de5ee8463 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
2012-06-14 22:22:50 -07:00
Craig Mautner
de90d67b2f am 8b9c6d51: Merge "Expose apps when keyguard animating." into jb-dev
* commit '8b9c6d51d59898375089e9708325604c227812e0':
  Expose apps when keyguard animating.
2012-06-14 14:57:31 -07:00
Craig Mautner
f03e4c55fc Expose apps when keyguard animating.
Continuing in the trend of not hiding apps while the keyguard is
animating.

Fixes bug 6653600.

Change-Id: I151315084a13dcec061d2d6edccd31e1133610f4
2012-06-14 14:11:27 -07:00
Jeff Brown
fc959a3895 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.
2012-06-14 11:33:31 -07:00
Jeff Brown
9e197141f8 Merge "Add new ASSIST key and map it to the global assist intent." into jb-dev 2012-06-14 11:28:52 -07:00
Jeff Brown
de7a8ead24 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
2012-06-14 04:16:26 -07:00
Jeff Brown
5c9768b521 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.
2012-06-14 02:52:41 -07:00
Jeff Brown
b44700f27d Merge "When SIM absent, keyguard should be considered non-secure." into jb-dev 2012-06-14 02:45:35 -07:00
Uriel Rodriguez
a9f4fe828f 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
2012-06-13 21:13:34 -07:00
Jeff Brown
47cd14d9bc 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
2012-06-13 20:00:49 -07:00
Uriel Rodriguez
aa24906de2 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
2012-06-13 17:30:13 -04:00
Jim Miller
5f1907316e am 955a0169: Fix 6613962: Update keyguard to use new GlowPadView UX design.
* commit '955a016922ea49f154d190b054a202559b41a4d3':
  Fix 6613962: Update keyguard to use new GlowPadView UX design.
2012-06-12 19:41:44 -07:00
Jim Miller
955a016922 Fix 6613962: Update keyguard to use new GlowPadView UX design.
Change-Id: I4f1ef3107e5550f7df9dcb412943a84b66432b7d
2012-06-12 19:16:08 -07:00
Brian Colonna
c95f249ea9 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
2012-06-08 15:30:47 -07:00
Brian Colonna
7019325e18 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
2012-06-08 11:50:53 -04:00
Jean-Michel Trivi
dbb9e38673 am 6a5f9f6d: Merge "Configuration for lock and UI sound levels" into jb-dev
* commit '6a5f9f6ddbfcb97a25436ad34be39fc7b3b45168':
  Configuration for lock and UI sound levels
2012-06-07 16:34:27 -07:00
Jean-Michel Trivi
6a5f9f6ddb Merge "Configuration for lock and UI sound levels" into jb-dev 2012-06-07 15:28:51 -07:00
Jeff Brown
eef4bc0813 am 615fd3df: Merge "Implement new rotation policy." into jb-dev
* commit '615fd3dff2e369d8b786abcfe41b6da988e41001':
  Implement new rotation policy.
2012-06-05 19:14:17 -07:00
Jeff Brown
207673cdbb 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
2012-06-05 17:59:46 -07:00
Jean-Michel Trivi
c55b393efd 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
2012-06-05 16:58:20 -07:00
Jim Miller
a8c42f1aaa 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
2012-06-02 08:35:33 -07:00
Jim Miller
3294b6b09b 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
2012-06-01 14:08:28 -07:00
Uriel Rodriguez
6e43ee6796 am fa716c7b: Merge "BUG 5457035 : Anti-spoofing : DO NOT MERGE" into jb-dev
* commit 'fa716c7b9bfe0b15725dff63a63b188fe7bc6aca':
  BUG 5457035 : Anti-spoofing : DO NOT MERGE
2012-05-31 08:49:21 -07:00
Uriel Rodriguez
fa716c7b9b Merge "BUG 5457035 : Anti-spoofing : DO NOT MERGE" into jb-dev 2012-05-31 08:44:15 -07:00
John Spurlock
564268f711 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.
2012-05-31 08:29:17 -07:00
Daniel Sandler
b30cd0a801 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
2012-05-31 10:48:53 -04:00
Uriel Rodriguez
4fa995a932 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
2012-05-30 20:01:38 -04:00
Michael Jurka
4265686730 am a66c75a8: Merge "Fix bug where recents was getting preloaded unnecessarily" into jb-dev
* commit 'a66c75a87e3485773430974b9bc314d010ba3542':
  Fix bug where recents was getting preloaded unnecessarily
2012-05-29 12:29:49 -07:00