diff --git a/GITHUB_CHANGELOG.md b/GITHUB_CHANGELOG.md index 9618fc5eea..b4c790f105 100644 --- a/GITHUB_CHANGELOG.md +++ b/GITHUB_CHANGELOG.md @@ -46,6 +46,7 @@ Compatibility list: * [Lawnchair] Reimplement Bulk icons toggle * SettingsCache crashing with SecurityException with unreadable keys (@hide) in Android 12 and newer (assume false) * Assume flags `enableMovingContentIntoPrivateSpace` is false when ClassNotFoundException on Android 16 devices +* Rare NoSuchMethodError crash on SurfaceControl setEarlyWakeupStart and setEarlyWakeupEnd #### Known Bugs * Preview can't show device wallpaper -> (lIxkAYGg) diff --git a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java index de20f779a7..178fe9d6b6 100644 --- a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java +++ b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java @@ -260,11 +260,19 @@ public final class TaskbarOverlayController { boolean wantsEarlyWakeUp = radius > 0 && radius < mMaxBlurRadius; if (wantsEarlyWakeUp && !mInEarlyWakeUp) { Log.d(TAG, "setBackgroundBlurRadius: setting early wakeup"); - transaction.setEarlyWakeupStart(); + try { + transaction.setEarlyWakeupStart(); + } catch (NoSuchMethodError e) { + // LC-Ignored: wtf? + } mInEarlyWakeUp = true; } else if (!wantsEarlyWakeUp && mInEarlyWakeUp) { Log.d(TAG, "setBackgroundBlurRadius: clearing early wakeup"); - transaction.setEarlyWakeupEnd(); + try { + transaction.setEarlyWakeupEnd(); + } catch (NoSuchMethodError e) { + // LC-Ignored: wtf? + } mInEarlyWakeUp = false; } diff --git a/quickstep/src/com/android/quickstep/util/BaseDepthController.java b/quickstep/src/com/android/quickstep/util/BaseDepthController.java index 89f1e33d6e..df7b148f7c 100644 --- a/quickstep/src/com/android/quickstep/util/BaseDepthController.java +++ b/quickstep/src/com/android/quickstep/util/BaseDepthController.java @@ -208,10 +208,18 @@ public class BaseDepthController { // SurfaceFlinger will adjust its internal offsets to avoid jank. boolean wantsEarlyWakeUp = depth > 0 && depth < 1; if (wantsEarlyWakeUp && !mInEarlyWakeUp) { - transaction.setEarlyWakeupStart(); + try { + transaction.setEarlyWakeupStart(); + } catch (NoSuchMethodError e) { + // LC-Ignored: wtf? + } mInEarlyWakeUp = true; } else if (!wantsEarlyWakeUp && mInEarlyWakeUp) { - transaction.setEarlyWakeupEnd(); + try { + transaction.setEarlyWakeupEnd(); + } catch (NoSuchMethodError e) { + // LC-Ignored: wtf? + } mInEarlyWakeUp = false; }