Loading services/core/java/com/android/server/wm/TrustedOverlayHost.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -113,7 +113,12 @@ class TrustedOverlayHost { for (int i = mOverlays.size() - 1; i >= 0; i--) { for (int i = mOverlays.size() - 1; i >= 0; i--) { SurfaceControlViewHost.SurfacePackage l = mOverlays.get(i); SurfaceControlViewHost.SurfacePackage l = mOverlays.get(i); if (l.getSurfaceControl().isSameSurface(p.getSurfaceControl())) { SurfaceControl overlaySurfaceControl = l.getSurfaceControl(); if (overlaySurfaceControl == null) { // Remove the overlay if the surfacepackage was released. Ownership // is shared, so this may happen. mOverlays.remove(i); } else if (overlaySurfaceControl.isSameSurface(p.getSurfaceControl())) { mOverlays.remove(i); mOverlays.remove(i); t.reparent(l.getSurfaceControl(), null); t.reparent(l.getSurfaceControl(), null); l.release(); l.release(); Loading Loading
services/core/java/com/android/server/wm/TrustedOverlayHost.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -113,7 +113,12 @@ class TrustedOverlayHost { for (int i = mOverlays.size() - 1; i >= 0; i--) { for (int i = mOverlays.size() - 1; i >= 0; i--) { SurfaceControlViewHost.SurfacePackage l = mOverlays.get(i); SurfaceControlViewHost.SurfacePackage l = mOverlays.get(i); if (l.getSurfaceControl().isSameSurface(p.getSurfaceControl())) { SurfaceControl overlaySurfaceControl = l.getSurfaceControl(); if (overlaySurfaceControl == null) { // Remove the overlay if the surfacepackage was released. Ownership // is shared, so this may happen. mOverlays.remove(i); } else if (overlaySurfaceControl.isSameSurface(p.getSurfaceControl())) { mOverlays.remove(i); mOverlays.remove(i); t.reparent(l.getSurfaceControl(), null); t.reparent(l.getSurfaceControl(), null); l.release(); l.release(); Loading