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
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
Fix the crash from searching for closest umbra vertex by initialized the
starting index correctly.
Fix another potential crash related to ray intersection by introducing epsilon.
b/18315089
Change-Id: I9ac9a781a885701a8388714d44f79a1d905e5d33
Add some tests that verify for varios wifi, and mobile signal
strengths and types that the correct icons are sent out in the
callbacks. Still in prep for MSIM refactoring.
Bug: 18222975
Change-Id: I477bf9a90e5c32fb1cba9c150ec6314f4b707108
When text is present (so the hint doesn't show), updating the hint color
was suppressed. This patch updates the hint color in all cases, but
still skips the invalidate when the hint text is not showing.
Bug: 17454233
Change-Id: I3887908fb184a10f7a1d7e64f1d92b4955323227
Add a non-public API to Canvas/GLES20Canvas to provide a way to draw
the touch ripple animation without using a save layer.
Change-Id: I6e2095adffe515194f669fb75bb67abf813bd518
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
Don't reset the entire chain of child views whenever we set our own
padding or background; clear our own bidi resolution bits only. This
prevents doing a lot of extra recursive work when changing properties
of a parent view that cannot affect children.
Bug 18159214
Change-Id: I94300402785c79c3199e768ad7b6d7027d8d5d5f
Reverts default scales to correct value of -1, uses existing state
values when updating from typed array.
BUG: 18351309
Change-Id: I45d21fe017a7bea10e3cbda50f6db65d053aa2ec
This helps us in majority of the scenarios where the sound model doesn't
change across start/stop calls.
Bug: 17954633
Change-Id: Ibff817bb69bc69d2bb3a2603460fed596688b892
Also fixes dialog padding in landscape mode and a bug in the
ColorStateList method used to apply a selected color.
BUG: 18251582
Change-Id: Id5b8c7893ec42fd4d5f4a7520e6ac170839d3143
The minimum amount has been increased by 20dp and in addition the
Motion is cancelled whenever a POINTER_DOWN occurs, which should
help a lot with falsing.
Bug: 18298401
Change-Id: I04b1f30fd2555c08209224f4e84c610ecd7a33f1
After an activity instance state is saved due to onStop()/onPause(),
there is a small window where it can still get key events like the
back button since we still allow the ActivityThread to handle
pending messages (like memory trim request) before informing the
activity manager that we are done. If the activity is stopped,
we will now drop non-terminal input events and set the cancel
flag on terminal events.
Bug: 18151331
Change-Id: I370d7c871530eea4b16fa42428d0248f1a87abb6
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
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
Bug 18292516
getClipVisibleRect now takes into account clipChildren,
clipBounds, and clipToPadding.
Change-Id: I181cd68354e70767868e9edd56bf82a58357391d
- 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