• Home
  • History
  • Annotate
  • only in /frameworks/base/tools/layoutlib/bridge/src/android/view/
History log of /frameworks/base/tools/layoutlib/bridge/src/android/view/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
828db35568459638e09f86be40340d281804858d 10-Nov-2014 Deepanshu Gupta <deepanshu@google.com> am 3cf0640d: Merge "Add primitive shadows support to LayoutLib" into lmp-dev automerge: 97c04ac

* commit '3cf0640d944a0718b9e29a2134a577e72a9432b4':
Add primitive shadows support to LayoutLib
796e9b7f9910f2ba8133cdb6f137107585b2e5fa 05-Nov-2014 Deepanshu Gupta <deepanshu@google.com> Add primitive shadows support to LayoutLib

The shadows rendered are not the same as rendered by the framework. The
main purpose of the shadows here is let the user know when shadows will
be cast.

Currently rectangular shadows are available in only two intensities. Any
elevation below 10dp uses one shadow and any elevation over 10 dp uses
the other.

Also, even though the code for arbitrary shapes exist, it doesn't quite
work yet. No shadows are visible when that code is run.

Change-Id: Ie8235ffccf1d3809713f5d8f82afde434817d6b2
enderNode_Delegate.java
hadowPainter.java
iewGroup_Delegate.java
044d52934e57a337665f707aa4be1d423ee3fb29 06-Nov-2014 Winson Chung <winsonc@google.com> Adding bounce animation for affiliated tasks. (Bug 16656169)

Change-Id: I39e4a57c4e6b707d15513dacde2d40c23bb05058
WindowManagerImpl.java
0bffc736e1f260724764d31f7499cbc09471a535 27-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Use the right layout for inflating Action Bar.

The choice of Action Bar layout depends on the theme. This also affects
the widget used to render the Action Bar.

Bug: http://b.android.com/77853
Change-Id: I6219a02853b4cd207a6125a5ed96fa5d16699460
indowCallback.java
2e7f3bdcc9ec0b3e95b565b943ecee2210f4b937 05-Sep-2014 Winson Chung <winsonc@google.com> Removing unnecessary delays, ensuring transition thumbnail is the size of the header. (Bug. 16987565)

Change-Id: Ic104876c5fe16997eca00e0a2b3d8644c927120c
WindowManagerImpl.java
a4ccb86ddc8f9f486aee25fb836f4aff97bf7679 23-Aug-2014 Winson Chung <winsonc@google.com> Multiple performance changes to speed recents invocation/app launching time. (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
WindowManagerImpl.java
84a3e7aacf6dbeccf4afb36a29f2f069dca7d486 13-Aug-2014 Jorim Jaggi <jjaggi@google.com> Use different unlock animation when going to full shade

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
WindowManagerImpl.java
1840e8f2c73570e7b51c66c03d3a50bd00f3f742 31-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Fix Delegates

Change-Id: I2b6a6b679b7a5b2532b76b723155bc2763b70768
ccessibility/AccessibilityManager.java
a87863a8bddb033ca9ace11e7d78932d70d08ce3 29-Jul-2014 Sander Alewijnse <salewijnse@google.com> Fix deadlock window manager and device policy manager.

Removed all communication from wm to device policy manager.
Added initialization of cache in wm by dpms.

Change-Id: Ifa0b8bfcd625464b156d5cc0fb66d342deda1c27
WindowManagerImpl.java
d2a1eec400128f39e1b223a720a88dbd395f3e6e 09-Jul-2014 Sander Alewijnse <salewijnse@google.com> Add Device Policy API to disable screen capture.

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
WindowManagerImpl.java
bb742462781a73bb25516067c8fe6311c1c8a93e 08-Jul-2014 Craig Mautner <cmautner@google.com> Launch activity behind launching task.

Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks
behind the current task. Includes animations for launching and
launched tasks.

Fixes bug 16157517.

Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
WindowManagerImpl.java
367a0ce902edbdbea7d63aedd9c98820c00909ae 21-Jun-2014 Deepanshu Gupta <deepanshu@google.com> Fix SurfaceView in LayoutLib.

Added missing constructor.

Change-Id: I3dc8eb510bf4210568d4bb71ad551446d6835ae2
urfaceView.java
b54b78e21554b8450893d4c28e0fe3e9b8c4425e 10-Jun-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Support more ContextThemeWrappers

ContextThemeWrapper may be the base context for another
ContextThemeWrapper. We now extract the base context till we reach the
final context.

Change-Id: I034444a2d1579241543fd24248530b299e72498a
ridgeInflater.java
enuInflater_Delegate.java
eb94fa7975b1e8742f3b00cec6bd4f9d6b329e3a 04-Jun-2014 Dianne Hackborn <hackbod@google.com> Improvements to low power mode.

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
WindowManagerImpl.java
8a0da0184f6c5c95d94ab6adfee79bace4040abd 01-Jun-2014 Craig Mautner <cmautner@google.com> Force all windows to redraw before unblanking screen

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
WindowManagerImpl.java
8bd94d502d2dfe17a2147ca4fd7c8baa6bbc06d5 29-May-2014 Craig Mautner <cmautner@google.com> implement keyguardGoingAway() fixes build.

Fix bug 15326529.

Change-Id: I9095fe70721bfb031dd1080da1d61ff4e1a8c8ab
WindowManagerImpl.java
8c9360f3aace9a6b158b0257655925d08d75fa02 29-May-2014 Brian Carlstrom <bdc@google.com> Tracking IWindowManager change 2ea3814083f27567ae07a1b449da3d596dd4d9d5

Change-Id: I6945cc9b4be174b55173ac2081edc5ee1bee6e67
WindowManagerImpl.java
7d3ae4f17d93125f8c45e17d3a6a22d5ab23b624 24-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Bug fix in layoutlib

Renaming a method wasn't completed properly.
The bug was introduced in the following change:
Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
(1001961f904bac5294aaf73a47c2497aa764bf7f)

Change-Id: I698437b428d696c656e2268ded654a612a3e0c80
enuInflater_Delegate.java
1001961f904bac5294aaf73a47c2497aa764bf7f 18-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add view cookies for action bar menus.

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
ridgeInflater.java
enuInflater_Delegate.java
d4d46587665ede9cdd26d12d37368a35232a31e1 11-Apr-2014 Colin Cross <ccross@android.com> resolved conflicts for merge of 90b39aba to master-lockscreen-dev

Change-Id: I2871a1e49c3b443cc7479f2352c652be3b0fb85b
0b65c56eb0d56f35f7404944370220450ccb450c 11-Apr-2014 Colin Cross <ccross@android.com> fix build

Fix make checkbuild.

Change-Id: Ie9335a9e8afe4dc13ec47b2e84ab433b19ff315f
WindowManagerImpl.java
dd137a85d3e0295989b5b9d1f67ff32027be867d 10-Apr-2014 Svetoslav <svetoslavganov@google.com> resolved conflicts for merge of 6be2f952 to master-lockscreen-dev

Conflicts:
core/java/android/view/IWindowManager.aidl
tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java

Change-Id: Idcbc581294cc52b53eabefd61e5c20cbcea611db
1376d600d8e0eefdbc0aa11d398cf7517fc77129 13-Mar-2014 Svetoslav <svetoslavganov@google.com> Adding render stats APIs to UiAutomation (framework).

bug:12927198

Change-Id: Iae21481c75ae58dcdab3731bf5f1e2844e29d434
WindowManagerImpl.java
cff0acb6b1eea23c3f44a078a0a5e81c11faea35 31-Mar-2014 Jorim Jaggi <jjaggi@google.com> Wait for Keyguard to be drawn after boot.

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
WindowManagerImpl.java
1a5255d5475eaaf620078c60b0dddbf2657fcf27 20-Mar-2014 Svetoslav <svetoslavganov@google.com> Fixing yet another build breackage

Change-Id: I83597d5433fc6cc380d5ec1dd6f78e115e76db5b
WindowManagerImpl.java
ebcef6b896b3b1693862aad9c5000c450ba598a5 09-Jan-2014 Alan Viverette <alanv@google.com> Update BridgeInflater and delegate to support inheritContext arg

Change-Id: I06673f35cd4625301677f74f3e6d49669df7c271
ridgeInflater.java
ayoutInflater_Delegate.java
24dffd0b0beb58d900bf232448596064f3c7d483 13-Nov-2013 Craig Mautner <cmautner@google.com> Support API change.

From
https://googleplex-android-review.git.corp.google.com/#/c/387811/.

Change-Id: I3958a55c72b095c53b054c11c5653ba581881188
WindowManagerImpl.java
47dcb469db6e81b733a3f2eaa6bc4396ebfb3fd0 08-Oct-2013 Alan Viverette <alanv@google.com> Manual merge of e4ccb864 from frameworks/base/tools to frameworks/tools

Change-Id: I4893e72caf3dfd68bd503fd8daeabc8550d770a2
WindowManagerImpl.java
492d16434acaaf050f676b6767fbf020fd6ff772 04-Oct-2013 John Reck <jreck@google.com> Update layoutlib

Change-Id: Ifafe5a47fbef7ff0894e679d04d71942eb8d1237
WindowManagerImpl.java
29e746211878d5204e983ef1fc2812d444052f63 02-Oct-2013 Jim Miller <jaggies@google.com> resolved conflicts for merge of fb2e3c8d to master

Change-Id: I159b529adae04a33a965ec0d43fc9a47e82b6417
WindowManagerImpl.java
282e181b58cf72b6ca770dc7ca5f91f135444502 24-Jan-2014 Adam Lesinski <adamlesinski@google.com> Revert "Move frameworks/base/tools/ to frameworks/tools/"

This reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.
ttachInfo_Accessor.java
ridgeInflater.java
horeographer_Delegate.java
isplay_Delegate.java
WindowManagerImpl.java
ayoutInflater_Delegate.java
urfaceView.java
iewConfiguration_Accessor.java
iewRootImpl_Delegate.java
iew_Delegate.java
indowManagerGlobal_Delegate.java
ccessibility/AccessibilityManager.java
nputmethod/InputMethodManager_Accessor.java
nputmethod/InputMethodManager_Delegate.java
9f6a119c8aa276432ece4fe2118bd8a3c9b1067e 28-Aug-2013 Mike Lockwood <lockwood@google.com> Move frameworks/base/tools/ to frameworks/tools/

Change-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8
ttachInfo_Accessor.java
ridgeInflater.java
horeographer_Delegate.java
isplay_Delegate.java
WindowManagerImpl.java
ayoutInflater_Delegate.java
urfaceView.java
iewConfiguration_Accessor.java
iewRootImpl_Delegate.java
iew_Delegate.java
indowManagerGlobal_Delegate.java
ccessibility/AccessibilityManager.java
nputmethod/InputMethodManager_Accessor.java
nputmethod/InputMethodManager_Delegate.java
ac6f843c917b68ea8805711965b149a9338e3a0e 17-Jul-2013 Craig Mautner <cmautner@google.com> Fix home activity and user switch interactions.

- 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
WindowManagerImpl.java
80f00c1f2375796dab09bc4ed5b7631c62f7e158 13-Jun-2013 John Spurlock <jspurlock@google.com> Remove concept of system bar from window manager.

It was already hardcoded to false, this change removes the dead code.

Change-Id: I5e543344e60f69cb9882a70ba29f7c09404ad9fc
WindowManagerImpl.java
04fe6ebb9f919f196ec06a19bebc09b8e943f95b 31-May-2013 Adam Powell <adamp@google.com> Fix a bug resolving the correct icon/logo in action bars

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
WindowManagerImpl.java
b437a79b050e8928ce7187899b7754f049008085 09-Apr-2013 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 21dffd5d to master

Change-Id: I37c48dee471c9d43f19c1fe4a01f70db53e2441f
f9e989d5f09e72f5c9a59d713521f37d3fdd93dd 05-Apr-2013 Jeff Brown <jeffbrown@google.com> Queues, queues, queues and input.

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
nputmethod/InputMethodManager_Accessor.java
nputmethod/InputMethodManager_Delegate.java
c849fbcf3ddd3cbb08840c72f7f325294c5d2802 02-Apr-2013 Brian Colonna <bcolonna@google.com> resolved conflicts for merge of 5856ee4b to master

Change-Id: I60ba85bc246b9cf25d467b2099535aad47f82ca7
b1b9a8ac07ea7d438eda613f4c798dd8b10a66ce 29-Mar-2013 Brian Colonna <bcolonna@google.com> FUL now restarts when flipping tablet 180 (bug 7484464)

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
WindowManagerImpl.java
96f2fef2460adcf815baa1c2a74e417451fe1237 27-Mar-2013 Dianne Hackborn <hackbod@google.com> am 483ac9a7: am b404ecc9: Merge "Fix build." into jb-mr2-dev

* commit '483ac9a779af452d7ef4007d0e24c569ee894557':
Fix build.
f3d46ce88f0777dddfbecebc9bd7f2f216206365 27-Mar-2013 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I51b87ee5f0b7f396aad7e239893d9f0764f04bb6
WindowManagerImpl.java
124af2d816c5337000e60c4d5a9c6b0319e5a3e6 19-Mar-2013 Craig Mautner <cmautner@google.com> Update layoutlib to latest interface.

Fix build..

Change-Id: I3504e8b8e8431ad76333e852cf42494b2404f8ad
WindowManagerImpl.java
2ad920759b1981eaf526fd37a314fbc5a3ed90ae 26-Feb-2013 Craig Mautner <cmautner@google.com> Revert ActivityManager changes for tasks. DO NOT MERGE

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
WindowManagerImpl.java
ee973c27e339a23e0b93d816a97b33954af66bea 19-Feb-2013 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I277de38a70f3a2e5c1997a3fe5c2e825692ae9e1
WindowManagerImpl.java
b0c0b1fd70e3edeb724e2b2fb2c7063eb943f05e 14-Feb-2013 Craig Mautner <cmautner@google.com> Remove unused App methods.

Now that the Task methods have replaced the App methods remove
the App methods.

Change-Id: I0e7432f2c6f99708759ed8c871d20eb5bd38c3c2
WindowManagerImpl.java
f5f7d9751a43b699b6e1c2e41ea0519bc54e39cd 29-Jan-2013 Svetoslav <svetoslavganov@google.com> Fixing the build

Change-Id: I8d47c7094efc8ff458cdac58a761d5f187c8fc32
WindowManagerImpl.java
2ec5093e5a908cea532e571aead6a5c024c553f7 15-Dec-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build

Change-Id: I01349d65ac5915da090cfb018f99e0a508f9d5ad
WindowManagerImpl.java
152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891 13-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Refactoring of the screen magnification feature.

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
WindowManagerImpl.java
4eeb4f664ac6b5901a8e874dcf70c0382295f792 08-Nov-2012 Jim Miller <jaggies@google.com> Add mechanism to kick keyguard to show the assistant

Fixes bug 7499778

Change-Id: Ic9ea514feb489feeee6716f40bdb9792842f9515
WindowManagerImpl.java
bfec0a8616bc197ee3b7b71be6fed1939d0c3c4d 06-Nov-2012 Jim Miller <jaggies@google.com> Add isSafeModeEnabled() API to WindowManagerService

This adds a means of determining when the device is in safe mode,
as required by keyguard to disabled some features.

Change-Id: I31d357e6738c92e1837f9e0263e5f3f4de66315a
WindowManagerImpl.java
6dfd0b39a63559999a769f93d5cdb48abe675344 15-Oct-2012 Xavier Ducrohet <xav@android.com> Fix SDK layout rendering in Eclipse.

Change-Id: I0e9e85632012c0929b987ee9d0ccf7c25eece322
horeographer_Delegate.java
isplay_Delegate.java
WindowManagerImpl.java
indowManagerGlobal_Delegate.java
98365d7663cbd82979a5700faf0050220b01084d 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Refactor for multi-display support.

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
ttachInfo_Accessor.java
fa25bf5382467b1018bd9af7f1cb30a23d7d59f7 24-Jul-2012 Jeff Brown <jeffbrown@google.com> Add display manager skeleton.

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
isplay_Delegate.java
22f700a1b8fb9d2ac7b261e30a46a040928c23bc 24-Mar-2012 Xavier Ducrohet <xav@android.com> Add Delegate for ViewRootImpl#isInTouchMode to prevent IPC call in Eclipse.

Also fix some new/removed method from BitmapFactory.

Change-Id: I606bd8bee6ff1e2c6c9472b4672175bfdaff45de
iewRootImpl_Delegate.java
a175a5b7ea3682cb58cca7f9726d0b8171cd549d 16-Feb-2012 Jeff Brown <jeffbrown@google.com> Encapsulate the ViewRootImpl's handler.

This change makes it much easier to make sense of the messages that
get posted to the ViewRootImpl's handler by encapsulating their point
of dispatch within the ViewRootImpl itself.

As part of this change, the View.AttachInfo now carries a reference
to the ViewRootImpl itself, which simplifies some code that used
to try to find the ViewRootImpl by getting the root view's parent.

In principle, it might have been nice to hide the ViewRootImpl from
the View hierarchy but in practice the two were coupled in many ways.

Change-Id: I51ebccdf5f8c8c505cd6f17cdf594174d041dc54
ttachInfo_Accessor.java
46d43ccfd8cef75b4315828073c094cf1efb05ff 03-Feb-2012 Xavier Ducrohet <xav@android.com> Make Layoutlib compile on Java 6.

Change-Id: Ic8f0e321c6c218de83664fc01f253a07fa80852c
urfaceView.java
f1dee199a009fec5e3a5d1469f654098261f8b06 01-Oct-2011 Xavier Ducrohet <xav@android.com> Layoutlib: add support for ITextServicesManager.

This include a fix in layoutlib_create to properly handle
delegating a static method of an inner class (was broken and
only worked on non static method).

Added a few comments here and there to *_Accessor classes so
that it's a bit more obvious what they are for and how they are
used.

Change-Id: Ifc31dd1a006393bb0c08e22b6a17f500dd62e090
ttachInfo_Accessor.java
iewConfiguration_Accessor.java
nputmethod/InputMethodManager_Accessor.java
387d078e64f3bcc8284732287bc3f26fce856a88 30-Sep-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Fix native delegate for Display.

Change-Id: If097cae2309d340162b3bac1d0f6a2289635adca
isplay_Delegate.java
7f9f99ea11051614a7727dfb9f9578b518e76e3c 11-Aug-2011 Xavier Ducrohet <xav@android.com> Make some methods/fields package private so that layoutlib can access them.

Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
ttachInfo_Accessor.java
ridgeInflater.java
isplay_Delegate.java
ayoutInflater_Delegate.java
iewConfiguration_Accessor.java
nputmethod/InputMethodManager_Accessor.java
d2f664d42cc29507b01a98622298b69131463825 30-Jul-2011 Xavier Ducrohet <xav@android.com> Misc layoutlib fix in preparation of the access change in framework code.

Change-Id: I873adb7345514be6daa5c4fea4ebabb515f203e2
ayoutInflater_Delegate.java
af64556de0064eeb5a4d4e6d634c3f074f5f40ce 20-Jul-2011 Xavier Ducrohet <xav@android.com> Layoutlib: misc fix + start of AndroidBidi support.

Change-Id: If2ce0b683da8cce01679322d503eed8dd474e521
nputmethod/InputMethodManager_Delegate.java
96131eef3869f2be1300e1620f5c3874b41bb534 12-Jul-2011 Xavier Ducrohet <xav@android.com> LayoutLib: updated fake accessbility manager and ensure there's an InputMethodManager

We had replaced the accessibility Manager but it lacked some new API. Obvisouly
this is fragile and should be fixed, but this works for now.

After fixing this there was another issue with the lack of InputMethodManager.
To fix this I had to create an implementation of IInputMethodManager which
normally comes from a binder object.

I may want to do a similar trick with the accessibility manager later.

Change-Id: I28c6494e333f39072f348d0199124efac93256a5
ccessibility/AccessibilityManager.java
nputmethod/InputMethodManager_Delegate.java
0a49635b171f3ba366b1a7ebf28791c4661829bd 12-Jul-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Delegate for Display and IWindowManager implementation.

This allows ViewConfiguration to be properly implemented which is now
required for the rendering to happen.

Change-Id: I55629689fa8f5f874b43fcac2aa0789ce02d58f4
isplay_Delegate.java
fb93ce9684120a36862b5b5e67b1865a652907e9 04-Jun-2011 Xavier Ducrohet <xav@android.com> Import the Layoutlib from hc-mr1.

This is squash commit of all the missing patches.

Change-Id: Ie081c46a173290646deddbde503a720d50c4400f
ayoutInflater_Delegate.java
9a4fe29c8d92014d2d9a848e9116b8cc9d0842f9 10-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Annotate the custom delegate methods.

Every method implementing a delegate needed by the
layoutlib_create bytecode modification must now be
annotated with LayoutlibDelegate.

The methods in the original source code that are delegated
are already automatically annotated. Now with the implementations
being annotated we can do bi-directional tests and find not
only missing implementations but also dead obsolete code.

This will be useful when backporting to earlier versions of
Android, or when native (non public) method disappear. In fact,
the new test detected one such method in Shader.

Change-Id: I491708b68ac2736ca5669aa86cd5e930a00f9db3
ayoutInflater_Delegate.java
iew_Delegate.java
82b9232565bfececdb643a94cecdd1bd1cb5c643 24-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Use special view cookie for include-merge case.

All items directly under the <merge> tag now return the view cookie
of the referencing <include> tag using a special class for
easy differentiation in the calling client.

Change-Id: I7a2a4e642be9564f47e256fd1586012497d34792
ayoutInflater_Delegate.java
ee592fe4e60e940599fc1ccf43a98eb80961feb8 13-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: move MockView back into its original package.

This is used by Eclipse when the custom view is not found.
It couldn't find the view in the new package either.

We should probably move this logic of creating a mock view
into the layout library instead.

Change-Id: Ifa1a717cddf7004a7719bb4d0798cd53b43273ea
urfaceView.java
071dee288ca726c7c15754c2559403b9cbf950bd 11-Nov-2010 Xavier Ducrohet <xav@android.com> Misc fix in layoutlib bridge + View.isIneditMode as delegate.

Change-Id: Ideab29167e933203da99d4270cebcb777726201f
iew_Delegate.java
c2e9651bf386a1f7bf7fc706cf5424950570470c 10-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib: New bridge implementation using the new API 5.

Since the new API prepare for stateful layoutlib, major
reorganization of the code.

New "android" sub-package for all extended android classes.
Also moved BridgeInflater in here so that all extended classes
are in this package. Only delegates and classes replacing
renamed classes are in their original android.* packages.
Also created full file for the empty implementations of
IWindow and IWindowSession.
New "impl" for the dirty work implementation.
Main package contains the basic implementation of the API.

Most of the code that was in Bridge is now in .impl.LayoutSceneImpl,
with the main init/inflate/render code split into the contrustrutor,
inflate() and render().

Change-Id: Ie15b15e5a1b2388cd6ef82e518345b1fc02ec981
ridgeInflater.java
urfaceView.java
625ac271f80777668f832a344486a6fcdc06d0ae 18-Sep-2010 Dianne Hackborn <hackbod@google.com> Work on fragments in layouts.

- Change semantics if IDs associated with these fragments, to
work correctly when placed in a container. If the container
has an ID or you have supplied a tag, the fragment's ID is
optional.

- To do this, there is a new LayoutInflater API that allows code
creating views to access the parent container that view will
be in.

- Fix issues with state management around these fragments. Now
correctly retains state when switching to a layout that doesn't
include the fragment.

Also:

- Add new simple list layouts for items that want to show an
activated state.
- Add new Activity.dump() that can be invoked with adb shell
dumpsys; the default implementation dumps fragment state.

Change-Id: I192f35e3ea8c53fbd26cf909095f2a994abfc1b6
ridgeInflater.java
08e2a4b56f23ce02f17300438f76ccc1f663f183 13-Aug-2009 Xavier Ducrohet <xav@android.com> Fix handling of reference XML file in layout files

This allows layout that references animation to properly load
in the layout editor in ADT
ccessibility/AccessibilityManager.java
7953e7d89b1d4d7297176fbb6aeea882577df8e6 13-Aug-2009 Xavier Ducrohet <xav@android.com> Mock ServiceManager and AccesibilityManager to make the view renders in ADT

BUG: 2049348
ccessibility/AccessibilityManager.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ridgeInflater.java
urfaceView.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ridgeInflater.java
urfaceView.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ridgeInflater.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ridgeInflater.java
urfaceView.java