diff options
| author | Tarandeep Singh <tarandeep@google.com> | 2019-04-22 12:28:43 -0700 |
|---|---|---|
| committer | Tarandeep Singh <tarandeep@google.com> | 2019-04-30 14:41:23 -0700 |
| commit | e439dec155be12865b49602146a89fa87f90fd73 (patch) | |
| tree | 49ccf4874fc24e548f62818a03135aef6472610e /core/java | |
| parent | 7f39f77d6c042dcb2889c7ab6db2daf3ca98c635 (diff) | |
Propagate light nav bar info
When SystemUI (notification UI) is pulled down, the windows behind are
dimmed, including navigation bar. At this point of time, navigationbar
color could be controlled by IME and system overrides it.
With this fix, we check if IME is already controlling navbar color.
Change-Id: I9f25860a5b7858f1d17d2921816910a938c656bb
Fix: 122439339
Test: Manually verified using steps in bug.
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/statusbar/IStatusBar.aidl | 4 | ||||
| -rw-r--r-- | core/java/com/android/internal/statusbar/RegisterStatusBarResult.java | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl index cfc32cf67016..7e501d27d30f 100644 --- a/core/java/com/android/internal/statusbar/IStatusBar.aidl +++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl @@ -50,9 +50,11 @@ oneway interface IStatusBar * @param mask which flags to change * @param fullscreenBounds the current bounds of the fullscreen stack, in screen coordinates * @param dockedBounds the current bounds of the docked stack, in screen coordinates + * @param navbarColorManagedByIme {@code true} if navigation bar color is managed by IME. */ void setSystemUiVisibility(int displayId, int vis, int fullscreenStackVis, int dockedStackVis, - int mask, in Rect fullscreenBounds, in Rect dockedBounds); + int mask, in Rect fullscreenBounds, in Rect dockedBounds, + boolean navbarColorManagedByIme); void topAppWindowChanged(int displayId, boolean menuVisible); void setImeWindowStatus(int displayId, in IBinder token, int vis, int backDisposition, diff --git a/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java index ff94264d9b90..6b0f8b2f5dc9 100644 --- a/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java +++ b/core/java/com/android/internal/statusbar/RegisterStatusBarResult.java @@ -39,12 +39,13 @@ public final class RegisterStatusBarResult implements Parcelable { public final IBinder mImeToken; public final Rect mFullscreenStackBounds; public final Rect mDockedStackBounds; + public final boolean mNavbarColorManagedByIme; public RegisterStatusBarResult(ArrayMap<String, StatusBarIcon> icons, int disabledFlags1, int systemUiVisibility, boolean menuVisible, int imeWindowVis, int imeBackDisposition, boolean showImeSwitcher, int disabledFlags2, int fullscreenStackSysUiVisibility, int dockedStackSysUiVisibility, IBinder imeToken, Rect fullscreenStackBounds, - Rect dockedStackBounds) { + Rect dockedStackBounds, boolean navbarColorManagedByIme) { mIcons = new ArrayMap<>(icons); mDisabledFlags1 = disabledFlags1; mSystemUiVisibility = systemUiVisibility; @@ -58,6 +59,7 @@ public final class RegisterStatusBarResult implements Parcelable { mImeToken = imeToken; mFullscreenStackBounds = fullscreenStackBounds; mDockedStackBounds = dockedStackBounds; + mNavbarColorManagedByIme = navbarColorManagedByIme; } @Override @@ -80,6 +82,7 @@ public final class RegisterStatusBarResult implements Parcelable { dest.writeStrongBinder(mImeToken); dest.writeTypedObject(mFullscreenStackBounds, flags); dest.writeTypedObject(mDockedStackBounds, flags); + dest.writeBoolean(mNavbarColorManagedByIme); } /** @@ -103,11 +106,12 @@ public final class RegisterStatusBarResult implements Parcelable { final IBinder imeToken = source.readStrongBinder(); final Rect fullscreenStackBounds = source.readTypedObject(Rect.CREATOR); final Rect dockedStackBounds = source.readTypedObject(Rect.CREATOR); + final boolean navbarColorManagedByIme = source.readBoolean(); return new RegisterStatusBarResult(icons, disabledFlags1, systemUiVisibility, menuVisible, imeWindowVis, imeBackDisposition, showImeSwitcher, disabledFlags2, fullscreenStackSysUiVisibility, dockedStackSysUiVisibility, imeToken, fullscreenStackBounds, - dockedStackBounds); + dockedStackBounds, navbarColorManagedByIme); } @Override |
