summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Update preloaded-classes for JB-MR1Kenny Root2012-09-191-0/+4
| | | | | Bug: 5213043 Change-Id: I13fa58fded8e47d2f11d1fbe6724bd81ce35276a
* am 79c95c3b: am 5de96035: am 31820a35: Merge "Add --output-text-symbols ↵Xavier Ducrohet2012-09-173-14/+205
|\ | | | | | | | | | | | | option to aapt." * commit '79c95c3b50ff332f9c92430fd10a15eb648a0b02': Add --output-text-symbols option to aapt.
| * am 31820a35: Merge "Add --output-text-symbols option to aapt."Xavier Ducrohet2012-09-173-14/+205
| |\ | | | | | | | | | | | | * commit '31820a35b2cf864a8dcb71d43e6fd21d54f49a2d': Add --output-text-symbols option to aapt.
| | * Add --output-text-symbols option to aapt.Xavier Ducrohet2012-09-113-14/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Library projects in the SDK are built using --non-constant-id to generate a temporary R.java class. When the library is packaged with the application to generate an apk, the R class is recreated with the proper IDs due to all the resources coming from the app and all the libraries. However for large apps with many libraries (each with their own R class in their package), this means a lot of unnecessary IDs: all R classes contains all the IDs including for resources from by projects they don't have access through the dependency graph. For really large apps (X,000 resources), with lots of libraries (10+), this can generate tens of thousands of resources, which can trigger dalvik's limit of 65K fields and methods per dex files. This changes lets aapt generate not only the R class but a simple text file containing the list of all those IDs so that it is easier to parse back. The SDK build system will not ask aapt to generate the R class of the libraries (through the --extra-packages option), instead it will then read this file to know what IDs are needed for each library and generate a much smaller R class for each library (using the same text file output from compiling all the resources to get the final integer value). Change-Id: I4db959fec372cf3ead9950e4b2b82fa1ae7eed2d
* | | am 8a67598e: am cc9747ed: am d7252571: Merge "Add --error-on-failed-insert ↵Xavier Ducrohet2012-09-173-19/+60
|\ \ \ | |/ / | | | | | | | | | | | | | | | option to aapt." * commit '8a67598eb780560b7efe4e1d9944c7cbcf83bbb1': Add --error-on-failed-insert option to aapt.
| * | am d7252571: Merge "Add --error-on-failed-insert option to aapt."Xavier Ducrohet2012-09-173-19/+60
| |\ \ | | |/ | | | | | | | | | * commit 'd72525718ea7ef3e1f97cf557365b143c8919a5b': Add --error-on-failed-insert option to aapt.
| | * Add --error-on-failed-insert option to aapt.Xavier Ducrohet2012-09-113-19/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new SDK build system give the ability to insert versionCode/Name and min/targetSdkVersion in the manifest but aapt won't replace those if they already exist. The main problem is that aapt doesn't actually fail when it doesn't replace them, making the output not what the developer wanted. This patch set adds an option to aapt to make it return an error if the insert failed because the attribute already existed. Change-Id: I8938ec1238da407a8562c974e9598db39001ffd9
* | | Animations for user switching.Dianne Hackborn2012-09-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The window manager now has a facility to provide a full-screen animation, which the activity manager uses every time a user switch happens. The current animation is just a simple dumb slide until we get a design from UX. Also some cleanup: moved the portrait task animations to the default config so we always have an animation for them, and finally got the java symbol stuff out of public.xml. Change-Id: I726f77422b2ef5f2d98f961f8da003e045f0ebe8
* | | am 61d09810: am 3150feef: am bfe1ab82: Merge "Fix aapt to get expat header ↵Elliott Hughes2012-09-092-2/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | files from the approved location." * commit '61d09810a7b478810adc15af2495136255377e25': Fix aapt to get expat header files from the approved location.
| * | am bfe1ab82: Merge "Fix aapt to get expat header files from the approved ↵Elliott Hughes2012-09-092-2/+1
| |\ \ | | |/ | | | | | | | | | | | | | | | location." * commit 'bfe1ab825731d365fef169deab646d7ceeafc998': Fix aapt to get expat header files from the approved location.
| | * Fix aapt to get expat header files from the approved location.Elliott Hughes2012-09-092-2/+1
| | | | | | | | | | | | Change-Id: Ic7c796e048cfe98ee355c18b3708fee5ea716e2e
* | | Merge "Use "ldrtl" and "ldltr" config qualifiers for RTL / LTR resources" ↵Fabrice Di Meglio2012-09-071-2/+2
|\ \ \ | | | | | | | | | | | | into jb-mr1-dev
| * | | Use "ldrtl" and "ldltr" config qualifiers for RTL / LTR resourcesFabrice Di Meglio2012-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - we cannot use "rtl" / "ltr" qualifiers as they can conflict with ISO-639 Alpha-3 codespace which uses 3 letters for identifying a language code (and could use either "rtl" or "ltr" strings for defining a language in the future). - we are using instead "ldrtl" for RTL and "ldltr" for LTR resources. Those qualifiers are defined by more than 3 chars and outside of what is defined into ISO-639. They are also more understandable as "ld" prefix is for "layoutdirection" Change-Id: Id43e948103707e09bef63ebd54ac1779dde58e72
* | | | Fixing the buildSvetoslav Ganov2012-09-061-8/+3
| | | | | | | | | | | | | | | | Change-Id: I123b128f5d9e50653d8d4ed73ea07920b370b0fb
* | | | Screen magnification - feature - framework.Svetoslav Ganov2012-09-062-21/+41
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is the initial check in of the screen magnification feature. This feature enables magnification of the screen via global gestures (assuming it has been enabled from settings) to allow a low vision user to efficiently use an Android device. Interaction model: 1. Triple tap toggles permanent screen magnification which is magnifying the area around the location of the triple tap. One can think of the location of the triple tap as the center of the magnified viewport. For example, a triple tap when not magnified would magnify the screen and leave it in a magnified state. A triple tapping when magnified would clear magnification and leave the screen in a not magnified state. 2. Triple tap and hold would magnify the screen if not magnified and enable viewport dragging mode until the finger goes up. One can think of this mode as a way to move the magnified viewport since the area around the moving finger will be magnified to fit the screen. For example, if the screen was not magnified and the user triple taps and holds the screen would magnify and the viewport will follow the user's finger. When the finger goes up the screen will clear zoom out. If the same user interaction is performed when the screen is magnified, the viewport movement will be the same but when the finger goes up the screen will stay magnified. In other words, the initial magnified state is sticky. 3. Pinching with any number of additional fingers when viewport dragging is enabled, i.e. the user triple tapped and holds, would adjust the magnification scale which will become the current default magnification scale. The next time the user magnifies the same magnification scale would be used. 4. When in a permanent magnified state the user can use two or more fingers to pan the viewport. Note that in this mode the content is panned as opposed to the viewport dragging mode in which the viewport is moved. 5. When in a permanent magnified state the user can use three or more fingers to change the magnification scale which will become the current default magnification scale. The next time the user magnifies the same magnification scale would be used. 6. The magnification scale will be persisted in settings and in the cloud. Note: Since two fingers are used to pan the content in a permanently magnified state no other two finger gestures in touch exploration or applications will work unless the uses zooms out to normal state where all gestures works as expected. This is an intentional tradeoff to allow efficient panning since in a permanently magnified state this would be the dominant action to be performed. Design: 1. The window manager exposes APIs for setting accessibility transformation which is a scale and offsets for X and Y axis. The window manager queries the window policy for which windows will not be magnified. For example, the IME windows and the navigation bar are not magnified including windows that are attached to them. 2. The accessibility features such a screen magnification and touch exploration are now impemented as a sequence of transformations on the event stream. The accessibility manager service may request each of these features or both. The behavior of the features is not changed based on the fact that another one is enabled. 3. The screen magnifier keeps a viewport of the content that is magnified which is surrounded by a glow in a magnified state. Interactions outside of the viewport are delegated directly to the application without interpretation. For example, a triple tap on the letter 'a' of the IME would type three letters instead of toggling magnified state. The viewport is updated on screen rotation and on window transitions. For example, when the IME pops up the viewport shrinks. 4. The glow around the viewport is implemented as a special type of window that does not take input focus, cannot be touched, is laid out in the screen coordiates with width and height matching these of the screen. When the magnified region changes the root view of the window draws the hightlight but the size of the window does not change - unless a rotation happens. All changes in the viewport size or showing or hiding it are animated. 5. The viewport is encapsulated in a class that knows how to show, hide, and resize the viewport - potentially animating that. This class uses the new animation framework for animations. 6. The magnification is handled by a magnification controller that keeps track of the current trnasformation to be applied to the screen content and the desired such. If these two are not the same it is responsibility of the magnification controller to reconcile them by potentially animating the transition from one to the other. 7. A dipslay content observer wathces for winodw transitions, screen rotations, and when a rectange on the screen has been reqeusted. This class is responsible for handling interesting state changes such as changing the viewport bounds on IME pop up or screen rotation, panning the content to make a requested rectangle visible on the screen, etc. 8. To implement viewport updates the window manger was updated with APIs to watch for window transitions and when a rectangle has been requested on the screen. These APIs are protected by a signature level permission. Also a parcelable and poolable window info class has been added with APIs for getting the window info given the window token. This enables getting some useful information about a window. There APIs are also signature protected. bug:6795382 Change-Id: Iec93da8bf6376beebbd4f5167ab7723dc7d9bd00
* | | Merge "Add some new native deletage to layoutlib." into jb-mr1-devXavier Ducrohet2012-09-042-0/+49
|\ \ \
| * | | Add some new native deletage to layoutlib.Xavier Ducrohet2012-09-042-0/+49
| | | | | | | | | | | | | | | | Change-Id: Ib53df6c944ecd9680bf929afe03b08bcaa61ad70
* | | | Merge "Add support for "-rtl" in resources" into jb-mr1-devFabrice Di Meglio2012-09-043-7/+67
|\ \ \ \ | |/ / / |/| | |
| * | | Add support for "-rtl" in resourcesFabrice Di Meglio2012-08-233-7/+67
| | | | | | | | | | | | | | | | | | | | | | | | - fix bug #7035019 Need to have "-rtl" support for Resource Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
* | | | Add registering for explicit users.Dianne Hackborn2012-09-041-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New API to register as an explicit user, which allows you to also select ALL to see broadcasts for all users. New BroadcastReceiver API to find out which user the broadcast was sent to. Use this in app widget service to handle per-user package broadcasts and boot completed broadcasts correctly. Change-Id: Ibbe28993bd4aa93900c79e412026c27863019eb8
* | | | Initial draft of high-level multi-display APIs.Jeff Brown2012-08-311-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces the ability to create a Context that is bound to a Display. The context gets its configuration and metrics from that display and is able to provide a WindowManager that is bound to the display. To make it easier to use, we also add a new kind of Dialog called a Presentation. Presentation takes care of setting up the context as needed and watches for significant changes in the display configuration. If the display is removed, then the presentation simply dismisses itself. Change-Id: Idc54b4ec84b1ff91505cfb78910cf8cd09696d7d
* | | | Improve multi-user broadcasts.Dianne Hackborn2012-08-301-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You can now use ALL and CURRENT when sending broadcasts, to specify where the broadcast goes. Sticky broadcasts are now correctly separated per user, and registered receivers are filtered based on the requested target user. New Context APIs for more kinds of sending broadcasts as users. Updating a bunch of system code that sends broadcasts to explicitly specify which user the broadcast goes to. Made a single version of the code for interpreting the requested target user ID that all entries to activity manager (start activity, send broadcast, start service) use. Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
* | | | Keep track of whether an app is installed for each user.Dianne Hackborn2012-08-241-0/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This add a new per-user state for an app, indicating whether it is installed for that user. All system apps are always installed for all users (we still use disable to "uninstall" them). Now when you call into the package manager to install an app, it will only install the app for that user unless you supply a flag saying to install for all users. Only being installed for the user is just the normal install state, but all other users have marked in their state for that app that it is not installed. When you call the package manager APIs for information about apps, uninstalled apps are treated as really being not visible (somewhat more-so than disabled apps), unless you use the GET_UNINSTALLED_PACKAGES flag. If another user calls to install an app that is already installed, just not for them, then the normal install process takes place but in addition that user's installed state is toggled on. The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED, PACKAGE_REPLACED etc broadcasts to users who don't have a package installed or not being involved in a change in the install state. There are a few things that are not quite right with this -- for example if you go through a full install (with a new apk) of an app for one user who doesn't have it already installed, you will still get the PACKAGED_REPLACED messages even though this is technically the first install for your user. I'm not sure how much of an issue this is. When you call the existing API to uninstall an app, this toggles the installed state of the app for that user to be off. Only if that is the last user user that has the app uinstalled will it actually be removed from the device. Again there is a new flag you can pass in to force the app to be uninstalled for all users. Also fixed issues with cleaning external storage of apps, which was not dealing with multiple users. We now keep track of cleaning each user for each package. Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
* | | Refactor for multi-display support.Jeff Brown2012-08-192-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split WindowManagerImpl into two parts, the WindowManager interface implementation remains where it is but the global communications with the window manager are now handled by the WindowManagerGlobal class. This change greatly simplifies the challenge of having separate WindowManager instances for each Context. Removed WindowManagerImpl.getDefault(). This represents the bulk of this change. Most of the usages of this method were either to perform global functions (now handled by WindowManagerGlobal) or to obtain the default display (now handled by DisplayManager). Explicitly associate each new window with a display and make the Display object available to the View hierarchy. Add stubs for some new display manager API features. Start to split apart the concepts of display id and layer stack. since they operate at different layers of abstraction. While it's true that each logical display uniquely corresponds to a surface flinger layer stack, it is not necessarily the case that they must use the same ids. Added Display.getLayerStack() and started using it in places where it was relatively easy to do. Change-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61
* | | Merge "Adding a thumbnail scale down animation" into jb-mr1-devMichael Jurka2012-08-171-1/+1
|\ \ \
| * | | Adding a thumbnail scale down animationMichael Jurka2012-08-161-1/+1
| | | | | | | | | | | | | | | | Recents animation will temporarily look a bit wrong, but a subsequent change will fix this.
* | | | Switch public APIs to use new UserHandle class for identifying users.Dianne Hackborn2012-08-171-2/+3
|/ / / | | | | | | | | | | | | | | | Gets rid of "yet another integer" confusion. Change-Id: Id07ea7307aea7c62f0087c6663a1f1c08e2e5dee
* | | Power manager rewrite.Jeff Brown2012-08-152-19/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The major goal of this rewrite is to make it easier to implement power management policies correctly. According, the new implementation primarily uses state-based rather than event-based triggers for applying changes to the current power state. For example, when an application requests that the proximity sensor be used to manage the screen state (by way of a wake lock), the power manager makes note of the fact that the set of wake locks changed. Then it executes a common update function that recalculates the entire state, first looking at wake locks, then considering user activity, and eventually determining whether the screen should be turned on or off. At this point it may make a request to a component called the DisplayPowerController to asynchronously update the display's powe state. Likewise, DisplayPowerController makes note of the updated power request and schedules its own update function to figure out what needs to be changed. The big benefit of this approach is that it's easy to mutate multiple properties of the power state simultaneously then apply their joint effects together all at once. Transitions between states are detected and resolved by the update in a consistent manner. The new power manager service has is implemented as a set of loosely coupled components. For the most part, information only flows one way through these components (by issuing a request to that component) although some components support sending a message back to indicate when the work has been completed. For example, the DisplayPowerController posts a callback runnable asynchronously to tell the PowerManagerService when the display is ready. An important feature of this approach is that each component neatly encapsulates its state and maintains its own invariants. Moreover, we do not need to worry about deadlocks or awkward mutual exclusion semantics because most of the requests are asynchronous. The benefits of this design are especially apparent in the implementation of the screen on / off and brightness control animations which are able to take advantage of framework features like properties, ObjectAnimator and Choreographer. The screen on / off animation is now the responsibility of the power manager (instead of surface flinger). This change makes it much easier to ensure that the animation is properly coordinated with other power state changes and eliminates the cause of race conditions in the older implementation. The because of the userActivity() function has been changed so that it never wakes the device from sleep. This change removes ambiguity around forcing or disabling user activity for various purposes. To wake the device, use wakeUp(). To put it to sleep, use goToSleep(). Simple. The power manager service interface and API has been significantly simplified and consolidated. Also fixed some inconsistencies related to how the minimum and maximum screen brightness setting was presented in brightness control widgets and enforced behind the scenes. At present the following features are implemented: - Wake locks. - User activity. - Wake up / go to sleep. - Power state broadcasts. - Battery stats and event log notifications. - Dreams. - Proximity screen off. - Animated screen on / off transitions. - Auto-dimming. - Auto-brightness control for the screen backlight with different timeouts for ramping up versus ramping down. - Auto-on when plugged or unplugged. - Stay on when plugged. - Device administration maximum user activity timeout. - Application controlled brightness via window manager. The following features are not yet implemented: - Reduced user activity timeout for the key guard. - Reduced user activity timeout for the phone application. - Coordinating screen on barriers with the window manager. - Preventing auto-rotation during power state changes. - Auto-brightness adjustment setting (feature was disabled in previous version of the power manager service pending an improved UI design so leaving it out for now). - Interpolated brightness control (a proposed new scheme for more compactly specifying auto-brightness levels in config.xml). - Button / keyboard backlight control. - Change window manager to associated WorkSource with KEEP_SCREEN_ON_FLAG wake lock instead of talking directly to the battery stats service. - Optionally support animating screen brightness when turning on/off instead of playing electron beam animation (config_animateScreenLights). Change-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
* | | Add API to create new contexts with custom configurations.Dianne Hackborn2012-08-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows you to, say, make a Context whose configuration is set to a different density than the actual density of the device. The main API is Context.createConfigurationContext(). There is also a new API on ContextThemeWrapper that allows you to apply an override context before its resources are retrieved, which addresses some feature requests from developers to be able to customize the context their app is running in. Change-Id: I88364986660088521e24b567e2fda22fb7042819
* | | am c1c55afb: am e67f8c8c: Merge "Normalize output from aapt d xmltree"Jean-Baptiste Queru2012-08-081-1/+2
|\ \ \ | |/ / | | | | | | | | | * commit 'c1c55afb474dd85a6205bc8ab94065f3ac38aa77': Normalize output from aapt d xmltree
| * | am e67f8c8c: Merge "Normalize output from aapt d xmltree"Jean-Baptiste Queru2012-08-081-1/+2
| |\ \ | | |/ | | | | | | | | | * commit 'e67f8c8c279e20fff5f426eccd062b709e6280ed': Normalize output from aapt d xmltree
| | * Merge "Normalize output from aapt d xmltree"Jean-Baptiste Queru2012-08-081-1/+2
| | |\
| | | * Normalize output from aapt d xmltreeShachar Shemesh2012-07-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using aapt dump xmltree to dump an XML which has a content element with newlines, the output contains a newline. This makes it very difficult, sometimes impossible, to understand what is part of the content, and what is the meta-data. We now pass XML content through the same normalizer used for other tags. Change-Id: I327321520fac563eb32aecaf796f2473866697fc
* | | | Merge "More mult-user API work." into jb-mr1-devDianne Hackborn2012-08-081-0/+12
|\ \ \ \
| * | | | More mult-user API work.Dianne Hackborn2012-08-071-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - You can now use android:singleUser with receivers and providers. - New API to send ordered broadcasts as a user. - New Process.myUserHandle() API. For now I am trying out "user handle" as the name for the numbers representing users. Change-Id: I754c713ab172494bb4251bc7a37a17324a2e235e
* | | | | am 4b4b4438: am 33c5670b: Merge "Fewer warnings in aidl generated code."Elliott Hughes2012-08-071-4/+4
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / | | | | * commit '4b4b44381b133e9ab7418806c046774b7fd31393': Fewer warnings in aidl generated code.
| * | | am 33c5670b: Merge "Fewer warnings in aidl generated code."Elliott Hughes2012-08-071-4/+4
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '33c5670b315810f1f3dc66fe8cd38f7b3e05f3ac': Fewer warnings in aidl generated code.
| | * | Fewer warnings in aidl generated code.Elliott Hughes2012-08-071-4/+4
| | | | | | | | | | | | | | | | | | | | Bug: http://code.google.com/p/android/issues/detail?id=19196 Change-Id: If054e60c19dc73fe32f55d0fa1054309565a6de6
* | | | Window position not reported if the window is not moved.Svetoslav Ganov2012-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.If a window is shown but never moved the window window is never notified for its current location. Therefore, accessibility nodes do not contain correct bounds in screen coordinates. bug:6926295 Change-Id: I7df18b095d33ecafffced75aba9e4f4693b0c393
* | | | Fix build with density methods.Craig Mautner2012-08-031-0/+8
| | | | | | | | | | | | | | | | Change-Id: I95c0a4f12db40f200a3a004394763beaef904232
* | | | Merge "Introduce multiple displays with DisplayContent." into jb-mr1-devCraig Mautner2012-08-021-3/+4
|\ \ \ \
| * | | | Introduce multiple displays with DisplayContent.Craig Mautner2012-08-021-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a couple of bugs that turned up. Remove touch/focus from display. Add iterators for access. Respond to comments. Remove TODOs, and some deviceId parameters. Change-Id: Idcdb4f1979aa7b14634d450fd0333d6eff26994d
* | | | | Start moving away from DisplayMetrics.DENSITY_DEVICE.Dianne Hackborn2012-08-011-1/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This puts in most of the infrastructure needed to allow us to switch between different densities at run time. The main remaining uses of the global are to initialize the Bitmap object (not sure what to do about that since it doesn't have anything passed in the constructor to get this information from), and being able to load drawables if we need a different density than what was preloaded by zygote. Change-Id: Ifdbfd6b7a5c59e6aa22e63b95b78d96af3d96848
* | | | Fix build.Craig Mautner2012-07-271-1/+18
| | | | | | | | | | | | | | | | Change-Id: I52bbebae38912a4fb71c96174b3d4d8eb6be10c1
* | | | Fix build.Jeff Brown2012-07-251-11/+0
| | | | | | | | | | | | | | | | Change-Id: Ife2fd58447205407e41ce3d27e28a705b744bede
* | | | Add display manager skeleton.Jeff Brown2012-07-252-67/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of this change is to remove direct reliance on SurfaceFlinger for describing the size and characteristics of displays. This patch also starts to make a distinction between logical displays and physical display devices. Currently, the window manager owns the concept of a logical display whereas the new display manager owns the concept of a physical display device. Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
* | | | am be925017: am b71393bd: Merge "Fix aapt -G to properly support class attr ↵Xavier Ducrohet2012-07-201-17/+31
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | in fragment." into jb-dev * commit 'be925017201ad547a72e8d1e333dbc7eae3fc76f': Fix aapt -G to properly support class attr in fragment.
| * | | am b71393bd: Merge "Fix aapt -G to properly support class attr in fragment." ↵Xavier Ducrohet2012-07-191-17/+31
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into jb-dev * commit 'b71393bd34a48eeb622292e78f43b99e374a5e3a': Fix aapt -G to properly support class attr in fragment.
| | * | | Fix aapt -G to properly support class attr in fragment.Xavier Ducrohet2012-07-191-17/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code added attributes android:name and class to a KeyedVector under the same key (fragment) so the 2nd add (android:name) removed class with was never checked. This replace the value type in the KeyedVector to be Vector<NamespaceAttributePair> instead of just NamespaceAttributePair. Change-Id: I009b8a8cca878191661c2a63bb14c967d230498d
| * | | | am 15c15eaa: Merge "Replace LruCache implementation for layoutlib. do not ↵Xavier Ducrohet2012-07-105-19/+428
| |\ \ \ \ | | |/ / / | | | / / | | |/ / | |/| | | | | | | | | | merge." into jb-dev * commit '15c15eaac51c0c375d18fb70cd1bd066d87b034e': Replace LruCache implementation for layoutlib. do not merge.