diff options
author | Brian Colonna <bcolonna@google.com> | 2013-03-29 11:52:42 -0400 |
---|---|---|
committer | Brian Colonna <bcolonna@google.com> | 2013-03-29 18:35:43 -0400 |
commit | b1b9a8ac07ea7d438eda613f4c798dd8b10a66ce (patch) | |
tree | 842924f02503946c4cde9d1cc21817b2a4d3af48 /tools | |
parent | da160ec313d844b09818a91463631440a1b8a09c (diff) | |
download | frameworks_base-b1b9a8ac07ea7d438eda613f4c798dd8b10a66ce.zip frameworks_base-b1b9a8ac07ea7d438eda613f4c798dd8b10a66ce.tar.gz frameworks_base-b1b9a8ac07ea7d438eda613f4c798dd8b10a66ce.tar.bz2 |
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
Diffstat (limited to 'tools')
-rw-r--r-- | tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java index 6fbe32f..434b131 100644 --- a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java +++ b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java @@ -449,6 +449,10 @@ public class IWindowManagerImpl implements IWindowManager { } @Override + public void removeRotationWatcher(IRotationWatcher arg0) throws RemoteException { + } + + @Override public boolean waitForWindowDrawn(IBinder token, IRemoteCallback callback) { return false; } |