public unsafe HeaderRenderer(global::Com.Liveperson.Infra.UI.View.Header.Util.IOrientationProvider p0)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(p0);
                if (((object)this).GetType() != typeof(HeaderRenderer))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Lcom/liveperson/infra/ui/view/header/util/OrientationProvider;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lcom/liveperson/infra/ui/view/header/util/OrientationProvider;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/liveperson/infra/ui/view/header/util/OrientationProvider;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_, __args);
            } finally {
            }
        }
        static int n_GetOrientation_Landroid_support_v7_widget_RecyclerView_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
        {
            global::Com.Liveperson.Infra.UI.View.Header.Util.IOrientationProvider __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.UI.View.Header.Util.IOrientationProvider> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Android.Support.V7.Widget.RecyclerView p0 = global::Java.Lang.Object.GetObject <global::Android.Support.V7.Widget.RecyclerView> (native_p0, JniHandleOwnership.DoNotTransfer);
            int __ret = __this.GetOrientation(p0);

            return(__ret);
        }
        public unsafe HeaderPositionCalculator(global::Com.Liveperson.Infra.UI.View.Header.IStickyRecyclerHeadersAdapter p0, global::Com.Liveperson.Infra.UI.View.Header.Caching.IHeaderProvider p1, global::Com.Liveperson.Infra.UI.View.Header.Util.IOrientationProvider p2, global::Com.Liveperson.Infra.UI.View.Header.Calculation.DimensionCalculator p3)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [4];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);
                __args [3] = new JValue(p3);
                if (((object)this).GetType() != typeof(HeaderPositionCalculator))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Lcom/liveperson/infra/ui/view/header/StickyRecyclerHeadersAdapter;Lcom/liveperson/infra/ui/view/header/caching/HeaderProvider;Lcom/liveperson/infra/ui/view/header/util/OrientationProvider;Lcom/liveperson/infra/ui/view/header/calculation/DimensionCalculator;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lcom/liveperson/infra/ui/view/header/StickyRecyclerHeadersAdapter;Lcom/liveperson/infra/ui/view/header/caching/HeaderProvider;Lcom/liveperson/infra/ui/view/header/util/OrientationProvider;Lcom/liveperson/infra/ui/view/header/calculation/DimensionCalculator;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_liveperson_infra_ui_view_header_StickyRecyclerHeadersAdapter_Lcom_liveperson_infra_ui_view_header_caching_HeaderProvider_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_Lcom_liveperson_infra_ui_view_header_calculation_DimensionCalculator_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_liveperson_infra_ui_view_header_StickyRecyclerHeadersAdapter_Lcom_liveperson_infra_ui_view_header_caching_HeaderProvider_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_Lcom_liveperson_infra_ui_view_header_calculation_DimensionCalculator_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/liveperson/infra/ui/view/header/StickyRecyclerHeadersAdapter;Lcom/liveperson/infra/ui/view/header/caching/HeaderProvider;Lcom/liveperson/infra/ui/view/header/util/OrientationProvider;Lcom/liveperson/infra/ui/view/header/calculation/DimensionCalculator;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_liveperson_infra_ui_view_header_StickyRecyclerHeadersAdapter_Lcom_liveperson_infra_ui_view_header_caching_HeaderProvider_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_Lcom_liveperson_infra_ui_view_header_calculation_DimensionCalculator_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lcom_liveperson_infra_ui_view_header_StickyRecyclerHeadersAdapter_Lcom_liveperson_infra_ui_view_header_caching_HeaderProvider_Lcom_liveperson_infra_ui_view_header_util_OrientationProvider_Lcom_liveperson_infra_ui_view_header_calculation_DimensionCalculator_, __args);
            } finally {
            }
        }