8484 Commits

Author SHA1 Message Date
Svetoslav Ganov
58d37b55bd Multi-user support for the accessibility layer.
1. This change converts the accessibility manager service to
   maintain a state per user. When the user changes the services
   for the user that is going away are disconnected, the local
   accessibility managers in the processes for this user are
   disabled, the state is swapped with the new user's one, and
   the new user state is refreshed.

   This change updates all calls into the system to use their
   user specific versions when applicable. For example, regisetring
   content observers, package monitors, calls into other system
   services, etc.

   There are some components that are shared across users such
   as UI created by the system process and the SystemUI package.
   Such components are managed as a global state shared across
   all users and are updated accordingly on a user switch. Since
   the SystemUI is running in a normal app process this change
   adds hidden APIs on the local window manager to allow the
   SystemUI to notify the accessibility layer that it will run
   accross users.

   Calls to AccessibiltyManager's isEnabled(), isTouchExplorationEnabled()
   and sendAccessibilityEvent return false or a are a nop for a
   background user sice he should not send accessibility events,
   and should not perform touch exploration.

   Update the internal accessibility tests due to changes in the
   AccessibilityManager.

   This change also fixes several issues that were encountered
   such as calling out the accessibility manager service with a
   lock held.

   Removed some incorrect debugging code from the TouchExplorer
   that was leading to a system crash.

bug:6967373

Change-Id: I2cf32ffdee1d827a8197ae4ce717dc0ff798b259
2012-09-21 16:48:07 -07:00
rich cannings
4e5753f5f6 Add setting to skip verifying ADB installs
Create a setting "verifier_verify_adb_installs" to allow developers to control
package verification on ADB installs only. If package verification is enabled,
the setting will:

0, Do not perform package verification on apps installed through ADB/ADT/USB
and perform package verification on all other installs.

1, Use package verification on all installs. (Default)

Bug: 7183252
Change-Id: I9d3eb8abb5ba5e93f8634d3135794e92ff6273b6
2012-09-21 13:26:15 -07:00
Craig Mautner
ac439e57a7 Eliminate potential for NPE in WindowAnimator.
Fixes bug 7209850.

Change-Id: I8c8751ab240ea389a2a779c94c05fe786ca8762a
2012-09-21 08:58:34 -07:00
Amith Yamasani
74defbf202 Merge "Query users excluding any being removed" into jb-mr1-dev 2012-09-20 23:08:45 -07:00
Amith Yamasani
920ace0bbc Query users excluding any being removed
Keep track of user creation and last logged-in time.
adb shell dumpsys users
User switcher shouldn't show users about to be removed.
No need to check for singleton for activities.

Bug: 7194894
Change-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf
2012-09-20 22:33:43 -07:00
Adam Cohen
11a6450e54 Merge "Fixing partiallyUpdateAppWidget to cache the new changes" into jb-mr1-dev 2012-09-20 18:09:11 -07:00
Irfan Sheriff
957fadc500 Merge "Use min group owner intent for concurrency" into jb-mr1-dev 2012-09-20 18:05:22 -07:00
Irfan Sheriff
99766cf40e Use min group owner intent for concurrency
Our device only supports STA & GC concurrency

Change-Id: I4f16c959a6f4e7ad5610dcae67be830d741f162c
2012-09-20 17:18:20 -07:00
Jeff Brown
b4c33679cb Merge "Disentangle input manager service startup." into jb-mr1-dev 2012-09-20 17:03:52 -07:00
Jeff Brown
ddfaa3f556 Merge "Provide a debugging option to force enable wifi display." into jb-mr1-dev 2012-09-20 17:02:27 -07:00
Jeff Brown
a9d131c308 Disentangle input manager service startup.
We will be adding additional callbacks for other components.
This change makes it clearer how the input manager is started
and where the callbacks are initialized.

Bug: 6548391
Change-Id: I4b2a61482126a12b7cf11fafe513f846c76c11e5
2012-09-20 16:48:17 -07:00
Jeff Brown
bbd28a293f Provide a debugging option to force enable wifi display.
Bug: 7179627
Change-Id: I84c7605a1cee5ed723341eebdcec4a824e7e4d38
2012-09-20 16:47:15 -07:00
Adam Cohen
fbe44b7d5e Fixing partiallyUpdateAppWidget to cache the new changes
-> This is a good change to the widget framework that I've wanted to
   make for a while, but issue 7174198 triggered the immediate need.

Change-Id: I3f267e0e67f2d9f28920bb53973af365a3c9e0ba
2012-09-20 15:18:47 -07:00
Dianne Hackborn
6de76d21ff Merge "Implement multi-user PackageMonitor." into jb-mr1-dev 2012-09-20 14:54:10 -07:00
Dianne Hackborn
c72fc674a3 Implement multi-user PackageMonitor.
New APIs let you indicate what user(s) to monitor, and tell you
what user is changing when receiving a callback.

Fix package manager to only deliver package brpadcasts to the
running users.  (This isn't really a change in behavior, since
the activity manager would not deliver to stopped users anyway).
Make sure all broadcasts that package monitor receives also include
user information for it to use.

Update wallpaper service to (hopefully) now Really Correctly
monitor package changes per user.

Change-Id: Idd952dd274abcaeab452277d9160d1ae62919aa0
2012-09-20 14:53:18 -07:00
Irfan Sheriff
314488b791 Merge "Captive check for both mobile and wifi" into jb-mr1-dev 2012-09-20 13:33:52 -07:00
Wink Saville
ca2cb18410 Merge "Suppress location information for non-active users." into jb-mr1-dev 2012-09-20 12:37:19 -07:00
Irfan Sheriff
9538bdd3c7 Captive check for both mobile and wifi
Bug: 7113195
Bug: 7102238
Bug: 7087564

Change-Id: Iac08db9de3935338ad498aa3983d2ca82057dda1
2012-09-20 12:13:06 -07:00
Geremy Condra
f6e24d62b6 Merge "Remove pointless exception supression." into jb-mr1-dev 2012-09-20 11:22:14 -07:00
Geremy Condra
4dd3c37970 Merge "Remove logging for old version mismatches." into jb-mr1-dev 2012-09-20 10:33:03 -07:00
Wink Saville
a12a7b3d3d Suppress location information for non-active users.
Specifically, don't allow call backs for LISTEN_CELL_LOCATION and
LISTEN_CELL_INFO.

Bug: 7087342
Change-Id: Ida7f60b5bde3f28264dcb454b38fcfb1f1616d11
2012-09-20 10:09:45 -07:00
John Spurlock
e0de5bfff2 Merge "Fire "dreaming started" and "dreaming stopped" broadcasts." into jb-mr1-dev 2012-09-20 05:45:54 -07:00
Geremy Condra
350bb15ac7 Remove pointless exception supression.
Bug: 7198235
Change-Id: I3371403a79fd3e01d46678d58129d36eb921d10a
2012-09-20 01:40:03 -07:00
Jeff Brown
c2b9ea6241 Make wifi display state changes more robust.
Bug: 7178216
Change-Id: Icceaeb61730b0b4916cdda44459f4c69553e303c
2012-09-19 23:15:26 -07:00
Jeff Brown
89d5546d7f Add support for remembering Wifi display devices.
Add a setting to globally disable Wifi display.

Fixed a bug where the wifi display broadcast receiver
was running on the wrong thread.

Removed the wifi-display QuickSettings dialog, all functionality
has been moved to Settings.

Bug: 7178216
Bug: 7192799
Change-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9
2012-09-19 22:04:44 -07:00
Geremy Condra
0967a9edfc Remove logging for old version mismatches.
Since this has no security consequence and triggered by a variety
of totally innocuous things it seems like log noise and so should
be removed.

Bug: 7198235
Change-Id: I80ed5acb378a4c42d5d223b633309bf9526dbf3d
2012-09-19 21:22:42 -07:00
Jeff Sharkey
daa57e8d18 Migrate network stats from removed users.
When a user is removed, migrate all network stats belonging to that
user into special UID_REMOVED bucket.  Also removes those stats from
kernel to avoid double-counting if another user is created.

Bug: 7194784
Change-Id: I03f1d660fe3754566326b7749cae8068fc224ea9
2012-09-19 14:54:05 -07:00
John Spurlock
f4f6b4c8b0 Fire "dreaming started" and "dreaming stopped" broadcasts.
Dream manager now fires broadcast intents when entering + exiting
dreamland (except when testing).

Power manager can now listen for dreams ending, using polling only
as a backstop.

Also:
 - Bullet-proof dream-manager/dream against known failure modes
 - Add new read/write dream permissions
 - Refactor dream-manager to delegate work + state management into
   a new DreamController class, via a handler

Bug:6999949
Bug:7152024
Change-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1
2012-09-19 17:36:50 -04:00
Craig Mautner
6704a48bd0 Merge "Fixes to Starting window and Wallpaper windows." into jb-mr1-dev 2012-09-19 13:29:44 -07:00
Dianne Hackborn
52716deb40 Merge "Fix deadlock in LockPatternUtils by using local id." into jb-mr1-dev 2012-09-19 13:28:11 -07:00
Craig Mautner
f1b6741975 Fix deadlock in LockPatternUtils by using local id.
Activity manager now updates window manager's current user id
directly and immediately rather than waiting for a broadcast
update. Window manager passes this through policy to the
KeyguardViewMediator and into LockPatternUtils. LockPatternUtils
no longer goes to Activity to get the current user id if it finds
that its local id is non-default.

Fixes bug 7193726.

Change-Id: Id5613e7a9fe9e5b49e83c26b74504f587c3998c2
2012-09-19 13:18:29 -07:00
Dianne Hackborn
09ad0832e0 Merge "Switch to showing top-most thumbnail of recent apps." into jb-mr1-dev 2012-09-19 11:40:18 -07:00
Dianne Hackborn
15491c6a72 Switch to showing top-most thumbnail of recent apps.
The way it should have been, and with the new recents enter animation
the way it must be.

Added a new method to retrieve this thumbnail, since it would be less
efficient to use the existing API (which always returns the "base"
thumbnail).  Probably at some point that existing API should be tweaked
to always return the top thumbnail instead, but that is for a later time.

Also removed code that would clear the thumbnail associated with an
activity when it is resumed.  I don't think there should ever be a
reason to clear a thumbnail -- it's much better to have *something*
for the task, even if it is a little out of date.

Change-Id: I83e6ca6403eb2df5e4de3009dfe8c210e8cf8d5b
2012-09-19 11:25:40 -07:00
Jeff Sharkey
a490bddc8b Merge changes I4513afbd,I20e2194c into jb-mr1-dev
* changes:
  Make getMediaStorageDirectory() user-aware.
  Lockdown should only augment connected networks.
2012-09-19 11:22:14 -07:00
Craig Mautner
8863cca57d Fixes to Starting window and Wallpaper windows.
- Checking for found wallpaper to match either mWallpaperTarget
or mLowerWallpaperTarget keeps from swapping the layers while
transitioning between two wallpaper activities.

- Fade out RecentsActivity while bringing up selected activity. This
keeps the RecentsActivity from showing through a launching wallpaper
activity.

- When moving a starting window from one activity to another clear
the startingDisplayed flag in the old activity.

- When moving a starting window from one activity to another assign
the new activity's mAppAnimator to the starting window's mWinAnimator.

- Only treat a wallpaper transition as entering if the mWallpaperTarget
is visible and not being hidden. Keeps from assigning the wrong
animation when activities are launched back to back and the
mWallpaperTarget is still animating away.

Fixes bug 7148089.

Change-Id: Idd405b1ba113f3345ca2116d141b474abe5bd4c0
2012-09-19 11:11:46 -07:00
Amith Yamasani
4adb9d3416 Merge "DevicePolicyManager per user" into jb-mr1-dev 2012-09-18 20:00:44 -07:00
Dianne Hackborn
1e5aeecb64 Merge "Don't allow more than 3 actively running users at a time." into jb-mr1-dev 2012-09-18 18:22:15 -07:00
Dianne Hackborn
bb1aeff320 Don't allow more than 3 actively running users at a time.
Change-Id: Ic047c62b518a0faaa7b507343909330044ec290b
2012-09-18 18:20:43 -07:00
Jeff Sharkey
0b81be6f79 Lockdown should only augment connected networks.
Bug: 7148397
Change-Id: I20e2194c874544b272b9ec8b63391d91b0a22f49
2012-09-18 15:44:16 -07:00
Jeff Sharkey
6281d7cf32 Merge "Multi-user MTP." into jb-mr1-dev 2012-09-18 14:52:46 -07:00
Amith Yamasani
599dd7ce9a DevicePolicyManager per user
Bug: 7136483

Store device policy information for each user and apply them when user switches.

Global proxy can only be controlled by owner.
Camera restriction applies to all users, if any one has an admin that disables it.
Storage encryption can only be controlled by owner, although other users can query the state.
Wipe data will only remove the user if non-zero, wipe the device, if zero.

Change-Id: I359be46c1bc3828fd13d4be3228f11495081c8f2
2012-09-18 14:28:33 -07:00
Andy Stadler
ab3d0fd684 Merge "Move files to make eclipse-java happy" into jb-mr1-dev 2012-09-18 14:20:30 -07:00
Andy Stadler
d44daaba44 Move files to make eclipse-java happy
No changes to text at all, just moving the java files to match their
declared packages.

There was no original bug# but this cleans up the code submitted in
the original Change-Id: I42307f58074157b33b6e01216aab10022340d449

Change-Id: I233fa7f21167a42565aadb7ad109600b1a1a5721
2012-09-18 14:08:30 -07:00
Jeff Sharkey
27bd34d9d9 Multi-user MTP.
The current MTP kernel driver at /dev/mtp_usb is exclusive, meaning
only one process can have it open. In addition, each MTP session
with a desktop requires unique object IDs, which doesn't hold true
across users on the device.

To solve these two issues, when switching users we cycle the USB host
stack to disconnect both local and remote MTP connections, giving the
new user's media process a chance to claim /dev/mtp_usb, and causing
the desktop to initiate a new MTP session.

This change also allows BroadcastReceivers to registerReceiver()
allow retrieval of a current sticky broadcast. Adds a system property
to override maximum users. Removes MOUNTED broadcasts for secondary
users. Allows INTERACT_ACROSS_USERS to getCurrentUser().

Bug: 6925114
Change-Id: I02b4a1b535af95fb2142655887b6d15a8068d18a
2012-09-18 13:26:26 -07:00
Irfan Sheriff
24ed276913 Merge "WFD fixes" into jb-mr1-dev 2012-09-18 12:22:06 -07:00
Irfan Sheriff
e0c28d5f13 WFD fixes
- Specificy max GO intent for WFD
- Increase GO idle time out to 20s and use it for GO and client
- Fix connection broadcast

Change-Id: Ia0e28bc9eb3e23d2830a6c814c5a537ca0bcd5db
2012-09-18 12:20:37 -07:00
Amith Yamasani
f7a6dfcafc Merge "Pass Bitmap instead of ParcelFileDescriptor in UserManager" into jb-mr1-dev 2012-09-17 22:53:21 -07:00
Amith Yamasani
e928d7d95d Pass Bitmap instead of ParcelFileDescriptor in UserManager
Add a USER_INFO_CHANGED intent for lockscreen and quicksettings to use
to monitor changes to the user name or icon.

Bug: 7164040
Change-Id: Id6fb8b6d38ce04ccd02bbadcf0c10699783d6c03
2012-09-17 21:46:51 -07:00
Dave Burke
049dd8e6a3 Merge "Revert "Specify max go intent for wifi display"" into jb-mr1-dev 2012-09-17 18:58:11 -07:00
Dave Burke
ee261a5a6c Revert "Specify max go intent for wifi display"
This reverts commit 7ab7260697de617aced0b0ba594304a42e5395bd

Change-Id: I5b322f41729695465b164e1dfe6d4b1902cd8117
2012-09-17 18:56:19 -07:00