10833 Commits

Author SHA1 Message Date
John Spurlock
4e6922d89e Reset status bar in keyguard, fix MU status bar bug.
Two things going on here, status bar disabled flags need to be reset
on user switch.  Also make status bar's internal disable-record lookup
multi-user aware.

Bug:7278793
Change-Id: I1d7088d956a065330736da4c09cc1874c528c133
2012-10-04 14:51:51 -04:00
Victoria Lease
18c2b6e730 Merge "throw SecurityException in isProviderEnabled()" into jb-mr1-dev 2012-10-04 11:18:14 -07:00
Amith Yamasani
7077b3c9bb Read in the disable-keyguard-features flag from the XML file
Bug: 7283501 Exchange Services crash while using Email App after upgrading
Change-Id: I40d13f5d3805ea3139dc3938077a5265ff78c426
2012-10-04 11:00:55 -07:00
Victoria Lease
83762d22c9 multiuser support for LocationBlacklist
This allows primary/secondary users to have different "Google
Location Services" preferences. It also reenables LocationBlacklist,
which is fixed elsewhere.

Bug: 7213502
Bug: 7248239
Change-Id: I94837682f95920c225c00b7da2de6dd1418a673e
2012-10-04 09:46:52 -07:00
John Spurlock
078a490c22 Clear notifications properly on ACTION_USER_STOPPED.
Which also takes care of the ACTION_USER_REMOVED case.

Bug:7277853
Change-Id: I0a6bade11bd0d420df03e16e69a386cfccfa07cc
2012-10-04 12:00:53 -04:00
Jeff Hamilton
c19efc204a Changes to support updating location providers.
There is now only a single config value pointing
at a list of packages to get certs from. The old
system was a bit confusing.

The fused location provider also now builds
against SDK 17, and the meta data service version
tag was renamed from the overly generic "version"
to "serviceVersion".

Bug: 7242814
Change-Id: I00d27c9cbd5cc31a37bb4a98160435d15a72e19e
2012-10-04 11:00:42 -05:00
Victoria Lease
f429921e3a throw SecurityException in isProviderEnabled()
In MR0, we did not allow applications to query enabled status of
location providers they did not have permission to use. Some
applications counted on this behavior, using the thrown
SecurityException to determine whether or not they have permission
to use the specified provider.

Reverting to this behavior fixes the regressions seen in those
applications.

Bug: 7251459
Change-Id: I8b0cfd5862c80f0c831a4ab544c3fa7408bc84a0
2012-10-04 08:01:19 -07:00
Satoshi Kataoka
00d2d4125e Support multi-user switch in TextServicesManagerService
Bug: 7231549
Change-Id: I737590688b895ea00d397ddec7702d6d2bec9097
2012-10-04 16:23:06 +09:00
Svetoslav Ganov
f068fed6c4 Accessibility HOVER_ENTER / EXIT without enclosing EXPLORATION_GESTURE_START / END
1. The initial implementation was not sending the gesture start and end
   events until the the user has moved more than a given slop and did not
   do it faster than a given velocity. However, there is the case where
   if the user did not move or just taped on the screen an exploration
   occurs. The system was not sending the exploration start and end
   events for the latter case.

2. The delaued command for long press was not canceled when the pointer
   moves more than the slop distance.

bug:7282811

Change-Id: I7d98470cd4d9ea9b2519326e5e550ff68b040747
2012-10-03 22:48:11 -07:00
Satoshi Kataoka
ebf7e2851c Merge "Close the current input method when attached view doesn't have a handler" into jb-mr1-dev 2012-10-03 21:02:20 -07:00
Svetoslav Ganov
a6cab32d68 Merge "Events for window's content change should be dispatched only for the active window." into jb-mr1-dev 2012-10-03 19:00:17 -07:00
Svetoslav Ganov
58fd9f8d6a Events for window's content change should be dispatched only for the active window.
1. Accessibility events for changes in the content of a given window, such as
   click, focus, etc. are dispatched to clients only if they come from the
   active window.

   Events for changes in the state of a window, such as window got input focus
   or a notification appeared, are always dispatched. The notification events
   do not contain source, so a client cannot introspect the notification area
   (unless the user explicitly touches it which generates hove events). The
   events for a window getting input focus change the active window so they
   have to be dispatched.

   Events that are a result of the user touching the screen, such as hover
   enter, first tocuh, etc. should always be dispatched.

bug:7282006

Change-Id: I96b79189f8571285175d9660a22394cc84f39559
2012-10-03 18:33:30 -07:00
Dianne Hackborn
c428aae642 Fix issue #7267494, issue #7212347
7267494 Calendar is not syncing
Check for whether a content provider is dead before returning
it.  This is kind-of a band-aid, but probably the right thing
to do; I'm just not sure exactly the full details of why this
problem is happening.  Hopefully this "fixes" it, though I don't
have a way to repro to tell.

7212347 System power off dialog is only visible to user 0
Make it visible.  Also turn on some battery debugging stuff and
clean it up so we can just keep it.

Change-Id: I5add25bf2a763c8dfe1df23bc5c753a9ea5d157a
2012-10-03 18:07:23 -07:00
Mike Cleron
0fd713ca12 Merge "Exception in the touch explorer when dragging." into jb-mr1-dev 2012-10-03 17:07:05 -07:00
Svetoslav Ganov
ec33d56300 Exception in the touch explorer when dragging.
1. During a drag in touch exploration we have two pointers moving in the same
   direction but inject only one of them. If the dragging pointer goes up we
   send an up to the view system and wait for all pointers to go up to transition
   to touch exploring state. At this point the dragging pointer id is cleared
   and if a new pointer goes down we are trying to send up (rather do nothing)
   for the dragging pointer which we already did and due to the invalid pointer
   id we get an exception when splitting the motion event.

bug:7282053

Change-Id: I690bf8bdf6e2e5851ee46a322c4a1bb7d484b53a
2012-10-03 17:05:57 -07:00
Jeff Brown
8abd7021a6 Merge "Ensure dreams can be started when not powered." into jb-mr1-dev 2012-10-03 15:24:45 -07:00
Jeff Brown
645832dd2b Ensure dreams can be started when not powered.
Previously dreams could not be started unless plugged in.
Now we allow them to start but they will eventually stop
if a user activity timeout occurs and no screen wakelocks
are held.

Bug: 7253639
Change-Id: I84703e144ca6d4aba1ef9437f04a201c3dde8a49
2012-10-03 14:57:03 -07:00
rich cannings
cdf932e050 Fix PackageInstaller displays with multi-user
With this fix, when all users cancel installing an app they were warned about,
then the "Installing..." screen disappears, as desired.

Bug: 7255231
Change-Id: I2475fa790a5d09abbf94411c696682502fb1e8df
2012-10-03 14:32:38 -07:00
Victoria Lease
fc6770e748 Merge "Remove checkPermission() call in getAllProviders()." into jb-mr1-dev 2012-10-03 08:43:43 -07:00
Jeff Brown
3f0a57dcd9 Merge changes Iccea764b,I624b559e into jb-mr1-dev
* changes:
  Improve the screen dim duration calculation.
  Implement screen on hack for wireless chargers.
2012-10-02 23:29:47 -07:00
Jeff Brown
5558b79e7a Merge "Fix some synchronization issues in BatteryService." into jb-mr1-dev 2012-10-02 23:28:02 -07:00
Jeff Brown
ff532540f1 Improve the screen dim duration calculation.
Take into account whether the screen off timeout is very short.
If so, we use a shorter dim timeout.  Don't allow the dim
time to be more than 20% of the total screen on time so that
the screen remains bright at least 80% of the time even when
the timeout is short.

Bug: 7273646
Change-Id: Iccea764b90f0d8b1df7009d26160c6bcf6eabe5b
2012-10-02 21:18:04 -07:00
Jeff Brown
f3fb895269 Implement screen on hack for wireless chargers.
We can't accurately detect whether the device is resting
on a wireless charger unless it is actually charging.
So we need to tweak the screen on when plugged / unplugged
policy accordingly to avoid spurious wakeups.

Bug: 7234284
Change-Id: I624b559e2e92b8813b12090bc20eca5f5158997e
2012-10-02 20:57:05 -07:00
Satoshi Kataoka
3573950e0b Close the current input method when attached view doesn't have a handler
Bug: 7187452
Change-Id: Iba4f7ac89f5806e871aaeb97f366935b83b95a5a
2012-10-03 12:07:23 +09:00
Dianne Hackborn
75b694f1d6 Merge "Fix issue #7274813: A few sticky broadcasts aren't being sent to all users" into jb-mr1-dev 2012-10-02 19:19:41 -07:00
Craig Mautner
3e2358a0e6 Merge "Delay setting hidden until after isVisibleNow test." into jb-mr1-dev 2012-10-02 19:14:00 -07:00
Jeff Brown
a4d8204e30 Fix some synchronization issues in BatteryService.
Some of the BatteryService state was being locked
sometimes and it wasn't at all consistent.

Bug: 7158734
Change-Id: I46e75f66fde92c5a577a80a6bd99c9573066f3c1
2012-10-02 19:11:19 -07:00
Jeff Sharkey
1ed299f822 Merge "Make USB services multi-user aware." into jb-mr1-dev 2012-10-02 18:11:48 -07:00
Craig Mautner
4b5aa78c89 Delay setting hidden until after isVisibleNow test.
Setting hidden prior to test guarantees the test will fail. This
then causes the exit animation to not be loaded and consequently
the window is immediately hidden. Then, when the window is removed
later it reappears in order to animate away. The consequent flash
is undesirable.

Bug: 7242373 fixed.
Change-Id: I56966bd9060124be372702090f86b29b4deea8c0
2012-10-02 18:11:25 -07:00
Jeff Sharkey
fc3f24b4b6 Make USB services multi-user aware.
USB settings are now isolated per-user, since they revolve around
installed packages.  User-specific settings are returned based on
calling user, or referenced by UserHandle passed to SystemUI.  Each
settings Context is wrapped as a specific user, so all broadcasts are
sent correctly.  Upgrades any existing USB settings to OWNER.

Physical events, like new devices, are routed to the currently active
user.  Switch to using AtomicFile when persisting settings.

Bug: 7244888
Change-Id: I8a723ad3d55ac1bff99276c5f3a3f5e8f013432f
2012-10-02 18:09:10 -07:00
Jeff Brown
031e9d2e21 Merge changes I0ed9ba00,Ia8c6d7fe into jb-mr1-dev
* changes:
  Fix bug removing all windows that belong to a display.
  Add some missing debug output.
2012-10-02 17:08:07 -07:00
Jeff Brown
bcbe9cf475 Merge "Add new Display API for secure video capabilities." into jb-mr1-dev 2012-10-02 16:39:08 -07:00
Svetoslav Ganov
9bfb8bcfeb Merge "Up motion event not injected by the touch explorer at the end of a drag." into jb-mr1-dev 2012-10-02 16:36:29 -07:00
Jeff Brown
cb882f90e4 Fix bug removing all windows that belong to a display.
Removing one window causes its subwindows to also be removed.
We have to be careful when traversing the window list
because multiple windows may be removed at a time so we
don't get IndexOutOfBoundsException due to the window
list changing in unexpected ways.

Bug: 7273702
Change-Id: I0ed9ba00c325ad178ab28919ce2e763cb6fd38ba
2012-10-02 16:35:35 -07:00
Dianne Hackborn
5bc54bf354 Merge "Fix issue #7272775: Auto Start Apps Not Starting" into jb-mr1-dev 2012-10-02 16:25:15 -07:00
rich cannings
3ed62adad1 Merge "Fix package verification with multi-user" into jb-mr1-dev 2012-10-02 16:25:15 -07:00
Jeff Brown
77aebfdbae Add new Display API for secure video capabilities.
Added a new API to determine whether the display supports
protected buffers so that an application can choose a different
content stream or change how it decodes the content so
that it will be viewable on the display.

At present, wifi display does not fully support protected
buffers although this may be enhanced in the future.

Bug: 6986623
Change-Id: If53a53d72b0ec92753cc4b29f99fcb131e00449b
2012-10-02 16:25:10 -07:00
Jeff Brown
c2726643e7 Add some missing debug output.
Bug: 7257579
Change-Id: Ia8c6d7fefe6d4c4e6c37f20722c7ffce4bcfcbae
2012-10-02 16:25:10 -07:00
Dianne Hackborn
aa4b3c79f2 Fix issue #7274813: A few sticky broadcasts aren't being sent to all users
Change-Id: I2fc89de36be0709946f562f64002d0f6d223401f
2012-10-02 16:23:39 -07:00
Laurent Tu
0d21e2161f Remove checkPermission() call in getAllProviders().
getAllProviders() should return all locators, including those not
allowed or not enabled (according to the existing javadoc, at least).
The checkPermission() call prevented this behavior by throwing a
security exception. We restore the previous behavior by removing the
call.

Bug: 6950369

Change-Id: I0c6bc676d4c4db482bb68f1ab7fa5c93675118b4
2012-10-02 16:02:23 -07:00
Dianne Hackborn
4a9f071f3d Fix issue #7272775: Auto Start Apps Not Starting
Bad defaults were causing stopped state to be set at each
boot.

Change-Id: I49b04e9c62f6ac391054201b508fddb6c7985615
2012-10-02 15:29:06 -07:00
Craig Mautner
d5523dc7b7 Call Surface.destroy when Display is removed.
Prevents leaked Surfaces.

Bug: 7272421.
Change-Id: I6c87eb11bb0bedcf8de451b04477c70c248f905d
2012-10-02 15:28:09 -07:00
rich cannings
d55deb0a71 Fix package verification with multi-user
Fixes the porblem of PackageManagerService always sending Intents to user 0.

Bug: 7272549
Change-Id: I25995d8b2b9a24346f4813e6d8d9a84e5d5d2b6b
2012-10-02 14:53:08 -07:00
Svetoslav Ganov
aeb8d0ed0d Up motion event not injected by the touch explorer at the end of a drag.
1. The up event was not injected when the last pointer went up, i.e.
   at the end of the drag. This patch sends an up event if the dragging
   pointer goes up for both cases, when the dragging pointer goes up
   first and when it goes up second.

bug:7272830

Change-Id: I708a2b93ee2d0a4c46dbeea002841666e919602d
2012-10-02 14:33:27 -07:00
Jeff Sharkey
6e2bee75ce Migrate more System and Secure settings to Global.
Includes telephony, WindowManager, PackageManager, and debugging
settings.  Update API to point towards moved values.

Bug: 7231764, 7231252, 7231156
Change-Id: I5828747205708872f19f83a5bc821ed0a801cb79
2012-10-02 13:55:15 -07:00
Svetoslav Ganov
0944d62544 Merge "Touch explorer and magnifier do not work well together." into jb-mr1-dev 2012-10-02 13:14:06 -07:00
Svetoslav Ganov
45af84a483 Touch explorer and magnifier do not work well together.
1. If tocuh exploration and screen magnification are enabled and the screen
   is currently magnified, gesture detection does not work well. The reason
   is because we are transforming the events if the screen is magnified before
   passing them to the touch explorer to compensate for the magnification so
   the user can poke what he thinks he pokes. However, when doing gesture
   detection/velocity computing this compensating shrinks the gestured shape/
   decreases velocity leading to poor gesture reco/incorrect velocity.

   This change adds a onRawMotionEvent method in the event transformation chain
   which will process the raw touch events. In this method of the touch explorer
   we are passing events to the gesture recognized and the velocity tracker.

2. Velocity tracker was not cleared on transitions out of touch exploring state
   which is the only one that uses velocity.

bug:7266617

Change-Id: I7887fe5f3c3bb6cfa203b7866a145c7341098a02
2012-10-02 12:02:05 -07:00
Irfan Sheriff
56925d65fd Always update peer list in display controller
Display controller should always stay in sync with peer list to avoid
showing incorrect available status on peers which would
cause connectivity issues.

Bug: 7268307
Change-Id: If04644339c1ee3f567939e4441dd6f6a45e4179a
2012-10-01 23:01:57 -07:00
Svetoslav Ganov
30ed33b141 Merge "Owner should not be announces as a user switch." into jb-mr1-dev 2012-10-01 21:19:11 -07:00
Svetoslav Ganov
59f07690c2 Owner should not be announces as a user switch.
1. The accessibility layer announces user switches. Even though
   the initial switch to the owner on a singe user device is a
   valid use switch we should not announce it for accessibility.

bug:7264693

Change-Id: Idf022fab6b74c84b7a96bc4ed7c7fee2b83029a6
2012-10-01 19:22:43 -07:00