14942 Commits

Author SHA1 Message Date
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
Christopher Tate
9f08820025 Edge case: overriden system package moved & became privileged in OTA
Because properly continuing permission grants post-OTA has changed
policy to include privilege considerations based on install location,
make sure that we re-evaluate when we determine that the apk has
moved from its pre-OTA location.

Bug 11271490

Change-Id: I6c09986e2851a67504268b289932588457c05dfc
2013-10-22 15:36:01 -07:00
Craig Mautner
798adeffb0 Don't use transient states for wallpaper animation.
The WindowManagerService member mLowerWallpaperTarget is not stable
throughout an app transition. Relying on it to be stable causes the
intra-wallpaper animation to start out right but after the windows
have been relayed out there is no longer a lower wallpaper target.
This causes the wallpaper to start tracking the animation of the
current wallpaper target rather than remain stable.

Switching to a new variable that saves the state of wallpaper
animation at the start of the animation fixes bug 11240590.

Change-Id: I336a59c47665fcf61019f567b8663956ff0e4940
2013-10-22 14:50:52 -07:00
Craig Mautner
4000630999 Merge "Check for home activity when switching focus." into klp-dev 2013-10-22 20:01:12 +00:00
Craig Mautner
04f0b70c13 Check for home activity when switching focus.
When finishing or stopping an activity the code was automatically
refocusing to the next activity on the same stack independent of the
task's onTopOfHome flag. When the activity eventually finished or
stopped it would then honor the onTopOfHome flag.

This fix examines the onTopOfHome flag and arranges the focus
correctly if home is the next activity to run.

Fixes bug 11318263.

Change-Id: I73a8f5e82de04b01acaffe366b085f9e475e1451
2013-10-22 12:31:01 -07:00
Craig Mautner
7408234985 Merge "Make sure mFocusedStack is never the home stack." into klp-dev 2013-10-22 17:36:57 +00:00
Craig Mautner
d1bbdb462a Make sure mFocusedStack is never the home stack.
There were circumstances where mFocusedStack could be assigned the
home stack. If this were ever to occur then all subsequent tasks would
be put on the home stack. This fix ensures that there is no way that
mFocusedStack will ever be assigned to the home task.

Fixes bug 11271189.

Change-Id: I7ddd9b6bcbf2787cbe2f44b461ad057ae2241f00
2013-10-22 09:53:20 -07:00
Craig Mautner
24ba3234ca Merge "Do not delete stacks that are not empty." into klp-dev 2013-10-22 04:31:12 +00:00
Craig Mautner
19d9bd54d3 Do not delete stacks that are not empty.
The possibility existed that an activity was set to a task that it was
already being set to. If that were to happen, and it was the only
activity in the only task of the stack the stack would be deleted.
This fixes that situation and logs it as well to confirm that it does
fix bug 11272935. Logging to be deleted upon successful monkey run
exhibiting the log.

Change-Id: I436fdcc9a3734adad81d3ef90f29b93b3ac4dfcd
2013-10-21 20:05:26 -07:00
Jeff Brown
534103d400 Merge "Fix issues catching up to touch events after a short pause." into klp-dev 2013-10-22 01:03:55 +00:00
Christopher Tate
7eb83c597f Merge "Preserve window sizes when rebatching alarms" into klp-dev 2013-10-22 00:58:42 +00:00
Christopher Tate
3e04b47216 Preserve window sizes when rebatching alarms
The existing code wasn't retaining the requested window bounds, if any,
and so could wind up rebatching alarms into much longer potential
delivery windows than originally demanded by the caller.  This could
wind up delivering alarms outside their designated windows entirely.

Bug 11324357

Change-Id: I4d418cd08702e397b3c7692b412d4bf51d5d9e4b
2013-10-21 17:51:31 -07:00
Adam Lesinski
e17e0f0e6c Merge "Fix jank for translucent window transitions" into klp-dev 2013-10-22 00:13:17 +00:00
Adam Lesinski
43d8d3355b Fix jank for translucent window transitions
When a translucent window is closing, the transition
animation to Launcher is janky because Launcher is
expected to be 'opening' but it has always been open
underneath the translucent window. Therefore, the
animation applied to the translucent app appears
janky.

bug:11253262
Change-Id: I9b6af3291d119e6927401f63785b12f25573f4eb
2013-10-21 16:41:48 -07:00
Jason Monk
0aeca87233 Merge "Make setting PAC require CONNECTIVITY_INTERNAL" into klp-dev 2013-10-21 21:40:17 +00:00
Jason Monk
1aeaf84a38 Make setting PAC require CONNECTIVITY_INTERNAL
Also disables all setting of PAC networks through the internal AsyncChannel
methods.  PAC can only be saved through addOrUpdateNetwork for permission
checks.

Bug: 11316946
Change-Id: I51016b578080c342a5e5d536ea9a3fdd4fe16644
2013-10-21 15:28:44 -04:00
Christopher Tate
d570dae577 Merge "Fix priv-app edge case across OTAs" into klp-dev 2013-10-21 18:31:14 +00:00
Christopher Tate
628946a6ef Fix priv-app edge case across OTAs
In this case:

   1. Privileged system app FOO is overlain by an installed update,
   2. FOO was replaced during an OTA,
   3. The new in-system FOO introduced new privileged permission requests
      that had not been requested by the original FOO,
   4. the update version of FOO still had a higher version code than
      the new FOO on the system disk, and
   5. the update version of FOO had been requesting these same (newly-
      added-to-system-apk) permissions all along;

then the newly-added privileged permission requests were incorrectly being
refused.  FOO should be able to use any privileged permission used by the
APK sited on the system disk; but instead, it was only being granted the
permissions used by the *original* version of FOO, even though the system
FOO now attempted to use them.

Still with me?

The fix is to (a) properly track privileged-install state when processing
known-to-be-hidden system packages, and (b) to tie the semantics of the
permission grant more explicitly to that evaluated state, rather than
using the prior (rather fragile) fixed-up privilege calculation applied
to the overlain apk's parse records.

Bug 11271490

Change-Id: Id8a45d667e52f3b5d18109e3620d5865f85bb9c9
2013-10-18 18:11:05 -07:00
Svetoslav
7f11d0db2d Merge "Clear the caller identity when dumping print system state." into klp-dev 2013-10-18 20:26:38 +00:00
Jeff Brown
786dccf9f5 Fix issues catching up to touch events after a short pause.
When the app spends more than half a second responding to a touch
event, the input dispatch eventually decides to stop sending it
events until it catches up.  (This is when the ANR clock starts.)
However, due to a bug in the timing logic, if the app eventually
does respond again we would resume delivery but only send one
event at a time until the queue was completely drained again.
This meant it could take a long time to catch up and process all
events.

The problem is that we were comparing the current time with the
waiting event time.  So when events became older than half a second,
we would simply stop streaming and end up serialized.

This change fixes the timing logic such that the streaming timeout
is based on the delivery time of the waiting event rather than
the event time itself.  Now we only stop streaming when it has
been over half a second since the waiting event was delivered
so we resume streaming immediately as soon as some waiting
events are handled.

Bug: 11278743
Change-Id: Ic8c68ee372a07f7caa4168eefcabf9b8a8ad5d87
2013-10-17 19:40:40 -07:00
Jeff Sharkey
0c0f1e2eac Merge "Include external storage devices in DocumentsUI." into klp-dev 2013-10-18 01:46:52 +00:00
Jeff Sharkey
8f4c15d8e4 Merge "Plumb through physical device UUID and label." into klp-dev 2013-10-18 01:45:58 +00:00
Robert Greenwalt
b1f0bba1bd Merge "Change how we use provisioning url so post works" into klp-dev 2013-10-17 23:00:42 +00:00
Robert Greenwalt
536b3c2b6c Change how we use provisioning url so post works
Needed to do an http post instead of a get for one carrier.
Do this by putting an auto-submitting form in the data to be
interpreted as a html doc by the browser.  The ACTION_VIEW
intent only works on http uri, but by specifying ACTION_MAIN/
CATEGORY_APP_BROWSER we could use data:text/html.

bug:11168810
Change-Id: Ifd33e1c3c7f9f40b6add39e446e6a7d7cde22549
2013-10-17 12:46:52 -07:00
Jeff Sharkey
1f706c6cd1 Include external storage devices in DocumentsUI.
Include volume UUID in generated document IDs to uniquely identify
volumes over time.  Show volume label to users.  Watch for mount
changes to update available roots.

Bug: 11175082
Change-Id: Ia151bde768587468efde0c1d97a740b5353d1582
2013-10-17 10:55:32 -07:00
Dianne Hackborn
fc69e2b5ad Merge "Increase size of broadcast history lists on non-svelte devices." into klp-dev 2013-10-17 16:13:24 +00:00
Dianne Hackborn
4c51de4933 Increase size of broadcast history lists on non-svelte devices.
Change-Id: Ibd25379778dac8eb1aed30d4788e032f290d9b69
2013-10-16 23:34:35 -07:00
Jeff Sharkey
5aca2b8dc4 Plumb through physical device UUID and label.
vold now parse out UUID and label for inserted physical devices,
and reports them to framework.  Add these to hidden StorageVolume
class for use by DocumentsUI and MediaProvider.

Remove last JNI method in FileUtils!

Bug: 11175082
Change-Id: I1cfcd1ade61767b103f693319ea2600008ee2e3c
2013-10-16 16:34:21 -07:00