public void Destroy() { if (_weakDecorView != null && _weakDecorView.TryGetTarget(out var mDecorView)) { UnsubscribeToPreDraw(mDecorView); } Release(); _weakDecorView = null; }
public void SetRootView(View rootView) { var mDecorView = GetRootView(); if (mDecorView != rootView) { UnsubscribeToPreDraw(mDecorView); _weakDecorView = new JniWeakReference <View>(rootView); if (IsAttachedToWindow) { OnAttached(rootView); } } }
public void SetRootView(View rootView) { var mDecorView = GetRootView(); if (mDecorView != rootView) { mDecorView?.ViewTreeObserver.RemoveOnPreDrawListener(preDrawListener); _weakDecorView = new JniWeakReference <View>(rootView); if (IsAttachedToWindow) { OnAttached(rootView); } } }
public PreDrawListener(RealtimeBlurView blurView) { _weakBlurView = new JniWeakReference <RealtimeBlurView>(blurView); }