Commit Graph

1401 Commits

Author SHA1 Message Date
Jeff Brown
c677ff8c3b am cbf2b02d: am 23a5f44c: Merge "Fix native crash when message queue quits." into klp-dev
* commit 'cbf2b02d6c288c49f5bdbcb70d87c44d26086ba4':
  Fix native crash when message queue quits.
2013-09-06 18:41:43 -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
e52785e6a7 am 9234e15d: am ecd0db5a: Merge "Setting MTU size for specific network." into klp-dev
* commit '9234e15d8d4d99b211e6bb5c199790a77cf36be7':
  Setting MTU size for specific network.
2013-09-06 15:49:42 -07:00
Robert Greenwalt
ecd0db5a73 Merge "Setting MTU size for specific network." into klp-dev 2013-09-06 22:42:10 +00:00
Dianne Hackborn
1775ebb76f am b6459eb2: am 3e1fdd9e: Merge "Implement issue #10550827: watching gpu memory for occam_svelte" into klp-dev
* commit 'b6459eb25f0593561389d7cb3da38a4f960cce14':
  Implement issue #10550827: watching gpu memory for occam_svelte
2013-09-06 15:34:43 -07:00
sy.yun
9d9b74a900 Setting MTU size for specific network.
Able to config network specific MTU size. Normally, the default size of MTU is 1500.
 US - ATT 1410, TMUS 1440, SPRINT 1422
 KR - SKT 1440, KT 1450, LGU+ 1428
 JP - KDDI 1420, SoftBank 1340
 CA - RGS 1430, FIDO 1430, MTS 1430, BELL 1358, SaskTel 1358
 AU - TEL 1400

Bug: 10195070
Change-Id: Ie18650b37a3d44af944f2dae4aa97c04fb12cd5e
2013-09-06 15:26:19 -07:00
Dianne Hackborn
37c9943262 Implement issue #10550827: watching gpu memory for occam_svelte
Well, it would work if the published file permissions gave the
system process access to them. :(

Change-Id: I99e0c506f52c212384b20a042dcdd35516cf49c2
2013-09-06 15:06:04 -07:00
Igor Murashkin
a94db2467c am 76f883e0: am 034052b3: Merge "Binder: Log exceptions originating from the binder stub for oneway calls" into klp-dev
* commit '76f883e0a8fa6d62110824399440c779a1b68874':
  Binder: Log exceptions originating from the binder stub for oneway calls
2013-09-06 13:46:16 -07:00
Igor Murashkin
034052b352 Merge "Binder: Log exceptions originating from the binder stub for oneway calls" into klp-dev 2013-09-06 18:32:30 +00:00
Amith Yamasani
cd57b4950f am 3d27c9f9: am f1eebfc2: Merge "Remove unused APIs and rename others based on API review" into klp-dev
* commit '3d27c9f973b1dd35ed457785b452851316cdca8a':
  Remove unused APIs and rename others based on API review
2013-09-05 17:33:19 -07:00
Amith Yamasani
f1eebfc2cf Merge "Remove unused APIs and rename others based on API review" into klp-dev 2013-09-05 22:48:17 +00:00
Igor Murashkin
7eb6cfe10b Binder: Log exceptions originating from the binder stub for oneway calls
- Under a normal situation, if an exception happens in managed, the stack trace
  will be printed to logcat.
- Hitherto, the Binder#execTransact call silently caught exceptions and passed
  them to the remote side with Parcel#writeException
- Although this behavior might be acceptable when there is a remote side,
  for FLAG_ONEWAY calls the exception effectively disappeared.
- From the user point of view, it looked like code execution "halted" when an
  exception was thrown.

This tries to make the binder exception handling behavior more like normal,
by printing the exception to the log, to give a better indication of what
happened.

Change-Id: I1f37f0468f61e766a71db60d2fda2104936ab096
2013-09-05 11:17:20 -07:00
Mike Lockwood
f55ba05cf8 Merge "ParcelFileDescriptor: Add comments to warn that parcelling must stay in sync with Parcel.cpp implementation" 2013-09-05 17:14:16 +00:00
Chet Haase
672fcd5c9a am 04f31501: am a9fa33b3: Merge "Change build version from KEY_LIME_PIE to KITKAT" into klp-dev
* commit '04f31501602a87ae9526983f4a92e623b4d68bb3':
  Change build version from KEY_LIME_PIE to KITKAT
2013-09-05 10:13:34 -07:00
Amith Yamasani
d304af6989 Remove unused APIs and rename others based on API review
Restrictions challenge is only to be used by device admins.

Bug: 10461761
Change-Id: I3db1249e2ce99f386602de59ed930302bb0a97fb
2013-09-05 09:30:23 -07:00
Mike Lockwood
8b85164c50 ParcelFileDescriptor: Add comments to warn that parcelling must stay in sync with Parcel.cpp implementation
Change-Id: If9fcdada0b2dbaae4973ac236b02e527e2e6b198
2013-09-05 08:47:38 -07:00
Chet Haase
e8222dddaf Change build version from KEY_LIME_PIE to KITKAT
Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
2013-09-05 08:44:33 -07:00
Todd Poynor
2e9992583c Merge "BatteryProperty: Add average current property" 2013-09-05 01:37:29 +00:00
Dianne Hackborn
1703c54a0e am 021a138b: am 8144585c: Merge "Fix issue #10422349: Limit/change the battery history data in batterystats" into klp-dev
* commit '021a138bdc0a8d1561cd7a429936afb8983c68b0':
  Fix issue #10422349: Limit/change the battery history data in batterystats
2013-09-04 18:32:16 -07:00
Todd Poynor
be7d9e399e BatteryProperty: Add average current property
Change-Id: I48907708024bddae9770bc1a3f0149ad901075c4
2013-09-04 18:20:22 -07:00
Dianne Hackborn
49021f5f79 Fix issue #10422349: Limit/change the battery history data in batterystats
Don't include history in real checkins; have a new compact option
for bug reports.

Change-Id: I077f9218b365154f6bae9cc685c2c6b378e0283a
2013-09-04 18:03:40 -07:00
David Christie
ef00641cbf am 55e4889c: am 61edc94a: Merge "Make location QuickSettings multi-user compatible (b/10563313)" into klp-dev
* commit '55e4889cea528253ff91fe5c1806c0c0b75d9827':
  Make location QuickSettings multi-user compatible (b/10563313)
2013-09-04 12:28:09 -07:00
David Christie
b12ba933f3 Make location QuickSettings multi-user compatible (b/10563313)
Change-Id: I8ae5238e66fa2d6890ffe5697d3e6d5f50413c3e
2013-09-04 11:36:17 -07:00
Todd Poynor
bfdd62323e ActivityManagerService use lmkd low memory killer daemon
Change-Id: Ie2f8af1e411c28d7f03be56c356ec39e1d71558e
2013-09-03 17:55:55 +00:00
Jeff Hao
c0a38c227e am 3a9c7161: am 6627e5b2: Merge "Change IsMethodTracingActive to GetMethodTracingMode for frameworks." into klp-dev
* commit '3a9c7161dfd6f16baddd2eb209a013609b927da7':
  Change IsMethodTracingActive to GetMethodTracingMode for frameworks.
2013-08-30 14:17:27 -07:00
Jeff Hao
ac27705f75 Change IsMethodTracingActive to GetMethodTracingMode for frameworks.
Bug: 9968521

Change-Id: Ic63340e0d2fef18f27fdfabdd056ac5304c3d54f
(cherry picked from commit ffbe799f3824f4be705ca726988355d3943a9004)
2013-08-30 18:02:52 +00:00
Jeff Hao
7be3a138d5 Add frameworks support for sample profiling from traceview gui.
(cherry picked from commit ca307d3138ff1e5d0bcf190eb24f3b8dbcabfaa9)

Change-Id: I3553bafe24ac8deb4fa3f9a4d78939c3848b3850
2013-08-28 22:13:17 -07:00
Jeff Sharkey
98486543cc am 6607275b: am 9fd81a90: Merge "Stronger DocumentsProvider contract." into klp-dev
* commit '6607275b3a99b28f4176f8f8cc87f46c5ed051db':
  Stronger DocumentsProvider contract.
2013-08-28 21:35:17 -07:00
Jeff Sharkey
6607275b3a am 9fd81a90: Merge "Stronger DocumentsProvider contract." into klp-dev
* commit '9fd81a9008d5c8dd33272b6a451d89fa2fa1841e':
  Stronger DocumentsProvider contract.
2013-08-28 21:32:08 -07:00
Jeff Sharkey
aeb16e2435 Stronger DocumentsProvider contract.
Using a contract class requires that a provider implement it exactly
with little help. This change introduces a DocumentsProvider abstract
class that provides a client-side implementation of the contract that
greatly reduces developer burden, and improves correctness.

This also moves to first-class DocumentRoot objects, and moves calls
with complex side effects to be ContentProvider.call() invocations,
offering more granular permission control over Uri operations that
shouldn't be available through Uri grants.

This new design also relaxes the requirement that root information be
burned into every Uri.  Migrate ExternalDocumentsProvider and
DocumentsUI to adopt new API.

Bug: 10497206
Change-Id: I6f2b3f519bfd62a9d693223ea5628a971ce2e743
2013-08-28 20:49:42 -07:00
Jeff Hao
f46f843171 am 5d21168b: am 366291e2: Merge "Add frameworks support for sample profiling from traceview gui."
* commit '5d21168bb4b33fb5eb8770996895a729880c7dbc':
  Add frameworks support for sample profiling from traceview gui.
2013-08-27 18:21:23 -07:00
Jeff Hao
ffee626c3a Add frameworks support for sample profiling from traceview gui.
(cherry picked from commit ca307d3138ff1e5d0bcf190eb24f3b8dbcabfaa9)

Change-Id: Ic193ddadf01c42905fc7c35a1a8bf89fba4556e9
2013-08-27 17:46:18 -07:00
Jeff Hao
e3d54fe23a Add frameworks support for sample profiling from traceview gui.
Change-Id: I702f12cdd8bd27b762f30e158fbe824909421dee
(cherry picked from commit ca307d3138ff1e5d0bcf190eb24f3b8dbcabfaa9)
2013-08-27 20:53:09 +00:00
Svetoslav Ganov
f026518672 am e0612ffe: am 826debf5: Merge "Print UI bug fixing and printer discovery refactoring." into klp-dev
* commit 'e0612ffe5495602134d60422f63bfc05387512e1':
  Print UI bug fixing and printer discovery refactoring.
2013-08-26 15:10:49 -07:00
Svetoslav Ganov
44720af55a Print UI bug fixing and printer discovery refactoring.
1. Added support for selecting a printer from the all printers activity
   that is not in the initial printer selection drop down. The user
   initially sees a sub set of the printers in the drop down and the
   last option is to see all printers in a separate activity. Some
   of the printers in the all printers activity are not shown in the
   initial drop down.

2. Refactored printer discovery by adding (private for now) printer
   discovery app facing APIs. These APIs are needed to support multiple
   printer selection activities (print dialog and all printers activities)
   and also the settings for showing all printers for a service.

   Now multiple apps can request observing for printers and there is
   a centralized mediator that ensures the same printer discovery
   session is used. The mediator dispatches printer discovery specific
   requests to print services. It also aggregates discovered printers
   and delivers them to the interested apps. The mediator minimizes
   printer discovery session creation and starting and stopping discovery
   by sharing the same discovery session and discovery window with
   multiple apps. Lastly, the mediator takes care of print services
   enabled during discovery by bringing them up to the current
   discovery state (create discovery session and start discovery if
   needed). The mediator also reports disappearing of the printers
   of a service removed during discovery and notifies a newly
   registered observers for the currnet printers if the observers are
   added during an active printer discovery session.

3. Fixed bugs in the print UI and implemented some UX tweaks.

Change-Id: I4d0b0c5a6c6f1809b2ba5dbc8e9d63ab3d48f1ef
2013-08-23 18:36:33 +00:00
Todd Poynor
d7b34771cb java-side interface for reading individual battery properties on demand
Change-Id: I60a84ed936f1115fdb122f34986f2e605ae274de
2013-08-22 03:12:21 +00:00
Jeff Sharkey
da5a3e12f4 Richer ParcelFileDescriptor close events.
When reading from the end of a pipe or socket, there is no way to
tell if the other end has finished successfully, encountered an error,
or outright crashed.  To solve this, we create a second socketpair()
as a communication channel between the two ends of a pipe or
socket pair, sending a status code with details about why the
ParcelFileDescriptor was closed.

The writer end of a pipe or socket can closeWithError() to send a
message to the reader end.  When the reader encounters EOF, they
call checkError() to detect if any error occured.  This also detects
the case where the remote process died without sending a success
message.

This design is also extended to support regular files on disk, using
the communication channel above to detect various remote close events
or crashes, and delivering that event to a supplied OnCloseListener.

Replaces JNI with best-practice Libcore.os calls, and deprecates
some flags to match Context.

Bug: 10330121
Change-Id: I8cfa1e4fb6f57397667c7f785106193e0faccad3
2013-08-16 14:34:43 -07:00
Jeff Sharkey
6e14b22cfe Merge "APIs for multiple external storage devices." into klp-dev 2013-08-12 00:13:35 +00:00
Jeff Sharkey
1abdb71230 APIs for multiple external storage devices.
Provide developer APIs to discover application-specific paths on
secondary external storage devices.  Covers files, cache, and OBB
directories.  Apps will not have write access outside their package-
specific directories on secondary devices, so only primary storage is
exposed through Environment.

Creation of .nomedia files will be handled by FUSE daemon in future
change.

Change-Id: Ifcce6201a686d80269d7285adb597c008cf8fa7c
2013-08-11 17:07:44 -07:00
Romain Guy
719c44e03b Prevent AsyncTask from creating too many threads
Bug #10228005

From the ThreadPoolExecutor documentation:

  - If fewer than corePoolSize threads are running, the Executor
    always prefers adding a new thread rather than queuing.
  - If corePoolSize or more threads are running, the Executor
    always prefers queuing a request rather than adding a new thread.
  - If a request cannot be queued, a new thread is created unless
    this would exceed maximumPoolSize, in which case, the task will
    be rejected.

Before this change AsyncTask could create up to 128 threads because
of the limited queue of 10 items (the capacity of a blocking queue
is fixed.)

This change increases the size of the queue to 128 items and reduces
the maximum number of threads to the number of CPU cores * 2 + 1.
Apps can still submit the same number of tasks.

Change-Id: I015d77b53b6a9fda39c618830b34d45a10de5571
2013-08-09 16:15:18 -07:00
Jeff Sharkey
184a0100ab Allow packages.list access with new GID.
The FUSE daemon is using packages.list to map from package name to
appId after it drops permissions, so create a new "package_info" GID
to grant read access.

Also switches FileUtils to use Libcore.os.

Change-Id: I9451ca4e90e8a985526805c6df0888a244a1db36
2013-08-08 17:38:13 -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
Todd Poynor
df89ca3308 batteryservice: add battery current now and charge counter data
Available for retrieval via future APIs if desired.  Dumped by dumpsys.
Not added to batterystats or ACTION_BATTERY_CHANGED intents at this point.

Also fixes a formatting problem in the existing dumpsys output for voltage.

Change-Id: I5320b19035914256fb872c13095c09c648dd522a
2013-08-07 18:33:12 +00:00
Dianne Hackborn
d2932243e3 Refactor ProcessStats, ProcessTracker.
ProcessStats is now called ProcessCpuTracker.

ProcessTracker is now ProcessStatsService, and its inner State
class is broken out into a separate top-level ProcessStats class.
This ProcessStats is moved to the framework, so we will be able
to use it elsewhere.

Change-Id: I6a127bcb835b6b474b72647c0b99b82c2137e5c5
2013-08-06 13:54:07 -07:00
Dianne Hackborn
221ea892dc Start restricting service calls with implicit intents.
The bindService() and startService() calls have always had
undefined behavior when used with an implicit Intent and there
are multiple matching services.  Because of this, it is not
safe for applications to use such Intents when interacting with
services, yet the platform would merrily go about doing... something.

In KLP I want to cause this case to be invalid, resulting in
an exception thrown back to the app.  Unfortunately there are
lots of (scary) things relying on this behavior, so we can't
immediately turn it into an exception, even one qualified by the
caller's target SDK version.

In this change, we start loggin a WTF when such a call happens,
and clean up some stuff in Bluetooth that was doing this behavior.

Change-Id: I62e25d07890588d2362104e20b054aebb6c0e007
2013-08-05 16:53:26 -07:00
Elliott Hughes
2a805f9304 resolved conflicts for merge of 368d81fe to master
Change-Id: I4bc59cd9a54cbc1b62ac135cf86dc73ac85968d5
2013-07-31 18:25:47 -07:00
Elliott Hughes
6d4b1e24ae Switch Process.myTid over to the libcore JNI too.
Change-Id: I80eaecff014fabf809f4be3c9ee8b26aa64bf0cf
2013-07-31 17:38:11 -07:00
Jeff Hao
406ec15647 Replace native Process getpid/getuid with calls to libcore equivalents.
The Process natives were getting called were getting called while
handling a jdwp packet before the vm had a chance to register them.

(cherry-pick of 5bce6a308fc8a3c1e449cf905b8b6e8ace4ef3e2.)

Change-Id: Ia2b4f79b11e427283a712b2d0c52948f394640bf
2013-07-31 17:19:23 -07:00
Todd Poynor
a9de3462a6 Add libbatteryservice AIDL and java interfaces
Add IBatteryPropertiesRegistrar and IBatteryPropertiesListener AIDLs,
BatteryProperties class.

Change-Id: Ic8e71178c02b04868eca29c3da88e877bc2590ca
2013-07-25 02:13:49 +00:00