internal void AddWebTab( string url, string tabName, string imageName, bool isSwitch, string tabKey = "", bool forceRefresh = false) { if (FeatureManager.Instance.IsCustomUIForNCSoft) { return; } if (RegistryManager.Instance.InstallationType == InstallationTypes.GamingEdition) { Process.Start(url); } else { bool flag = false; if (!string.IsNullOrEmpty(tabKey)) { flag = true; } if (this.mDictTabs.ContainsKey(flag ? tabKey : url)) { if (this.mDictTabs[flag ? tabKey : url].GetBrowserControl() == null) { this.mDictTabs[tabKey].mControlGrid = this.ParentWindow.AddBrowser(url); this.mDictTabs[tabKey].Init(tabName, url, imageName, this.mDictTabs[tabKey].mControlGrid, tabKey); } if (flag && string.Compare(url, this.mDictTabs[tabKey].PackageName, StringComparison.OrdinalIgnoreCase) != 0) { BrowserControl browserControl = this.mDictTabs[tabKey].GetBrowserControl(); this.mDictTabs[tabKey].Init(tabName, url, imageName, this.mDictTabs[tabKey].mControlGrid, tabKey); browserControl?.UpdateUrlAndRefresh(url); } else if (forceRefresh) { BrowserControl browserControl = this.mDictTabs[flag ? tabKey : url].GetBrowserControl(); browserControl.UpdateUrlAndRefresh(browserControl.mUrl); } this.GoToTab(flag ? tabKey : url, true, false); } else { AppTabButton button = new AppTabButton(); Grid controlGrid = this.ParentWindow.AddBrowser(url); controlGrid.Visibility = Visibility.Visible; button.Init(tabName, url, imageName, controlGrid, flag ? tabKey : url); button.MouseUp += new MouseButtonEventHandler(this.AppTabButton_MouseUp); if (this.ParentWindow.mDiscordhandler != null) { this.ParentWindow.mDiscordhandler.AssignTabChangeEvent(button); } this.mDictTabs.Add(flag ? tabKey : url, button); this.mPanel.Children.Add((UIElement)button); this.ResizeTabs(); if (isSwitch) { this.GoToTab(flag ? tabKey : url, true, false); } ClientStats.SendMiscellaneousStatsAsync("WebTabLaunched", RegistryManager.Instance.UserGuid, url, button.AppLabel, RegistryManager.Instance.Version, Oem.Instance.OEM, (string)null, (string)null, (string)null, "Android"); } } }