Commit Graph

1084 Commits

Author SHA1 Message Date
Kenny Root
b5a14f0fc9 resolved conflicts for merge of 1995a7de to master
Change-Id: I9915ae06d460696b24cbee935738267911baa580
2013-09-18 14:23:58 -07:00
Dianne Hackborn
1995a7de5b am b9466db4: Merge "Finish issue #10779747: Calendar Storage crash observed..." into klp-dev
* commit 'b9466db4a56564101a26865962dda87aaeab56ff':
  Finish issue #10779747: Calendar Storage crash observed...
2013-09-18 13:37:02 -07:00
Dianne Hackborn
6285a32f74 Finish issue #10779747: Calendar Storage crash observed...
...while setting up a new user from settings.

We can now delay broadcasts when there are enough background services
currently starting (still set to 1 for svelte devices, 3 for normal
devices).

Add new intent flag to not allow receivers to abort broadcasts, which
I use to fix an issue with the initial BOOT_COMPLETED broadcast not
actually requesting pss data at the right time -- it can now be sent
as an ordered broadcast without the ability for the receivers to cancel
it.

Change-Id: I51155bbbabe23e187003f3e2abd7b754e55d3c95
2013-09-18 12:09:47 -07:00
Dianne Hackborn
19eacd566e am 0c95b8c8: am 463850e0: Merge "Fix issue #10795385: System process crash reinstalling GEL -" into klp-dev
* commit '0c95b8c824f8c2282eedde3af2f83af357b00975':
  Fix issue #10795385: System process crash reinstalling GEL -
2013-09-17 11:12:30 -07:00
Dianne Hackborn
0c95b8c824 am 463850e0: Merge "Fix issue #10795385: System process crash reinstalling GEL -" into klp-dev
* commit '463850e0c658b37bbe29b9e9dec6ff7565bb883f':
  Fix issue #10795385: System process crash reinstalling GEL -
2013-09-17 11:09:32 -07:00
Dianne Hackborn
e56c2c3f05 Fix issue #10795385: System process crash reinstalling GEL -
NPE at com.android.server.am.ProcessRecord.resetPackageList(ProcessRecord.java:596)

Take care of some more cases now that baseProcessTracker can be null.

Change-Id: I394c0b7802788118c3ad6bcac5dfdd23eeda8d58
2013-09-17 11:03:10 -07:00
Dianne Hackborn
df2dae01b0 am 40489be9: am 61158244: Merge "Implement issue #10691359: Kill long-running processes" into klp-dev
* commit '40489be90b7c145da75034f793932500f0e5d380':
  Implement issue #10691359: Kill long-running processes
2013-09-16 14:37:30 -07:00
Dianne Hackborn
40489be90b am 61158244: Merge "Implement issue #10691359: Kill long-running processes" into klp-dev
* commit '61158244b42df547ecf8ca145d539c814b154a4a':
  Implement issue #10691359: Kill long-running processes
2013-09-16 14:34:55 -07:00
Dianne Hackborn
35f72be50b Implement issue #10691359: Kill long-running processes
We now have the activity manager kill long-running processes
during idle maintanence.

This involved adding some more information to the activity manager
about the current memory state, so that it could know if it really
should bother killing anything.  While doing this, I also improved
how we determine when memory is getting low by better ignoring cases
where processes are going away for other reasons (such as now idle
maintenance).  We now won't raise our memory state if either a process
is going away because we wanted it gone for another reason or the
total number of processes is not decreasing.

The idle maintanence killing also uses new per-process information
about whether the process has ever gone into the cached state since
the last idle maintenance, and the initial pss and current pss size
over its run time.

Change-Id: Iceaa7ffb2ad2015c33a64133a72a272b56dbad53
2013-09-16 14:05:34 -07:00
Dianne Hackborn
1cd9a73ac0 am f3b4cf7d: am 28eeb420: Merge "Implement #10749688: Improve low memory reporting" into klp-dev
* commit 'f3b4cf7d01b68418dd652e201868d140de081bd8':
  Implement #10749688: Improve low memory reporting
2013-09-13 17:30:31 -07:00
Christopher Tate
9b6c9a1592 am fcda3283: am 7560c256: Merge "Add hidden API for querying available \'home\' activities" into klp-dev
* commit 'fcda3283d27f8dfaa812fb735af43eea2e077c64':
  Add hidden API for querying available 'home' activities
2013-09-13 17:22:45 -07:00
Dianne Hackborn
f3b4cf7d01 am 28eeb420: Merge "Implement #10749688: Improve low memory reporting" into klp-dev
* commit '28eeb42012018bfa3cffc77e9a970e8f5c13f70b':
  Implement #10749688: Improve low memory reporting
2013-09-13 17:15:23 -07:00
Christopher Tate
fcda3283d2 am 7560c256: Merge "Add hidden API for querying available \'home\' activities" into klp-dev
* commit '7560c256ecacb5fa3904ec5c957e88331328f38b':
  Add hidden API for querying available 'home' activities
2013-09-13 17:14:00 -07:00
Christopher Tate
b649443b3c am a5ec4d4b: am 5daf77d0: am ac39c604: Merge "Fix formatting in clearApplicationUserData exception message."
* commit 'a5ec4d4b54440dd7f56661ebf602498d2b08526c':
  Fix formatting in clearApplicationUserData exception message.
2013-09-13 16:11:11 -07:00
Dianne Hackborn
28eeb42012 Merge "Implement #10749688: Improve low memory reporting" into klp-dev 2013-09-13 23:06:07 +00:00
Dianne Hackborn
8e69257a9c Implement #10749688: Improve low memory reporting
This significantly reworks the logging we do when
all cached processes are killed:

- We now collect the list of processes in-place so we
  have a snapshot of exactly when the low memory situation
  happened.
- In that snapshot we include the key process state: oom
  adj, proc state, adj reasons.
- The report then asynchronously collects pss information
  for those processes.
- The ultimate data printed to the log looks like a mix
  between the "dumpsys meminfo" and "dumpsys activity"
  output.  This code no longer uses "dumpsys meminfo"
  itself, so some of that data is no longer included,
  in particular pss organized by allocation type.

In doing this, I realized that the existing code that is
supposed to run "procstats" is not currently working.  And
at that point I realized, really, when we are collecting
this pss data we'd really like to include all those native
processes using ghod-only-knows how much RAM.  And guess
what, we have a list of processes available in
ProcessCpuTracker.

So we now also collect and print information for native
processes, and we also do this for "dumpsys meminfo" which
really seems like a good thing when we are printing summaries
of all pss and such.

I also improved the code for reading /proc/meminfo to be
able to load all the interesting fields from there, and
am now printing that as well.

Change-Id: I9e7d13e9c07a8249c7a7e12e5433973b2c0fdc11
2013-09-13 16:02:01 -07:00
Christopher Tate
a5ec4d4b54 am 5daf77d0: am ac39c604: Merge "Fix formatting in clearApplicationUserData exception message."
* commit '5daf77d00d0fd93f24f9dc6013ee838411e9adf9':
  Fix formatting in clearApplicationUserData exception message.
2013-09-13 15:05:31 -07:00
Christopher Tate
a2a0850de8 Add hidden API for querying available 'home' activities
To support improved home-app selection UX in Settings.

Bug 9958444

Change-Id: I106090784618bf7bea6fce28f4f9b9fb8480d310
2013-09-13 12:16:00 -07:00
Alex Klyubin
03ea04715c Fix formatting in clearApplicationUserData exception message.
Before:
  4539 does not have permission:android.permission.CLEAR_APP_USER_DATA to clear datafor process:com.android.chrome
After:
  PID 4539 does not have permission android.permission.CLEAR_APP_USER_DATA to clear data of package com.android.chrome

Change-Id: Ic466decb050e4fa7f3fee4098c4f2abdc6cedf5c
2013-09-13 09:51:42 -07:00
Adam Skory
a7cda03a47 resolved conflicts for merge of 7d17de35 to master
Conflicts:
	core/res/res/values/public.xml

Change-Id: I14b4e332be7ef27e76a2773a504cb942bd0642ef
2013-09-11 16:16:19 +01:00
Adam Skory
86d9c457de Merge "Revert services assist context in KitKat" into klp-dev 2013-09-11 11:27:50 +00:00
Adam Skory
7140a25f01 Revert services assist context in KitKat
Reverts extension to assist context API to query
foreground services for assist context data.

Also hides Intent.ACTION_VOICE_ASSIST because
nobody's actually using it yet.

Bug: 10461702
Change-Id: Idf6836adc659b434e11ebb2b98e8b814c94a7227
2013-09-11 12:04:58 +01:00
Jeff Brown
279f3cdf70 am 9993f8ff: am dc6fd0a2: Merge "Propagate input ANR reason to activity manager log." into klp-dev
* commit '9993f8ff24718553c05872d9f13f4114701b3428':
  Propagate input ANR reason to activity manager log.
2013-09-10 16:58:06 -07:00
Jeff Brown
dc6fd0a20a Merge "Propagate input ANR reason to activity manager log." into klp-dev 2013-09-10 23:52:53 +00:00
Jeff Brown
bd181bb832 Propagate input ANR reason to activity manager log.
Make it a little easier to diagnose input dispatch timeouts by
providing the detailed reason as the ANR annotation in the log.

Bug: 10689184
Change-Id: Ie18fd9ad066b0673d1f57c030e027ad0085f4650
2013-09-10 16:44:24 -07:00
Dianne Hackborn
9542acab2f am d8c06fab: am 80213add: Merge "Fix issue #10671878: Proc stats needs to remove old data structures" into klp-dev
* commit 'd8c06fab80d4fa6c2eeef697bdfdbaff88b3d934':
  Fix issue #10671878: Proc stats needs to remove old data structures
2013-09-09 14:14:36 -07:00
Dianne Hackborn
80213addda Merge "Fix issue #10671878: Proc stats needs to remove old data structures" into klp-dev 2013-09-09 20:37:02 +00:00
Eric Rowe
001ebe0ec6 am a130a316: am e13aa0ba: Merge "Add PID to ANR logcat printout." into klp-dev
* commit 'a130a3161432bd4e2f267d3de43c75c9a87c667a':
  Add PID to ANR logcat printout.
2013-09-09 11:36:30 -07:00
Eric Rowe
4e94f93a7d Add PID to ANR logcat printout.
Bug: 10568033
Change-Id: I7131520c887df1f897b7a135b04509bdad9bdb88
2013-09-09 10:34:12 -07:00
Dianne Hackborn
be4c1d74a7 Fix issue #10671878: Proc stats needs to remove old data structures
We now keep track of which process and service states are actively
in use, and remove any that are not in use during a commit.  The
activity manager needed to be tweaked to report this data, and ensure
it does not try to operate on one of these structures when not in
use.

Also some other fixes:

- We now keep track of process names associated with services, for
display in the UI.
- Keep track of total run time for each service, also for UI.
- The parceled format is more efficient, not storing duplicates of
process/package names, and writing times as ints when possible.
- Reduced commit period from 1 day to 12 hours, so that our UI can
be a little closer at its attempt to display the stats over 1 day.

Change-Id: Ifeda0ffe963a7b49d8eb2a3f6923f3a5e71a4e43
2013-09-09 09:49:52 -07:00
Adam Skory
d3effc3941 am 1b6d0891: am 11254ade: Merge "Add provideAssistData attr to public.xml" into klp-dev
* commit '1b6d08916c88827839416afd2ac264d422c469e7':
  Add provideAssistData attr to public.xml
2013-09-04 05:27:10 -07:00
Adam Skory
16731d4dc0 Add provideAssistData attr to public.xml
http://ag/323631 added the provideAssistData
attribute to the Service manifest tag.

It did not, however, add that attribute to
public.xml - making it impossible to actually
build a service that defines said tag.

So, add it.

Now that the attribute is where it should be,
restore @link notation to ServiceInfo.java
without breaking the offline docs build
( see http://ag//340279 ).

Also, make some log warnings related to
providing assist data slightly more verbose.

Bug: 10573008
Change-Id: Ie2bcb411c182d69738a2fa4a74de3171b9b9c455
2013-09-04 12:30:47 +01:00
Craig Mautner
b1d0129c80 am 583e8f25: am 59f6b510: Merge "Insert home task into history when sending to back." into klp-dev
* commit '583e8f2528346d2bc43a8b6b693dc6cfafd8d8d1':
  Insert home task into history when sending to back.
2013-09-03 14:12:48 -07:00
Craig Mautner
c8143c623d Insert home task into history when sending to back.
- There is an assumption that moving a task to the back moves it
behind the home activity. This fix ensures that the home activity
will be launched by some activity before the task that has been
moved to the back.

- Convert "private final" declarations to private only.

- Convert container tests for size()==0 to isEmpty().

- Remove unused variable.

Fixes bug 10228536.

Change-Id: I51741ee7a09652e27afffcc50c14953bf0aa27ea
2013-09-03 13:14:57 -07:00
Todd Poynor
bfdd62323e ActivityManagerService use lmkd low memory killer daemon
Change-Id: Ie2f8af1e411c28d7f03be56c356ec39e1d71558e
2013-09-03 17:55:55 +00:00
Jeff Sharkey
bd3b902567 Add CancellationSignal support to file operations.
Since ContentProvider file operations can end up doing substantial
network I/O before returning the file, allow clients to cancel their
file requests with CancellationSignal.

Ideally this would only be needed for openFile(), but ContentResolver
heavily relies on openAssetFile() and openTypedAssetFile() for common
cases.

Also improve documentation to mention reliable ParcelFileDescriptors
and encourage developers to move away from "rw" combination modes,
since they restrict provider flexibility.  Mention more about places
where pipes or socket pairs could be returned.

Improve DocumentsContract documentation.

Bug: 10329944
Change-Id: I49b2825ea433eb051624c4da3b77612fe3ffc99c
2013-08-23 11:27:25 -07:00
Craig Mautner
007751276c Merge "Notify ViewRootImpl when it's safe to modify Canvas." into klp-dev 2013-08-19 23:13:47 +00:00
Craig Mautner
bc57cd1b24 Notify ViewRootImpl when it's safe to modify Canvas.
When Activity.convert{To|From}Translucent() is called the
ViewRootImpl is now notified when it is safe to convert the Canvas
from translucent to opaque and back to translucent. This will make
it possible to save resources when compositing opaque layers.

Fixes bug 10349536.

Change-Id: I7282aee1d54601fb00611d20be204bf164d873f6
2013-08-19 15:47:42 -07:00
Craig Mautner
e428a7f662 Allow for more than one home app.
Having a single mHomeProcess in ActivityManagerService ignores the
possibility of multiple processes serving as home. Particularly when
we have a home activity that only serves to launch the true home
activity.

Fixes bug b10296766

Change-Id: I9e5c9c955c64f4b3df856b6bc66d6a0d93f85aab
2013-08-17 17:04:56 -07:00
Adam Skory
164c2edccd Fix NPE in ActivityManagerService
Bug: 10294281
Change-Id: Iaf608ae099b90fac8ad726285652b5c3e74e1632
2013-08-13 14:24:34 -07:00
Jeff Sharkey
998cfa2c63 Merge "API to discover granted Uri permissions." into klp-dev 2013-08-12 03:59:58 +00:00
Jeff Sharkey
08da7a1143 API to discover granted Uri permissions.
Now that granted Uri permissions can be persisted across reboots,
offer APIs to discover them. Returns incoming or outgoing grants
matching the requested flags and mask. Add helper method to discover
"open" documents using this new API and filtering for non-documents.

Require that callers own at least of the filtering packages to avoid
exposing all grants. Switch internal grant tracking to use ArrayMap.

Change-Id: I0a755f221d0d160b411f8d3cfc48279b64345733
2013-08-11 20:56:15 -07:00
Craig Mautner
0dd303cfdb Merge "Put animation background behind visible wallpaper" into klp-dev 2013-08-10 18:52:39 +00:00
Craig Mautner
6201c2ac41 Put animation background behind visible wallpaper
The new wallpaper positioning associated with multiple activity stacks
put animation backgrounds in front of the wallpaper. This caused
hideous jank. Testing for visible wallpaper and moving the background
behind it fixes the jank.

Fixes bug 10078282.
Possibly fixes bug 10247094.

Change-Id: I3f4e07accd7276d59725192081904b791f77781f
2013-08-10 11:48:18 -07:00
Dianne Hackborn
d9545a913d Allow bound processes to go PROCESS_STATE_TOP.
For process state, if a top process is making use of another
process, we should probably count the second process as top
as well (instead of IMPORTANT_FOREGROUND).  Specially, when
chrome binds to render processes we want those render
processes to be TOP.  Otherwise, they end up in the
important foreground state and it looks like they are running
for some other reason in the background.

Change-Id: Id115dbb65dc2b403ffa4bbe4e7837564eb3b9cb5
2013-08-09 17:21:53 -07:00
Dianne Hackborn
8a0de58ece Get ProcessStats callable from other processes.
Also fix a bug where, when parceling the stats, we were
computing the final duration values too late.  We need to
do that before we write the long table.

Change-Id: Idb6c1ed95417448c56973fe5866bfb3570e525f4
2013-08-08 15:00:18 -07:00
Amith Yamasani
d8415f4bf0 Developer option to force RTL layout
Make sure screen layout changes are taken into account in Configuration diffs.
Initialize the SystemProperty from Global settings on startup of
ActivityManagerService.

TextUtils checks the override flag to decide if the default layout direction
should be forced to RTL.

Bug: 10244047
Change-Id: I23a2583d790a355060d0d898ba44e5f7dc896b46
2013-08-08 13:42:02 -07:00
Matt Casey
77ece7b192 Merge "Extend assist context to foreground services" 2013-08-08 09:33:08 +00:00
Jason Monk
602b232a06 Add PAC File support for proxy configuration
PAC (Proxy auto-config) files contain a single javascript function,
FindProxyForURL(url, host).  It gets called to determine what proxy should be
used for a specific request.

This adds PAC support to the system.  The ProxyProperties has been modified
to hold the PAC file when one is present.  The Proxy method
setHttpProxySystemProperty has been modified to insert a PacProxySelector
as the default ProxySelector when it is required.  This new ProxySelector
makes calls to the ConnectivityService to parse the PAC file.

The ConnectivityService and the WifiConfigStore have been modified to support
saving the extra PAC file data.

The ConnectivityService now has a class attached (PacProxyNative) that
interfaces to the native calls for PAC files.  The parsing of the PAC file
is handled by libpac (which is being added to external/) which utilizes
libv8 to parse the javascript.

As a fallback to applications that don't use the java ProxySelector,  the proxy
is setup to point to a local proxy server that will handle the pac parsing.

bug:10182711
Change-Id: I5eb8df893c632fd3e1b732385cb7720ad646f401
2013-08-07 21:01:39 -04:00
Ben Gruver
49660c7c24 Add support for broadcast intents
Change-Id: Icf61e7a202f489cb33b9fd95564285e48154b25b
2013-08-07 17:25:53 -07:00