Commit Graph

348 Commits

Author SHA1 Message Date
Jeff Brown
f66f8a58cc am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread
Merge commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066' into gingerbread-plus-aosp

* commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066':
  Add support for the PointerLocation overlay.
2010-08-11 16:18:36 -07:00
Jeff Brown
95af0c14a6 Merge "Add support for the PointerLocation overlay." into gingerbread 2010-08-11 16:15:48 -07:00
Jeff Brown
a41ca77fab Add support for the PointerLocation overlay.
This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications.  The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
2010-08-11 14:46:32 -07:00
Kenny Root
f5ee5358c1 am ac9717ab: Merge "Move OBB file reading to DefaultContainerService" into gingerbread
Merge commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e' into gingerbread-plus-aosp

* commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e':
  Move OBB file reading to DefaultContainerService
2010-08-11 14:10:18 -07:00
Kenny Root
a02b8b05dd Move OBB file reading to DefaultContainerService
The system_server shouldn't touch files on the SD card. This change
moves the things that touch the SD card out to the
DefaultContainerService so that it will get killed if the SD card goes
away instead of the system_server.

Change-Id: I0aefa085be4b194768527195532ee6dddc801cfc
2010-08-11 11:20:53 -07:00
Brad Fitzpatrick
e2d33bbc49 am d2165cfc: Merge "StrictMode: time violations in Binder calls" into gingerbread
Merge commit 'd2165cfce7911dac66d1195ed9123e79b086d22b' into gingerbread-plus-aosp

* commit 'd2165cfce7911dac66d1195ed9123e79b086d22b':
  StrictMode: time violations in Binder calls
2010-07-30 15:23:19 -07:00
Brad Fitzpatrick
cb9ceb1029 StrictMode: time violations in Binder calls
Change-Id: I5796993dce98be722cf679b78acaf0c9de0ba461
2010-07-30 14:28:55 -07:00
Brad Fitzpatrick
245cb7846c am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread
Merge commit '84c924a6c53cb63ca018013c9fda0077413d0005' into gingerbread-plus-aosp

* commit '84c924a6c53cb63ca018013c9fda0077413d0005':
  Replace several IPCThreadState::get() lookups with one.
2010-07-27 14:02:01 -07:00
Brad Fitzpatrick
84c924a6c5 Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread 2010-07-27 13:59:47 -07:00
Brad Fitzpatrick
7bcad8a315 Replace several IPCThreadState::get() lookups with one.
Also, make StrictMode's ThreadLocal final.

Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
2010-07-27 12:28:57 -07:00
Joe Onorato
070433edee am 76d9bf52: am 8c65ee2d: Merge "Add a method to let a properly permissioned app directly manipulate the user activity timeout. We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone
Merge commit '76d9bf52f31b8f31f64348b736422861c90ab463' into gingerbread-plus-aosp

* commit '76d9bf52f31b8f31f64348b736422861c90ab463':
  Add a method to let a properly permissioned app directly
2010-07-27 09:19:48 -07:00
Joe Onorato
76d9bf52f3 am 8c65ee2d: Merge "Add a method to let a properly permissioned app directly manipulate the user activity timeout. We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone call ends." i
Merge commit '8c65ee2d509db7dcb50ce4530d52eb5bdca3f917' into gingerbread

* commit '8c65ee2d509db7dcb50ce4530d52eb5bdca3f917':
  Add a method to let a properly permissioned app directly
2010-07-27 09:14:42 -07:00
Brad Fitzpatrick
b5daea8a9f am eacf0ecd: Merge "Fix StrictMode for Binder.dump()" into gingerbread
Merge commit 'eacf0ecd00f77718ac4570077d729e33b6c320f4' into gingerbread-plus-aosp

* commit 'eacf0ecd00f77718ac4570077d729e33b6c320f4':
  Fix StrictMode for Binder.dump()
2010-07-26 19:46:45 -07:00
Brad Fitzpatrick
eb75888e64 Fix StrictMode for Binder.dump()
Change-Id: I378f5e3d6512d06b46248b9bb6d9c727e3f6bf1d
2010-07-26 17:47:45 -07:00
Dianne Hackborn
443d884e16 am 3bee5af8: Battery stats: start removing last stats, keep total discharge.
Merge commit '3bee5af8162c177f8c8f4199489a401058ab26a9' into gingerbread-plus-aosp

* commit '3bee5af8162c177f8c8f4199489a401058ab26a9':
  Battery stats: start removing last stats, keep total discharge.
2010-07-26 12:24:16 -07:00
Dianne Hackborn
3bee5af816 Battery stats: start removing last stats, keep total discharge.
Change-Id: I59c4bcbb9893adb237017add76b83c22153f94ef
2010-07-24 13:36:47 -07:00
Joe Onorato
7999bff154 Add a method to let a properly permissioned app directly
manipulate the user activity timeout.  We should come up
with a better API for this, but this is for a last minute
power manager hack to turn off the screen sooner after a
phone call ends.

Change-Id: I76422f952e3e894c90b3311e7d889899c79cbbaa
2010-07-24 11:50:05 -04:00
Dan Egnor
7da38863d4 am 3685db7f: am e8605af5: Merge "Avoid leaking file descriptors when returning drop box events." into froyo
Merge commit '3685db7f5dd8a830a4e096404d4924e12697fb78' into gingerbread-plus-aosp

* commit '3685db7f5dd8a830a4e096404d4924e12697fb78':
  Avoid leaking file descriptors when returning drop box events.
2010-07-21 13:58:08 -07:00
Dan Egnor
3685db7f5d am e8605af5: Merge "Avoid leaking file descriptors when returning drop box events." into froyo
Merge commit 'e8605af513e846f6cd223c9e92461189727d8c9b' into gingerbread

* commit 'e8605af513e846f6cd223c9e92461189727d8c9b':
  Avoid leaking file descriptors when returning drop box events.
2010-07-21 13:55:13 -07:00
Dan Egnor
6e6d60d4c8 Avoid leaking file descriptors when returning drop box events.
We can't use Parcel.writeValue() to write the ParcelFileDescriptor, otherwise
it leaks when returning the value to the caller (the flag gets lost).  Change
the way DropBoxManager.Entry gets serialized so that it uses a bit of its own
flags value to track whether the data is a byte[] or a ParcelFileDescriptor.

Modify the dropbox unit test to add extensive checking of Entry serialization
and deserialization under various circumstances, and to include a regression
test to ensure that FD leaking doesn't happen.

Bug: 2847738
Change-Id: I4ccd17dd03ffab234340cd359e6f3510fdf81193
2010-07-21 12:52:21 -07:00
Jason Parks
bc4fcec70f am 29e25bd3: Merge "Only print out wake locks in the if the wakelock was held." into gingerbread
Merge commit '29e25bd3418b04e395119bf99abe92898830a796' into gingerbread-plus-aosp

* commit '29e25bd3418b04e395119bf99abe92898830a796':
  Only print out wake locks in the if the wakelock was held.
2010-07-20 14:04:41 -07:00
Dan Egnor
c78f9a0e1b am 3c1363be: am 2f0dc6d9: Merge "COMMENT ONLY change to add some warnings about ParcelFileDescriptor behavior with Parcel.writeValue()." into froyo
Merge commit '3c1363beec9c142c062d8704b8bef4230b42eae5' into gingerbread-plus-aosp

* commit '3c1363beec9c142c062d8704b8bef4230b42eae5':
  COMMENT ONLY change to add some warnings about ParcelFileDescriptor
2010-07-20 14:04:33 -07:00
Jason Parks
29e25bd341 Merge "Only print out wake locks in the if the wakelock was held." into gingerbread 2010-07-20 14:01:39 -07:00
Dan Egnor
3c1363beec am 2f0dc6d9: Merge "COMMENT ONLY change to add some warnings about ParcelFileDescriptor behavior with Parcel.writeValue()." into froyo
Merge commit '2f0dc6d9f50ceece294e9db393583e655d3bf781' into gingerbread

* commit '2f0dc6d9f50ceece294e9db393583e655d3bf781':
  COMMENT ONLY change to add some warnings about ParcelFileDescriptor
2010-07-20 13:59:43 -07:00
Jason Parks
94b916da2c Only print out wake locks in the if the wakelock was held.
Change-Id: I742121b70bd0e56ca2efe05fffa9fe3e4ad7b619
2010-07-20 12:39:07 -05:00
The Android Open Source Project
ca48433afc merge from open-source master
Change-Id: I1901177e8a4bd32a707020c581f25f21349ba571
2010-07-20 10:33:38 -07:00
Dan Egnor
b3e4ef3702 COMMENT ONLY change to add some warnings about ParcelFileDescriptor
behavior with Parcel.writeValue().

Change-Id: If55fcce29559379855735ff5297cf4f46d5d6be6
Bug: 2847738
2010-07-20 10:24:38 -07:00
Christian Mehlmauer
798e2d3d0c Replaced /sdcard with Environment.getExternalStorageDirectory()
Change-Id: Id789f44a8569e307b1b7ab15eb266c9ce7ef2029
2010-07-19 15:54:40 -07:00
Kenny Root
02c8730c1b Add API to call to vold for mounting OBBs
* Unhide StorageService class; hide all the USB-related items

* Add application-visible API to StorageManager for OBB files

* Add class for parceling OBB info across binders (ObbInfo)

* Add a JNI glue class to libutils/ObbFile (ObbScanner)

* Add API to MountService to deal with calling into vold and checking
  permissions

Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
2010-07-15 21:31:58 -07:00
Brad Fitzpatrick
703e5d3c7f StrictMode: avoid an allocation in common case
Make the initialValue() of the ThreadLocal be null, so checking it doesn't
cause one to be created in the case of an RPC call not using StrictMode.

Change-Id: I3ea19ce444a1b3c39a6e53c5cb5d4faf4b07a6c8
2010-07-15 15:46:36 -07:00
Brad Fitzpatrick
5b747191ff StrictMode: gather and return violating stacks in Binder replies
Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.

Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
2010-07-15 13:18:05 -07:00
Brad Fitzpatrick
727de40c6b More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
2010-07-15 13:18:05 -07:00
Christopher Tate
160edb3645 Add ability to guard a thread against setting its own prio to bg
The guard is compiled out by default because it adds overhead to
android.os.Process.setPriority().

Change-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871
2010-06-30 18:25:01 -07:00
Jeff Brown
7fbdc84e87 More native input event dispatching.
Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.

Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
2010-06-21 13:59:34 -07:00
Dianne Hackborn
6b7b484521 Various improvements to battery stats collection
We now clear the battery stats when unplugging after the
battery is full.  This allows us to use the "total" stats as
a new "since last charged" stat.  Total is gone.  I never used
it, it was worthless.  Since last charged is a lot more
interesting.

The battery history now collects a lot more stats, and keeps
control over how much it can collect.  Printing is now more
descriptive.

The kinds of stats have been renamed to SINCE_UNPLUGGED and
SINCE_DISCHARGED.  The other two stats are still there, but
no longer printed; a future change will eliminate them
completely along with all of their state.

Change-Id: I4e9fcfcf8c30510092c76a8594f6021e9502fbc1
2010-06-16 18:31:42 -07:00
Brad Fitzpatrick
742b282e11 Merge "StrictMode: implement the log-to-DropBox option" into gingerbread 2010-06-14 15:19:51 -07:00
Dianne Hackborn
7e900cbf1d Merge "Update build version information." into gingerbread 2010-06-14 14:10:43 -07:00
Dianne Hackborn
3e03cfa3af Update build version information.
Change-Id: If53f16d494255230859a30f561e9a78ec49c6c10
2010-06-14 14:08:20 -07:00
Brad Fitzpatrick
143666f0ca StrictMode: implement the log-to-DropBox option
Change-Id: I51d12e264155078f953028241f8c5cbdc47262e8
2010-06-14 13:38:01 -07:00
Brad Fitzpatrick
14418945bd Dropbox: remove redundant Entry construction.
Change-Id: I55d8da82acea7f1cf0a69912fe5d4d46d704b570
2010-06-14 08:58:26 -07:00
Jeff Brown
7c8aa44f32 am 46b9ac0a: Native input dispatch rewrite work in progress.
Merge commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2' into gingerbread

* commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2':
  Native input dispatch rewrite work in progress.
2010-06-13 17:55:28 -07:00
Jeff Brown
46b9ac0ae2 Native input dispatch rewrite work in progress.
The old dispatch mechanism has been left in place and continues to
be used by default for now.  To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API.  Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument.  The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points.  The ViewRoot then
provides the InputChannel to the InputQueue.  Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue.  This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event.  Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets).  Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
2010-06-13 17:42:16 -07:00
Brad Fitzpatrick
46d4238746 More StrictMode work, handling violations in ActivityManagerService.
Also starts to do duplicate-suppression.

Change-Id: I0502f6ab6c45fa319298de4874ecfe44b7829d21
2010-06-11 16:11:26 -07:00
Dianne Hackborn
32907cfb38 Adjust activity manager process OOM adj.
Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.

Also add some new code to battery stats to keep a history
of changes to the battery level.

Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
2010-06-11 10:39:11 -07:00
Brad Fitzpatrick
438d059512 Introduce "StrictMode"
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads.  (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)

In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads.  (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)

Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is.  The penalties, of which multiple can
be chosen, include:

  * logging
  * dropbox uploading for analysis/reporting
  * annoying dialog
  * full-on crashing

These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.

Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.

Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
2010-06-10 14:38:58 -07:00
Dan Egnor
1e1e292edc am 1f5e8473: am a80331c4: Merge "Comment-only change to add documentation for FileObserver" into froyo
Merge commit '1f5e847350ef1aece046666e20e7692a1651d9dc' into kraken

* commit '1f5e847350ef1aece046666e20e7692a1651d9dc':
  Comment-only change to add documentation for FileObserver
2010-06-01 14:44:35 -07:00
Dan Egnor
3dc1c7f5e8 Comment-only change to add documentation for FileObserver
Change-Id: Icd9bc65be020a23f78c8bcda78fc68e7d05c93b4
2010-05-31 12:17:12 -07:00
Mike Lockwood
c5859388bd am 3e9e9696: am eb9cbb8f: Resurrect flashlight support in obsolete IHardwareService Binder API.
Merge commit '3e9e9696f147c8df1236c1d7aa9496124864a81c' into kraken

* commit '3e9e9696f147c8df1236c1d7aa9496124864a81c':
  Resurrect flashlight support in obsolete IHardwareService Binder API.
2010-05-17 14:59:39 -07:00
Mike Lockwood
eb9cbb8fdd Resurrect flashlight support in obsolete IHardwareService Binder API.
This is to avoid flashlight apps that had been using reflection to access
this API after this class was removed after eclair.

Change-Id: I26ed929abad93345468eb33d4a15977a31ebea7e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-17 17:47:20 -04:00
Dianne Hackborn
7d5cea988b am 7e76b6d1: am 6d00151c: Merge "Hopefully fix issue #2662536: Why is launcher being killed?" into froyo
Merge commit '7e76b6d191e1173bd85337a2861d9914922f5a0d' into kraken

* commit '7e76b6d191e1173bd85337a2861d9914922f5a0d':
  Hopefully fix issue #2662536: Why is launcher being killed?
2010-05-11 10:23:56 -07:00