Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1add22b authored by Albert Chaulk's avatar Albert Chaulk
Browse files

vrwm: Fix flickering when entering/leaving VR

There are two types of undefined layers now, 0 is used by layers
SurfaceFlinger inserts and -1 is used by Java when it does not
explicitly assign a type. Previously they were both using 0 but
have been separated to help the show/hide logic in the future.

Bug: 35915107
Test: Enter/exit VR apps, verify vrwm flicking is gone
Change-Id: I000a627f269c6533aedde1528329c04ab9db5372
parent 5ebcd56c
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -25,7 +25,8 @@ class HwcCallback : public VrComposerView::Callback {
  struct HwcLayer {
  struct HwcLayer {
    enum LayerType : uint32_t {
    enum LayerType : uint32_t {
      // These are from frameworks/base/core/java/android/view/WindowManager.java
      // These are from frameworks/base/core/java/android/view/WindowManager.java
      kUndefinedWindow = 0,
      kSurfaceFlingerLayer = 0,
      kUndefinedWindow = ~0U,
      kFirstApplicationWindow = 1,
      kFirstApplicationWindow = 1,
      kLastApplicationWindow = 99,
      kLastApplicationWindow = 99,
      kFirstSubWindow = 1000,
      kFirstSubWindow = 1000,
@@ -42,6 +43,7 @@ class HwcCallback : public VrComposerView::Callback {
        // Always skip the following layer types
        // Always skip the following layer types
      case kNavigationBar:
      case kNavigationBar:
      case kStatusBar:
      case kStatusBar:
      case kSurfaceFlingerLayer:
      case kUndefinedWindow:
      case kUndefinedWindow:
        return true;
        return true;
      default:
      default: