void SetActivity()
        {
            CallPageActivity = this.Context as Activity;
            CallView         = CallPageActivity.LayoutInflater.Inflate(Resource.Layout.activity_call, this, false);

            FullScreenRenderer = CallView.FindViewById <SurfaceViewRenderer>(Resource.Id.fullscreen_video_view);
            PipScreenRenderer  = CallView.FindViewById <SurfaceViewRenderer>(Resource.Id.pip_video_view);

            CallFragment = CreateCallFragment(CallPageActivity.Intent);

            LocalVideoRenderer  = new PlatformVideoRenderer();
            RemoteVideoRenderer = new PlatformVideoRenderer();

            PipScreenRenderer.Click += PipScreenRenderer_Click;
            PipScreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFit);
            PipScreenRenderer.SetZOrderMediaOverlay(true);
            PipScreenRenderer.SetEnableHardwareScaler(true);


            FullScreenRenderer.Click += FullScreenRenderer_Click;
            FullScreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFill);
            FullScreenRenderer.SetEnableHardwareScaler(false);


            SetSwappedFeeds(true);

            var fragmentTransaction = MainActivity.Instance.SupportFragmentManager.BeginTransaction();

            fragmentTransaction.Add(Resource.Id.call_fragment_container, CallFragment);
            fragmentTransaction.Commit();

            CallController = CreateController();
            Connect(CallController, CallPageActivity.Intent);
        }
Esempio n. 2
0
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null || Element == null)
            {
                return;
            }


            var callPage = (CallPage)e.NewElement;

            RoomId     = callPage.RoomId;
            IsInitator = callPage.IsInitator;

            videoCallView          = new VideoCallView(CGRect.Empty, !isSimulator);
            videoCallView.Delegate = this;

            localVideoRenderer  = new PlatformVideoRenderer();
            remoteVideoRenderer = new PlatformVideoRenderer();

            localVideoRenderer.Renderer  = videoCallView.LocalVideoRender;
            remoteVideoRenderer.Renderer = videoCallView.RemoteVideoRender;

            if (NativeView != null)
            {
            }
        }