public unsafe BitmapPreFiller(global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache p0, global::Com.Bumptech.Glide.Load.Engine.Bitmap_recycle.IBitmapPool p1, global::Com.Bumptech.Glide.Load.DecodeFormat p2)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);
                if (GetType() != typeof(BitmapPreFiller))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lcom/bumptech/glide/load/engine/cache/MemoryCache;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Lcom/bumptech/glide/load/DecodeFormat;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(Handle, "(Lcom/bumptech/glide/load/engine/cache/MemoryCache;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Lcom/bumptech/glide/load/DecodeFormat;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_bumptech_glide_load_engine_cache_MemoryCache_Lcom_bumptech_glide_load_engine_bitmap_recycle_BitmapPool_Lcom_bumptech_glide_load_DecodeFormat_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_bumptech_glide_load_engine_cache_MemoryCache_Lcom_bumptech_glide_load_engine_bitmap_recycle_BitmapPool_Lcom_bumptech_glide_load_DecodeFormat_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/bumptech/glide/load/engine/cache/MemoryCache;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Lcom/bumptech/glide/load/DecodeFormat;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_bumptech_glide_load_engine_cache_MemoryCache_Lcom_bumptech_glide_load_engine_bitmap_recycle_BitmapPool_Lcom_bumptech_glide_load_DecodeFormat_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(Handle, class_ref, id_ctor_Lcom_bumptech_glide_load_engine_cache_MemoryCache_Lcom_bumptech_glide_load_engine_bitmap_recycle_BitmapPool_Lcom_bumptech_glide_load_DecodeFormat_, __args);
            } finally {
            }
        }
        static IntPtr n_SetMemoryCache_Lcom_bumptech_glide_load_engine_cache_MemoryCache_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
        {
            global::Com.Bumptech.Glide.GlideBuilder __this = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.GlideBuilder> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache p0 = (global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache)global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache> (native_p0, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.SetMemoryCache(p0));

            return(__ret);
        }
        static IntPtr n_Put_Lcom_bumptech_glide_load_Key_Lcom_bumptech_glide_load_engine_Resource_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
        {
            global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache __this = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Bumptech.Glide.Load.IKey             p0 = (global::Com.Bumptech.Glide.Load.IKey)global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.IKey> (native_p0, JniHandleOwnership.DoNotTransfer);
            global::Com.Bumptech.Glide.Load.Engine.IResource p1 = (global::Com.Bumptech.Glide.Load.Engine.IResource)global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.IResource> (native_p1, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.Put(p0, p1));

            return(__ret);
        }
        public virtual unsafe global::Com.Bumptech.Glide.GlideBuilder SetMemoryCache(global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache p0)
        {
            if (id_setMemoryCache_Lcom_bumptech_glide_load_engine_cache_MemoryCache_ == IntPtr.Zero)
            {
                id_setMemoryCache_Lcom_bumptech_glide_load_engine_cache_MemoryCache_ = JNIEnv.GetMethodID(class_ref, "setMemoryCache", "(Lcom/bumptech/glide/load/engine/cache/MemoryCache;)Lcom/bumptech/glide/GlideBuilder;");
            }
            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(p0);

                global::Com.Bumptech.Glide.GlideBuilder __ret;
                if (GetType() == ThresholdType)
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.GlideBuilder> (JNIEnv.CallObjectMethod(Handle, id_setMemoryCache_Lcom_bumptech_glide_load_engine_cache_MemoryCache_, __args), JniHandleOwnership.TransferLocalRef);
                }
                else
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.GlideBuilder> (JNIEnv.CallNonvirtualObjectMethod(Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "setMemoryCache", "(Lcom/bumptech/glide/load/engine/cache/MemoryCache;)Lcom/bumptech/glide/GlideBuilder;"), __args), JniHandleOwnership.TransferLocalRef);
                }
                return(__ret);
            } finally {
            }
        }
 static void n_TrimMemory_I(IntPtr jnienv, IntPtr native__this, int p0)
 {
     global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache __this = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.TrimMemory(p0);
 }
 static void n_SetSizeMultiplier_F(IntPtr jnienv, IntPtr native__this, float p0)
 {
     global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache __this = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.SetSizeMultiplier(p0);
 }
 static void n_SetResourceRemovedListener_Lcom_bumptech_glide_load_engine_cache_MemoryCache_ResourceRemovedListener_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache __this = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCacheResourceRemovedListener p0 = (global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCacheResourceRemovedListener)global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCacheResourceRemovedListener> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.SetResourceRemovedListener(p0);
 }
 static int n_GetMaxSize(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache __this = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Engine.Cache.IMemoryCache> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.MaxSize);
 }