diff options
Diffstat (limited to 'core/java/android/view/View.java')
| -rw-r--r-- | core/java/android/view/View.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 784164d243f1..117faf0b61ed 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -3890,6 +3890,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * cleanup. */ final RenderNode mRenderNode; + private Runnable mRenderNodeDetachedCallback; /** * Set to true when the view is sending hover accessibility events because it @@ -16013,6 +16014,20 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @hide */ public void onRenderNodeDetached(RenderNode renderNode) { + if (renderNode == mRenderNode && mRenderNodeDetachedCallback != null) { + mRenderNodeDetachedCallback.run(); + } + } + + /** + * Set callback for functor detach. Exposed to WebView through WebViewDelegate. + * Should not be used otherwise. + * @hide + */ + public final Runnable setRenderNodeDetachedCallback(@Nullable Runnable callback) { + Runnable oldCallback = mRenderNodeDetachedCallback; + mRenderNodeDetachedCallback = callback; + return oldCallback; } /** |
