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

Commit d0052038 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 8813441 from 2ae06d9b to tm-qpr1-release

Change-Id: I1789d74a063f942b71fbb769e82a558143644a0a
parents eaff61f2 2ae06d9b
Loading
Loading
Loading
Loading
+31 −3
Original line number Diff line number Diff line
@@ -1737,6 +1737,20 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession {
                } catch (IllegalStateException e) {
                    // This is possible in case the client disconnects from the output surface
                    // abruptly.
                    Log.w(TAG, "Output surface likely abandoned, dropping buffer!");
                    img.close();
                } catch (RuntimeException e) {
                    // NOTE: This is intended to catch RuntimeException from ImageReader.detachImage
                    // ImageReader.detachImage is not supposed to throw RuntimeExceptions but the
                    // bug went unchecked for a few years and now its behavior cannot be changed
                    // without breaking backwards compatibility.

                    if (!e.getClass().equals(RuntimeException.class)) {
                        // re-throw any exceptions that aren't base RuntimeException since they are
                        // coming from elsewhere, and we shouldn't silently drop those.
                        throw e;
                    }

                    Log.w(TAG, "Output surface likely abandoned, dropping buffer!");
                    img.close();
                }
@@ -1773,9 +1787,23 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession {
                }
                try {
                    reader.detachImage(img);
                } catch (Exception e) {
                    Log.e(TAG,
                            "Failed to detach image!");
                } catch (IllegalStateException e) {
                    Log.e(TAG, "Failed to detach image!");
                    img.close();
                    return;
                } catch (RuntimeException e) {
                    // NOTE: This is intended to catch RuntimeException from ImageReader.detachImage
                    // ImageReader.detachImage is not supposed to throw RuntimeExceptions but the
                    // bug went unchecked for a few years and now its behavior cannot be changed
                    // without breaking backwards compatibility.

                    if (!e.getClass().equals(RuntimeException.class)) {
                        // re-throw any exceptions that aren't base RuntimeException since they are
                        // coming from elsewhere, and we shouldn't silently drop those.
                        throw e;
                    }

                    Log.e(TAG, "Failed to detach image!");
                    img.close();
                    return;
                }
+2 −0
Original line number Diff line number Diff line
@@ -85,6 +85,8 @@ public class RootDisplayAreaOrganizer extends DisplayAreaOrganizer {
        }

        mDisplayAreasInfo.remove(displayId);
        mLeashes.get(displayId).release();
        mLeashes.remove(displayId);
    }

    @Override
+6 −1
Original line number Diff line number Diff line
@@ -529,7 +529,8 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
            }

            final int taskId = taskInfo.taskId;
            final TaskListener listener = getTaskListener(mTasks.get(taskId).getTaskInfo());
            final TaskAppearedInfo appearedInfo = mTasks.get(taskId);
            final TaskListener listener = getTaskListener(appearedInfo.getTaskInfo());
            mTasks.remove(taskId);
            if (listener != null) {
                listener.onTaskVanished(taskInfo);
@@ -539,6 +540,10 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
            notifyCompatUI(taskInfo, null /* taskListener */);
            // Notify the recent tasks that a task has been removed
            mRecentTasks.ifPresent(recentTasks -> recentTasks.onTaskRemoved(taskInfo));

            if (appearedInfo.getLeash() != null) {
                appearedInfo.getLeash().release();
            }
        }
    }

+3 −1
Original line number Diff line number Diff line
@@ -403,7 +403,9 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont
    private boolean shouldDispatchToLauncher(int backType) {
        return backType == BackNavigationInfo.TYPE_RETURN_TO_HOME
                && mBackToLauncherCallback != null
                && mEnableAnimations.get();
                && mEnableAnimations.get()
                && mBackNavigationInfo != null
                && mBackNavigationInfo.getDepartingAnimationTarget() != null;
    }

    private static void dispatchOnBackStarted(IOnBackInvokedCallback callback) {
+3 −2
Original line number Diff line number Diff line
@@ -128,9 +128,10 @@ class HideDisplayCutoutOrganizer extends DisplayAreaOrganizer {

            final WindowContainerTransaction wct = new WindowContainerTransaction();
            final SurfaceControl.Transaction t = new SurfaceControl.Transaction();
            applyBoundsAndOffsets(
                    displayAreaInfo.token, mDisplayAreaMap.get(displayAreaInfo.token), wct, t);
            final SurfaceControl leash = mDisplayAreaMap.get(displayAreaInfo.token);
            applyBoundsAndOffsets(displayAreaInfo.token, leash, wct, t);
            applyTransaction(wct, t);
            leash.release();
            mDisplayAreaMap.remove(displayAreaInfo.token);
        }
    }
Loading