summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib/bridge/src/android/view
Commit message (Collapse)AuthorAgeFilesLines
...
* Removing unnecessary delays, ensuring transition thumbnail is the size of ↵Winson Chung2014-09-071-1/+2
| | | | | | the header. (Bug. 16987565) Change-Id: Ic104876c5fe16997eca00e0a2b3d8644c927120c
* Multiple performance changes to speed recents invocation/app launching time. ↵Winson Chung2014-08-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Bug 16987565) - Reverting changes to the existing thumbnail transition to prevent breaking applications that currently depend on that transition. As a result, we need to create a new, hidden, aspect-scaled thumbnail transition, and instead use that thumbnail to animate the recents header so that we don't have to wait to do that inside the Recents activity. In order for this to work, we also have to ensure that the thumbnail surface destruction is synchronized with the application that is currently closing (when going down to recents) or opening (when coming back up). The current thumbnail is destroyed when the animation ends, but that can be at least 1 frame before the surface for the animating window is destroyed. We change this by deferring destruction of this thumbnail window to the animation that is being closed. Especially on the way up, not having to wait for us to hide the header before doing the transition up can save us the duration of that first animation (> 100ms). - Other optimizations: * No longer creating a new stack view on each transition to calculate the target rect * Removing unnecessary call to get the thumbnail when transitioning up/down (the actual window does its own animation. * We reduced numerous system calls per task by adding a flag to ignore home-stack tasks and caching the activity label and icon (and task description icon). These caches follow the same eviction schemes as the thumbnail and icon cache. - Also tweaked the touch slop for the nav bar swiping gesture to prevent conflicting with tapping on home (Bug 17109581) Change-Id: Ica697aad788051a9203edd9351c583e1cb038a71
* Use different unlock animation when going to full shadeJorim Jaggi2014-08-141-1/+2
| | | | | | | | | Also fixes a bug that the notify flag was not reset, and fix the transition for the phone/camera affordance (in these cases, no animation is needed). Bug: 15991916 Change-Id: Idbb4fa40f86bda597cd66cc38da838ef4f75514d
* Fix DelegatesDeepanshu Gupta2014-08-041-18/+154
| | | | Change-Id: I2b6a6b679b7a5b2532b76b723155bc2763b70768
* Fix deadlock window manager and device policy manager.Sander Alewijnse2014-07-311-1/+1
| | | | | | | Removed all communication from wm to device policy manager. Added initialization of cache in wm by dpms. Change-Id: Ifa0b8bfcd625464b156d5cc0fb66d342deda1c27
* Add Device Policy API to disable screen capture.Sander Alewijnse2014-07-231-0/+5
| | | | | | | | WindowManager will set secure flag on SurfaceControl for all windows of a flagged user to prevent screen capture. API is consistent with the camera disable API. Change-Id: Ib180f67f1ad827b6f4aca2af615274256cce58f4
* Launch activity behind launching task.Craig Mautner2014-07-151-1/+1
| | | | | | | | | | Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks behind the current task. Includes animations for launching and launched tasks. Fixes bug 16157517. Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
* Fix SurfaceView in LayoutLib.Deepanshu Gupta2014-06-211-0/+4
| | | | | | Added missing constructor. Change-Id: I3dc8eb510bf4210568d4bb71ad551446d6835ae2
* LayoutLib: Support more ContextThemeWrappersDeepanshu Gupta2014-06-102-3/+3
| | | | | | | | ContextThemeWrapper may be the base context for another ContextThemeWrapper. We now extract the base context till we reach the final context. Change-Id: I034444a2d1579241543fd24248530b299e72498a
* Improvements to low power mode.Dianne Hackborn2014-06-061-2/+7
| | | | | | | | | | | | | | | Add new public API for monitoring low power mode. BatteryService now puts device in to low power mode when battery level is low. Window manager now watches low power mode to turn off animations. Modifying the animator scale now gets propagated to all processes. Change-Id: I8fa566994764ddd4e1977631e28381ab9409f8ee
* Force all windows to redraw before unblanking screenCraig Mautner2014-06-031-5/+0
| | | | | | | | | | The screen turning on would show windows as they were when the screen turned off. This fix forces all showing windows to redraw first and only then allow the screen to turn on. Fixes bug 15092354. Change-Id: I52c3f47438176a5ac00ba9a4d5205b56a5aa48f9
* implement keyguardGoingAway() fixes build.Craig Mautner2014-05-291-0/+4
| | | | | | Fix bug 15326529. Change-Id: I9095fe70721bfb031dd1080da1d61ff4e1a8c8ab
* Tracking IWindowManager change 2ea3814083f27567ae07a1b449da3d596dd4d9d5Brian Carlstrom2014-05-281-1/+1
| | | | Change-Id: I6945cc9b4be174b55173ac2081edc5ee1bee6e67
* Bug fix in layoutlibDeepanshu Gupta2014-04-231-4/+3
| | | | | | | | | Renaming a method wasn't completed properly. The bug was introduced in the following change: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca (1001961f904bac5294aaf73a47c2497aa764bf7f) Change-Id: I698437b428d696c656e2268ded654a612a3e0c80
* Add view cookies for action bar menus.Deepanshu Gupta2014-04-232-41/+128
| | | | | | | | The change adds the view cookies for the menus rendered in the action bar. This enables the IDE to map the menu to the relevant XML Tag in the menu xml and show the highlighting accordingly. Change-Id: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
* resolved conflicts for merge of 90b39aba to master-lockscreen-devColin Cross2014-04-101-2/+2
|\ | | | | | | Change-Id: I2871a1e49c3b443cc7479f2352c652be3b0fb85b
| * fix buildColin Cross2014-04-101-2/+2
| | | | | | | | | | | | Fix make checkbuild. Change-Id: Ie9335a9e8afe4dc13ec47b2e84ab433b19ff315f
* | resolved conflicts for merge of 6be2f952 to master-lockscreen-devSvetoslav2014-04-101-10/+15
|\ \ | |/ | | | | | | | | | | | | Conflicts: core/java/android/view/IWindowManager.aidl tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java Change-Id: Idcbc581294cc52b53eabefd61e5c20cbcea611db
| * Adding render stats APIs to UiAutomation (framework).Svetoslav2014-04-071-11/+12
| | | | | | | | | | | | bug:12927198 Change-Id: Iae21481c75ae58dcdab3731bf5f1e2844e29d434
* | Wait for Keyguard to be drawn after boot.Jorim Jaggi2014-04-021-0/+4
|/ | | | | | | | | | | | | | | | | The old logic with waiting for the Keyguard to be drawn assumed that it is in an own window, and just checked for the visibility. This is no longer possible as the Keyguard is in the status bar, and the status bar might have been drawn without the Keyguard. So we have to wait explicitely until Keyguard told PhoneWindowManager that it has now been drawn and we can turn on the screen. In addition, the starting logic of SystemUI is moved into SystemUIApplication such the we can make sure that the status bar already exists when the callbacks from PhoneWindowManager reach KeyguardService. This simplifies the logic a lot. Bug: 13635952 Change-Id: Ifd6ba795647edcf3501641e39052e4d04bc826fb
* Fixing yet another build breackageSvetoslav2014-03-201-36/+0
| | | | Change-Id: I83597d5433fc6cc380d5ec1dd6f78e115e76db5b
* Update BridgeInflater and delegate to support inheritContext argAlan Viverette2014-01-272-13/+14
| | | | Change-Id: I06673f35cd4625301677f74f3e6d49669df7c271
* Support API change.Craig Mautner2014-01-271-1/+1
| | | | | | | From https://googleplex-android-review.git.corp.google.com/#/c/387811/. Change-Id: I3958a55c72b095c53b054c11c5653ba581881188
* Manual merge of e4ccb864 from frameworks/base/tools to frameworks/toolsAlan Viverette2014-01-271-0/+4
| | | | Change-Id: I4893e72caf3dfd68bd503fd8daeabc8550d770a2
* Update layoutlibJohn Reck2014-01-271-2/+2
| | | | Change-Id: Ifafe5a47fbef7ff0894e679d04d71942eb8d1237
* resolved conflicts for merge of fb2e3c8d to masterJim Miller2014-01-271-5/+0
| | | | Change-Id: I159b529adae04a33a965ec0d43fc9a47e82b6417
* Revert "Move frameworks/base/tools/ to frameworks/tools/"Adam Lesinski2014-01-2714-0/+1555
| | | | This reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.
* Move frameworks/base/tools/ to frameworks/tools/Mike Lockwood2013-08-2814-1555/+0
| | | | Change-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8
* Fix home activity and user switch interactions.Craig Mautner2013-07-191-1/+1
| | | | | | | | | | | - Make sure Home activity goes in the correct task and on the correct stack. - Do not allow different users to be in the same task. - Do not set stacks aside for each user. Fixes bug 9775492. Change-Id: I0e7954e917aac8482a1015a36923e02914e2b692
* Remove concept of system bar from window manager.John Spurlock2013-06-141-8/+1
| | | | | | It was already hardcoded to false, this change removes the dead code. Change-Id: I5e543344e60f69cb9882a70ba29f7c09404ad9fc
* Fix a bug resolving the correct icon/logo in action barsAdam Powell2013-05-311-1/+1
| | | | | | | | | | | Remove some abstraction-breaking magic in ActionBarView and replace it with proper resolution of the icon/logo when creating a window. The old implementation relied on the ActionBarView's context being an Activity. Bug 9171554 Change-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509
* resolved conflicts for merge of 21dffd5d to masterJeff Brown2013-04-082-22/+9
|\ | | | | | | Change-Id: I37c48dee471c9d43f19c1fe4a01f70db53e2441f
| * Queues, queues, queues and input.Jeff Brown2013-04-082-22/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Redesigned how ViewRootImpl delivers input events to views, the IME and to native activities to fix several issues. The prior change to make IME input event delegation use InputChannels failed to take into account that InputMethodManager is a singleton attached to the main looper whereas UI may be attached to any looper. Consequently interactions with the InputChannel might occur on the wrong thread. Fixed this problem by checking the current thread and posting input events or callbacks to the correct looper when necessary. NativeActivity has also been broken for a while because the default event handling logic for joysticks and touch navigation was unable to dispatch events back into the native activity. In particular, this meant that DPad synthesis from touch navigation would not work in any native activity. The plan is to fix this problem by passing all events through ViewRootImpl as usual then forwarding them to native activity as needed. This should greatly simplify IME pre-dispatch and system key handling and make everything more robust overall. Fixed issues related to when input events are synthesized. In particular, added a more robust mechanism to ensure that synthetic events are canceled appropriately when we discover that events are no longer being resynthesized (because the application or IME is handling or dropping them). The new design is structured as a pipeline with a chain of responsibility consisting of InputStage objects. Each InputStage is responsible for some part of handling each input event such as dispatching to the view hierarchy or to the IME. As a stage processes an input event, it has the option of finishing the event, forwarding the event to the next stage or handling the event asynchronously. Some queueing logic takes care to ensure that events are forwarded downstream in the correct order even if they are handled out of order by a given stage. Cleaned up the InputMethodManager singleton initialization logic to make it clearer that it must be attached to the main looper. We don't actually need to pass this looper around. Deleted the LatencyTimer class since no one uses it and we have better ways of measuring latency these days using systrace. Added a hidden helper to Looper to determine whether the current thread is the indicated Looper thread. Note: NativeActivity's IME dispatch is broken by this patch. This will be fixed later in another patch. Bug: 8473020 Change-Id: Iac2a1277545195a7a0137bbbdf04514c29165c60
* | resolved conflicts for merge of 5856ee4b to masterBrian Colonna2013-04-021-0/+4
|\ \ | |/ | | | | Change-Id: I60ba85bc246b9cf25d467b2099535aad47f82ca7
| * FUL now restarts when flipping tablet 180 (bug 7484464)Brian Colonna2013-03-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a tablet rotates, FUL must be stopped and restarted in a new position. 90 degree rotations cause a configuration change, causing FUL to be automatically reconstructed in the new location. However, a 180 degree rotation is not a configuration change, so FUL was not restarting. A 180 degree rotation happens more often than one might think. If you set the tablet down and later picked it up in the opposite orientation, FUL would not work prior to this fix. This change adds a rotation watcher to KeyguardFaceUnlockView. It watches for 180 degree rotations and stops and restarts FUL accordingly. The rotation watcher callback must be unregistered when KeyguardFaceUnlockView is recreated (as during 90 degree rotation changes), otherwise the number of rotation watcher callbacks will keep growing and they will never go away. This is a problem not just because there are many callbacks hanging around, but also because the old callbacks end up trying to access biometric unlock views that no longer exist, resulting in crashes. So, a simple function was added to the window manager to unregister a rotation watcher. Change-Id: Ie1ef20a9a22b8f4e39918987dff2b8ad444fcfd1
* | am 483ac9a7: am b404ecc9: Merge "Fix build." into jb-mr2-devDianne Hackborn2013-03-261-0/+21
|\ \ | |/ | | | | | | * commit '483ac9a779af452d7ef4007d0e24c569ee894557': Fix build.
| * Fix build.Dianne Hackborn2013-03-261-0/+21
| | | | | | | | Change-Id: I51b87ee5f0b7f396aad7e239893d9f0764f04bb6
| * Revert ActivityManager changes for tasks. DO NOT MERGECraig Mautner2013-02-251-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keeping all activity=>task changes in master and removing them from jb-mr2. Revert "Update histories simultaneously." Revert "Add null check to setAppGroupId." Revert "Fix crashing bug in validator." Revert "Switch topRunning* and moveTaskTo*" Revert "Begin switch over to task based history." Revert "Reset and reuse Iterators and don't new() one." Revert "Remove AppWindowToken lists." Revert "Fix build." Revert "Remove unused App methods." Revert "Stop using AppToken movement and start using Task." Revert "Replace access to mAppTokens with AppTokenIterator" Revert "Refactor setAppOpVisibility implementation." Revert "Add AppWindowTokens to TaskList." Revert "Make ActivityStack.mHistory private." Revert "Migrate AppWindowToken lists into DisplayContent." Change-Id: I5722c9a4956dccb52864207e2967690bc58e4ebb
* | Update layoutlib to latest interface.Craig Mautner2013-03-181-2/+2
|/ | | | | | Fix build.. Change-Id: I3504e8b8e8431ad76333e852cf42494b2404f8ad
* Fix build.Dianne Hackborn2013-02-191-0/+6
| | | | Change-Id: I277de38a70f3a2e5c1997a3fe5c2e825692ae9e1
* Remove unused App methods.Craig Mautner2013-02-131-18/+0
| | | | | | | Now that the Task methods have replaced the App methods remove the App methods. Change-Id: I0e7432f2c6f99708759ed8c871d20eb5bd38c3c2
* Fixing the buildSvetoslav2013-01-291-0/+6
| | | | Change-Id: I8d47c7094efc8ff458cdac58a761d5f187c8fc32
* Fixing the buildSvetoslav Ganov2012-12-141-3/+13
| | | | Change-Id: I01349d65ac5915da090cfb018f99e0a508f9d5ad
* Refactoring of the screen magnification feature.Svetoslav Ganov2012-12-031-30/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. The screen magnification feature was implemented entirely as a part of the accessibility manager. To achieve that the window manager had to implement a bunch of hooks for an external client to observe its internal state. This was problematic since it dilutes the window manager interface and allows code that is deeply coupled with the window manager to reside outside of it. Also the observer callbacks were IPCs which cannot be called with the window manager's lock held. To avoid that the window manager had to post messages requesting notification of interested parties which makes the code consuming the callbacks to run asynchronously of the window manager. This causes timing issues and adds unnecessary complexity. Now the magnification logic is split in two halves. The first half that is responsible to track the magnified portion of the screen and serve as a policy which windows can be magnified and it is a part of the window manager. This part exposes higher level APIs allowing interested parties with the right permissions to control the magnification of a given display. The APIs also allow a client to be registered for callbacks on interesting changes such as resize of the magnified region, etc. This part servers as a mediator between magnification controllers and the window manager. The second half is a controller that is responsible to drive the magnification state based on touch interactions. It also presents a highlight when magnified to suggest the magnified potion of the screen. The controller is responsible for auto zooming out in case the user context changes - rotation, new actitivity. The controller also auto pans if a dialog appears and it does not interesect the magnified frame. bug:7410464 2. By design screen magnification and touch exploration work separately and together. If magnification is enabled the user sees a larger version of the widgets and a sub section of the screen content. Accessibility services use the introspection APIs to "see" what is on the screen so they can speak it, navigate to the next item in response to a gesture, etc. Hence, the information returned to accessibility services has to reflect what a sighted user would see on the screen. Therefore, if the screen is magnified we need to adjust the bounds and position of the infos describing views in a magnified window such that the info bounds are equivalent to what the user sees. To improve performance we keep accessibility node info caches in the client process. However, when magnification state changes we have to clear these caches since the bounds of the cached infos no longer reflect the screen content which just got smaller or larger. This patch propagates not only the window scale as before but also the X/Y pan and the bounds of the magnified portion of the screen to the introspected app. This information is used to adjust the bounds of the node infos coming from this window such that the reported bounds are the same as the user sees not as the app thinks they are. Note that if magnification is enabled we zoom the content and pan it along the X and Y axis. Also recomputed is the isVisibleToUser property of the reported info since in a magnified state the user sees a subset of the window content and the views not in the magnified viewport should be reported as not visible to the user. bug:7344059 Change-Id: I6f7832c7a6a65c5368b390eb1f1518d0c7afd7d2
* Add mechanism to kick keyguard to show the assistantJim Miller2012-11-081-0/+5
| | | | | | Fixes bug 7499778 Change-Id: Ic9ea514feb489feeee6716f40bdb9792842f9515
* Add isSafeModeEnabled() API to WindowManagerServiceJim Miller2012-11-051-0/+5
| | | | | | | This adds a means of determining when the device is in safe mode, as required by keyguard to disabled some features. Change-Id: I31d357e6738c92e1837f9e0263e5f3f4de66315a
* Fix SDK layout rendering in Eclipse.Xavier Ducrohet2012-10-154-3/+577
| | | | Change-Id: I0e9e85632012c0929b987ee9d0ccf7c25eece322
* Refactor for multi-display support.Jeff Brown2012-08-191-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add display manager skeleton.Jeff Brown2012-07-251-53/+0
| | | | | | | | | | | | | 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
* Add Delegate for ViewRootImpl#isInTouchMode to prevent IPC call in Eclipse.Xavier Ducrohet2012-03-231-0/+34
| | | | | | Also fix some new/removed method from BitmapFactory. Change-Id: I606bd8bee6ff1e2c6c9472b4672175bfdaff45de