10624 Commits

Author SHA1 Message Date
Amith Yamasani
bc4ba82335 Remove user switcher from long-press power menu
Bug: 7252218

Also lock the screen before doing the user switch. This prevents the
janky behavior of showing the target user's homescreen after the switch
and then the lock screen. This is also a privacy issue.

Change-Id: I9f8db047335d06fc93505d7b5cca71e27ca3ac39
2012-09-28 10:21:32 -07:00
Jeff Brown
13701b50f5 Merge "Bundle correlated switch changes atomically." into jb-mr1-dev 2012-09-28 00:35:57 -07:00
Satoshi Kataoka
3cd961292e Merge "Fix ime swtich issue" into jb-mr1-dev 2012-09-28 00:26:55 -07:00
Satoshi Kataoka
d08a9238db Fix ime swtich issue
Bug: 7250097
Change-Id: Ibe85aaf7d60e7c3a27363eece528d19a0c8ddca2
2012-09-28 16:19:59 +09:00
Hiroshi Lockheimer
448f6e1e14 Merge "temporarily disable blacklisting" into jb-mr1-dev 2012-09-27 21:58:21 -07:00
Jeff Brown
bcc046af4e Bundle correlated switch changes atomically.
This is a prerequisite for headset jack detection on Manta.

Bug: 6548391
Change-Id: I549a194344511c0cee578b00f6a9ab5fdbdfb99c
2012-09-27 21:42:57 -07:00
Svetoslav Ganov
7befb7deb2 Global gesture to toggle Accessibility system-wide.
1. This change adds a global gesture for enabling accessibility.
   To enable this gesture the user has to allow it from the
   accessibility settings or use the setup wizard to enable
   accessibility. When the global gesture is enabled the user
   can long press on power to bring the global actions dialog
   and then hold with two fingers for a few seconds to enable
   accessibility. The appropriate feedback is also provided.

2. The global gesture is writing directly into the settings for
   the current user if performed when the keyguard is not on. If
   the keygaurd is on and the current user has no accessibility
   enabled, the gesture will temporary enable accessibility
   for the current user, i.e. no settings are changed, to allow
   the blind user to log into his account. As soon as a user
   switch happens the new user settings are inherited. If no
   user change happens after temporary enabling accessibility
   the temporary changes will be undone when the keyguard goes
   away and the device will works as expected by the current user.

bug:6171929

3. The initialization code for the owner was not executed due
   to a redundant check, thus putting the accessibility layer in
   an inconsistent state which breaks pretty much everything.

bug:7240414

Change-Id: Ie7d7aba80f5867b7f88d5893b848b53fb02a7537
2012-09-27 20:33:20 -07:00
Satoshi Kataoka
e496114528 Merge "Treat additional inputmethod subtypes per user" into jb-mr1-dev 2012-09-27 20:14:05 -07:00
Craig Mautner
3dc0b80dc6 Merge "Fix layout state issues." into jb-mr1-dev 2012-09-27 19:34:28 -07:00
Victoria Lease
b319d5de19 temporarily disable blacklisting
Bug: 7248239
Change-Id: I2ef28fa0d6890a127fc424e58a148fe1fb15b683
2012-09-27 18:24:27 -07:00
Craig Mautner
812d2ca475 Fix layout state issues.
- Restore test of hidden to isGoneForLayoutLw(), without that
we return false when setAppVisibility(true) is called which leads
to early layout of windows. Particulary on return from full screen
to non-full we lay out once before recognizing that the status bar
should be back and then again once the status bar appears causing
a jump. Fixes bug 6470541.

- Add a new test for configuration size changes to gone or hidden
windows. This forces a layout call to these windows which informs
them of the new size even though they are not shown until later.
In particular this keeps windows that were in the background
during a rotation from using their old boundaries on return.
Fixes bug 6615859.

- Consolidate WindowState.mConfiguration tests into WindowState.

Change-Id: I7a82ce747a3fcf7d74104dc23f1532efe64bd767
2012-09-27 18:07:39 -07:00
Jeff Sharkey
625239a054 Migrate more Secure settings to Global.
Migrate networking, storage, battery, DropBox, and PackageManager
related Secure settings to Global table.

Bug: 7232014, 7231331, 7231198
Change-Id: I772c2a9586a2f708c9db95622477f235064b8f4d
2012-09-27 16:22:53 -07:00
Christopher Tate
3f91e43eb0 Merge "Full (local) restore security changes" into jb-mr1-dev 2012-09-27 14:58:47 -07:00
Christopher Tate
f6d6fa8cbc Full (local) restore security changes
(1) Prevent full restore from creating files/directories that are
    accessible by other applications

(2) Don't restore filesets from "system" packages; i.e. any that runs
    as a special uid, unless they define their own agent for handling
    the restore process.

Bug 7168284

Change-Id: Id6a0cb4c113c2e4a8c4605252cffa41bea22d8a3
2012-09-27 12:54:37 -07:00
Adam Cohen
580ee8b0c6 Merge "Fixing AppWidgetService / AppWidgetHost to work in system process" into jb-mr1-dev 2012-09-27 11:17:20 -07:00
Satoshi Kataoka
5ade83ba12 Treat additional inputmethod subtypes per user
Bug: 6931482
Change-Id: I4f7c7e69a80534da3a48ac508ff7a9e7511f33ce
2012-09-27 19:00:44 +09:00
Dianne Hackborn
2480bc12a5 Merge "Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user" into jb-mr1-dev 2012-09-27 00:53:08 -07:00
Dianne Hackborn
c7ba771a45 Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user
Also tweak bind flags for new location services so they
aren't put so aggressively up in the oom adj list.

Change-Id: I9da25a3fea7681013b4d95b7db7e9a808f2d733b
2012-09-26 23:22:59 -07:00
Jeff Brown
7bb89cf163 Merge changes I2c09abaa,I9d8406e1 into jb-mr1-dev
* changes:
  Cure narcolepsy.
  Allow applications to connect to known wifi displays.
2012-09-26 20:19:09 -07:00
Jeff Sharkey
f21b94a877 Merge "Remove unused Secure settings." into jb-mr1-dev 2012-09-26 20:17:44 -07:00
Jeff Sharkey
68b7a6d14b Merge "First step towards cleaning up Global settings." into jb-mr1-dev 2012-09-26 20:15:45 -07:00
Jeff Brown
f9d40f4236 Cure narcolepsy.
Bug: 7204211
Change-Id: I2c09abaad5d321cec6f62f7ca0ce00c3b61ee211
2012-09-26 18:57:48 -07:00
Jeff Brown
bc33545746 Allow applications to connect to known wifi displays.
Bug: 7177920
Change-Id: I9d8406e1016988e2cd267dfa52d78a829f1b385e
2012-09-26 18:34:47 -07:00
Adam Cohen
3ff2d867d4 Fixing AppWidgetService / AppWidgetHost to work in system process
-> Fixes issue 7208464
-> Fixed issue with partial update as well, should address
   issue 7214731

Change-Id: Ib8d9d5bee68b4fa7d6b4fbbc2f6609c287689958
2012-09-26 18:00:12 -07:00
Jeff Sharkey
4de9936e85 Remove unused Secure settings.
Carefully leave default values intact in Watchdog for now.

Bug: 7232007, 7232230
Change-Id: Id944181109305aed41e0766fdd39625b43cb1d19
2012-09-26 17:58:19 -07:00
Philip Milne
eed8f06f7f Merge "Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()" into jb-mr1-dev 2012-09-26 17:30:20 -07:00
Jeff Sharkey
bdfce2ec05 First step towards cleaning up Global settings.
Remove all @Deprecated @hide settings, and clean up any stragglers.

Bug: 7232125
Change-Id: Ibf67093c728d4a28565129b923edb1701d3b2789
2012-09-26 17:18:49 -07:00
Jeff Brown
62c82e4d92 Make DreamManagerService more robust.
Clearly isolated the DreamManagerService and DreamController
responsibilities.  DreamManagerService contains just enough logic to
manage the global synchronous behaviors.  All of the asynchronous
behaviors are in DreamController.

Added a new PowerManager function called nap() to request the device
to start napping.  If it is a good time to nap, then the
PowerManagerService will call startDream() on the DreamManagerService
to start dreaming.

Fixed a possible multi-user issue by explicitly tracking for
which user a dream service is being started and stopping dreams
when the current user changes.  The user id is also passed to
bindService() to ensure that the dream has the right environment.

Fix interactions with docks and the UI mode manager.  It is
important that we always send the ACTION_DOCK_EVENT broadcast
to the system so that it can configure audio routing and the like.
When docked, the UI mode manager starts a dock app if there is
one, otherwise it starts a dream.

This change resolves issues with dreams started for reasons other
than a user activity timeout.

Bug: 7204211
Change-Id: I3193cc8190982c0836319176fa2e9c4dcad9c01f
2012-09-26 15:24:27 -07:00
Jeff Brown
cef440f2a2 Move DreamManagerService to its own package.
Bug: 7204211
Change-Id: Ia6cfe252647161df357a4de149a06fa1e3fd63fa
2012-09-26 15:24:27 -07:00
Dianne Hackborn
e521573097 Merge "Maybe fix issue #7211766: bindService() to User u0 While u10 is..." into jb-mr1-dev 2012-09-26 14:55:19 -07:00
Dianne Hackborn
b12e1354f2 Maybe fix issue #7211766: bindService() to User u0 While u10 is...
...Forground Sometimes Doesn't Take

The main change here is a one-liner in ActiveServices to check the
uid when deciding whether to remove an item from mPendingServices.
This could cause the problem being seen -- if the same service for
two users is starting at the same time, the second one would blow
away the pending start of the first one.  Unfortunately I have had
trouble reproducing the bug, so I don't know if this is actually
fixing it.  It's a bug, anyway.

The reason so much has changed here is because I spread around
logging and printing of the user ID associated with operations and
objects to make it easier to debug these kind of multi-user things.

Also includes some tweaks to the oom manager to allow more background
processes (I have seen many times in logs where we thrash through
processes because the LRU list is too short), plus to compensate an
additional time-based metric for when to get rid of background processes,
plus some new logic to try to help things like Chrome keep around
their service processes.

Change-Id: Icda77fb2a1dd349969e3ff2c8fff0f19b40b31d3
2012-09-26 14:50:12 -07:00
Jeff Sharkey
1951db86f5 Merge "Multi-user ringtone playback." into jb-mr1-dev 2012-09-26 13:38:22 -07:00
Philip Milne
4118012da9 Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()
Change-Id: Ie38952bbaace080e81e41e61350cda172951d548
2012-09-26 11:29:25 -07:00
Jeff Sharkey
65c4a2b26c Multi-user ringtone playback.
Change RingtonePlayer to open content:// Uris based on requesting
UserHandle.  Grant SystemUI visibility to all emulated storage so
it can play ringtones for apps without READ_EXTERNAL_STORAGE.

Resolve canonical file:// Uris before passing out of source app,
replacing any /emulated_legacy/-style paths with user-specific
variant so they can be opened by SystemUI.  Calling for RemoteViews,
Ringtones, and Notifications.

Bug: 7202982
Change-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099
2012-09-26 10:49:35 -07:00
Victoria Lease
72a374705d Merge "getBestProvider() prefers GPS over NLP" into jb-mr1-dev 2012-09-26 07:59:13 -07:00
Satoshi Kataoka
4e1ab15b30 Enable multi-user function for IMF
Bug: 6931482

Change-Id: Ib23849d352db33f0747aa9d5a178f00ac726c13b
2012-09-26 19:22:04 +09:00
Matthew Xie
5e1c74dbbe Merge "Remove permission check in registerAdapter" into jb-mr1-dev 2012-09-25 21:04:15 -07:00
Matthew Xie
670ef53353 Remove permission check in registerAdapter
This matches the JB behavior of getDefaultAdapter public api
bug 6948829

Change-Id: I86135bf45fddbb2d078f855f91a34d6fcce237a2
2012-09-25 18:25:54 -07:00
Jeff Brown
067b4732f6 Merge "Use more reasonable warning thresholds for power on/off." into jb-mr1-dev 2012-09-25 18:13:23 -07:00
Jeff Sharkey
6e065a729d Merge "Handle multi-user mountObb() requests." into jb-mr1-dev 2012-09-25 17:52:14 -07:00
Jeff Sharkey
4fbbda4cec Handle multi-user mountObb() requests.
Since emulated external storage paths differ based on execution
context, carefully fix up paths for various use-cases:

1. When sending paths to DefaultContainerService, always scope
   OBB paths as belonging to USER_OWNER.
2. When sending paths to vold, always build emulated storage paths
   visible to root.
3. Always use the original untouched path when talking with apps.

Mount OBB containers using shared app GID, so that an app can read
the mount point across users.

Handle legacy paths like "/sdcard" by resolving the canonical path
before sending to MountService.  Move tests to servicestests, and
add tests for new path generation logic.

Bug: 7212801
Change-Id: I078c52879cd08d9c8a52cc8c83ac7ced1e8035e7
2012-09-25 17:34:48 -07:00
Jeff Brown
b32e221699 Merge changes I332f020f,I632648ac into jb-mr1-dev
* changes:
  Update references to migrated global settings.
  Handle user switched for settings changes.
2012-09-25 17:03:11 -07:00
Jeff Brown
0a52088e58 Merge "Fix typo." into jb-mr1-dev 2012-09-25 17:02:06 -07:00
Jeff Brown
80cd819a04 Use more reasonable warning thresholds for power on/off.
To encourage vendors to make power on/off as efficient
and responsive as possible, we log some warnings whenever it
is too slow.  The previous thresholds were a little
unreasonable mainly because we wanted to understand
how long the process tends to take even when it's fast.

Raise the warning limit while still being aggressive about
timings.  Ideally we want the screen to turn on/off within
no more than a few frames.

Bug: 7167820
Change-Id: Id28dbf8c91cefa7ae7544b72887104af7aabccff
2012-09-25 16:59:58 -07:00
Svetoslav Ganov
c91fb5875b Merge "Adding a global accessibility action to open quick settings." into jb-mr1-dev 2012-09-25 16:47:06 -07:00
Svetoslav Ganov
e20a177d3f Adding a global accessibility action to open quick settings.
1. Added APIs for opening the quick settings to the StatusBarManagerService
   and the local StatausBarManager. The new APIs are protected by the old
   EXPAND_STATUS_BAR permission.
   Renamed the expand* and collapse* non-public APIs that are expanding
   the notifications to expandNotifications* collapseNotifications* to
   better convey what they do given that this change adds
   expandQuickSettings* and collapseQuickSettings*.
   Added a global action to the accessibility layer to expand the quick
   settings which is calling into the new status bar manager APIs.

bug:7030487

Change-Id: Ic7b46e1a132f1c0d71355f18e7c5a9a2424171c3
2012-09-25 16:07:59 -07:00
Amith Yamasani
98edc95171 Load resources for the correct user
For apps that are only installed on secondary users, the SystemUI is
unable to see them by default. Added some methods to explicitly pass the
userId of the user the resources are requested for by the StatusBarIcon

Bug: 7214384

Also fix binding to remote views

Bug: 7192802

Change-Id: I5d6c5f624aa37fb231f3467f9764c8d99077a91d
2012-09-25 15:45:27 -07:00
Jeff Brown
bf6f6f9de7 Update references to migrated global settings.
Fixed one setting that was migrated but not marked deprecated.

Removed a hidden setting that is no longer used by the new
power manager service.

Bug: 7231172
Change-Id: I332f020f876a18d519a1a20598a172f1c98036f7
2012-09-25 15:27:51 -07:00
Jeff Brown
d49359631b Handle user switched for settings changes.
Move OVERLAY_DISPLAY_DEVICES to Global.

Bug: 7127417
Change-Id: I632648ac5b01408512f59424f3bb55162431bea4
2012-09-25 15:26:51 -07:00
Jeff Brown
28e0b09a3d Fix typo.
Bug: 7183618
Change-Id: I0c761fc7f55b3f182007cb4d50cbfdce309f844a
2012-09-25 15:15:17 -07:00