summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add Dvorak keyboard layout.Jeff Brown2012-04-176-26/+186
| | | | | | | | | Added support for mapping both scan codes and HID usages to KeyLayoutMap and KeyCharacterMap. Keyboard overlays can now influence how key events are mapped to key codes. Bug: 6110399 Change-Id: I6619fd2d3e1337c55928f89869dbc45b535c7ccf
* Support loading keyboard layout overlays from resources.Jeff Brown2012-04-1718-115/+423
| | | | | | | | | | | | | | | | | | | | | | Added the concept of a keyboard layout overlay, which is a key character map file that has "type OVERLAY". Added support for loading keyboard layout overlays from resources dynamically. The layouts are reloaded whenever they are changed in the Settings application or an application is installed. This is somewhat more aggressive than necessary so we might want to optimize it later. Before system-ready, the input system uses just the generic keyboard layouts that are included on the device system image. After system-ready, it considers the user's selected keyboard layout overlay and attempts to load it as necessary. We need to wait until system-ready before doing this because we need to be in a state where it is safe to start applications or access their resources. Bug: 6110399 Change-Id: Iae0886d3356649b0d2440aa00910a888cedd8323
* Add persistence for selected keyboard layout.Jeff Brown2012-04-172-6/+223
| | | | | Bug: 6110399 Change-Id: I99544bf05e9755385bee478b5f047ccec2e5cae3
* Move legacy sensor support to a new class.Jeff Brown2012-04-163-412/+466
| | | | | Bug: 6339552 Change-Id: I2067b754348ac76b1e1f71608031be2c80fc31d2
* Refactor SensorManager to move non-API bits into a subclass.Jeff Brown2012-04-168-710/+778
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the SensorManager class so that it only contains API-related bits including what's needed to support legacy sensors. Mostly just moved stuff around. Making the class abstract is safe because it does not have a visible constructor in the API. One minor change is that the cache of sensor type to sensor lists is now per instance of SensorManager instead of being static. We can fix this if desired. Another small change is that we bail out early from registerListener if the listener has already been registered for the particular sensor. This happened for both legacy and standard listeners. The problem is that the ListenerDelegate maintains two lists of sensors, one is a Map and the other is a List. Adding a sensor twice causes one entry to be added to the Map and two entries to be added to the List, but when the sensor is removed the next time, only one entry is removed from the List, leaving it in an inconsistent state. Removed Sensor.getLegacyType() since the value it provides is only needed in LegacyListener and we don't really save any significant computation by caching it. Removing the field makes support for legacy sensors a little more self-contained. Bug: 6339552 Change-Id: I50d41ac97cf535924f2bfa2026d28547a4d00286
* Fix for doc error.Philip Milne2012-04-161-2/+0
| | | | Change-Id: I8aa029d96d4cd28354ecc742007e0fc35b05b705
* Merge "Fix for bug 6110465."Philip Milne2012-04-1617-41/+435
|\
| * Fix for bug 6110465.Philip Milne2012-04-1317-41/+435
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add layout bound metadata to 9-patch files and make layouts take them into account. This CL contains a proposed API for dealing with layout bounds. This solution exposes: 1. Class: Insets - for storing layout Insets (and later possibly padding). 2. Methods: View:(get/set)LayoutInsets() - for storing layoutBounds. 3. Methods: ViewGroup:(get/set)LayoutMode() - for controlling layoutMode. It also iuncudes the changes to GridLayout to support layout bounds. Change-Id: I60c836b6530b61c5abf37f93ee9c44aad73573f1
* | Merge "Perform null check on empty view before doing accessibility check."Mindy Pereira2012-04-161-1/+2
|\ \
| * | Perform null check on empty view before doing accessibility check.Mindy Pereira2012-04-161-1/+2
| | | | | | | | | | | | | | | | | | Fixes b/6341858 AdapterView does not properly check for null before checking empty view accessibility info Change-Id: Ia19fdef2c7c5f3e6c3053ebc754efe6a664f9d66
* | | Merge "Animate from Choreographer only."Craig Mautner2012-04-164-184/+275
|\ \ \ | |/ / |/| |
| * | Animate from Choreographer only.Craig Mautner2012-04-144-184/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Animation steps are now executed on a Thread launched from the Choreographer rather than being called at the end of the WindowManager layout process. Animations and layout are still tightly coupled in that they share considerable state information and neither can be executed without holding a lock on WindowServiceManager.mWindowMap. Change-Id: Ie17d693706971507b50aa473da1b7258e9e67764
* | | Merge "Check for null mWebViewCore in selectText"George Mount2012-04-161-0/+3
|\ \ \
| * | | Check for null mWebViewCore in selectTextGeorge Mount2012-04-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Bug 6306770 Change-Id: I83e70aef45ff6519e4e9eb70edae44efcecf6de8
* | | | Merge "Clean up JavaDoc for WebStorage"Steve Block2012-04-164-100/+160
|\ \ \ \
| * | | | Clean up JavaDoc for WebStorageSteve Block2012-04-134-100/+160
| | | | | | | | | | | | | | | | | | | | | | | | | Bug: 5461416 Change-Id: Ice7a2ca1e346ae80f53b477d236ff8c20032cf2f
* | | | | Fix javadoc breakage by not linking to now hidden WebView.getZoomControls ↵Mikhail Naganov2012-04-161-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | method. Change-Id: I770a647b2e6068687530813133847a624ed5aa0d
* | | | | Merge "Clarify WebSettings comments related to zooming."Steve Block2012-04-161-9/+29
|\ \ \ \ \
| * | | | | Clarify WebSettings comments related to zooming.Mikhail Naganov2012-04-131-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. It wasn't clear that SupportZoom doesn't affect WebView's zoomIn / zoomOut methods. 2. It was easy to misread that to enable "pinch to zoom" one needs to hide zoom controls. Bug: 5461416 Change-Id: Ic8afd22ae0f36e53b9f4724e95ac55c766f58af5
* | | | | | Merge "Two WebView API cleanups"Jonathan Dixon2012-04-167-24/+17
|\ \ \ \ \ \
| * | | | | | Two WebView API cleanupsJonathan Dixon2012-04-137-24/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove final from classes which we will need to provide subclasses in future: CookieManager, GeolocationPermissions, WebIconDatabase and WebStorage. None of these have published constructors, so applications cannot subclass them anyway. - Also convert some protected members of JsResult to private, as its of no use to legal subclasses, and applications cannot subclass it. Change-Id: Iaca9d2db31e25853b6c55feae41d9e7774087479
* | | | | | | Build "install" resource for PMS testsKenny Root2012-04-154-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the APKs in the FrameworkCoreTests's res/raw directory should be built by source. This change makes one more built from source that was causing test failures with mismatched certificates. Change-Id: I1baed15477ee39c45d3d77f9b02b81f771a16ca2
* | | | | | | Merge "Close streams for forward-locked apps"Kenny Root2012-04-141-33/+33
|\ \ \ \ \ \ \
| * | | | | | | Close streams for forward-locked appsKenny Root2012-04-141-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Forward-locked apps aren't very prevalent, but it needed to be restructured to make sure both streams and ZipFile objects are closed. Change-Id: I41f863224fecd24069e525e9ce3738de8237bd5e
* | | | | | | | Merge "Add warning log for mismatched signatures"Kenny Root2012-04-141-0/+1
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | |
| * | | | | | | Add warning log for mismatched signaturesKenny Root2012-04-141-0/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's difficult to see in bugreports when this situation arises. Add a small log so we can easily determine installation failure reason. Change-Id: Ie59c205cf731cad7b3d04ceb995e58a093c62455
* | | | | | | Merge "Add setting to redirect vibrator to game controller."Jeff Brown2012-04-133-18/+163
|\ \ \ \ \ \ \
| * | | | | | | Add setting to redirect vibrator to game controller.Jeff Brown2012-04-133-18/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 6334179 Change-Id: I70093e38824ea3e5cf9cf242d1d7b6d26115ed80
* | | | | | | | Merge "SurfaceTexture: fix updateTexImage JNI"Jamie Gennis2012-04-131-1/+1
|\ \ \ \ \ \ \ \
| * | | | | | | | SurfaceTexture: fix updateTexImage JNIJamie Gennis2012-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sigh... Change-Id: I0271bed44c58e0c9a03eda4886eb2c1ee76e041f
* | | | | | | | | Merge "Surface list of apps with given network policy."Jeff Sharkey2012-04-135-38/+67
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Surface list of apps with given network policy.Jeff Sharkey2012-04-135-38/+67
| | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 6007276 Change-Id: I0f0e939ee6481496480c4afaa108c99eb158547c
* | | | | | | | | Accessibility focus - frameworkSvetoslav Ganov2012-04-1343-1265/+3952
| |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usefulness: Keep track of the current user location in the screen when traversing the it. Enabling structural and directional navigation over all elements on the screen. This enables blind users that know the application layout to efficiently locate desired elements as opposed to try touch exploring the region where the the element should be - very tedious. Rationale: There are two ways to implement accessibility focus One is to let accessibility services keep track of it since they have access to the screen content, and another to let the view hierarchy keep track of it. While the first approach would require almost no work on our part it poses several challenges which make it a sub-optimal choice. Having the accessibility focus in the accessibility service would require that service to scrape the window content every time it changes to sync the view tree state and the accessibility focus location. Pretty much the service will have to keep an off screen model of the screen content. This could be quite challenging to get right and would incur performance cost for the multiple IPCs to repeatedly fetch the screen content. Further, keeping virtual accessibility focus (i.e. in the service) would require sync of the input and accessibility focus. This could be challenging to implement right as well. Also, having an unlimited number of accessibility services we cannot guarantee that they will have a proper implementation, if any, to allow users to perform structural navigation of the screen content. Assuming two accessibility services implement structural navigation via accessibility focus, there is not guarantee that they will behave similarly by default, i.e. provide some standard way to navigate the screen content. Also feedback from experienced accessibility researchers, specifically T.V Raman, provides evidence that having virtual accessibility focus creates many issues and it is very hard to get right. Therefore, keeping accessibility focus in the system will avoid keeping an off-screen model in accessibility services, it will always be in sync with the state of the view hierarchy and the input focus. Also this will allow having a default behavior for traversing the screen via this accessibility focus that is consistent in all accessibility services. We provide accessibility services with APIs to override this behavior but all of them will perform screen traversal in a consistent way by default. Behavior: If accessibility is enabled the accessibility focus is the leading one and the input follows it. Putting accessibility focus on a view moves the input focus there. Clearing the accessibility focus of a view, clears the input focus of this view. If accessibility focus is on a view that cannot take input focus, then no other view should have input focus. In accessibility mode we initially give accessibility focus to the topmost view and no view has input focus. This ensures consistent behavior accross all apps. Note that accessibility focus can move hierarchically in the view tree and having it at the root is better than putting it where the input focus would be - at the first input focusable which could be at an arbitrary depth in the view tree. By default not all views are reported for accessibility, only the important ones. A view may be explicitly labeled as important or not for accessibility, or the system determines which one is such - default. Important views for accessibility are all views that are not dumb layout managers used only to arrange their chidren. Since the same content arrangement can be obtained via different combintation of layout managers, such managers cannot be used to reliably determine the application structure. For example, a user should see a list as a list view with several list items and each list item as a text view and a button as opposed to seeing all the layout managers used to arrange the list item's content. By default only important for accessibility views are regared for accessibility purposes. View not regarded for accessibility neither fire accessibility events, nor are reported being on the screen. An accessibility service may request the system to regard all views. If the target SDK of an accessibility services is less than JellyBean, then all views are regarded for accessibility. Note that an accessibility service that requires all view to be ragarded for accessibility may put accessibility focus on any view. Hence, it may implement any navigational paradigm if desired. Especially considering the fact that the system is detecting some standard gestures and delegates their processing to an accessibility service. The default implementation of an accessibility services performs the defualt navigation. bug:5932640 bug:5605641 Change-Id: Ieac461d480579d706a847b9325720cb254736ebe
* | | | | | | | Merge "SurfaceTexture: update API docs"Jamie Gennis2012-04-132-12/+34
|\ \ \ \ \ \ \ \
| * | | | | | | | SurfaceTexture: update API docsJamie Gennis2012-04-132-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change updates the SurfaceTexture API docs and modifies the behavior of the updateTexImage to produce an IllegalStateException when not attached to a GLES context. Change-Id: I5a0875927785108960985c567d571d5f7033256a
* | | | | | | | | am 6a9835a2: am 08135aa1: am 38e09c3d: docs: Android Training: Creating ↵Roman Nurik2012-04-130-0/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backward-Compatible UIs class * commit '6a9835a2cdd95826ce0e4b9cb88c45b2e8277baf':
| * \ \ \ \ \ \ \ \ am 08135aa1: am 38e09c3d: docs: Android Training: Creating ↵Roman Nurik2012-04-130-0/+0
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backward-Compatible UIs class * commit '08135aa17fc5e5e8ecfebf04c10911fb083c3660':
| | * \ \ \ \ \ \ \ \ am 38e09c3d: docs: Android Training: Creating Backward-Compatible UIs classRoman Nurik2012-04-1312-1/+575
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '38e09c3ddb7da47a23bf4221ab678e058c7e923a': docs: Android Training: Creating Backward-Compatible UIs class
* | | \ \ \ \ \ \ \ \ \ am 4d7038cb: am 3fc245a1: am 38e09c3d: docs: Android Training: Creating ↵Roman Nurik2012-04-130-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backward-Compatible UIs class * commit '4d7038cb96690c93c6ca407d338159ea062424fb':
| * | | | | | | | | | | am 3fc245a1: am 38e09c3d: docs: Android Training: Creating ↵Roman Nurik2012-04-1312-1/+575
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backward-Compatible UIs class * commit '3fc245a181269c5e425698d8ad212015812ebd8d': docs: Android Training: Creating Backward-Compatible UIs class
| | * \ \ \ \ \ \ \ \ \ \ am 38e09c3d: docs: Android Training: Creating Backward-Compatible UIs classRoman Nurik2012-04-1312-1/+575
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | |/ / / / / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '38e09c3ddb7da47a23bf4221ab678e058c7e923a': docs: Android Training: Creating Backward-Compatible UIs class
* | | | | | | | | | | | | am 273ad179: am 38e09c3d: docs: Android Training: Creating ↵Roman Nurik2012-04-1312-1/+575
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backward-Compatible UIs class * commit '273ad17995679c5cdcf45b1458efb221889a9e90': docs: Android Training: Creating Backward-Compatible UIs class
| * | | | | | | | | | | | am 38e09c3d: docs: Android Training: Creating Backward-Compatible UIs classRoman Nurik2012-04-1312-1/+575
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | |_|/ / / / / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '38e09c3ddb7da47a23bf4221ab678e058c7e923a': docs: Android Training: Creating Backward-Compatible UIs class
| | * | | | | | | | | | | docs: Android Training: Creating Backward-Compatible UIs classRoman Nurik2012-04-1312-1/+575
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9a3038839c7849ecbb144b218ce5a08bdcd35886
* | | | | | | | | | | | | Merge "Add support for input devices that have vibrators."Jeff Brown2012-04-1315-7/+589
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Add support for input devices that have vibrators.Jeff Brown2012-04-1315-7/+589
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a getVibrator() method to InputDevice which returns a Vibrator associated with that input device. Its uses the same API as the system vibrator which makes it easy for applications to be modified to use one or the other. Bug: 6334179 Change-Id: Ifc7f13dbcb778670f3f1c07ccc562334e6109d2e
* | | | | | | | | | | | | | am 509efe16: am 29934896: am 19266f7b: docs: Android Training: Implementing ↵Roman Nurik2012-04-130-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Effective Navigation class * commit '509efe16a1e191ac8e65709feed20eaae2894343':
| * | | | | | | | | | | | | am 29934896: am 19266f7b: docs: Android Training: Implementing Effective ↵Roman Nurik2012-04-130-0/+0
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | |_|_|/ / / / / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Navigation class * commit '299348968aae3fa29dca167bfcc847ed5c65927b':
| | * | | | | | | | | | | | am 19266f7b: docs: Android Training: Implementing Effective Navigation classRoman Nurik2012-04-138-1/+618
| | |\ \ \ \ \ \ \ \ \ \ \ \ | | | | |_|/ / / / / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '19266f7b02c91d21d630c99d593f83cc427cd40b': docs: Android Training: Implementing Effective Navigation class
* | | | | | | | | | | | | | am 88b5b983: am f872e0b9: am 19266f7b: docs: Android Training: Implementing ↵Roman Nurik2012-04-130-0/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Effective Navigation class * commit '88b5b983acfe1caf8c584a20f98b4e48af76d1fe':