summaryrefslogtreecommitdiffstats
path: root/services/jni
Commit message (Collapse)AuthorAgeFilesLines
* Add support for disabling pointer gestures.Jeff Brown2011-06-142-4/+39
| | | | | | | | | | | | Made it possible for individual windows to disable pointer gestures while the window has focus using a private API. Cleaned up the InputReader configuration code to enable in-place reconfiguration of input devices without having to reopen them all. This change makes changing the pointer speed somewhat nicer since the pointer doesn't jump back to the origin after each change. Change-Id: I9727419c2f4cb39e16acb4b15fd7fd84526b1239
* VPN: do not allow zero prefix length in routing rules.Chia-chi Yeh2011-06-131-2/+2
| | | | | | | The public API splits default route into two narrower routes. Add this check in case some one calls the private API. Change-Id: Ie1fc0155b74415b971380bc8429cd74026c3fda0
* VPN: do not use gateway in routing rules.Chia-chi Yeh2011-06-131-26/+7
| | | | | | | | | | | | The first release of this API only supports TUN interface, and so far there is no plan for TAP. TUN works on IP frames which makes gateway nearly useless. The only value to have a gateway is that kernel may use it to select the source address. However currently it does not work in IPv6, and even in IPv4 applications can bind to any local address on the device. Remove it to keep the API clear, and it can be added back at any time if needed. Change-Id: If9086d20d885a3a7f7ab5f07afbcfeecb677bbea
* VPN: tolerate duplicated routes.Chia-chi Yeh2011-06-131-2/+2
| | | | Change-Id: I0f9efa8c3af3d4859358438745a5cd2c4ad376ca
* VPN: fix a bad optimization of zeroing ifr_flags lately.Chia-chi Yeh2011-06-131-1/+1
| | | | Change-Id: Ib7d89422ef0a9159ba912cf32b678821cb72a25a
* VPN: set IFF_NO_PI on TUN interface.Chia-chi Yeh2011-06-131-1/+1
| | | | | | | | | Packet info header (struct tun_pi) was required to support IPv6 in kernel prior to 2.6.26. Setting IFF_NO_PI will remove the header from the packets sent/recieved via TUN file descriptor, so now they are just raw IP packets. Change-Id: I0b4ae9db23d3bc10995a00eb053527b499ad6eb6
* VPN: add MTU support.Chia-chi Yeh2011-06-131-4/+11
| | | | Change-Id: Ia2f06ae1fcf065bde7dafd212b84b37a34f1a47e
* VPN: use ParcelFileDescriptor.adoptFd() instead of doing it in JNI.Chia-chi Yeh2011-06-131-15/+9
| | | | | | | This removes the dependency of android_util_Binder.h. This change also removes some redundant zeroing. Change-Id: Ie9fedd471dfa198f9a3261e03651f945cefbbf61
* am 6d60190a: am e502c536: am b3174c46: UsbService: Fix JNI reference leakMike Lockwood2011-06-101-1/+1
|\ | | | | | | | | * commit '6d60190a3156e0ac69c800bbb10691b70ae9bd54': UsbService: Fix JNI reference leak
| * UsbService: Fix JNI reference leakMike Lockwood2011-06-091-1/+1
| | | | | | | | | | | | | | http://code.google.com/p/android/issues/detail?id=17365 Change-Id: Ice0174e0db2a785d32ac16694ebf3b7ddb1b7fb3 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | The service part of the user space VPN support.Chia-chi Yeh2011-06-083-0/+453
| | | | | | | | | | | | The dialogs will be in another change. Change-Id: I0cdfd2ef21ffd40ee955b3cbde5ada65dbfdb0bc
* | resolved conflicts for merge of 8b2c0014 to masterJeff Brown2011-06-071-17/+17
|\ \ | |/ | | | | Change-Id: I33a5a2949dc6c2d09e8196ba8c7128caa7ac2361
| * Touch pad improvements.Jeff Brown2011-06-061-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 4124987 Only show one spot per touch point instead of one spot per finger for multitouch gestures. Tweaked the pointer acceleration curves. Dissociated the hover/tap timeouts from the "tap" timeout since they mean very different things. Change-Id: I7c2cbd30feeb65ebc12f6c7e33a67dc9a9f59d4c
* | resolved conflicts for merge of ca2b552d to masterJeff Brown2011-06-031-0/+39
|\ \ | |/ | | | | Change-Id: I2f3693a59042ac5aa2d7bcdc3a504c78dc99a18b
| * Add a preference panel for mouse speed.Jeff Brown2011-06-021-0/+39
| | | | | | | | | | Bug: 4124987 Change-Id: I3ce175d268a1d043cf5878481261b1049a15a149
* | resolved conflicts for merge of 7e193916 to masterDianne Hackborn2011-06-031-118/+97
|\ \ | |/ | | | | Change-Id: If06892419319c3a2d4ab6b03dd3ceb99b83803b5
| * Use ViewConfiguration to seed input system configuration.Jeff Brown2011-05-311-118/+97
| | | | | | | | | | | | | | | | | | Fix bug where the pointer presentation would be updated on any input reader timeout rather than only when a pointer gesture is in progress. Bug: 4124987 Change-Id: Ie9bba4a0b3228d55e45e65fa2ede5cd6ba887a08
| * Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)Jeff Brown2011-05-251-60/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a new PointerIcon API (hidden for now) for loading pointer icons. Fixed a starvation problem in the native Looper's sendMessage implementation which caused new messages to be posted ahead of old messages sent with sendMessageDelayed. Redesigned the touch pad gestures to be defined in terms of more fluid finger / spot movements. The objective is to reinforce the natural mapping between fingers and spots which means there must not be any discontinuities in spot motion relative to the fingers. Removed the SpotController stub and folded its responsibilities into PointerController. Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
| * Add a sprite controller. (DO NOT MERGE)Jeff Brown2011-05-251-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored PointerController to extract the surface management code to a new component called a SpriteController so that it can be used to move finger tracking spots around the screen as well. The SpriteController is designed to fully decouple the client from any latency introduced by surface transactions and drawing. All sprite updates are performed asynchronously on the Looper using a copy of the sprite state. Added a stub SpotController implementation for touch pad UX. It will be implemented in a subsequent patch. Fixed a little bug in pointer orientation changes when entering DISPLAY_ORIENTATION_90 the x offset was clobbered. Change-Id: I6d59d80df9af61e93af50290e7776337d10c9d5a
| * Support chorded fallback keys. (DO NOT MERGE)Jeff Brown2011-05-241-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also be more careful about canceling fallback keys during focus transitions, when the application handles the key, or when the policy decides to do something different. Fixed a crash due to JNI CallObjectMethod returning an undefined value (not null) when an exception is thrown. Fixed a crash due to the policy trying to create a Dialog for recent apps on the dispatcher thread. It should happen on the policy's Looper instead. Bug: 4187302 Change-Id: I043f82913830f411b3bb4018d6422467b6ca454f
| * Fix focused application handle. (DO NOT MERGE)Jeff Brown2011-05-241-0/+1
| | | | | | | | | | | | | | | | | | | | Fix a bug where we were always setting the focused application handle to NULL. This broke ANR processing while starting applications and caused input events to be dropped while starting applications. Bug: 4174573 Change-Id: Ice7ce3a2b65219568a8227fc1383bafb294666b5
| * Improve VelocityTracker numerical stability. (DO NOT MERGE)Jeff Brown2011-05-231-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced VelocityTracker with a faster and more accurate native implementation. This avoids the duplicate maintenance overhead of having two implementations. The new algorithm requires that the sample duration be at least 10ms in order to contribute to the velocity calculation. This ensures that the velocity is not severely overestimated when samples arrive in bursts. The new algorithm computes the exponentially weighted moving average using weights based on the relative duration of successive sample periods. The new algorithm is also more careful about how it handles individual pointers going down or up and their effects on the collected movement traces. The intent is to preserve the last known velocity of pointers as they go up while also ensuring that other motion samples do not count twice in that case. Bug: 4086785 Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
* | UsbService: Refactor USB host and device support into two separate classesMike Lockwood2011-05-314-70/+143
| | | | | | | | | | | | | | | | | | Host support is in UsbHostManager, device support is in UsbDeviceManager Renamed UsbDeviceSettingsManager to UsbSettingsManager Change-Id: Ib76e72957c233fa7f08f454d4d9a2a1da6368cc7 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | resolved conflicts for merge of 05be6d6f to masterDianne Hackborn2011-05-091-0/+6
|\ \ | |/ | | | | Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
| * Better compat mode part one: start scaling windows.Dianne Hackborn2011-05-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First step of improving app screen size compatibility mode. When running in compat mode, an application's windows are scaled up on the screen rather than being small with 1:1 pixels. Currently we scale the application to fill the entire screen, so don't use an even pixel scaling. Though this may have some negative impact on the appearance (it looks okay to me), it has a big benefit of allowing us to now treat these apps as normal full-screens apps and do the normal transition animations as you move in and out and around in them. This introduces fun stuff in the input system to take care of modifying pointer coordinates to account for the app window surface scaling. The input dispatcher is told about the scale that is being applied to each window and, when there is one, adjusts pointer events appropriately as they are being sent to the transport. Also modified is CompatibilityInfo, which has been greatly simplified to not be so insane and incomprehendible. It is now simple -- when constructed it determines if the given app is compatible with the current screen size and density, and that is that. There are new APIs on ActivityManagerService to put applications that we would traditionally consider compatible with larger screens in compatibility mode. This is the start of a facility to have a UI affordance for a user to switch apps in and out of compatibility. To test switching of modes, there is a new variation of the "am" command to do this: am screen-compat [on|off] [package] This mode switching has the fundamentals of restarting activities when it is changed, though the state still needs to be persisted and the overall mode switch cleaned up. For the few small apps I have tested, things mostly seem to be working well. I know of one problem with the text selection handles being drawn at the wrong position because at some point the window offset is being scaled incorrectly. There are probably other similar issues around the interaction between two windows because the different window coordinate spaces are done in a hacky way instead of being formally integrated into the window manager layout process. Change-Id: Ie038e3746b448135117bd860859d74e360938557
* | Initial checkin of spot presentation for touchpad gestures.Jeff Brown2011-04-191-58/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a new PointerIcon API (hidden for now) for loading pointer icons. Fixed a starvation problem in the native Looper's sendMessage implementation which caused new messages to be posted ahead of old messages sent with sendMessageDelayed. Redesigned the touch pad gestures to be defined in terms of more fluid finger / spot movements. The objective is to reinforce the natural mapping between fingers and spots which means there must not be any discontinuities in spot motion relative to the fingers. Removed the SpotController stub and folded its responsibilities into PointerController. Change-Id: I5126b1e69d95252fda7f2a684c9287e239a57163
* | More native code cleanup.Elliott Hughes2011-04-121-20/+12
| | | | | | | | | | | | | | | | Don't keep unused global references to classes, don't throw exceptions when an exception is already pending, and fix a (harmless) misunderstanding about how GetStringChars works. Change-Id: Ie445036f057daa8a1c76aceb7bad2a84fb81d820
* | Merge "You don't need to poke around inside FileDescriptor manually."Elliott Hughes2011-04-111-25/+4
|\ \
| * | You don't need to poke around inside FileDescriptor manually.Elliott Hughes2011-04-111-25/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can help you with that. Note also that getParcelFileDescriptorFD did no such thing. All its callers were passing in a regular java.io.FileDescriptor and expecting the int. No ParcelFileDescriptors involved. Change-Id: Idc233626f20c092e719f152562601f406cc1b64a
* | | Add a sprite controller.Jeff Brown2011-04-111-6/+28
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored PointerController to extract the surface management code to a new component called a SpriteController so that it can be used to move finger tracking spots around the screen as well. The SpriteController is designed to fully decouple the client from any latency introduced by surface transactions and drawing. All sprite updates are performed asynchronously on the Looper using a copy of the sprite state. Added a stub SpotController implementation for touch pad UX. It will be implemented in a subsequent patch. Fixed a little bug in pointer orientation changes when entering DISPLAY_ORIENTATION_90 the x offset was clobbered. Change-Id: Ib25d162d577c9b354cb74d5d761c3c9f9f438d42
* | Don't use local ref for cached jclass reference in JNI codeBrian Carlstrom2011-04-061-2/+2
| | | | | | | | | | Change-Id: Id45b2acb358a819f2fd332e99f3a095f6fc7299b related-to-bug: 4241138
* | Add input filter mechanism for accessibility.Jeff Brown2011-03-301-4/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a mechanism for capturing, filtering, transforming and injecting input events at a very low level before the input dispatcher attempts to deliver them to applications. At this time, the mechanism is only intended to be used by the accessibility system to implement built-in system-level accessibility affordances. The accessibility input filter is currently just a stub. It logs the input events receives and reinjects them unchanged, except that it transforms KEYCODE_Q into KEYCODE_Z. Currently, the accessibility input filter is installed whenever accessibility is enabled. We'll probably want to change that so it only enables the input filter when a screen reader is installed and we want touch exploration. Change-Id: I35764fdf75522b69d09ebd78c9766eb7593c1afe
* | Merge "Support chorded fallback keys."Jeff Brown2011-03-291-2/+6
|\ \
| * | Support chorded fallback keys.Jeff Brown2011-03-291-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also be more careful about canceling fallback keys during focus transitions, when the application handles the key, or when the policy decides to do something different. Fixed a crash due to JNI CallObjectMethod returning an undefined value (not null) when an exception is thrown. Fixed a crash due to the policy trying to create a Dialog for recent apps on the dispatcher thread. It should happen on the policy's Looper instead. Bug: 4187302 Change-Id: I659a3fd1bd2325ed36d965f9beb75dacb89790c9
* | | am 038c7297: am b115807a: am 7661dd8d: Merge "UsbService: Fix JNI local ↵Mike Lockwood2011-03-281-1/+8
|\ \ \ | | |/ | |/| | | | | | | | | | | | | reference leaks in the USB host support code" into honeycomb-mr1 * commit '038c7297c9e2e4b6cdb490ac9fe7102da434278a': UsbService: Fix JNI local reference leaks in the USB host support code
| * | UsbService: Fix JNI local reference leaks in the USB host support codeMike Lockwood2011-03-271-1/+8
| | | | | | | | | | | | | | | | | | | | | Bug: 4175857 Change-Id: I8b385f2257e509b0fb4d5f9516e9813b8165352d Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | merge libsurfaceflinger_client into libguiMathias Agopian2011-03-251-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | this is the first step in unifying surfacetexture and surface. for this reason the header files were not moved, as most of them will eventually go away. NOTE: currently we keep libsurfaceflinger_client.so as an empty library to workaround prebuilt binaries wrongly linking against it. Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
* | Fix focused application handle.Jeff Brown2011-03-251-0/+1
| | | | | | | | | | | | | | | | | | | | Fix a bug where we were always setting the focused application handle to NULL. This broke ANR processing while starting applications and caused input events to be dropped while starting applications. Bug: 4174573 Change-Id: Icd7b8c4c49ed73c41978f3ff076c2e5cd839a802
* | am 14438b81: am 970bad67: am be368de7: Merge "Fix missing AOSP copyright ↵James Dong2011-03-171-0/+16
|\ \ | |/ | | | | | | | | | | headers for more files" into honeycomb-mr1 * commit '14438b81a1fe4d7ebdf8977f3d80a1dd1867c5ad': Fix missing AOSP copyright headers for more files
| * Fix missing AOSP copyright headers for more filesJames Dong2011-03-171-0/+16
| | | | | | | | | | | | | | | | | | | | o Update the copyright date on InputDispatcher_test.cpp and InputReader_test.cpp because these two files were moved from other places to the current location, and were actually created in 2010. bug - 4119349 Change-Id: Ic93b81ddafb58e9e72a2e9e02ca3d9f173d6dca7
* | Merge "Improve VelocityTracker numerical stability."Jeff Brown2011-03-151-4/+3
|\ \
| * | Improve VelocityTracker numerical stability.Jeff Brown2011-03-151-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced VelocityTracker with a faster and more accurate native implementation. This avoids the duplicate maintenance overhead of having two implementations. The new algorithm requires that the sample duration be at least 10ms in order to contribute to the velocity calculation. This ensures that the velocity is not severely overestimated when samples arrive in bursts. The new algorithm computes the exponentially weighted moving average using weights based on the relative duration of successive sample periods. The new algorithm is also more careful about how it handles individual pointers going down or up and their effects on the collected movement traces. The intent is to preserve the last known velocity of pointers as they go up while also ensuring that other motion samples do not count twice in that case. Bug: 4086785 Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
* | | am 0958fb10: am 221830b9: Merge "Add support for USB accessory serial ↵Mike Lockwood2011-03-141-1/+2
|\ \ \ | |/ / |/| / | |/ | | | | | | numbers" into honeycomb-mr1 * commit '0958fb1068ee1b5e6c40eee16d943a664b1124b4': Add support for USB accessory serial numbers
| * Add support for USB accessory serial numbersMike Lockwood2011-03-141-1/+2
| | | | | | | | | | Change-Id: I47b79f091b300ced60bfc61eff2f771139663aae Signed-off-by: Mike Lockwood <lockwood@android.com>
* | am 84edf14b: am cc08c439: Merge "UsbAccessory: Add URI string, replace type ↵Mike Lockwood2011-03-101-2/+3
|\ \ | |/ | | | | | | | | | | string with description" into honeycomb-mr1 * commit '84edf14b62eaf3304252bb76b0b2ca3f518c8d54': UsbAccessory: Add URI string, replace type string with description
| * Merge "UsbAccessory: Add URI string, replace type string with description" ↵Mike Lockwood2011-03-101-2/+3
| |\ | | | | | | | | | into honeycomb-mr1
| | * UsbAccessory: Add URI string, replace type string with descriptionMike Lockwood2011-03-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a first step toward adding USB accessory URI support BUG: 4073248 Modified USB accessory matching logic to look only at manufacturer, model and version (description and URI are not considered when matching apps to accessories) Also added test for USB accessory protocol version to accessorytest BUG: 4080288 Change-Id: I992a3433c74efa7a7db37bf030f02c1f0c92f9e2 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | am e6f0ae12: am efd3266b: Input improvements and bug fixes.Jeff Brown2011-03-091-5/+4
|\ \ \ | |/ / | | | | | | | | | * commit 'e6f0ae12b18819424dd8395b433a8fc9caefa77b': Input improvements and bug fixes.
| * | Input improvements and bug fixes.Jeff Brown2011-03-091-5/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Associate each motion axis with the source from which it comes. It is possible for multiple sources of the same device to define the same axis. This fixes new API that was introduced in MR1. (Bug: 4066146) Fixed a bug that might cause a segfault when using a trackball. Only fade out the mouse pointer when touching the touch screen, ignore other touch pads. Changed the plural "sources" to "source" in several places in the InputReader where we intend to refer to a particular source rather than to a combination of sources. Improved the batching code to support batching events from different sources of the same device in parallel. (Bug: 3391564) Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
| * Eliminate some accidental log spam. (DO NOT MERGE)Jeff Brown2011-03-081-3/+3
| | | | | | | | | | | | Used #ifdef where I should have used #if. Change-Id: Ie3a083d601c89f4fc4d83244bb5060a202574dc2