diff --git a/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java b/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java index b4204e64e0..a6db024dc4 100644 --- a/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java +++ b/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java @@ -25,6 +25,7 @@ import android.view.View; import android.view.View.OnAttachStateChangeListener; import android.view.ViewRootImpl; +import com.android.launcher3.Utilities; import com.android.quickstep.RemoteAnimationTargets.ReleaseCheck; import app.lawnchair.compat.LawnchairQuickstepCompat; @@ -76,7 +77,11 @@ public class SurfaceTransactionApplier extends ReleaseCheck { private void initialize(View view) { mTargetViewRootImpl = view.getViewRootImpl(); - mBarrierSurfaceControl = mTargetViewRootImpl.getSurfaceControl(); + try { + mBarrierSurfaceControl = mTargetViewRootImpl.getSurfaceControl(); + } catch (Throwable t) { + // Ignore + } mInitialized = true; } @@ -109,6 +114,7 @@ public class SurfaceTransactionApplier extends ReleaseCheck { final int toApplySeqNo = mLastSequenceNumber; setCanRelease(false); mTargetViewRootImpl.registerRtFrameCallback(frame -> { + if (mBarrierSurfaceControl == null && !Utilities.ATLEAST_Q) return; if (mBarrierSurfaceControl == null || !mBarrierSurfaceControl.isValid()) { Message.obtain(mApplyHandler, MSG_UPDATE_SEQUENCE_NUMBER, toApplySeqNo, 0) .sendToTarget(); diff --git a/systemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java b/systemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java index 766944a740..a8cbf275dc 100644 --- a/systemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +++ b/systemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java @@ -172,7 +172,7 @@ public class TaskStackChangeListeners { if (!LawnchairQuickstepCompat.ATLEAST_V) return; ActivityTaskManager.getService().registerTaskStackListener(this); mRegistered = true; - } catch (Exception e) { + } catch (Throwable e) { Log.w(TAG, "Failed to call registerTaskStackListener", e); } } @@ -190,7 +190,7 @@ public class TaskStackChangeListeners { if (!LawnchairQuickstepCompat.ATLEAST_V) return; ActivityTaskManager.getService().unregisterTaskStackListener(this); mRegistered = false; - } catch (Exception e) { + } catch (Throwable e) { Log.w(TAG, "Failed to call unregisterTaskStackListener", e); } }