public static void SetWebViewClientFromObject(ServiceWebView wv, object webViewClient)
        {
            wv.SetWebViewClient(null);
            var type = webViewClient.GetType();

            if (type == typeof(Home))
            {
                wv.SetWebViewClient((Home)webViewClient);
            }
            else if (type == typeof(Subs))
            {
                wv.SetWebViewClient((Subs)webViewClient);
            }
            else if (type == typeof(Feed))
            {
                wv.SetWebViewClient((Feed)webViewClient);
            }
            else if (type == typeof(MyChannel))
            {
                wv.SetWebViewClient((MyChannel)webViewClient);
            }
            else if (type == typeof(Settings))
            {
                wv.SetWebViewClient((Settings)webViewClient);
            }
            else
            {
                wv.SetWebViewClient((Subs)webViewClient);
            }
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            try
            {
                if (FragmentContainerLayout == null)
                {
                    FragmentContainerLayout = inflater.Inflate(Resource.Layout.Tab2FragLayout, container, false);
                }
                if (TabFragmentRelativeLayout == null)
                {
                    TabFragmentRelativeLayout = FragmentContainerLayout.FindViewById <RelativeLayout>(Resource.Id.feedTabRelativeLayout);
                }
                if (FeedView == null)
                {
                    FeedView = inflater.Inflate(Resource.Layout.FeedLayout, container, false);
                }
                if (WebViewFragmentLayout == null)
                {
                    WebViewFragmentLayout = inflater.Inflate(Resource.Layout.Tab2WebView, container, false);
                }
                if (VideoDetailView == null)
                {
                    VideoDetailView = inflater.Inflate(Resource.Layout.VideoDetailView, container, false);
                }
                Wv         = (ServiceWebView)FragmentContainerLayout.FindViewById <ServiceWebView>(Resource.Id.webView2);
                Wv.RootUrl = RootUrl;
                if (WebViewClient.GetType() == typeof(LoginWebViewClient))
                {
                    Wv.SetWebViewClient((LoginWebViewClient)WebViewClient);
                }
                else
                {
                    Wv.SetWebViewClient((Feed)WebViewClient);
                }
                Wv.Settings.MediaPlaybackRequiresUserGesture = false;
                Wv.Settings.JavaScriptEnabled = true;
                if (AppSettings.ZoomControl)
                {
                    Wv.Settings.BuiltInZoomControls = true;
                    Wv.Settings.DisplayZoomControls = false;
                }
                Wv.Settings.DisplayZoomControls = false;
                SwapFeedView();
                GetRecyclerFeedAdapter(container);
                VideoDetail = new ViewModel.VideoDetailLoader(TabFragmentRelativeLayout, null, this.Uid);
                GetFragmentById(this.Uid, this);
                GetSubscriptionFeed();

                LoginLayout = inflater.Inflate(Resource.Layout.Login, container, false);
                return(FragmentContainerLayout);
            }
            catch { }
            return(null);
        }
예제 #3
0
        public static async void MakeAvatarsClickable(ServiceWebView serviceWebView = null, WebView webView = null, bool useInternalListener = false, int delay = 2000)
        {
            await Task.Delay(delay);

            if (serviceWebView != null)
            {
                ViewHelpers.DoActionOnUiThread(() =>
                {
                    serviceWebView.LoadUrl(JavascriptCommands.GetInjectable(BaseCommentAvatarClickAdder));
                });
                return;
            }
            else if (webView != null)
            {
                ViewHelpers.DoActionOnUiThread(() =>
                {
                    webView.LoadUrl(JavascriptCommands.GetInjectable(BaseCommentAvatarClickAdder));
                });
                return;
            }
            return;
        }
 public static void SetCallbackValue(ServiceWebView wv, string javascript)
 {
     new ExtWebValueCallbackListener(wv.Id).SetReceiveValue(wv, javascript);
 }
 public void SetReceiveValue(ServiceWebView wv, string javascript)
 {
     ViewHelpers.DoActionOnUiThread(() => wv.EvaluateJavascript(javascript, this));
 }