2744 Commits

Author SHA1 Message Date
Dianne Hackborn
2eb12a4722 am 01e4cfc4: Some ActivityThread/ActivityManager cleanup.
Merge commit '01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301' into gingerbread-plus-aosp

* commit '01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301':
  Some ActivityThread/ActivityManager cleanup.
2010-06-24 15:23:59 -07:00
Dianne Hackborn
01e4cfc47d Some ActivityThread/ActivityManager cleanup.
- Move PackageInfo out of ActivityThread, renaming to LoadedApk.
- Rename some of the other PacakgeInfo inner classes to better
  represent what they are.
- Rename HistoryRecord to ActivityRecord.
- Introduce AppGlobals, to eventually let ActivityThread become
  package scoped.

Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
2010-06-24 15:20:48 -07:00
Dianne Hackborn
82677b9585 am e57c3a88: Merge "Add APIs for finding heavy-weight apps." into gingerbread
Merge commit 'e57c3a88b99856d1e69fdf115e7c7954594b7385' into gingerbread-plus-aosp

* commit 'e57c3a88b99856d1e69fdf115e7c7954594b7385':
  Add APIs for finding heavy-weight apps.
2010-06-24 12:42:55 -07:00
Dianne Hackborn
baf42c625c Add APIs for finding heavy-weight apps.
Change-Id: I6c865cce404cac1a08eee056f963de5d276d5898
2010-06-24 11:38:47 -07:00
Mike Lockwood
5da347dd2d am 477def1d: Merge changes I11495d03,If5816721 into gingerbread
Merge commit '477def1d4216f82bdfe58525131db88b384fc5a5' into gingerbread-plus-aosp

* commit '477def1d4216f82bdfe58525131db88b384fc5a5':
  Add a new UEventObserver subclass to broadcast an Intent whe USB state changes.
  DO NOT MERGE Add new permission to allow access to USB devices
2010-06-24 09:28:59 -07:00
Mike Lockwood
2423607a32 Add a new UEventObserver subclass to broadcast an Intent whe USB state changes.
We now broadcast Usb.ACTION_USB_CONNECTED and Usb.ACTION_USB_DISCONNECTED
when USB is connected or disconnected.
The ACTION_USB_CONNECTED extras indicate the enabled/disabled state of
all USB functions.

Change-Id: I11495d039429dbe22bd738067296e39ae415befa
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-24 09:36:50 -04:00
Joe Onorato
2d8e249854 am 4ca092c7: Merge "Fix bug 2772728 with the suggested fix. I wasn\'t able to reproduce it though." into gingerbread
Merge commit '4ca092c7f101cbd95833a9ed8936e9e0485585ad' into gingerbread-plus-aosp

* commit '4ca092c7f101cbd95833a9ed8936e9e0485585ad':
  Fix bug 2772728 with the suggested fix.  I wasn't able to reproduce it though.
2010-06-23 16:10:01 -07:00
Joe Onorato
4ca092c7f1 Merge "Fix bug 2772728 with the suggested fix. I wasn't able to reproduce it though." into gingerbread 2010-06-23 16:08:06 -07:00
Daniel Sandler
c82b4e80b8 am 69a4817e: Immersive activity API.
Merge commit '69a4817e3e1e368e758ff8c238deb5ee26963c04' into gingerbread-plus-aosp

* commit '69a4817e3e1e368e758ff8c238deb5ee26963c04':
  Immersive activity API.
2010-06-23 13:36:25 -07:00
Daniel Sandler
69a4817e3e Immersive activity API.
An Activity can declare itself to be "immersive" either by
setting android:immersive="true" in AndroidManifest or by
calling setImmersive(true).

Immersive activities "should" not be interrupted, for
example by Notifications with an associated
fullScreenIntent. (In the future we may even prevent any
non-system application from successfully calling
startActivity() if the foreground activity is immersive.)
Notifications with FLAG_HIGH_PRIORITY set will be shown to
the user in some less-obtrusive way if the frontmost
activity is immersive.

Change-Id: I8d0c25cc4e22371c27cbf2bb6372d2c95d57b2d7
2010-06-23 16:29:36 -04:00
Mike Lockwood
dae19d7c00 am aaf39f84: Merge "GPS: remove GpsEventThread from GpsLocationProvider" into gingerbread
Merge commit 'aaf39f84063b8fee51bcdb0731d68c328b6a3c3d' into gingerbread-plus-aosp

* commit 'aaf39f84063b8fee51bcdb0731d68c328b6a3c3d':
  GPS: remove GpsEventThread from GpsLocationProvider
2010-06-22 06:45:03 -07:00
Mike Lockwood
f602d362ba GPS: remove GpsEventThread from GpsLocationProvider
Rather than polling for events from the native code in an event thread,
we now require the GPS HAL libraries to call our callbacks from a thread
that is registered with the JVM to call directly into Java.
This eliminates a thread from our code and removes one step in the chain
of message passing from the GPS to the Location Manager client.

Change-Id: I2745a157690310ba9a699a8369f54a7366c6b1ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-22 09:26:41 -04:00
Jeff Brown
b1efc3f682 am 7fbdc84e: More native input event dispatching.
Merge commit '7fbdc84e87dd3a0e196b9803bb04495d11e9cb8a' into gingerbread-plus-aosp

* commit '7fbdc84e87dd3a0e196b9803bb04495d11e9cb8a':
  More native input event dispatching.
2010-06-21 14:06:31 -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
The Android Open Source Project
6c9a30045b merge from froyo-plus-aosp
Change-Id: I36dd4460cae6e3212d724e70ff1091cb791670cd
2010-06-21 11:23:45 -07:00
Brad Fitzpatrick
04b243d0f5 Fix NPE during ANRs.
BUG=2780838

Change-Id: I0d5e9a2323130ca14d1f0df684c8abe4f4dad05a
2010-06-21 08:01:13 -07:00
Dianne Hackborn
801700b1a2 am 57f4503e: Work on issue # 2778549: Idle FRF72 is awake 18 mins more than ERE27 in 13hr test
Merge commit '57f4503e1a129d6a648f2378d36a060998a577a0' into gingerbread

* commit '57f4503e1a129d6a648f2378d36a060998a577a0':
  Work on issue # 2778549: Idle FRF72 is awake 18 mins more than ERE27 in 13hr test
2010-06-17 18:43:31 -07:00
Dianne Hackborn
57f4503e1a Work on issue # 2778549: Idle FRF72 is awake 18 mins more than ERE27 in 13hr test
Modify UIModeManager to not get location updates every thirty minutes.
Instead it gets one once a day, and requests a new update when airplane
mode is turned off or the time zone changes.

Change-Id: I8044c27b5cd77709e4b872e2e8edd352f23e4af1
2010-06-17 15:49:33 -07:00
Jeff Brown
5c225b1680 Even more native input dispatch work in progress.
Added more tests.
Fixed a regression in Vector.
Fixed bugs in pointer tracking.
Fixed a starvation issue in PollLoop when setting or removing callbacks.
Fixed a couple of policy nits.

Modified the internal representation of MotionEvent to be more
efficient and more consistent.

Added code to skip/cancel virtual key processing when there are multiple
pointers down.  This helps to better disambiguate virtual key presses
from stray touches (such as cheek presses).

Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
2010-06-17 13:27:16 -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
Joe Onorato
a8a8a42f85 Fix bug 2772728 with the suggested fix. I wasn't able to reproduce it though.
Change-Id: Ic3e3a7c679a74b822a3567faeb353950af3cfbca
2010-06-16 15:06:16 -04:00
Jeff Brown
92266a7894 Merge "More work in progress on native events." into gingerbread 2010-06-15 16:44:23 -07:00
Jeff Brown
9c3cda04d9 More work in progress on native events.
Refactored the code to eliminate potential deadlocks due to re-entrant
calls from the policy into the dispatcher.  Also added some plumbing
that will be used to notify the framework about ANRs.

Change-Id: Iba7a10de0cb3c56cd7520d6ce716db52fdcc94ff
2010-06-15 16:43:18 -07:00
The Android Open Source Project
9629d42c19 merge from open-source master
Change-Id: I4d7b0ec9895d8b090e0cdf2efb6731358a5d087c
2010-06-15 09:32:37 -07:00
Jean-Baptiste Queru
8942a31f13 Merge "Replaced deprecated String Constructor" 2010-06-14 16:23:58 -07:00
Brad Fitzpatrick
143666f0ca StrictMode: implement the log-to-DropBox option
Change-Id: I51d12e264155078f953028241f8c5cbdc47262e8
2010-06-14 13:38:01 -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
Irfan Sheriff
afadc8b4e1 Dont persist config on failure
If soft AP bring up does not go through successfully,
dont persist the config. This has the benefit of recovering
from the case where things fail on "=" and "," for SSID since
the IOCTL parsing in driver on broadcom cannot handle it
at this time.

Change-Id: Iaa60fd05972db434500753dcb59092995dab07b1
2010-06-11 14:43:14 -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
Mike Lockwood
4001120e45 am f4a502a2: Merge "Don\'t adjust lights if screen or button brightness is changed when the screen is off." into froyo
Merge commit 'f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4' into kraken

* commit 'f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4':
  Don't adjust lights if screen or button brightness is changed when the screen is off.
2010-06-10 15:30:41 -07:00
Mike Lockwood
34502a84eb am f4a502a2: Merge "Don\'t adjust lights if screen or button brightness is changed when the screen is off." into froyo
Merge commit 'f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4' into froyo-plus-aosp

* commit 'f4a502a235e9f9ea0bcd2d5ca4981dc6e1a619c4':
  Don't adjust lights if screen or button brightness is changed when the screen is off.
2010-06-10 15:30:33 -07:00
Mike Lockwood
f4a502a235 Merge "Don't adjust lights if screen or button brightness is changed when the screen is off." into froyo 2010-06-10 15:28:31 -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
Adam Powell
f1bb929bc5 am 8f2ca788: Merge "Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down." into froyo
Merge commit '8f2ca788f369892370477212cf9e7a67721a8c16' into froyo-plus-aosp

* commit '8f2ca788f369892370477212cf9e7a67721a8c16':
  Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.
2010-06-10 14:14:44 -07:00
Adam Powell
8f1bfb001b am 8f2ca788: Merge "Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down." into froyo
Merge commit '8f2ca788f369892370477212cf9e7a67721a8c16' into kraken

* commit '8f2ca788f369892370477212cf9e7a67721a8c16':
  Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.
2010-06-10 14:13:51 -07:00
Adam Powell
8f2ca788f3 Merge "Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down." into froyo 2010-06-10 14:09:50 -07:00
Nick Kralevich
321e815893 am a2c6d5bf: do not merge: cherry-picked 929b4855b8208d36272769e8eeaa6cd2823b94c0 from master branch
Merge commit 'a2c6d5bf308181c019ade0aac6d25fe33dc3d76c' into froyo-plus-aosp

* commit 'a2c6d5bf308181c019ade0aac6d25fe33dc3d76c':
  do not merge: cherry-picked 929b4855b8208d36272769e8eeaa6cd2823b94c0 from master branch
2010-06-10 11:50:51 -07:00
Mike Lockwood
f527c715d7 Don't adjust lights if screen or button brightness is changed when the screen is off.
Change-Id: I798a240374c3a739e1f1eaf36fa9fdef8416f2a2
BUG: 2758292

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-10 14:14:00 -04:00
Nick Kralevich
a2c6d5bf30 do not merge: cherry-picked 929b4855b8208d36272769e8eeaa6cd2823b94c0 from master branch
Change-Id: Ie20371234a531f65f523682a0d0c27394dc30afa
2010-06-10 10:39:42 -07:00
Adam Powell
5cd88cfd23 Fix bug 2757693 - Multi-touch coordinates can jump when a finger goes down.
Change-Id: I26bd54cec739ca8d91d2c2b18b90134f20dbd907
2010-06-09 17:10:04 -07:00
Nick Kralevich
2feafeffb8 Merge "Fix a problem with leaking UDP sockets." into kraken 2010-06-09 14:49:10 -07:00
Joe Onorato
75144ea38e Move the status bar icon list, hopefully for the last time.
Change-Id: Ie495a41dac03e1fe5ddccefcbd2a0673090a6db1
2010-06-09 14:33:31 -07:00
Joe Onorato
f1f259165f Call into the notification manager when the panel is revealed.
This lets it turn off the LED.  However, it seems like somebody broke
the notification LEDs.  GRRR.

Change-Id: I3f7066c2b2e1673dc0144a34cf59946351a647be
2010-06-09 14:33:30 -07:00
Joe Onorato
7a0f36bd93 Move status_bar_latest_event and LatestItemView into SystemUI.apk.
Then, now that StatusBarManagerService is the only thing in that package,
move it up to the regular services package.  (I've been waiting for 4 years
to delete that package!)

Change-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad
2010-06-09 14:33:30 -07:00
Joe Onorato
9e875fcb55 Start the status bar service based on a configuration option, instead of trampolining through
a braodcast receiver.

Change-Id: I6ae0740fea07350b80c35c0ee2d938e0364d773e
2010-06-09 14:33:29 -07:00
Joe Onorato
8bc6c51419 Require the STATUS_BAR_SERVICE permission for something to be the status bar.
Change-Id: I57b2d296e0d0cef0d256ae6697fffc47188d14df
2010-06-09 14:33:23 -07:00
Nick Kralevich
929b4855b8 Fix a problem with leaking UDP sockets.
When dealing with any kind of limited operating system resource,
we should ensure that we properly close everything that we
open, rather than relying on the system garbage collector.

Change-Id: Ic71f710eb85ac71a91b7a1215647c75010d37643
2010-06-09 14:27:43 -07:00
Joe Onorato
005847b03b Handle errors inflating notifications (and their icons).
On an inflation error, the StatusBarService cleans up, removes / doesn't add
the views, and calls into the StatusBarManagerService, which tells the
NotificationManagerService to remove the notification.

That then calls all the way back into the StatusBarService, but I think being
extra careful is okay.  Throughout the status bar, it's all keyed off of the
IBinder key, so if the app comes in with a good notification while we're
cleaning up, we won't lose the new notification or anything like that.

Change-Id: Iea78a637495a8b67810c214b951d5ddb93becacb
2010-06-09 09:15:25 -07:00