21030 Commits

Author SHA1 Message Date
Craig Mautner
316e369c4c am 30bd3bb7: Revert "Debug for bug 18017409"
* commit '30bd3bb77b8bd1ac70723bcf7f1017fc40ea89b2':
  Revert "Debug for bug 18017409"
2014-11-13 16:50:48 +00:00
Craig Mautner
30bd3bb77b Revert "Debug for bug 18017409"
The bug has been fixed. No longer needed.

This reverts commit 5a3c231dc832c205d2bb2f7f0881925b92c9e5e2.

Change-Id: I4a0dda5321f4eeb989c4c58951c43c8d62fd3664
2014-11-13 08:45:39 -08:00
John Spurlock
25c3421c5e Zen: Update condition text for current condition.
If the provider sends us an updated summary (or other text)
for the currently selected exit condition, update the UI and
persisted condition.

Update the downtime condition text (end time/line2 + summary)
when the next alarm changes (if downtime = none).

Also, clear the fired-alarm cache on time or time-zone resets.

Bug: 16373455
Change-Id: Ib38c52104a281fcc04a89612b643a219fd82b40b
2014-11-13 11:03:10 -05:00
Jeff Brown
24c1d664c4 Merge "Remove an unnecessary condition from previous change." into lmp-sprout-dev 2014-11-13 07:04:54 +00:00
Jeff Brown
a191aa99ab Remove an unnecessary condition from previous change.
Change-Id: Ib966fbb373294ad60caf7f1d9cbb7fafd05ded6b
2014-11-12 23:01:12 -08:00
Jeff Brown
1cbff0e310 Merge "Improve screen brightness boost behavior." into lmp-sprout-dev 2014-11-13 06:58:03 +00:00
Jeff Brown
7b5be5e2a7 Improve screen brightness boost behavior.
Wake-up when entering brightness boost mode, don't boost in ambient
mode since some display device drivers do strange things in that mode and
boost doesn't work.  Waking up feels more natural as well.

Don't flutter the power HAL's interactive mode bit simply due to changes
in display ready state since that may result in visible artifacts
such as display flashes.

Don't stop the auto-brightness sensor while temporarily boosted.

Don't prevent the display from entering the ready state while in brightness
boost since that would unnecessarily delay the transition from DOZING to AWAKE
until boost is finished.

Restart the user activity timeout when brightness boost ends and prevent
the display from dimming while boosted.

The pixel fairies basked in the sunlight.

Bug: 18262044
Bug: 18261782
Change-Id: I8c42a1e6091b0fe1253e90265ac248087ebc24e1
2014-11-12 18:49:36 -08:00
Ye Wen
bdc3a46312 Delay connecting to MmsService until APIs are called for imms
Eagerly connecting to MmsService in MmsServiceBroker during system
bootup caused a 2-second delay. Removing the connection in this CL. The
connection will be made when any of the API is called.

b/18085396

Change-Id: I201abcb5f8c5ac69e347e2c69fd20b8215bb0654
2014-11-12 15:15:49 -08:00
Jeff Sharkey
a2781fdac3 am 521ca5f8: am 2e700004: am d68b87cd: Recover apps with malformed certificates.
* commit '521ca5f8fba355f526e82dc3a8fc6520e4379874':
  Recover apps with malformed certificates.
2014-11-12 22:54:47 +00:00
Jeff Sharkey
521ca5f8fb am 2e700004: am d68b87cd: Recover apps with malformed certificates.
* commit '2e7000040e3d836bb591e29515974817afc49488':
  Recover apps with malformed certificates.
2014-11-12 22:24:24 +00:00
Jeff Sharkey
2e7000040e am d68b87cd: Recover apps with malformed certificates.
* commit 'd68b87cdd402d46013170d9316a31c82be4e4816':
  Recover apps with malformed certificates.
2014-11-12 22:20:46 +00:00
Nick Kralevich
451a6f8f9a fix crash on invalid base64 key
An invalid adb public key can cause a system server crash.

  AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: android.fg
  AndroidRuntime: java.lang.IllegalArgumentException: bad base-64
  AndroidRuntime:        at android.util.Base64.decode(Base64.java:161)
  AndroidRuntime:        at android.util.Base64.decode(Base64.java:136)
  AndroidRuntime:        at com.android.server.usb.UsbDebuggingManager.getFingerprints(UsbDebuggingManager.java:235)
  AndroidRuntime:        at com.android.server.usb.UsbDebuggingManager.access$500(UsbDebuggingManager.java:49)
  AndroidRuntime:        at com.android.server.usb.UsbDebuggingManager$UsbDebuggingHandler.handleMessage(UsbDebuggingManager.java:210)
  AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
  AndroidRuntime:        at android.os.Looper.loop(Looper.java:135)
  AndroidRuntime:        at android.os.HandlerThread.run(HandlerThread.java:61)
  AndroidRuntime:        at com.android.server.ServiceThread.run(ServiceThread.java:46)
  Process : Sending signal. PID: 824 SIG: 9

Bug: 17389885
Change-Id: Id20d7c0ee35229b14c800fd9e07716239179989c
2014-11-12 13:40:30 -08:00
Sandeep Siddhartha
5f02d29550 Merge "Don\'t unload the sound model on stopRecognition" into lmp-mr1-dev
automerge: 850ec91

* commit '850ec91e88c2b0911f8460f909eabf4078b78582':
  Don't unload the sound model on stopRecognition
2014-11-12 21:17:53 +00:00
Jeff Sharkey
d68b87cdd4 Recover apps with malformed certificates.
There was a window of time in Lollipop where we persisted certificates
after they had passed through a decode/encode cycle.  The well-written
OpenSSL library was liberal when decoding (allowing slightly malformed
certs to be parsed), but then strict when encoding, giving us
different bytes for effectively the same certificate.

A related libcore change (0c990ab4a90b8a5492a67b2b728ac9a4a1ccfa1b)
now returns the original bytes verbatim, fixing both pre-Lollipop
installs and installs after that change.

This change recovers any apps that had been installed during the
window of time described above by doing a one-time check to see if
the certs are effectively equal.

Bug: 18228011
Change-Id: Ib82bd6db718d0490d7a26c9c1014b7c8457a7f2d
2014-11-12 13:16:06 -08:00
Wale Ogunwale
89b3ecc7b3 resolve merge conflicts of 2755644 to lmp-mr1-ub-dev.
Change-Id: I01920b0dc8185d8efb9431bfad911e4733b43e1d
2014-11-12 12:46:45 -08:00
Sandeep Siddhartha
850ec91e88 Merge "Don't unload the sound model on stopRecognition" into lmp-mr1-dev 2014-11-12 20:12:39 +00:00
Fyodor Kupolov
d01ff6d4c3 Added synchronization to handlePackagesChanged method
Method handlePackagesChanged modifies the policy data without holding the
lock. It also calls methods which expect a lock to be held -
validatePasswordOwnerLocked, syncDeviceCapabilitiesLocked, saveSettingsLocked.

Bug: 18262633
Change-Id: Ia4bdc6edc66bccf8a4288e048171ff20858ae2f6
2014-11-12 11:27:21 -08:00
Sandeep Siddhartha
45c00b5877 Don't unload the sound model on stopRecognition
This helps us in majority of the scenarios where the sound model doesn't
change across start/stop calls.

Bug: 17954633
Change-Id: Ibff817bb69bc69d2bb3a2603460fed596688b892
2014-11-12 09:57:27 -08:00
Wale Ogunwale
1dfab89aff Fix build breakage from missing close brace.
Change-Id: Ib0e58844b8b208d255ff8d9409d0e7c53f27378f
2014-11-12 09:46:10 -08:00
Jeff Davidson
bc19c181c8 Enforce VPN control "permission" with an actual permission.
The current implementation uses a whitelist of package names. Use a
system|signature permission instead of rolling our own security and
add that permission to the existing set of whitelisted packages
(SystemUI and VpnDialogs).

In addition to being less of a security risk (using well-known methods
like Context.enforceCallingPermission rather than manually querying
PackageManager and checking UIDs for package names), this enables
other system-privileged apps to control VPN as needed per the below
bug.

Bug: 18327583
Change-Id: I38617965c40d62cf1ac28e3cb382c0877fb1275d
2014-11-12 08:56:20 -08:00
Wale Ogunwale
3ae0d3157d Fixed constant window switching on lock screen with Swype KB.
We allow TYPE_INPUT_METHOD windows to show on the lock screen.
These windows can attached other types of windows (For this
case the Swype KB was attaching a PopupWinow which will be
of TYPE_APPLICATION). This causes the popup window app token
to be added to the list of apps to be hidden on the lock
screen, thereby preventing the lock screen from been hidden,
which then causes a layout cycle(s). Now, we remove app
tokens for non-app windows from the hidden list in case it
was added by any attached widow they migth have.

Also, when we are updating window animations, set the
hideWhenLocked flag for windows that are IME tragets so
they don't go through unneeded cycles of having their
visibility policy set to hide/show/hide/show/...

Bug: 18021493
Change-Id: I3680256d41793f62def42fda00e26db1dcc990cc
2014-11-12 08:42:09 -08:00
Jorim Jaggi
f8d77da969 Improve lockscreen launch animations
- Add a timeout so if WindowManager "forgets" to tell that the
activity has drawn, we still unlock after 3 seconds, so the user
is not completely stuck.

- Use the screen height instead of the window height for the
translation animation.

- Don't run the animation if the attached window is not null. The
animation from the attached window will influence the transformation
as well, so there is no need to run an additional animation in this
case (apps with SurfaceView's had broken unlock transitions because
of this).

- If the starting window needs to go away while the unlock transition
is running, modify the existing animation such that it fades out in
the same transition.

Bug: 15991916
Change-Id: Ia5dfa31e1bc0d5745fe228e1daf08e268733b6f1
2014-11-12 15:02:33 +01:00
Jorim Jaggi
44f60cca7b Fix lockscreen launch animations once and for all
In SysUI, make sure not to dismiss Keyguard multiple times when just
waiting for a deferred dismissal, so WindowManager doesn't get
multiple calls to keyguardGoingAway.

Change heuristics how notifying Keyguard about activity drawn works.
Always notify Keyguard after executing an app transition, and notify
it also when not doing a transition after a startActivity call.

For that to work, update AppWindowToken.startingDisplayed also when
the window is displayed, but force hidden because of Keyguard.

Further, handle the case correctly when a window gets added during
the Keyguard exit animation by overriding the start time for the
animation of that new window. Also don't apply a transition animation
for a window when executing keyguard exit animation, so by removing
a starting window we don't break this animation.

Last but not least, tell Keyguard to start exiting immediately if
animations for exiting are disabled, like when going to phone/camera
on lockscreen. Before, we always had a delay of 1 second because we
waited for the timeout.

Bug: 1599196
Bug: 18272544
Change-Id: I596b2489f814b934abd256e16079d3d3f326e209
2014-11-12 15:02:05 +01:00
Narayan Kamath
ccfe6bd479 Merge "Remove unused local field." into lmp-mr1-dev 2014-11-12 13:30:18 +00:00
Narayan Kamath
222722ee73 Merge "Tell installd when boot completes." into lmp-mr1-dev 2014-11-12 12:48:22 +00:00
Adrian Roos
138b83347b Obliterate LockPatternUtilsCache
It is disabled dead code already and not useful anymore
with the new caching in LockSettingsService.

Bug: 18163444
Change-Id: Icc184e923e0fbeab31ed128336c01f835b24c6f2
2014-11-12 11:31:38 +00:00
Adrian Roos
fc29e0b582 Properly destroy TrustAgentWrapper when not bound
Also fixes a potential issue where refreshing agents
for a user that no longer exists would result in a crash.

Bug: 18318629
Change-Id: I3589ea7e0f2e63fca02daeecf3ca964a8a8e4b3b
2014-11-12 11:30:36 +00:00
Wink Saville
43bbf30a06 Merge "Update SubscriptionManager API as per API council." into lmp-mr1-dev 2014-11-12 01:13:04 +00:00
RoboErik
9c7854014d Use the suggested stream if it's currently active
This makes the MediaSessionService check if the suggested stream is active
when dispatching a volume event and prefer it to a remote session if it is.
This mostly affects apps that use Activity.setVolumeControlStream.

bug:18318480
Change-Id: Ib8825394bf7a223fbd92bcb2c3ecb7c596ce7c29
2014-11-11 16:52:26 -08:00
Craig Mautner
c08eab81f3 Show error dialogs over apps that dismiss keyguard
Error dialogs absorb all input to ensure that they are not missed.
This can cause the screen to lock up if they are not displayed but
are still absorbing touches. This was what was happening when there
was an error dialog up at the same time as a phone call came in as
in b/17648830.

This fix recognizes when an app is dismissing the keyguard and
forces any error dialogs to be shown over such an app.

This also removes the private flags from the input system as they
are no longer needed.

Fixes bug 17648830.

Change-Id: I5c98b8265a1448b445fdb2f745fc78892f8656a4
2014-11-11 16:22:56 -08:00
Amith Yamasani
52c39a16db Allow profile owners to set the unknown source setting
This allows work profile MDM to enable unknown sources
even if the user doesn't have UI for it. Installing an
app from an unknown source will still prompt the user
with the package installer dialog, so it's not like the
MDM can now quietly install apps from non-market sources.

Bug: 18316350

Change-Id: Ia8f4fe36f12a258aa888e085acc0b358925f4817
2014-11-11 23:38:24 +00:00
Jeff Brown
32f7a6d813 Merge "Move device admin max screen off timeout to internal interface." into lmp-mr1-dev 2014-11-11 22:27:45 +00:00
Jinsuk Kim
7fa3a66470 CEC: Buffer messages coming from unknown device
Introduced a buffer for messages to be kept for later processing
when they arrive before the service is ready to handle them.
<Active Source>/<Initiate ARC> are handled in this CL to address
the reported bug.

Bug: 18277839

Change-Id: I1e73dd83dc9dd4a822fbcf4fda4c6221f09631cb
2014-11-12 06:21:27 +09:00
Prabhakar Thirumoorthy
2cc8043cad Merge "If task isn't found in recents, look in the stacks." into lmp-mr1-dev 2014-11-11 20:01:10 +00:00
Wink Saville
a374c3d03b Update SubscriptionManager API as per API council.
bug: 17575308
Change-Id: Ib39a60e4f75981a466e9d606ec627756efad018d
2014-11-11 11:48:04 -08:00
Craig Mautner
e042bf2b22 If task isn't found in recents, look in the stacks.
It may take an attach to move a task into the recents list. If the
timing is right a task may not be in recents by the time we are
removing it from the stacks due to a finish. In that case we should
look in the stacks for the task as well as looking in recents.

Fixes bug 18017409.

Change-Id: Idcfe2e263c9d0fe9a063fdf22515ac4e7fe89ecb
2014-11-11 11:28:43 -08:00
Wale Ogunwale
285970cfea Merge "Fixed index out of bounds issue when removing windows." into lmp-mr1-dev 2014-11-11 18:00:06 +00:00
John Spurlock
3c984d67eb Zen: Exit downtime on next alarm (if mode=none).
Bug: 16373455
Change-Id: Ie5d878ea4f930556ed84225c21d7c6df61024fbc
2014-11-11 10:03:24 -05:00
Narayan Kamath
76a748e62f Tell installd when boot completes.
installd can then clear the ".booting" marker from the dalvik-cache
(owned by root). This marker is used to detect boot loops.

bug: 18280671

Change-Id: I878f1463c7f523892605c17b980a51ac3b6645e2
2014-11-11 10:50:46 +00:00
Lorenzo Colitti
7f6c0d7d2d Populate 464xlat LinkProperties only when the interface comes up.
Currently Nat464Xlat reads the clat IPv4 address and updates the
clat LinkProperties when the interface is created. This causes a
race condition: because clatd only sets the IPv4 address after
creating the interface, it's possible that Nat464Xlat will read
the address before clatd has set it, causing the framework to
think that the clat IPv4 address is 0.0.0.0/32.

This seems to be happening more frequently now, perhaps because
clatd takes a bit longer to configure the IPv4 address now that
it needs to check that the address is free before using it.

Fix this by making Nat464Xlat listen for the interface coming up
instead of listening for the interface being added.

Bug: 12111730
Change-Id: Ic1c59b5b6dbb851b7431d1b06885f67803373bb9
2014-11-10 19:33:13 -08:00
Dianne Hackborn
85d558cd48 Add Activity API to get referrer information.
This expands the use of EXTRA_REFERRER to be relevant anywhere,
allowing apps to supply referrer information if they want.  However,
if they don't explicitly supply it, then the platform now keeps
track of package names that go with Intents when delivering them
to apps, which it can be returned as the default value.

The new method Activity.getReferrer() is used to retrieve this
referrer information.  It knows about EXTRA_REFERRER, it can return
the default package name tracked internally, and it also can return
a new EXTRA_REFERRER_NAME if that exists.  The latter is needed
because we can't use EXTRA_REFERRER in some cases since it is a Uri,
and things like #Intent; URI extras can only generate primitive type
extras.  We really need to support this syntax for referrers, so we
need to have this additional extra field as an option.

When a referrer is to a native app, we are adopting the android-app
scheme.  Since we are doing this, Intent's URI creation and parsing
now supports this scheme, and we improve its syntax to be able to build
intents with custom actions and stuff, instead of being all hung up
on custom schemes.

While doing this, fixed a problem when parsing both intent: and new
android-app: schemes with a selector portion, where we were not
respecting any scheme that was specified.

Change-Id: I06e55221e21a8156c1d6ac755a254fea386917a2
2014-11-11 00:42:18 +00:00
Wale Ogunwale
98e70d0908 Fixed index out of bounds issue when removing windows.
Child windows are also removed when WMS.removeWindowInnerLocked()
is called to removed a window. This causes the number of windows
to decrement by more than 1 which causes an out of bounds exception
in AppWindowToken.removeAllWindows() which was expecting a decrement
of 1. Changed code to only continue looping if the size of the
Windows array is still greater than 0.

Bug: 18202119
Change-Id: I6124717272c552ec98e89cbacaadcd964fdba02e
2014-11-10 15:32:59 -08:00
Adrian Roos
f2bd3cc9df Merge "Add LockSettingsStorage tests" into lmp-mr1-dev 2014-11-10 22:37:36 +00:00
Adrian Roos
e542499a30 Add LockSettingsStorage tests
Bug: 18163444
Change-Id: I563276e6d445d43d05bf0d3c633440a8e0109b69
2014-11-10 21:03:12 +00:00
Adrian Roos
e6ef98cf05 Merge "Add caching to LockSettingsStorage" into lmp-mr1-dev 2014-11-10 20:33:10 +00:00
Adrian Roos
3dcae68501 Add caching to LockSettingsStorage
Bug: 18163444
Change-Id: I4caa80ca55efec761e965807ae793db41864321f
2014-11-10 21:27:49 +01:00
John Spurlock
7936ca36d9 Merge "Zen: Pull next-alarm tracking out into separate helper." into lmp-mr1-dev 2014-11-10 19:24:16 +00:00
John Spurlock
6b0623a112 Zen: Pull next-alarm tracking out into separate helper.
In preparation for sharing with DowntimeConditionProvider.

Bug: 16373455
Change-Id: If8d90187fa399935137c7ba6152925a9106a4596
2014-11-10 14:05:13 -05:00
Adrian Roos
a0ecc714c3 Merge "Disable LockPatternUtilsCache" into lmp-mr1-dev 2014-11-10 18:35:59 +00:00
Adrian Roos
450ce9fc8a Disable LockPatternUtilsCache
Also fix a bug where hasPattern and hasPassword were
not invalidated properly.

Bug: 18163444
Change-Id: I5bd8cc4e7c0d00497ee7a42f3c34449aa3f95a6c
2014-11-10 19:16:41 +01:00