public override void OnCustomTabsServiceConnected(ComponentName name, CustomTabsClient client)
        {
            IServiceConnectionCallback connectionCallback = null;     //mConnectionCallback.Get();

            mConnectionCallback.TryGetTarget(out connectionCallback); //.Get();

            if (connectionCallback != null)
            {
                connectionCallback.OnServiceConnected(client);
            }
        }
        public override void OnServiceDisconnected(global::Android.Content.ComponentName name)
        {
            IServiceConnectionCallback connectionCallback = null; // mConnectionCallback.Get();

            mConnectionCallback.TryGetTarget(out connectionCallback);

            if (connectionCallback != null)
            {
                connectionCallback.OnServiceDisconnected();
            }
        }
        public override void OnServiceDisconnected(ComponentName name)
        {
            IServiceConnectionCallback connectionCallback = null; // mConnectionCallback.Get();

            mConnectionCallback.TryGetTarget(out connectionCallback);

            if (connectionCallback != null)
            {
                connectionCallback.OnServiceDisconnected();
            }

            return;
        }
        public override void OnCustomTabsServiceConnected
        (
            global::Android.Content.ComponentName name,
            global::Android.Support.CustomTabs.CustomTabsClient client
        )
        {
            IServiceConnectionCallback connectionCallback = null;     //mConnectionCallback.Get();

            mConnectionCallback.TryGetTarget(out connectionCallback); //.Get();

            if (connectionCallback != null)
            {
                connectionCallback.OnServiceConnected(client);
            }
        }
 public ServiceConnection(IServiceConnectionCallback connectionCallback)
 {
     mConnectionCallback = new System.WeakReference <IServiceConnectionCallback>(connectionCallback);
 }