summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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
* Add some new native deletage to layoutlib.Xavier Ducrohet2012-09-042-0/+49
| | | | Change-Id: Ib53df6c944ecd9680bf929afe03b08bcaa61ad70
* 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
* 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
* 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
* Removing a workaround for incorrect window position on window move.Svetoslav Ganov2012-07-161-5/+25
| | | | | | | | | | | | | | | | | | | | | | 1. The window manager was not notifying a window when the latter has been moved. This was causing incorrect coordinates of the nodes reported to accessibility services. To workaround that we have carried the correct window location when making a call from the accessibility layer into a window. Now the window manager notifies the window when it is moved and the workaround is no longer needed. This change takes it out. 2. The left and right in the attach info were not updated properly after a report that the window has moved. 3. The accessibility manager service was calling directly methods on the window manager service without going through the interface of the latter. This leads to unnecessary coupling and in the long rung increases system complexity and reduces maintability. bug:6623031 Change-Id: Iacb734b1bf337a47fad02c827ece45bb2f53a79d
* Add missing interface method.Craig Mautner2012-07-101-0/+5
| | | | | | Fix broken build. Change-Id: I6644df218e11a35330a985bdcb9ace33723330f5
* Replace LruCache implementation for layoutlib.Xavier Ducrohet2012-07-105-19/+428
| | | | | | | | | | The android version depends on a custom version of LinkedHashMap which is not present on desktop VMs. This new implementation is done in a way that minimizes the difference between the two. Also some minor fixes. Change-Id: Ib27b0419f9d0e6ba4d4abb26b2ccd968af59eba8
* Use two fingers to work some magic...Dianne Hackborn2012-06-251-0/+6
| | | | Change-Id: Ibcb3dbd3d158c22da8277e544d81fb47eadccd49
* am 58a8d8d2: am 0e302bc8: Merge "Disable debug output in SDK layoutlib." ↵Xavier Ducrohet2012-06-191-1/+1
|\ | | | | | | | | | | | | into jb-dev * commit '58a8d8d2d4b15cd4abf010680181359823ebfda4': Disable debug output in SDK layoutlib.
| * am 0e302bc8: Merge "Disable debug output in SDK layoutlib." into jb-devXavier Ducrohet2012-06-191-1/+1
| |\ | | | | | | | | | | | | * commit '0e302bc884fa4b25eb391d625f2fb0eddc25d9b7': Disable debug output in SDK layoutlib.
| | * Disable debug output in SDK layoutlib.Xavier Ducrohet2012-06-191-1/+1
| | | | | | | | | | | | | | | | | | Bug: 6697442 Change-Id: I9741761342ea220c158aa124089430b0db80bf7e
* | | am bce1011d: resolved conflicts for merge of 8cf489c1 to jb-dev-plus-aospRaphael Moll2012-06-143-11/+846
|\ \ \ | |/ / | | | | | | | | | * commit 'bce1011dd2a371c587d2e39ad8c3d446b63049d0': Layoutlib Create: Find dependencies.
| * | resolved conflicts for merge of 8cf489c1 to jb-dev-plus-aospRaphael Moll2012-06-143-11/+846
| |\ \ | | | | | | | | | | | | Change-Id: I06608e3c122b8f321429d457c51aa2213dd238b4
| | * | Layoutlib Create: Find dependencies.Raphael Moll2012-06-134-52/+790
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usage: layoutlib_create --list-deps /path/to/layoutlib.jar Prints: - all classes found in the Jar and the types they use (the dependencies). - all the dependencies missing from the Jar and what uses them. Change-Id: I8b2674df127e1494feed7a653282e88e4d2f5494
* | | | am fcd73824: am dd251cab: Merge "Fix build." into jb-devDianne Hackborn2012-06-041-2/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | * commit 'fcd738240a7d716e21721514202caa5bfb2dcb98': Fix build.
| * | | am dd251cab: Merge "Fix build." into jb-devDianne Hackborn2012-06-041-2/+2
| |\ \ \ | | | |/ | | |/| | | | | | | | | * commit 'dd251cab5b6e5b590cc0aeae8be8f885a7794e72': Fix build.
| | * | Fix build.Dianne Hackborn2012-06-041-2/+2
| | | | | | | | | | | | | | | | Change-Id: I41415fed99d98406bc033289428bde59475c2917
* | | | am f3b4c93e: am ae5811c7: Merge "Fix (mostly) issue #5109947: Race condition ↵Dianne Hackborn2012-05-291-0/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | between retrieving a..." into jb-dev * commit 'f3b4c93e0da9af2db9e16864faa734cf70fecfe3': Fix (mostly) issue #5109947: Race condition between retrieving a...
| * | | am ae5811c7: Merge "Fix (mostly) issue #5109947: Race condition between ↵Dianne Hackborn2012-05-291-0/+5
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | retrieving a..." into jb-dev * commit 'ae5811c71405878b09eace395ec2b28e54eeb427': Fix (mostly) issue #5109947: Race condition between retrieving a...
| | * | Fix (mostly) issue #5109947: Race condition between retrieving a...Dianne Hackborn2012-05-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...content provider and updating its oom adj This introduces the concept of an "unstable" reference on a content provider. When holding such a reference (and no normal stable ref), the content provider dying will not cause the client process to be killed. This is used in ContentResolver.query(), .openAssetFileDescriptor(), and .openTypedAssetFileDescriptor() to first access the provider with an unstable reference, and if at the point of calling into the provider we find it is dead then acquiring a new stable reference and doing the operation again. Thus if the provider process dies at any point until we get the result back, our own process will not be killed and we can safely retry the operation. Arguably there is still the potential for a race -- if somehow the provider is killed way late by the OOM killer after the query or open has returned -- but this should now be *extremely* unlikely. We also continue to have the issue with the other calls, but these are much less critical, and the same model can't be used there (we wouldn't want to execute two insert operations for example). The implementation of this required some significant changes to the underlying plumbing of content providers, now keeping track of the two different reference counts, and managing them appropriately. To facilitate this, the activity manager now has a formal connection object for a client reference on a content provider, which hands to the application when opening the provider. These changes have allowed a lot of the code to be cleaned up and subtle issues closed. For example, when a process is crashing, we now have a much better idea of the state of content provider clients (olding a stable ref, unstable ref, or waiting for it to launch), so that we can correctly handle each of these. The client side code is also a fair amount cleaner, though in the future there is more than should be done. In particular, the two ProviderClientRecord and ProviderRefCount classes should be combined into one, part of which is exposed to the ContentResolver internal API as a reference on a content provider with methods for updating reference counts and such. Some day we'll do that. Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
| * | | am 2a9b85d7: am c0f17383: Merge "Move kxml2 to prebuilts/misc"Jean-Baptiste Queru2012-05-182-2/+2
| |\ \ \ | | |/ / | |/| / | | |/ | | | * commit '2a9b85d7ccdd3b8e6be90454cdcb4be3b032cd64': Move kxml2 to prebuilts/misc
| | * Move kxml2 to prebuilts/miscJean-Baptiste Queru2012-04-302-2/+2
| | | | | | | | | | | | Change-Id: Ie4b45d2073f26d8313843f9860cf658e288c850b
* | | am 095c2d31: am 4286d6d1: Fix build.Dianne Hackborn2012-05-141-1/+1
|\ \ \ | |/ / | | | | | | | | | * commit '095c2d315d3bdf4cdb61439d427413c0bd7796e1': Fix build.
| * | Fix build.Dianne Hackborn2012-05-131-1/+1
| | | | | | | | | | | | Change-Id: I53263d509559c70100cd78ad49f225f0dafd8891
* | | am 2da87ec3: am 2a7a6ca0: Merge "Implement new window cropping." into jb-devDianne Hackborn2012-05-141-1/+1
|\ \ \ | |/ / | | | | | | | | | * commit '2da87ec32e72c2c25998e2444155c00074cfbd40': Implement new window cropping.
| * | Implement new window cropping.Dianne Hackborn2012-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The window manager now performs the crop internally, evaluating it every animation from, to be able to update it along with the surface position. Change-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32
* | | am bf1b5fa9: am 421dceb0: Merge "Making transition out of recents look ↵Michael Jurka2012-05-101-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | better" into jb-dev * commit 'bf1b5fa944158044a595706924b935b5577ec0f0': Making transition out of recents look better
| * | Merge "Making transition out of recents look better" into jb-devMichael Jurka2012-05-101-1/+1
| |\ \
| | * | Making transition out of recents look betterMichael Jurka2012-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fading out recents first, then scaling up app thumbnail - Fade Recents out over 130ms - Delay the window animation for 200ms first, then animate for 200ms (previously we didn't delay and then animated for 300ms) Bug: 6390075 Change-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682
* | | | am e2e03913: am dd79ae6b: Merge "Add infrastructure for accessing "unstable" ↵Dianne Hackborn2012-05-101-0/+10
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | content providers." into jb-dev * commit 'e2e0391389fce1a9fd9d5c5442ba1901b6d96211': Add infrastructure for accessing "unstable" content providers.
| * | | Add infrastructure for accessing "unstable" content providers.Dianne Hackborn2012-05-091-0/+10
| |/ / | | | | | | | | | | | | | | | | | | We have an API and some stuff that purports to this, but no real implementation yet. Change-Id: I93555440014a50fdf79fa3f65318d90fb82265b4