Commit Graph

2755 Commits

Author SHA1 Message Date
Jeff Brown
00ba884436 Fix individual pointer id up/down reporting.
Fix a minor threading bug in InputManager dump.

Change-Id: Ic2eecf7df5a8dc9f40561fcb03ebe58a2c073778
2010-07-16 15:11:24 -07:00
Jeff Brown
eec69d2923 Merge "Fix bug with phantom input windows." into gingerbread 2010-07-16 00:14:38 -07:00
Eric Laurent
b0374a0e22 Merge "Several improvements in audio effects volume control." into gingerbread 2010-07-16 00:08:50 -07:00
Jeff Brown
e33348ba54 Fix bug with phantom input windows.
Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.

Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
2010-07-16 00:02:48 -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
Jeff Brown
c5ed5910c9 Add support for new input sources.
Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
2010-07-15 18:32:33 -07:00
Brad Fitzpatrick
ad13b9807b StrictMode: batch drop box writes for system apps
Change-Id: Iab49c15ecccefea1d36d86271e1ceb37d79e9449
2010-07-15 13:18:05 -07:00
Eric Laurent
76c40f74ce Several improvements in audio effects volume control.
- Fixed crash when deleting an effect chained before an effect having volume control
- Changed EFFECT_FLAG_VOLUME_CTRL to implicitely include EFFECT_FLAG_VOLUME_IND
(not need to set both in effect descriptor).
- Volume control changes from one effect to another if needed according to effect enable state
- EFFECT_CMD_SET_VOLUME is only sent when their is an actual change in volume

Change-Id: Ieebaf09157e2627366023569d95516646e03e26c
2010-07-15 12:50:15 -07:00
Mathias Agopian
24651682ed added BinderService<> template to help creating native binder services
Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
2010-07-14 18:43:19 -07:00
Mathias Agopian
08e83bb3b7 move native services under services/
moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
2010-07-14 17:59:35 -07:00
Konstantin Lopyrev
6e0f65fd9c Adding focus change notification
Change-Id: I49709c97aaf63bcd44695d99c61dbbee228416f4
2010-07-14 15:31:39 -07:00
Jeff Brown
fd03582995 Add initial gamepad support.
Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
2010-07-13 17:04:57 -07:00
Konstantin Lopyrev
c1ca7f8c53 Merge "Making sure that the list of windows updates automatically in hierarchy viewer (View Server side)" into gingerbread 2010-07-13 13:10:48 -07:00
Konstantin Lopyrev
dc30101ff8 Making sure that the list of windows updates automatically in hierarchy viewer (View Server side)
Change-Id: I0f49ee8b6950ad167bd224093150050e19fd1dd7
2010-07-12 19:37:24 -07:00
Kenny Root
e059b2784f Allow things that can install packages to set Obb paths
Change-Id: I19b426cb3de1a5c9285badf8aea59989568914b4
2010-07-12 08:36:21 -07:00
Kenny Root
a5402dabec Merge "OBB API for PackageManager" into gingerbread 2010-07-07 18:14:25 -07:00
Kenny Root
93565c4b32 OBB API for PackageManager
Simple API for tracking .obb files associated with packages. Stores the
path in the PackageSettings. No verification of file content is done
now since the PackageManagerService can't read the SD card where these
files will likely live.

Change-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e
2010-07-07 09:57:51 -07:00
Jeff Brown
00fa7bdd69 More native input dispatch work.
Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
2010-07-03 19:23:01 -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
d8ae28854e Merge "Fix injection of specially intercepted keys like HOME." into gingerbread 2010-06-30 15:03:04 -07:00
Christopher Tate
c8525edcba Merge "Remove memory monitoring from the system watchdog" into gingerbread 2010-06-30 14:55:44 -07:00
Christopher Tate
c27181c7f3 Remove memory monitoring from the system watchdog
This was originally written as an in-case-we-need-it facility, but was
never actually used in production.  It also soaked up a surprising amount
of cpu on occasion, as well as doing sketchy things like demoting the
system_server's primary looper thread to the background cgroup at times.

Change-Id: I9a81a8d1e9caea9e0a1277d97785fe96add438d7
2010-06-30 14:53:39 -07:00
Jeff Brown
d009787182 Fix injection of specially intercepted keys like HOME.
This change mainly unwinds a premature optimization in the
dispatch pipeline.
To test HOME injection, run 'adb shell input keyevent 3'.

Change-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd
2010-06-30 14:41:59 -07:00
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