Commit Graph

2593 Commits

Author SHA1 Message Date
Adam Powell
2ee6a2a832 MediaRouter/Wifi Display improvements
* Don't select the default route on initialization in a process

* Add "connecting" state to MediaRouteButton

Bug 7258981
Bug 7262522

Change-Id: I5cd39b09843783b7e1e17620ca33193f0f3b8fca
2012-10-01 14:05:32 -07:00
Adam Powell
c56e560050 Merge "Construct a task stack for picking a wifi network from notification" into jb-mr1-dev 2012-10-01 10:32:35 -07:00
Adam Powell
d56b4d1db3 Construct a task stack for picking a wifi network from notification
Bug 7001327

Change-Id: I5a79e6933cd33386cd0aa4df626f15902deedd67
2012-09-30 18:30:42 -07:00
Dianne Hackborn
fe37f8f51d Work on issue #6949468: android.dpi.cts.ConfigurationScreenLayoutTest...
...#testScreenLayout failures on JO

This doesn't actually fix it; I have concluded that the test is broken
(the platform is correctly reporting that this is a NOT LONG device
because in portrait once you account for the status bar and system
bar our size is 880dp high and 600dp wide, which is not enough for us
to be in the LONG config).

However while working on this I noticed that the code for computing
the configuration of the external display was wrong.  I have fixed
that by putting this code for computing these parts of the configuration
in a common place that both the window manager and external display
code can use.

Change-Id: Ic6a84b955e9ec345a87f725203a29e4712dac0ad
2012-09-30 15:06:05 -07:00
Dianne Hackborn
3ff8e1a800 Merge "Fix issue #7211769 and #7244492, thrash around on #7226656." into jb-mr1-dev 2012-09-28 15:54:44 -07:00
Dianne Hackborn
d4ac8d7b3d Fix issue #7211769 and #7244492, thrash around on #7226656.
Issue #7211769: Crash dialog from background user has non-working "report"

The report button now launches the issue reporter for the correct user.
Also for crashes on background users, either disable the report button,
or simply don't show the dialog depending on the build config.

Issue #7244492: Bugreport button in Quick Settings doesn't actually do anything

Now they do.

Issue #7226656: second user seeing primary user's apps

I haven't had any success at reproducing this.  I have tried to tighten up
the path where we create the user to ensure nothing could cause the
user's applications to be accessed before the user it fully created and thus
make them installed...  but I can't convince myself that is the actual problem.

Also tightened up the user switch code to use forground broadcasts for all
of the updates about the switch (since this is really a foreground operation),
added a facility to have BOOT_COMPELTED broadcasts not get launched for
secondary users and use that on a few key system receivers, fixed some debug
output.

Change-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021
2012-09-28 15:37:22 -07:00
Adam Powell
705ab808cf Add wireless display selection support to MediaRouter.
* Adds the new route type LIVE_VIDEO

* Wireless displays support both LIVE_VIDEO and LIVE_AUDIO, making
  wireless display routes valid selections in when apps make selecting
  live audio routes available.

* MediaRouter will only report/manipulate wireless displays that have
  already been paired at the system level.

Bug 7177920

Change-Id: Ic221b8687d77b4c0df9801c396b74870e86206e9
2012-09-28 11:46:40 -07:00
Daniel Sandler
0dc2b81ce1 Merge "Cleanup internal status bar APIs." into jb-mr1-dev 2012-09-28 10:07:16 -07:00
Jeff Sharkey
5e9187a3cf Merge "Fix "system" resources; more context user work." into jb-mr1-dev 2012-09-27 20:26:00 -07:00
Jeff Sharkey
ded653b168 Fix "system" resources; more context user work.
Special-case "system" resources, since it doesn't have an
ApplicationInfo.  Also switch Context and PackageManager to using
the wrapped UserHandle for outgoing calls.

Bug: 7242361
Change-Id: I1ecd2a4752399a6dce2de97c59bd5545996c9a99
2012-09-27 19:50:23 -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
Daniel Sandler
11cf178100 Cleanup internal status bar APIs.
IStatusBarService.collapseQuickSettings is gone;
collapseNotifications is now collapsePanels, which does what
collapse() used to do. Similarly,
IStatusBar.animateCollapseQuickSettings is now simply
IStatusBar.animateCollapse().

Bug: 7245229
Change-Id: Id157d2fdf34926d3c85ffa8b81c741a5359aede4
2012-09-27 14:03:08 -04:00
Dianne Hackborn
f43a33c5ea Work on issue #7232641: ISE crash when rotating phone in label list mode
This doesn't fix the problem; I think it is an app problem.  It does
improve a bunch of the debugging to help better identify what is going
on, and introduces some checks when adding a fragment to fail
immediately if we are getting into a state when a fragment is going to
be in the added list multiple times (which is pretty much guaranteed
to lead to a failure at some point in the future).

Change-Id: If3a8700763facd61c4505c6ff872ae66875afc8d
2012-09-27 00:51:56 -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
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
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
Dianne Hackborn
61ad1bacf8 Merge "Fix AbsListView to correctly retain its state if not layed out." into jb-mr1-dev 2012-09-25 16:49:05 -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
Dianne Hackborn
e181bd9b5e Fix AbsListView to correctly retain its state if not layed out.
This covers a hole where if the list view restores its state and
then is asked to save its state before its layout happens, the
original state is lost.  Instead we just store that original state.

Also tweak FragmentManager to make sure an inactive fragment can
not have its state moved up out of CREATED.

Bug #7232088: ListView saved state being lost in some cases

Change-Id: I5b40f37c259c7bcbe17dd1330016f9531f1b5534
2012-09-25 15:04:06 -07:00
Jean-Baptiste Queru
7951c459ae Merge into jb-mr1-dev
Change-Id: Ifc2328e30a52c2baebc1322c9b161104dcf21618
2012-09-25 09:36:32 -07:00
Jean-Baptiste Queru
7a7c6aa0c3 Merge into jb-mr1-dev
Change-Id: I821410e9ffcc7148139465c04ef335f0becc18c2
2012-09-25 09:34:45 -07:00
Amith Yamasani
ea7e91514e AppInfo from Notifications for secondary users
Required wiring up startActivitiesAsUser()

Bug: 7224950

Also fix a bug in navigateUp in secondary user

Change-Id: I114ae2de0457362d62e899fdb94b12239a3eb778
2012-09-24 17:19:03 -07:00
Jeff Brown
efd43bdb83 Force activities to run on the second display for testing.
This is a simple hack for testing and development purposes.
It makes the framework place the main window of an activity
on to a secondary display instead of on the default display.

Set the "debug.second-display.pkg" to a substring of the
package name of the activity that you want to have show
up on the secondary display, such as "com.example.android.apis"

Bug: 7183618
Change-Id: I0a9e7f27c8ff253253b9de57d4bc49f31d95a0e2
2012-09-24 14:37:25 -07:00
Adam Powell
9ceac5a02f TaskStackBuilder and intents without an explicit target
When Activity#getParentActivityIntent() returns an Intent without an
explicit target, resolve it in order to determine a correct parent
stack.

Bug 7223318

Change-Id: I3e88129f1e538cc3d932d6b4f735a5bec54bb4ad
2012-09-24 14:28:44 -07:00
Dianne Hackborn
50cdf7c306 Fix issue #7214090: Need to be able to post notifications to all users
Also fix a bunch of system services that should be doing this.  And
while doing that, found I needed to fix PendingIntent to evaluate
USER_CURRENT at the point of sending, not creation.

Note that this may end up with us having some notification shown to
non-primary users that lead to settings UI that should only be for
the primary user (such as the vpn notification).  I'm not sure what
to do about this, maybe we need a different UI to come up there or
something, but showing the actual notification for those users at
least seems less broken than not telling them at all.

Change-Id: Iffc51e2d7c847e3d05064d292ab93937646a1ab7
2012-09-24 10:55:46 -07:00
Jeff Sharkey
11820f7386 Merge "Allow acquiring ContentProviders across users." into jb-mr1-dev 2012-09-23 13:22:27 -07:00
Jeff Sharkey
6d51571835 Allow acquiring ContentProviders across users.
Otherwise services like SystemUI will always open content://-style
Uris as USER_OWNER.  Surfaces through createPackageContextAsUser()
which points all ContentResolver operations towards a given user.

Start using in RemoteViews, so that Notifications correctly resolve
image Uris to the sending user.  Also add user support for "content"
shell tool.

Bug: 7202982
Change-Id: I8cb7fb8a812e825bb0b5833799dba87055ff8699
2012-09-21 19:49:43 -07:00
Svetoslav Ganov
0a5c5567f2 Merge "Multi-user support for the accessibility layer." into jb-mr1-dev 2012-09-21 17:21:45 -07:00
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
Jim Miller
1ed9fa10de Merge "Make DPM API for disabling keyguard widgets more generic" into jb-mr1-dev 2012-09-21 15:21:33 -07:00
Daniel Sandler
0887711d0f Merge "Add Notification.Builder.setShowWhen(boolean)." into jb-mr1-dev 2012-09-21 07:30:43 -07:00
Jeff Brown
a95a3b494f Fix javadoc.
Bug: 7172727
Change-Id: I55ee0099ea2e61f5f0a9de7b434fb8fb858ad5f9
2012-09-20 17:49: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
Dianne Hackborn
e6f6380027 Merge "Fix issue #7196015: system_server deadlock during setup wizard" into jb-mr1-dev 2012-09-20 14:33:50 -07:00
Geremy Condra
d053554f80 Merge "Push dropbox logging into libcore." into jb-mr1-dev 2012-09-20 11:24:14 -07:00
Chris Wren
683ab00a2e fix underfull content bug in inbox and big text templates.
Bug: 7172721
Change-Id: I22019009eec31ca18b54eec5f6ed5b626cee1540
2012-09-20 10:54:40 -04:00
Jim Miller
48b9b0d068 Make DPM API for disabling keyguard widgets more generic
This change renames the widget-specific API to be more generic
to allow further disabling of keyguard-specific customizations
in the future.  Currently only allows disabling widgets and the
secure camera but can now easily be extended to disable other
features we add.

Fixes bug: 7021368

Change-Id: I3934cc2e7c64e0c6d511efb86980fc38a849708d
2012-09-19 23:44:45 -07:00
Geremy Condra
b7faaf4c40 Push dropbox logging into libcore.
Change-Id: I74c0644c6938d28c20c42d88d995ffb56a71d703
2012-09-19 21:39:55 -07:00
Dianne Hackborn
73c14161ec Fix issue #7196015: system_server deadlock during setup wizard
Can't aquire the providers lock while holding the main activity thead
lock, because we call into the activity manager with that lock held.

Change-Id: If27326a2caa46480d0f1b98608be9e8a862febe0
2012-09-19 16:46:54 -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
Amith Yamasani
4adb9d3416 Merge "DevicePolicyManager per user" into jb-mr1-dev 2012-09-18 20:00:44 -07:00