15011 Commits

Author SHA1 Message Date
Jeff Brown
1cdbbb1e73 Merge "Changes to support new screen cast settings screen." into klp-dev 2013-11-11 18:19:26 +00:00
Craig Mautner
45bf281515 Merge "Fix a couple of issues with mOpeningApps." into klp-dev 2013-11-11 18:02:08 +00:00
Craig Mautner
8cfa6d083b Merge "Use old task info when creating new task." into klp-dev 2013-11-11 18:01:36 +00:00
Jeff Brown
75af171006 Changes to support new screen cast settings screen.
Fixed the Preference ordering code to consider the case where
two preferences might have the same order.  In that case, it
falls back on the title to disambiguate.  Previous behavior was
undefined (and technically not stable).

Expose the wifi display device address.

Perform wifi display scans every 10 seconds instead of every 15
to improve reponsiveness.

Make sure to define routes for wifi displays that we are connecting
to even if they are not yet paired.  Simplified the logic for
adding and removing these routes to avoid possibly getting out
of sync and leaving stale routes behind.

Fix wifi display notification icon.

Bug: 11257292
Change-Id: I8ac15fb17d83758c0bdce80399e12723c367b83c
2013-11-10 22:51:15 -08:00
Craig Mautner
8862929e2a Use old task info when creating new task.
When a new task is being created solely to protect the system from an
old task going away, save the info from the old task and use it when
creating a new task.

Fixes bug 11615548.

Change-Id: Ibc3fd15ec4b0d76bce30381fbd83b6899f6a9023
2013-11-10 20:39:05 -08:00
Craig Mautner
a8ee262c04 Fix a couple of issues with mOpeningApps.
In setAppVisibility add wtoken to mOpeningApps even if the requested
visibility already matches requestedHidden. When Keyguard hides an app
requestedHidden will mismatch and mOpeningApps will end up empty where
it should have the app that will become visible.

Add mAnimateWallpaperWithTarget = true to another situation where
wallpaper animation needs it.

Fixes bug 11570753.

Change-Id: I70b93bbb580386eb912613f0ce11e582eff8c449
2013-11-08 15:36:23 -08:00
Jim Miller
505329b21b Restore permission check in keyguard.
Fixes bug 11584685

Change-Id: I80621f5608505bdc365930e0276c297c0d5bff67
2013-11-08 14:08:10 -08:00
Jeff Brown
4fd791735b Allow keyguard dialogs to show on secondary displays.
When the keyguard or a dream is visible, we usually block content
from showing on secondary displays by mirroring the primary display
contents to them.  However, the keyguard may wish to show a
presentation on a secondary display in which case we should not
mirror.

This change adds an exemption for keyguard dialogs when the full
screen is obscured.  The keyguard can then create presentations with
the TYPE_KEYGUARD_DIALOG window type in order to show special
content on other displays selectively.

The old code used to cause all secondary displays to mirror, which
isn't quite what we want.

Bug: 11257292
Change-Id: I55429002b2233ae25fe80db149636d6f41f2a112
2013-11-08 09:53:56 -08:00
Jeff Brown
d40a4d74c6 Merge "Add media router service and integrate with remote displays." into klp-dev 2013-11-08 01:36:55 +00:00
Craig Mautner
c9ffd74659 Merge "Don't call setTask twice." into klp-dev 2013-11-07 20:51:30 +00:00
Craig Mautner
2040967478 Merge "If home activity is not fullscreen keep drilling." into klp-dev 2013-11-07 20:49:02 +00:00
Craig Mautner
f41bcd47ea If home activity is not fullscreen keep drilling.
When the home activity launches a non-fullscreen activity as part of
its own task then ensureActivitiesVisibleLocked() must continue past
the launched activity when determining activities to show and hide.
Stopping at the non-fullscreen activity leaves the fullscreen home
activity hidden.

Fixes bug 11555762.

Change-Id: I9058d8cde3a41cb7f9b1f97e5c0cb32e9b0f5af7
2013-11-07 11:51:29 -08:00
Robert Greenwalt
e8c51298a4 Merge "Add BatteryStats for Wifi Batched Scanning." into klp-dev 2013-11-07 18:30:49 +00:00
Dianne Hackborn
9882d38899 Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev 2013-11-07 18:16:10 +00:00
Craig Mautner
329f4129a5 Don't call setTask twice.
The method ActivityRecord.setTask() removes the ActivityRecord from
its old task's mActivities ArrayList. In jb-mr2 it did not have this
side effect (there was no mActivities) so calling it twice was not a
problem. This fix causes setTask to only be called once for the target
activity.

Fixes bug 11557835.

Change-Id: If2b6d4b297e86130009713efe6891a24fad3dd15
2013-11-07 09:10:42 -08:00
Jeff Brown
69b07161be Add media router service and integrate with remote displays.
This change adds a new media router service whose purpose is to track
global state information associated with media routes.  This service
publishes routes to the media router instance in application processes
and handles requested state changes such as selecting or unselecting
global routes.  The service also binds to remote display provider
services which can offer new remote display routes to the system.

Includes a test application for manually verifying certain aspects
of the operation of the media router service.

The remote display provider interface is essentially a stripped down
media route provider interface as defined in the support library
media router implementation.  For now, it is designed to be used only
by first parties to publish remote display routes to the system so
it is not exposed as public API in the SDK.  In the future, the remote
display provider interface will most likely be deprecated and replaced
with a more featureful media route provider interface for third
party integration, similar to what is in the support library today.

Further patch sets integrate these new capabilities into the System UI
and Settings for connecting remote displays.

Bug: 11257292
Change-Id: I31109f23f17b474d17534d0f5f4503e388b081c2
2013-11-07 03:25:37 -08:00
Robert Greenwalt
a029ea1318 Add BatteryStats for Wifi Batched Scanning.
bug:10690989
Change-Id: Ia39b715ee6d5733970095bc76de0ed40ff8208c0
2013-11-06 17:43:18 -08:00
Christopher Tate
c157cac9b2 Merge "System package permission decls take precedence over 3rd party apps'" into klp-dev 2013-11-07 00:54:55 +00:00
Dianne Hackborn
daa0d5c929 Fix issue #11223338: Not retaining service started state while restarting
When I cleaned up how we maintained the lifecycle of the tracker with a
service, I broke most tracking of the service restart state.  (Since at
that point the service is no longer associated with a process, so I
must clean up the tracker state).  This change introduces a new special
case for interacting with a service tracker to explicitly tell it when
a service is being restarted.  It also fixes how we update the process
state when services are attached to it, so it goes in and out of the
restarting state correctly.

In addition:

- Maybe fix issue #11224000 (APR: Dependent processes not getting added
  to LRU list).  We were not clearing ServiceRecord.app when bringing
  down a service, so if for some reason there were still connections to
  it at that point (which could happen for example for non-create bindings),
  then we would so it when updating the LRU state of that client process.
- dumpsys procstats's package argument can now be a package or process
  name, and we will dump all relevent information we can find about that
  name.
- Generally improved the quality of the dumpsys procstats output with its
  various options.
- Fixed a bug in ActivityManager.dumpPackageState() where it would hang if
  the service was dumping too much, added meminfo to the set of things
  dumped, and tweaked command line options to include more data.
- Added some more cleaning code to ActiveServices.killServices() to make
  sure we clean out any restarting ServiceRecord entries when a process is
  being force stopped.
- Re-arranged ActiveServices.killServices() to do the main killing of the
  service first, to avoid some wtf() calls that could happen when removing
  connections.

Bug: 11223338
Bug: 11224000

Change-Id: I5db28561c2c78aa43561e52256ff92c02311c56f
2013-11-06 16:42:17 -08:00
Craig Mautner
c9d0ee5e84 Merge "Tweak test for layout." into klp-dev 2013-11-06 23:22:12 +00:00
Craig Mautner
f961b3c5b6 Tweak test for layout.
Return to old way of only laying out Keyguard on configuration change
and add a new qualifier that does a layout if a window is part of an
opening app. This qualifier allows apps that handle their own
configuration changes to be notified of screen changes after the
configuration has changed. Apps that do not handle their own
configuration changes find their way into this code because their
surfaces are recreated by default and mHaveFrame is false.

This fixes bug 11544694 and passes the test of all bugs listed in CL
ag/383579.

Change-Id: I3a679b27eb4a2c5210957bcd4ae2f10b46f6e076
2013-11-06 14:52:36 -08:00
Craig Mautner
a724d86537 Merge "Fix incorrect looping limits." into klp-dev 2013-11-06 22:20:25 +00:00
Craig Mautner
db5c4fb864 Fix incorrect looping limits.
One cannot iterate across an entire list if one both removes an entry
and increments the index into the list. Do one or the other or you
will end up with bugs like 11556768 which is now fixed.

Change-Id: I57f1ad13075a005cae3c1cbfae10e230d9af143a
2013-11-06 13:55:08 -08:00
Michael Wright
6a29778eeb Merge "Continue synthesizing data even after brightness adjustment" into klp-dev 2013-11-06 20:33:08 +00:00
Christopher Tate
3aeea1f25a System package permission decls take precedence over 3rd party apps'
In particular, if a 3rd party app tries to define a permission that
turns out to be defined by system packages following an upgrade,
the system package gets ownership and grants are re-evaluated
on that basis.

Bug 11242510

Change-Id: Id3a2b53d52750c629414cd8226e33e5e03dd0c54
2013-11-05 16:27:07 -08:00
Michael Wright
65031a2913 Continue synthesizing data even after brightness adjustment
Bug: 11337887
Change-Id: I80adb330c4e9250965030626634002a1b9c999cf
2013-11-05 15:49:52 -08:00
Christopher Tate
8869d6f353 Merge "Extend preferred-app preload support for complex resolutions" into klp-dev 2013-11-05 18:42:58 +00:00
Dianne Hackborn
d64744cc76 Merge "Help out with issue #11497149: Clock app crashes when opened during..." into klp-dev 2013-11-05 18:17:01 +00:00
Craig Mautner
2722d79f01 Merge "Remove harmful visibility test." into klp-dev 2013-11-05 15:45:10 +00:00
John Spurlock
a89727c85e Merge "Ensure wallpaper hint is at least the display's max size." into klp-dev 2013-11-05 14:05:06 +00:00
Dianne Hackborn
23037419e3 Help out with issue #11497149: Clock app crashes when opened during...
...the repeated hour in DST transition

Record the last crash info that caused an app to be marked as a bad app.

Also for the battery work, add a system property tuning parameter to be
able to control the background service start delay, so we can easily
run experiments with it turned off if we want.

Change-Id: Ic33dc464d8011c918a39b912da09ea4f0fb28874
2013-11-04 18:11:29 -08:00
Christopher Tate
2298ef2f7f Extend preferred-app preload support for complex resolutions
Support factory defaults that involve specific type+scheme matching.

Bug 11372979

Change-Id: I0d68937797d6b4bc996a8707a7cd21491a3aae3b
2013-11-04 17:02:10 -08:00
Craig Mautner
76be9d2595 Remove harmful visibility test.
Previously inserted requirment that an activity be visible in order to
block visibility of the home screen is removed.

Fixes bug 11515761.

Change-Id: Ia47cfb4a0b6d90bbbca2b42e12a6048b1644d7cb
2013-11-04 16:01:22 -08:00
John Spurlock
7ea91ec181 Ensure wallpaper hint is at least the display's max size.
Bug:11332853
Change-Id: Ied13ffab77395f64642f7fb536f36d9cd8367e74
2013-11-04 16:15:34 -05:00
Craig Mautner
351de3ccfd Merge "Layout hidden windows on Configuration change." into klp-dev 2013-11-04 19:32:08 +00:00
Dianne Hackborn
efcc2ca63d Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev 2013-11-01 23:20:09 +00:00
Craig Mautner
c78a06db28 Layout hidden windows on Configuration change.
Apply the test for configuration change to all windows. A year ago
this was the test but CL ag/247731 which fixed b/7428221 limited the
test to just Keyguard windows. A week later CL ag/248223 which fixed
b/7444971 applied the test to Wallpaper as well. Then two days after
that CL ag/249762 which fixed b/7453222 reverted the wallpaper. This
fix reverts the Keyguard qualification and restores the test to all
windows.

This fix has been tested against the repro steps for all three bugs
above. In addition this fixes bug 11033407. The fix for the bug is
described in the bug.

Change-Id: Ie0f4c7cd4697c1689c4f331d572359cf7ce934cf
2013-11-01 16:12:14 -07:00
Brian Carlstrom
a51052d17c Merge "Move set of persist.sys.dalvik.vm.lib to SystemServer only" into klp-dev 2013-11-01 22:51:07 +00:00
Brian Carlstrom
5637ffced9 Move set of persist.sys.dalvik.vm.lib to SystemServer only
Bug: 11463182
Bug: 11479647
Change-Id: I38efdecdd65fe3efc9c33b4dc204a64543ae6377
2013-11-01 14:51:58 -07:00
Svetoslav
91230fb31c Merge "Fixing issues in the TouchExplorer." into klp-dev 2013-11-01 18:46:10 +00:00
Svetoslav
a3315270e0 Fixing issues in the TouchExplorer.
1. The up event for a long press was not properly adjusted as the
   long pressing finger may not be on top of the accessibility
   focused item.

2. There was a scenario where two finger swipe leads to a crash.
   One finger moves, second finger goes down but no finger moves,
   the first finger goes up, and now the second finger moves. All
   this has to happen before we decided that user is touch exploring.
   Very hard to happen, this is why we could not easily repro the
   crash.

3. We use the two finger vector angle to determine whether the
   user is dragging or not. However, in some cases we were
   unnecessarily waiting too long before performing the check
   and as a result the notification shade on Manta was not
   expandable.

bug:11341530
bug:11189225

Change-Id: Ieea39783444a1c20581f8addfd518d1c11485099
2013-11-01 11:14:41 -07:00
Dianne Hackborn
7b492723e4 Fix issue #11223338: Not retaining service started state while restarting
Actually, the state representation seems fine, but there was a problem
we are now hitting where the restart interval could get reset back to
0 when it shouldn't be.  Also tune the restart parameters a bit.

Change-Id: I364f38e52f5387b2ec3f81009ccc78976ff48891
2013-11-01 10:32:46 -07:00
Dianne Hackborn
fbefe9bf74 Merge "Fix issue #11168649: LRU logic for Chrome renderers seems..." into klp-dev 2013-11-01 00:18:12 +00:00
Dianne Hackborn
db92608de9 Fix issue #11168649: LRU logic for Chrome renderers seems...
...not to work on KitKat (was: Janky exit animation)

Reworking the LRU list (splitting it into an activity vs. empty
section) accidentally broken the old behavior of "client activity"
processes being prioritized with activity processes.  In fact, we
were no longer marking "client activity" processes at all.

In this change, we rework how we manage "client activity" processes
by putting them on the main activity LRU section.  This is generally
simple -- ActiveServices now keeps track of whether a process is
a "client activity" process based on its bindings, and updateLruProcess
treats these as regular activity processes.  However, we don't want
to allow processes doing this to spam our LRU list so that we lose
everything else, so there is some additional complexity in managing
that list where we spread client activity processes across is so
that the intermingle with other activity processes.

The rest of the change is fairly simple -- the old client activity
process management is gone, but that doesn't matter because it wasn't
actually running any more.  There is a new argument to updateLruProcess
to indicate a client process it comes from (since we now need to update
this based on bindings) which is just used to limit how high in the
LRU list we can move things.  The ProcessRecord.hasActivities field is
simply removied, because ProcessRecord.activities.size() > 0 means the
same thing, and that is actually what all of the key mechanisms are using
at this point.

Finally, note there is some commented out code of a new way to manage
the LRU movement.  This isn't in use, but something I would like to
move to in the next release so it is staying there for now for further
development.

Change-Id: Id8a21b4e32bb5aa9c8e7d443de4b658487cfbe18
2013-10-31 16:32:44 -07:00
Wink Saville
b4f673e25f Merge "Use HttpsURLConnection to by pass proxies." into klp-dev 2013-10-31 21:18:03 +00:00
Svetoslav Ganov
da59cd60b1 Merge "Wrong index while dumping the print sub-system's state." into klp-dev 2013-10-31 16:25:21 +00:00
Svetoslav Ganov
3cb2be97a2 Wrong index while dumping the print sub-system's state.
The wrong method was used when getting the user states to dump
and as a result only the state for the current user was dumped
as we get an exception for the other users.

bug:11457875

Change-Id: I9a3bcac01f1f1cf4f6e72aefff7cff2e0c6bca94
2013-10-31 08:45:23 -07:00
Wink Saville
1d3a89e141 Use HttpsURLConnection to by pass proxies.
In isMobileOk attempting to connect to clients3.google.com/generate_204 we
sometimes see a proxy server will not let the connection go to our
server and instead returns 200 instead of 204. By using Https we by pass
proxy servers and we will always connected to our server.

The number of loops is increased from 3 to 4 and half the the retires
will use Http and half will use Https.

I also, added mTestingFailures which can be set to true by setting
persist.checkmp.testfailures to 1. This will cause checkMobileProvisiong
to always fail so we can test https & http.

Bug: 9972012
Change-Id: I870606037dcffe5250843980517ac52218266e02
2013-10-31 06:35:22 -07:00
John Spurlock
a223d1933b Merge "Simplify IME policy and enforce in binder calls." into klp-dev 2013-10-30 20:45:34 +00:00
Christopher Tate
1942715653 Merge "Don't crash when preferred activity settings are malformed" into klp-dev 2013-10-30 19:18:28 +00:00