Beispiel #1
0
        protected override async void OnNormalLaunch(LaunchActivatedEventArgs e)
        {
            Frame rootFrame = Window.Current.Content as Frame;



            DispatcherHelper.Initialize();

            accountManager = TextSecureCommunicationFactory.createManager();
            RunWebsocket();



            //await DirectoryHelper.refreshDirectory();

            // var task = new EchoActivity("ASDFFDSA");

            //Worker.AddTaskActivities(websocketTask);
            //App.Current.Worker.AddTaskActivities(new RefreshPreKeysTask());


            if (rootFrame != null && rootFrame.Content == null)
            {
                // When the navigation stack isn't restored navigate to the first page,
                // configuring the new page by passing required information as a navigation
                // parameter
                rootFrame.Navigate(typeof(MainPage), e.Arguments);
            }

            Window.Current.Activate();
        }
Beispiel #2
0
 protected void RunWebsocket()
 {
     Task.Factory.StartNew(() =>
     {
         try
         {
             var messageReceiver = TextSecureCommunicationFactory.createReceiver();
             pipe = messageReceiver.createMessagePipe();
             pipe.MessageReceived  += OnMessageRecevied;
             pipe.ConnectionFailed += OnConnectionFailed;
         }
         catch (Exception ex) { Debug.WriteLine("Failed asd:" + ex.Message); }
     });
 }
Beispiel #3
0
        private async static Task <bool> isPushDestination(String destination)
        {
            TextSecureDirectory directory = DatabaseFactory.getDirectoryDatabase();

            try
            {
                return(directory.isActiveNumber(destination));
            }
            catch (/*NotInDirectory*/ Exception e)
            {
                try
                {
                    TextSecureAccountManager  accountManager = TextSecureCommunicationFactory.createManager();
                    May <ContactTokenDetails> registeredUser = await App.Current.accountManager.getContact(destination);

                    if (!registeredUser.HasValue)
                    {
                        registeredUser = new May <ContactTokenDetails>(new ContactTokenDetails());
                        registeredUser.ForceGetValue().setNumber(destination);
                        directory.setNumber(registeredUser.ForceGetValue(), false);
                        return(false);
                    }
                    else
                    {
                        registeredUser.ForceGetValue().setNumber(destination);
                        directory.setNumber(registeredUser.ForceGetValue(), true);
                        return(true);
                    }
                }
                catch (Exception e1)
                {
                    //Log.w(TAG, e1);
                    return(false);
                }
            }
        }
Beispiel #4
0
 public static async Task <bool> refreshDirectory()
 {
     return(await refreshDirectory(TextSecureCommunicationFactory.createManager()));
 }
Beispiel #5
0
        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used such as when the application is launched to open a specific file.
        /// </summary>
        /// <param name="e">Details about the launch request and process.</param>
        protected override async void OnLaunched(LaunchActivatedEventArgs e)
        {
#if DEBUG
            if (System.Diagnostics.Debugger.IsAttached)
            {
                this.DebugSettings.EnableFrameRateCounter = false;
            }
#endif
            DispatcherHelper.Initialize();

            if (TextSecurePreferences.getLocalNumber() == string.Empty)
            {
                Debug.WriteLine("Launching first launch experience");
                OnFirstLaunched(e);
                return;
            }

            Debug.WriteLine("Launching...");

            /*if (TextSecurePreferences.isPushRegistered() == true)
             * {
             *  TaskHelper.getInstance().RegisterPushReceiver();
             *
             *  if (channel == null)
             *  {
             *      var response = await PushHelper.getInstance().OpenChannelAndUpload();
             *      channel = response.Channel;
             *  }
             *
             * }*/

            accountManager = TextSecureCommunicationFactory.createManager();


            Worker = new TaskWorker();
            Worker.Start();

            //await DirectoryHelper.refreshDirectory();

            // var task = new EchoActivity("ASDFFDSA");
            var websocketTask = new WebsocketTask();
            Task.Factory.StartNew(() =>
            {
                try
                {
                    var messageReceiver   = TextSecureCommunicationFactory.createReceiver();
                    var pipe              = messageReceiver.createMessagePipe();
                    pipe.MessageReceived += OnMessageRecevied;
                }
                catch (Exception ex) { Debug.WriteLine("Failed asd:" + ex.Message); }
            });
            //Worker.AddTaskActivities(websocketTask);



            /*if (rootFrame.Content == null)
             * {
             *  // When the navigation stack isn't restored navigate to the first page,
             *  // configuring the new page by passing required information as a navigation
             *  // parameter
             *  rootFrame.Navigate(typeof(MainPage), e.Arguments);
             * }*/
            // Ensure the current window is active

            Frame rootFrame = Window.Current.Content as Frame;


            _frame = rootFrame;

            if (rootFrame == null)
            {
                rootFrame = new Frame();
            }

            rootFrame.Navigate(typeof(ExtendedSplash), e.Arguments);
            Window.Current.Content = rootFrame;
            Window.Current.Activate();

            BackButtonManager.RegisterFrame(rootFrame, true, true, true);
        }