2732 Commits

Author SHA1 Message Date
Mike Lockwood
5b8364a929 GPS: stifle some logging
Change-Id: Ifc68f27a6cb841240db182f4c77ddd8085a8c149
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-30 09:59:46 -04:00
Jeff Brown
0b72e82c5f Fix native input dispatch in the emulator.
Set a default orientation of ROTATION_0.
Added some more careful checks based on whether we have valid
absolute axis information from the driver.
Reset key repeating during configuration changes since the keyboard
device may have been removed.

Change-Id: I685960828acffcb17595fc5683309e8064a76714
2010-06-29 16:52:21 -07:00
Mike Lockwood
de6bd120c9 Merge "Notifications: Use new ACTION_USB_STATE broadcast to monitor USB connected state" into gingerbread 2010-06-29 05:24:45 -07:00
Mike Lockwood
606d591afe Merge "Add new Usb.ACTION_USB_STATE sticky broadcast for monitoring USB connect state" into gingerbread 2010-06-29 05:24:22 -07:00
Jeff Brown
349703effc Native input event dispatching.
Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.

Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
2010-06-28 19:10:54 -07:00
Mike Lockwood
ff2544c6cb Notifications: Use new ACTION_USB_STATE broadcast to monitor USB connected state
Replaces use of UMS notifications, which will not work on devices without
USB mass storage support.

Change-Id: I2ea7f4d2dead91418935e97e2f442f5e3fc5e6dc
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-28 10:03:17 -04:00
Mike Lockwood
709981eeed Add new Usb.ACTION_USB_STATE sticky broadcast for monitoring USB connect state
This can be used instead of ACTION_USB_CONNECTED and ACTION_USB_DISCONNECTED
by clients that need to be informed of both USB connect and disconnect events

Change-Id: Ic26927af2e775c2694d18775f9d574c97b095dfd
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-28 10:02:05 -04:00
Irfan Sheriff
9005e7f429 Merge "Add setWifiApConfiguration interface" into gingerbread 2010-06-25 19:49:58 -07:00
Dianne Hackborn
50dc3bca5a Refactor ActivityManagerService activity stack.
Introdude a new ActivityStack class that holds all of the
state and management of a stack of activities.  Paves the way
for having multiple activity stacks, though at this point
there should be no change in functionality and the activity
manager is still assuming there is only one stack.

Change-Id: Iea4859a24c9269061043755ec58a615028d4183b
2010-06-25 13:07:21 -07:00
Irfan Sheriff
17b232b5b5 Add setWifiApConfiguration interface
Bug: 2538623
Change-Id: I779044173a2fa0e9b851ea92aeec5ca25eb9c86f
2010-06-24 20:03:38 -07:00
Dianne Hackborn
2529a45339 Merge "Make bad notifications crash their application." into gingerbread 2010-06-24 17:28:13 -07:00
Dianne Hackborn
9d39d0cb36 Make bad notifications crash their application.
Implement notification manager handling of bad notifications, to
call a new activity manager to have the owner's process crashed
(if there is one).

Change-Id: Ib15e8d0c598756f3b39c99cc2045c18e054daf6b
2010-06-24 17:27:28 -07:00
Dianne Hackborn
5340bffd8b am 5827d3ea: Merge "Properly note the current active restore set\'s token" into froyo
Merge commit '5827d3eaf3c53d1dc3ab0d638d935c219a5515a6' into gingerbread

* commit '5827d3eaf3c53d1dc3ab0d638d935c219a5515a6':
  Properly note the current active restore set's token
2010-06-24 16:01:39 -07:00
Christopher Tate
2950555aac Properly note the current active restore set's token
Bug: 2796780
Change-Id: Iad601ed96ae73cf34910a276350712e6af19bb4e
2010-06-24 15:58:01 -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
baf42c625c Add APIs for finding heavy-weight apps.
Change-Id: I6c865cce404cac1a08eee056f963de5d276d5898
2010-06-24 11:38:47 -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
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
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
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
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
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
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
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
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
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