Commit Graph

1431 Commits

Author SHA1 Message Date
Dianne Hackborn
8a5f7ab6e1 am 22c298a5: am 7192c6d7: Merge "KLP/KitKat is now API 19." into klp-dev
* commit '22c298a5df7a9fa53826ecfa4925372b1eebf8bc':
  KLP/KitKat is now API 19.
2013-10-03 15:39:44 -07:00
Dianne Hackborn
7c55154d47 am 80e75d39: am 0d763a90: Merge "Implement issue #11050739: Show swapped out RAM" into klp-dev
* commit '80e75d3946fd4c5cdd913d217df1b8d32ec464ee':
  Implement issue #11050739: Show swapped out RAM
2013-10-03 15:39:36 -07:00
Dianne Hackborn
61509ca5ba am 479dde0b: am 6a6f96a2: Merge "Fix issue #10378741: configupdater needs to be explicit when it calls startService()" into klp-dev
* commit '479dde0bc21a1e9d0bb8dad801cfe015f6c7e416':
  Fix issue #10378741: configupdater needs to be explicit when it calls startService()
2013-10-03 15:39:33 -07:00
Dianne Hackborn
495fe22d68 am 2d3f995a: am d585f954: Merge "Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle..." into klp-dev
* commit '2d3f995a65f2acd60559b1db57ae3ab2346a1df0':
  Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle...
2013-10-03 15:39:27 -07:00
Marco Nelissen
d9ff894eae am 05f56fc1: am 95867a65: Merge "Add PowerManager method to assign blame to a single uid" into klp-dev
* commit '05f56fc121e176ef4e227639a7b636a875f38037':
  Add PowerManager method to assign blame to a single uid
2013-10-03 15:39:18 -07:00
Dianne Hackborn
7192c6d7c6 Merge "KLP/KitKat is now API 19." into klp-dev 2013-10-03 19:19:10 +00:00
Dianne Hackborn
6bc3789b39 KLP/KitKat is now API 19.
Bug: 10348975

Change-Id: I19bf1a56064deda2e59085520960aac8ce3a825b
2013-10-03 12:17:31 -07:00
Dianne Hackborn
0d763a901e Merge "Implement issue #11050739: Show swapped out RAM" into klp-dev 2013-10-03 17:45:42 +00:00
Dianne Hackborn
6a6f96a296 Merge "Fix issue #10378741: configupdater needs to be explicit when it calls startService()" into klp-dev 2013-10-03 17:44:38 +00:00
Dianne Hackborn
fd6c7b12c3 Fix issue #10378741: configupdater needs to be explicit when it calls startService()
Not enough time to fix everything, so instead we'll make it a warning
in this release and finish up turning it into a target-SDK based
exception in the next release.

Change-Id: I5aae64a1225a145f03ba4162238b53d5e401aba2
2013-10-03 10:42:26 -07:00
Dianne Hackborn
d585f95406 Merge "Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle..." into klp-dev 2013-10-03 17:23:04 +00:00
Dianne Hackborn
4a7d824c3b Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle...
...fails from KRS84 across all platforms

My fix for issue #10807048 was wrong, wrong, wrong.  The problem was
actually just a stupid mistake in ArrayMap.erase().  This makes it
all right.

Change-Id: I762f7a2d5100bceb86a091ab3d6368edc21b4266
2013-10-03 10:19:20 -07:00
Marco Nelissen
d983ba5cac Add PowerManager method to assign blame to a single uid
Currently used by audioflinger to account for recording wakelocks.
b/10985160

Change-Id: I18fc8487f2a197bf02b5269a4bcae9e75b6c2207
2013-10-03 08:49:36 -07:00
Dianne Hackborn
8883ced18a Implement issue #11050739: Show swapped out RAM
Add "swapped out" field to mem info everywhere.

Change-Id: I89abe8eb0e91fa5c193da93815dc592593c8a3c8
2013-10-02 17:40:05 -07:00
Nick Kralevich
19db889424 am 19f9f445: am 7a56d949: Merge "Fix SELinux.java doc errors"
* commit '19f9f445bfe368f801f893aad6dbd372562746ac':
  Fix SELinux.java doc errors
2013-09-27 09:37:56 -07:00
Nick Kralevich
7a56d949ef Merge "Fix SELinux.java doc errors" 2013-09-27 16:32:57 +00:00
Adam Lesinski
7979e170b5 am bde988ad: Merge "Add Graphics alloc tracking via memtrack" into klp-dev
* commit 'bde988ade5f75c3d241422dce2ee4124871fab53':
  Add Graphics alloc tracking via memtrack
2013-09-26 10:27:55 -07:00
Adam Lesinski
bde988ade5 Merge "Add Graphics alloc tracking via memtrack" into klp-dev 2013-09-26 17:22:31 +00:00
Dianne Hackborn
f9ad7b9d92 am 66a9b2d7: Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev
* commit '66a9b2d7392a7f6334b5fe23d00ba718f3fa1851':
  Fix issue #10903002: com.facebook.katana keeps itself in A Services
2013-09-25 16:09:13 -07:00
Dianne Hackborn
cbd9a52f25 Fix issue #10903002: com.facebook.katana keeps itself in A Services
Now when memory low, if a service's process is above
a selected pss, then the process is not allowed to go
in to the service a list.

Also simplified the normal meminfo details dump to not
include the shared dirty and shared clean sizes by
default, since these can be very confusing.  You will
still get to see them with the "-a" flag.

Finally some small steps to better managing service
processes in the LRU list, so hopefully we can some
day be better about letting them drop down in the list
when there isn't really much interesting happening in
the process.  Not yet used at this point.

Change-Id: I654bfd6d05de2a63120185ebb15ffda8cbeb5dac
2013-09-25 15:45:56 -07:00
Adam Lesinski
5b4ef81f2b Add Graphics alloc tracking via memtrack
Any OpenGL memory reported by /proc/pid/smaps will not be included
in the GPU GL memory count and will be considered Unknown. This is
an artifact of how some memory reporting is done in libmemtrack
and some is done in this module.

bug:10294768

Change-Id: Id8fb63b2e86520f4dbc8410573a509e66b96b13b
2013-09-25 14:41:49 -07:00
Dianne Hackborn
8715dc1401 am 4213e68f: am 3a7d5f71: Merge "Replace SEAndroid with SELinux."
* commit '4213e68f67d59c0912d2a8729fcec4539197756a':
  Replace SEAndroid with SELinux.
2013-09-25 11:45:38 -07:00
Dianne Hackborn
3a7d5f7145 Merge "Replace SEAndroid with SELinux." 2013-09-25 18:39:58 +00:00
David Christie
dd3a021f4a Fix broken method WorkSource.set (names aren't applied).
Change-Id: I89273b99e312e48adc10debbb4e40d8684cceb23
2013-09-23 16:01:08 -07:00
Dianne Hackborn
90d51b1abe Merge "Fix issue #10807048: Groupon: The application crash when user rotates..." into klp-dev 2013-09-21 01:21:26 +00:00
Dianne Hackborn
e784d1e4cf Fix issue #10807048: Groupon: The application crash when user rotates...
...device to another mode (portrait or landscape) on Main page.

So, it turns out that Bundle claimed to have an invariant that either
mParcelledData or mMap would hold its data, never both.  The new
implementation on top of ArrayMap assumed this was the case.  However,
there is one situation where it is not true: an application can take
an existing Bundle that contains data, and call readFromParcel() on it.
The implementation of readFromParcel() would just pull out the
parceled data and stuff it in to mParcelledData for later unparceling,
even if that Bundle already had a non-empty mMap.

To fix this, we just look for this case in readFromParcel() and
immediately unparcel at that point into the existing map, using a
new unparcelling method that doesn't rely on the target map being
empty.

Change-Id: Ib816b6876a6cd2760b7a3372c7a79ca2f12dfeba
2013-09-20 18:13:52 -07:00
Adam Lesinski
d473ebb7c4 Merge "Surfaces ParcelFileDescriptor#parseMode() as API" into klp-dev 2013-09-20 22:59:12 +00:00
Jeff Sharkey
dfed244876 Merge "Delegate mkdirs() to vold when lacking perms." into klp-dev 2013-09-20 22:56:07 +00:00
Adam Lesinski
eb8c3f93ed Surfaces ParcelFileDescriptor#parseMode() as API
Moves ContentResolver#modeToMode() to ParcelFileDescriptor#parseMode()

bug:10711271
Change-Id: I28a5de4ca70adfbec4caf739863b77f0fd7fd9a4
2013-09-20 14:59:34 -07:00
Jeff Sharkey
2d8b4e8013 Delegate mkdirs() to vold when lacking perms.
Apps without sdcard_r or sdcard_rw are still able to write to
their package-specific directory, but someone needs to first make
that directory on their behalf.  This change will delegate the
mkdirs() call through to vold when an app fails to create directly.

MountService validates that the path belongs to the calling user, and
that it's actually on external storage, before passing to vold.

Update Environment to make app-vs-vold paths clearer.

Bug: 10577808
Change-Id: I43b4a77fd6d2b9af2a0d899790da8d9d89386776
2013-09-20 14:34:02 -07:00
David Christie
f31a789774 Merge "Clear names from externally supplied WorkSources to WifiManager (b/10733757)" into klp-dev 2013-09-20 20:04:04 +00:00
David Christie
a31510e47a Clear names from externally supplied WorkSources to WifiManager (b/10733757)
Change-Id: I36102f13962df2093c1e35fb40081ead647eff32
2013-09-20 11:41:41 -07:00
Dianne Hackborn
a2067473e8 Fix issue #10310128: CTS: android.security.cts.ServicePermissionsTest
Change-Id: Id6432fc1b62db41c6c291ec08450c2fc37ced899
2013-09-20 10:54:16 -07:00
Amith Yamasani
e8c01ddbe7 Merge "Changes to PFD based on API review" into klp-dev 2013-09-18 23:43:11 +00:00
Amith Yamasani
b433bb8c96 Changes to PFD based on API review
Removed boolean param to ask for exception on detached fd. Use a
subclass of IOException instead.

Bug: 10461576
Change-Id: If7db16120297edcdb7d5d5905ed453003be0e38e
2013-09-18 16:35:05 -07:00
Amith Yamasani
487c11a310 Fix provider leak in PFD
Code path to release content provider associated with the PFD was
inadvertently bypassed by a previous change. Reinstate that code
when closing the PFD.

Bug: 10767447
Change-Id: I23306cfb3c28c99e587892b17ca85efd3f7a8a07
2013-09-18 09:30:43 -07:00
Dianne Hackborn
fc9122ecae Merge "Implement #10666712: NetworkOnMainThreadException should be..." into klp-dev 2013-09-14 01:04:05 +00:00
David Christie
5f68f71701 Merge "Strip names out of externally supplied WorkSources to WifiManager (b/10710007)." into klp-dev 2013-09-14 01:02:40 +00:00
David Christie
6ab2284c98 Strip names out of externally supplied WorkSources to WifiManager (b/10710007).
Change-Id: I69bd7ce9e942c2f9327415b2821d805e1b50a1a4
2013-09-13 17:34:40 -07:00
Dianne Hackborn
7e7144218e Implement #10666712: NetworkOnMainThreadException should be...
...relayed back to calling application

What's one more exception between friends?

Change-Id: Ib83c7bfbddd397457dcdbe506a8cd2bc0f4fb70b
2013-09-13 17:32:57 -07:00
Dianne Hackborn
3fa8969021 Fix issue #10461477: KLP API Review: Debug.MemoryInfo
Oops.

Change-Id: I2143790af9e6649dba8d74618358c47232cf6cc4
2013-09-13 17:20:00 -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
Jeff Sharkey
3e1189b359 Move search to roots; Documents root; hide empty.
Documents searches now happen root-wide, instead of only under a
subdirectory.  Updates abstract class and flags to match.  Add flag
for a root to indicate it's empty, and hide empty roots in UI unless
creating.

Define "Documents" public directory and storage backend to contain
files.

Bug: 10712057, 10710865, 10710758
Change-Id: I8716367568969f9cb1d83927b2bf5a7013809350
2013-09-13 11:35:04 -07:00
Jeff Sharkey
ceccceccff Merge changes Ib1274847,I2eb2a1bf into klp-dev
* changes:
  Fix SDK build.
  Request all tethering interfaces, fix corruption.
2013-09-11 20:16:59 +00:00
Dianne Hackborn
95d785346b Fix issue #10688644: Java crash in com.android.phone:
java.lang.SecurityException: Operation not allowed

There was a situation I wasn't taking into account -- components
declared by the system has a special ability to run in the processes
of other uids.  This means that if that code loaded into another
process tries to do anything needing an app op verification, it will
fail, because it will say it is calling as the system package name but
it is not actually coming from the system uid.

To fix this, we add a new Context.getOpPackageName() to go along-side
getBasePackageName().  This is a special call for use by all app ops
verification, which will be initialized with either the base package
name, the actual package name, or now the default package name of the
process if we are creating a context for system code being loaded into
a non-system process.

I had to update all of the code doing app ops checks to switch to this
method to get the calling package name.

Also improve the security exception throw to have a more descriptive
error message.

Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
2013-09-11 09:59:47 -07:00
Jeff Sharkey
e4984bea95 Request all tethering interfaces, fix corruption.
netd now tracks statistics for tethered interfaces across tethering
sessions, so switch to asking for all tethering stats.  (Currently
we're double-counting all tethering data, ever since it started
tracking across sessions.)

Also catch OOME to handle corrupt stats files, which we then dump to
DropBox and then start over.

Bug: 5868832, 9796109
Change-Id: I2eb2a1bf01b993dd198597d770fe0e022466c6b9
2013-09-10 21:03:30 -07:00
Jeff Brown
23a5f44c5a Merge "Fix native crash when message queue quits." into klp-dev 2013-09-07 01:34:52 +00:00
Jeff Brown
013cf847bc Fix native crash when message queue quits.
Fix a race when quitting the looper's message queue that could
cause the mPtr field to be zeroed out and the native object to
be destroyed while still in use.

This happened due to an optimization that was intended to release
the native looper's file descriptor as soon as the last message
was processed rather than waiting for the finalizer to run.

Bug: 9726217
Change-Id: I695a9a657acfdb3ce65a5737ff20cd11113d15fa
2013-09-06 18:07:12 -07:00
Robert Greenwalt
ecd0db5a73 Merge "Setting MTU size for specific network." into klp-dev 2013-09-06 22:42:10 +00:00