/// <summary> /// Finished the launching. /// </summary> /// <param name="app">The app.</param> /// <param name="options">The options.</param> /// <returns>True or false.</returns> public override bool FinishedLaunching(UIApplication app, NSDictionary options) { Crashlytics.Instance.Initialize(); Fabric.Instance.Initialize(); #if DEBUG Fabric.Instance.Debug = true; #endif Window = new UIWindow(UIScreen.MainScreen.Bounds); Presenter = new IosViewPresenter(this.Window); var setup = new Setup(this, Presenter); setup.Initialize(); var culture = new System.Globalization.CultureInfo("en"); System.Threading.Thread.CurrentThread.CurrentCulture = culture; System.Threading.Thread.CurrentThread.CurrentUICulture = culture; System.Globalization.CultureInfo.DefaultThreadCurrentCulture = culture; System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = culture; // Setup theme UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, true); Theme.Setup(); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IApplicationService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IAccountsService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IAlertDialogService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <INetworkActivityService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IMessageService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IInAppPurchaseService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IFeaturesService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <ILoginService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IMarkdownService>()); Locator.CurrentMutable.RegisterConstant(Mvx.Resolve <IPushNotificationsService>()); Locator.CurrentMutable.RegisterLazySingleton( () => new ImgurService(), typeof(IImgurService)); var features = Mvx.Resolve <IFeaturesService>(); var purchaseService = Mvx.Resolve <IInAppPurchaseService>(); purchaseService.ThrownExceptions.Subscribe(ex => { var error = new Core.UserError("Error Purchasing", ex.Message); Core.Interactions.Errors.Handle(error).Subscribe(); }); Core.Interactions.Errors.RegisterHandler(interaction => { var error = interaction.Input; AlertDialogService.ShowAlert(error.Title, error.Message); interaction.SetOutput(System.Reactive.Unit.Default); }); #if DEBUG features.ActivateProDirect(); #endif //options = new NSDictionary (UIApplication.LaunchOptionsRemoteNotificationKey, //new NSDictionary ("r", "octokit/octokit.net", "i", "739", "u", "thedillonb")); if (options != null) { if (options.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey)) { var remoteNotification = options[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; if (remoteNotification != null) { HandleNotification(remoteNotification, true); } } } // Set the client constructor GitHubSharp.Client.ClientConstructor = () => new HttpClient(new CustomHttpMessageHandler()); if (!Core.Settings.HasSeenWelcome) { Core.Settings.HasSeenWelcome = true; var welcomeViewController = new ViewControllers.Walkthrough.WelcomePageViewController(); welcomeViewController.WantsToDimiss += GoToStartupView; TransitionToViewController(welcomeViewController); } else { GoToStartupView(); } Window.MakeKeyAndVisible(); // Notifications don't work on teh simulator so don't bother if (Runtime.Arch != Arch.SIMULATOR && features.IsProEnabled) { RegisterUserForNotifications(); } return(true); }
/// <summary> /// Finished the launching. /// </summary> /// <param name="app">The app.</param> /// <param name="options">The options.</param> /// <returns>True or false.</returns> public override bool FinishedLaunching(UIApplication app, NSDictionary options) { Window = new UIWindow(UIScreen.MainScreen.Bounds); Presenter = new IosViewPresenter(this.Window); var setup = new Setup(this, Presenter); setup.Initialize(); // Setup theme UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, true); Theme.Setup(); var features = Mvx.Resolve <IFeaturesService>(); var defaultValueService = Mvx.Resolve <IDefaultValueService>(); var installedDate = this.StampInstallDate("CodeHub"); Console.WriteLine("CodeHub was installed on: " + installedDate); if (installedDate < new DateTime(2016, 3, 5, 1, 1, 1)) { features.ActivateProDirect(); } if (!features.IsProEnabled) { bool isActive; if (defaultValueService.TryGet(FeaturesService.EnterpriseSupport, out isActive) && isActive) { features.ActivateProDirect(); } else if (defaultValueService.TryGet(FeaturesService.PushNotifications, out isActive) && isActive) { features.ActivateProDirect(); } } // // options = new NSDictionary (UIApplication.LaunchOptionsRemoteNotificationKey, // new NSDictionary ("r", "octokit/octokit.net", "i", "739", "u", "thedillonb")); // if (options != null) { if (options.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey)) { var remoteNotification = options[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; if (remoteNotification != null) { HandleNotification(remoteNotification, true); } } } // Set the client constructor GitHubSharp.Client.ClientConstructor = () => new HttpClient(new HttpMessageHandler()); bool hasSeenWelcome; if (!defaultValueService.TryGet("HAS_SEEN_WELCOME_INTRO", out hasSeenWelcome) || !hasSeenWelcome) { defaultValueService.Set("HAS_SEEN_WELCOME_INTRO", true); var welcomeViewController = new CodeHub.iOS.ViewControllers.Walkthrough.WelcomePageViewController(); welcomeViewController.WantsToDimiss += GoToStartupView; TransitionToViewController(welcomeViewController); } else { GoToStartupView(); } Window.MakeKeyAndVisible(); // Notifications don't work on teh simulator so don't bother if (Runtime.Arch != Arch.SIMULATOR && features.IsPushNotificationsActivated) { RegisterUserForNotifications(); } return(true); }
/// <summary> /// Finished the launching. /// </summary> /// <param name="app">The app.</param> /// <param name="options">The options.</param> /// <returns>True or false.</returns> public override bool FinishedLaunching(UIApplication app, NSDictionary options) { Window = new UIWindow(UIScreen.MainScreen.Bounds); Presenter = new IosViewPresenter(this.Window); var setup = new Setup(this, Presenter); setup.Initialize(); // Initialize the error service! Mvx.Resolve <IErrorService>().Init(); var culture = new System.Globalization.CultureInfo("en"); System.Threading.Thread.CurrentThread.CurrentUICulture = culture; System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = culture; // Setup theme UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, true); Theme.Setup(); var features = Mvx.Resolve <IFeaturesService>(); var defaultValueService = Mvx.Resolve <IDefaultValueService>(); var purchaseService = Mvx.Resolve <IInAppPurchaseService>(); purchaseService.ThrownExceptions.Subscribe(ex => { AlertDialogService.ShowAlert("Error Purchasing", ex.Message); }); #if DEBUG features.ActivateProDirect(); #endif // options = new NSDictionary (UIApplication.LaunchOptionsRemoteNotificationKey, // new NSDictionary ("r", "octokit/octokit.net", "i", "739", "u", "thedillonb")); // if (options != null) { if (options.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey)) { var remoteNotification = options[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; if (remoteNotification != null) { HandleNotification(remoteNotification, true); } } } // Set the client constructor GitHubSharp.Client.ClientConstructor = () => new HttpClient(new HttpMessageHandler()); bool hasSeenWelcome; if (!defaultValueService.TryGet("HAS_SEEN_WELCOME_INTRO", out hasSeenWelcome) || !hasSeenWelcome) { defaultValueService.Set("HAS_SEEN_WELCOME_INTRO", true); var welcomeViewController = new CodeHub.iOS.ViewControllers.Walkthrough.WelcomePageViewController(); welcomeViewController.WantsToDimiss += GoToStartupView; TransitionToViewController(welcomeViewController); } else { GoToStartupView(); } Window.MakeKeyAndVisible(); // Notifications don't work on teh simulator so don't bother if (Runtime.Arch != Arch.SIMULATOR && features.IsProEnabled) { RegisterUserForNotifications(); } return(true); }
/// <summary> /// Finished the launching. /// </summary> /// <param name="app">The app.</param> /// <param name="options">The options.</param> /// <returns>True or false.</returns> public override bool FinishedLaunching(UIApplication app, NSDictionary options) { Window = new UIWindow(UIScreen.MainScreen.Bounds); Presenter = new IosViewPresenter(this.Window); var setup = new Setup(this, Presenter); setup.Initialize(); // Initialize the error service! var errorService = Mvx.Resolve<IErrorService>(); errorService.Init(); var culture = new System.Globalization.CultureInfo("en"); System.Threading.Thread.CurrentThread.CurrentUICulture = culture; System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = culture; // Setup theme UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, true); Theme.Setup(); var features = Mvx.Resolve<IFeaturesService>(); var defaultValueService = Mvx.Resolve<IDefaultValueService>(); var purchaseService = Mvx.Resolve<IInAppPurchaseService>(); purchaseService.ThrownExceptions.Subscribe(ex => { AlertDialogService.ShowAlert("Error Purchasing", ex.Message); errorService.Log(ex); }); #if DEBUG features.ActivateProDirect(); #endif // options = new NSDictionary (UIApplication.LaunchOptionsRemoteNotificationKey, // new NSDictionary ("r", "octokit/octokit.net", "i", "739", "u", "thedillonb")); // if (options != null) { if (options.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey)) { var remoteNotification = options[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary; if(remoteNotification != null) { HandleNotification(remoteNotification, true); } } } // Set the client constructor GitHubSharp.Client.ClientConstructor = () => new HttpClient(new CustomHttpMessageHandler()); bool hasSeenWelcome; if (!defaultValueService.TryGet("HAS_SEEN_WELCOME_INTRO", out hasSeenWelcome) || !hasSeenWelcome) { defaultValueService.Set("HAS_SEEN_WELCOME_INTRO", true); var welcomeViewController = new CodeHub.iOS.ViewControllers.Walkthrough.WelcomePageViewController(); welcomeViewController.WantsToDimiss += GoToStartupView; TransitionToViewController(welcomeViewController); } else { GoToStartupView(); } Window.MakeKeyAndVisible(); // Notifications don't work on teh simulator so don't bother if (Runtime.Arch != Arch.SIMULATOR && features.IsProEnabled) RegisterUserForNotifications(); return true; }