14869 Commits

Author SHA1 Message Date
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
Craig Mautner
91eb54d119 Merge "Do not fetch tasks that don't have activities." into klp-dev 2013-10-30 17:13:20 +00:00
Craig Mautner
1861284013 Merge "Force relayout at completion of status bar animation" into klp-dev 2013-10-30 13:58:31 +00:00
Christopher Tate
e202cad1ab Don't crash when preferred activity settings are malformed
We also now ignore attempts to set preferred resolutions with
intent filters for which no actions are defined.

Bug 11392870

Change-Id: If0d0b37bf01b59463985441edfc2bddd070bfc2a
2013-10-29 17:42:26 -07:00
Michael Wright
e403582708 Merge "Always initialize local boolean variables when possible" into klp-dev 2013-10-29 23:53:55 +00:00
Igor Murashkin
e5c1208ef9 Merge "am: Increase dropbox buffer size to 256KB (from 128KB)" into klp-dev 2013-10-29 21:20:54 +00:00
Michael Wright
f583d0dcc6 Always initialize local boolean variables when possible
It's currently possible to reference deviceModeChanged in InputReader
while it's in an unknown state. Change the style of initialization
here and a few other places to better prevent this type of error.

Bug: 11433748
Change-Id: Ib332406aefb7cdb16b6a21e00dceaeca34679853
2013-10-29 14:17:54 -07:00
Craig Mautner
5cbaaa3cb5 Do not fetch tasks that don't have activities.
Fixes NullPointerException bug 11432611.

Change-Id: I62e765750e2613ecfb79e13021631ed2cd4e79f3
2013-10-29 13:39:26 -07:00
Craig Mautner
81defc794b Force relayout at completion of status bar animation
A final layout pass should be done whenever the status bar has
completed its incoming animation.

Fixes bug 10387660.

Change-Id: I48c19015c53116b58cf73e20be32d1f64dd682ca
2013-10-29 11:32:30 -07:00
John Spurlock
e0980501e9 Simplify IME policy and enforce in binder calls.
Revert the overly complicated bc7b6fc2a4b701596a2c8eecc4aeef522abeeafa.

Since setImeWindowStatus can be called externally, enforce similar keyguard
policy so that this is not a backdoor for IMEs bound under the keyguard to
drive IME visibility.

Policy is simplified, we keep track of whether the keyguard is locked
when the current IME switches.

This fixes b/7498792 (activity under lockscreen drives IME visibility
when lockscreen is rotated) and does not break b/11186297 (IME visible
when BT keyboard is attached).

Bug:7498792
Change-Id: Idd335cc8259c3532fa869449a9048b420f286e6d
2013-10-29 10:47:07 -04:00
Svetoslav
714ba34556 Merge "Complete implementation of the advanced print options." into klp-dev 2013-10-28 22:07:03 +00:00
Dianne Hackborn
3a702cb5d7 Merge "Fix issue #11391003: Allow dumpsys meminfo to be used with native processes" into klp-dev 2013-10-28 21:59:18 +00:00
Svetoslav
b4fda13476 Complete implementation of the advanced print options.
1. Implemented the advanced printer options integration. Now a print service
    may declare an advanced print options activity which may be launched by
    the user if the current printer supports advanced print options. These options
    are visible only to the print service that added them and it is the only party
    that will interpret the options.

2. Fixed a couple of bugs in the saved print jobs parsing. One was that if there
    are more than one page range, a half of the print job properties was not
    properly parsed. The other was that the media size constructor was using
    incorrect argument order, thus creating a media size with wring width.

3. Fixed and edge case where old print jobs and their docs can get stuck in
    the spooler. If the app did not write the requested pages we were not showing
    an error message, rather just finish the activity without canceling the print
    job and this print job is stuck in the spooler. Now we show an error message
    and the user may retry, cancel. If the user cancels the print job is also
    cancelled, thus no leftover in the spooler.

4. Fixed the background color of the print dialog to meet UX spec.

bug:11241800

Change-Id: I352440bc86aec824a805883fc9579d96a06d11e6
2013-10-28 11:44:07 -07:00
Christopher Tate
ad7c57db25 Merge "Always re-evaluate kernel alarm setpoints when a new alarm is added" into klp-dev 2013-10-28 18:16:27 +00:00
Christopher Tate
7d57ed88c9 Always re-evaluate kernel alarm setpoints when a new alarm is added
...even if the new one is later than some other existing alarms.

Bug 11392699

Change-Id: I80dccd76300acb4729f0337665b91e897a770571
2013-10-28 10:34:54 -07:00
Craig Mautner
dfe0d9a040 Merge "Change order of operations so flag is not overwritten" into klp-dev 2013-10-28 14:38:32 +00:00
Dianne Hackborn
e77187d018 Fix issue #11391003: Allow dumpsys meminfo to be used with native processes
Change-Id: I005e4dc763deafac95dc3aa6261c06d1808fdaff
2013-10-25 16:32:41 -07:00
Dianne Hackborn
19d79659ee Merge "Fix issue #11374840: adb shell am startservice not working any more" into klp-dev 2013-10-25 22:30:35 +00:00
Marco Nelissen
2165718153 Merge "Add a method to set a list of uids for a wake lock" into klp-dev 2013-10-25 21:55:55 +00:00
Dianne Hackborn
de0e83bc39 Fix issue #11374840: adb shell am startservice not working any more
The startService() and stopServie() calls had a redundant check for
the incoming user ID being valid, but with its own custom implementation
that doesn't match the normal handleIncomingUser flow.  In fact, for
both of these we are going to do handleIncomingUser anyway when we get
to retrieveServiceLocked(), so there was just no need for this.

Change-Id: I14409a03781a14a5f1a786aceb31dcc77efb062c
2013-10-25 14:34:18 -07:00
Craig Mautner
d4d170de39 Merge "Do not take screenshots when launching activities..." into klp-dev 2013-10-25 20:09:20 +00:00
Marco Nelissen
738ffdc9da Add a method to set a list of uids for a wake lock
Cherrypicked from master.

b/9464621

Change-Id: Ia6a9d36d55129ae87d3ec070fbf10dc02f4b6cb4
2013-10-25 12:49:55 -07:00
Craig Mautner
b53d97c457 Change order of operations so flag is not overwritten
The effects of the flag, Intent.FLAG_ACTIVITY_TASK_ON_HOME was being
overwritten by the call immediately after it was set. Changing the
order of operations leaves the effect intact.

Fixes bug 11376962.

Change-Id: I27371e0efeb0c08d1e14514a9e3a63157f6d34d8
2013-10-25 11:54:37 -07:00
Erin Dahlgren
fe470c37de Merge "Have the package manager write mimetype of preferred activities to xml." into klp-dev 2013-10-24 23:21:16 +00:00
Craig Mautner
6f6d56fd4d Do not take screenshots when launching activities...
Unless they are in another task.

Fixes bug 11374158.

Change-Id: I961d4ce9520bc84a182806db2ccb072501c8357a
2013-10-24 16:02:07 -07:00
Erin Dahlgren
707a59dc9a Have the package manager write mimetype of preferred activities to xml.
Issue: 11372979
Change-Id: I5ea4e94c978845426e2650946d0bba076d161c19
2013-10-24 15:13:39 -07:00
Craig Mautner
7c2a2ef2ee Merge "Track window position with task position." into klp-dev 2013-10-24 21:26:11 +00:00
Christopher Tate
f9f740dae1 Merge "Support different watchdog timeouts for different entities" into klp-dev 2013-10-24 20:52:23 +00:00
Craig Mautner
77df2ee9de Track window position with task position.
Windows were previously ordered by TaskStack/ActivityStack order. This
change provides a data structure in DisplayContent that tracks task
movement. Previously Recents and Home activity windows were always
adjacent because they were on the same stack. With this change windows
from other activities can be placed between the two.

Fixes bug 11338594.

Change-Id: Ie34443ff22f330d015141d97db79370c54920d28
2013-10-24 12:47:07 -07:00
Craig Mautner
d0d23f6ae1 Merge "Disable time consuming debugging code." into klp-dev 2013-10-24 17:57:24 +00:00
Christopher Tate
e6f81cf1f6 Support different watchdog timeouts for different entities
We need to be able to perform very lengthy operations on some threads
(e.g. the I/O thread responsible for installing multi-gigabyte APKs) but
still have long-run deadlock/hang detection applied to those threads.
Previously the watchdog mechanism applied the same policy to all
monitored threads: unresponsive after 60 seconds => restart the system.

Now, each monitored entity can have its own independent timeout after
which the watchdog declares deadlock and restarts the runtime.  The
halfway-finished intermediate thread stacks are dumped based on the
specific entity's declared timeout, not the global 30 second checking
interval.

With that new mechanism in place, the Package Manager's lengthy-I/O
thread watchdog timeout is raised to 10 minutes.

Bug 11278188

Change-Id: I512599260009c31416b2385f778681e5b9597f05
2013-10-24 10:46:28 -07:00
Adam Lesinski
bb8aae5b19 Merge "Improve Jank for translucent activities" into klp-dev 2013-10-24 17:44:58 +00:00
Craig Mautner
4697bea3fd Disable time consuming debugging code.
Scanning bitmaps for monochromicity takes time. Lots of time. Don't do
it.

Fixes bug 11366278.

Change-Id: I7a8ad42751311fc39efc27fb4c51522fc1ba0523
2013-10-24 09:13:14 -07:00
Adam Lesinski
76afd1f129 Improve Jank for translucent activities
The previous jank improvement only worked when closing
an app, not when bringing one forward (hitting home button).
This should cover the specific case that is being missed: Having the
Home task being brought to front over a translucent window, with
a wallpaper behind both tasks.

bug:11253262
Change-Id: I200ef6fe2dda8d9ab4e1f82059b4f888c59007f4
2013-10-23 17:54:25 -07:00
Craig Mautner
4d4dd1e173 Merge "Search further than one task for fullscreen." into klp-dev 2013-10-23 22:35:25 +00:00
Craig Mautner
39e1c5a75e Search further than one task for fullscreen.
When a non-fullscreen task over home launches another non-fullscreen
task then the home task might not be displayed. Looking all the way
down the task stacks until reaching a visible, fullscreen activity or
home provides the right information.

Fixes bug 11273803.

Change-Id: I8dab0956c1cda06ddb7850ea3ffac7f6a223c6ad
2013-10-23 15:14:22 -07:00
Igor Murashkin
44d04aa0ac am: Increase dropbox buffer size to 256KB (from 128KB)
Minor changes for dumping stack traces:
- Print the native traces right after foreground/persistent apps
- Also include mediaserver, sdcard, and surfaceflinger in traces

Bug: 11321322
Change-Id: Ic09b7da316a5f197dda0ac3bde06f75574cc2166
2013-10-23 14:43:05 -07:00
John Spurlock
36439b4312 Decouple IME_ACTIVE and IME_VISIBLE for hardware keyboards.
Reserve IME_VISIBLE for when software keyboards are actually
showing.

Bug:11186297
Change-Id: I4e09a7de353e564bd1a97dadd603d3104254fa56
2013-10-23 17:02:53 -04:00
Dianne Hackborn
910c285793 Merge "Fix issue #11278906: Some wm commands fail on shell users" into klp-dev 2013-10-23 17:44:21 +00:00
Dianne Hackborn
2d76a1a068 Merge "Fix issue #11323037: Android apk incorrectly marked as running in app processes" into klp-dev 2013-10-23 17:44:11 +00:00
Dianne Hackborn
0cca3db9ad Fix issue #11278906: Some wm commands fail on shell users
Binder.clearCallingIdentity makes everything better.

Change-Id: I31cd9478c857553b3cf1ea54d5b4987571788796
2013-10-23 10:23:39 -07:00
Dianne Hackborn
237cefbcee Fix issue #11323037: Android apk incorrectly marked as running in app processes
The android package is now a special case, not being added to the package list
when creating a multi-process component.  There is no need, since this package
is actually the framework itself which must be loaded in every process.

Also cleaned up some of the procstats dump output to help see what is going
on here.

Change-Id: If65d35ecd562f3154bdebfded69c454af6ce8c96
2013-10-22 19:15:49 -07:00
Christopher Tate
5f474fcb6d Merge "Edge case: overriden system package moved & became privileged in OTA" into klp-dev 2013-10-22 23:38:02 +00:00