Merge change Id8c9cb2f into eclair

* changes:
  More fix #2163209: alarm clock rings but is hidden behind lock screen
This commit is contained in:
Android (Google) Code Review
2009-10-08 00:58:46 -04:00
2 changed files with 22 additions and 0 deletions

View File

@@ -262,6 +262,13 @@ public interface WindowManagerPolicy {
*/
boolean isVisibleLw();
/**
* Like {@link #isVisibleLw}, but also counts a window that is currently
* "hidden" behind the keyguard as visible. This allows us to apply
* things like window flags that impact the keyguard.
*/
boolean isVisibleOrBehindKeyguardLw();
/**
* Is this window currently visible to the user on-screen? It is
* displayed either if it is visible or it is currently running an

View File

@@ -7573,6 +7573,21 @@ public class WindowManagerService extends IWindowManager.Stub
&& !mExiting && !mDestroying;
}
/**
* Like {@link #isVisibleLw}, but also counts a window that is currently
* "hidden" behind the keyguard as visible. This allows us to apply
* things like window flags that impact the keyguard.
* XXX I am starting to think we need to have ANOTHER visibility flag
* for this "hidden behind keyguard" state rather than overloading
* mPolicyVisibility. Ungh.
*/
public boolean isVisibleOrBehindKeyguardLw() {
final AppWindowToken atoken = mAppToken;
return mSurface != null && !mAttachedHidden
&& (atoken == null ? mPolicyVisibility : !atoken.hiddenRequested)
&& !mExiting && !mDestroying;
}
/**
* Is this window visible, ignoring its app token? It is not visible
* if there is no surface, or we are in the process of running an exit animation