Now you can run the tests without getting the blank broken sysui.
The tests instrument themselves so they include all of the source
they need to run rather than piggybacking on the sysui process.
A couple of changes were needed for this. The xml files cannot
reference com.android.systemui, instead they must use res-auto.
The tests can no longer make privileged calls, so some restructuring
to avoid those calls was needed.
Bug: 18222975
Change-Id: I67b794af854f1420583d48960bd6e52ca753b56d
Only keeps icons if the user switcher is accessible. On phones, this
is any time quick settings is expanded. On tablets, this would be whenever
the keyguard shows. Reloading them on each screen off transition seems too
wasteful however, so we keep them in-memory all the time on tablets.
Bug: 18350670
Change-Id: I416beb82156787e61ee1f59b6726fd702f135f68
Reduces the size of the icon in UserInfoController. Also
prevents UserSwitcherController from being instantiated if user
switching is not available.
Bug: 18350670
Change-Id: I38fbf28fad87e5c0d999ab6e3764f93269a95e05
This fixes a deadlock where WindowManagerService can call into
KeyguardService.setOccluded() while holding a lock. As soon as keyguard
receives the call, it immediately needs to check permission and calls
back into the system service which is waiting for the lock to be
released. Boom!
The fix does a quick check of the calling UID and allows the call
if coming from the System UID, thus bypassing the need for a
binder call to checkPermission().
Fixes bug 18362246
Change-Id: Iab4be8a885f330fb2a62ee7e3579966e1447f8b0
Way back in API 1 we defined Settings.System.DEFAULT_NOTIFICATION_URI
which redirects through SettingsProvider before finally ariving at
the real underlying ContentProvider, usually MediaStore.
With new SELinux rules, we're no longer allowing the system_server
to hold open FDs to shared storage devices, which causes these
proxied openFile() calls to fail.
To work around this, teach MediaPlayer to resolve the final ringtone
Uri without going through the system.
Bug: 18226181
Change-Id: I40c68617c952c0bb3e939e5084f5b68a35e31ae3
The keylines have changed, the item detail text should align
with the default notification template.
Change-Id: I098c9b7831f1e8eda3e5567edba58e6c19a6ca2f
Move all doze related stuff into DozeScrimController, and combine
both alpha values from the regular ScrimController and
DozeScrimController before applying it to a view. Move the black
background from NotificationPanelView to DozeScrimController, which
saves a fullscreen layer of overdraw during the transition.
Bug: 18238168
Change-Id: Ifb133bf4a0f8255f5c2f5e205509af339cac8c8f
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
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
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
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
- 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
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