Ejemplo n.º 1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            DrawXSettingsManager.InitLocalSettings();
        }
Ejemplo n.º 2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // relies on override to point its canvas at our OnPaintSample
            // see ViewDidLayoutSubviews for triggering EditCredentials
            DrawXSettingsManager.InitLocalSettings();

            if (DrawXSettingsManager.HasCredentials())
            {
                // assume we can login and be able to draw
                // TODO handle initial failure to login despite saved credentials
                SetupDrawer();
            }
        }
Ejemplo n.º 3
0
        }                                               // caller should set so can use to dismiss

        public override Dialog OnCreateDialog(Bundle savedInstanceState)
        {
            OnCreate(savedInstanceState);

            // equivalent of an Activity's SetContentView
            var builder    = new AlertDialog.Builder(Activity);
            var inflator   = Activity.LayoutInflater;
            var dialogView = inflator.Inflate(Resource.Layout.LoginLayout, null);

            if (dialogView == null)
            {
                return(null);
            }

            var serverAddress = dialogView.FindViewById <EditText>(Resource.Id.serverIPEntry);
            var username      = dialogView.FindViewById <EditText>(Resource.Id.usernameEntry);
            var password      = dialogView.FindViewById <EditText>(Resource.Id.passwordEntry);
            var s             = DrawXSettingsManager.Settings;

            serverAddress.Text = s.ServerIP;
            username.Text      = s.Username;
            password.Text      = s.Password;

            builder.SetView(dialogView);
            builder.SetPositiveButton("Login", (sender, e) =>
            {
                bool changedServer = DrawXSettingsManager.UpdateCredentials(serverAddress.Text, username.Text, password.Text);
                ((AlertDialog)sender).Dismiss();
                OnCloseLogin(changedServer);
            });
            builder.SetNegativeButton("Cancel", (sender, e) =>
            {
                ((AlertDialog)sender).Dismiss();
            });
            var dialog = builder.Create();

            // you can only cancel logging in if already logged in, otherwise it is meaningless
            if (DrawXSettingsManager.LoggedInUser == null)
            {
                dialog.Show();  // instantiates so buttons can be accessed
                var negativeButton = dialog.GetButton((int)DialogButtonType.Negative);
                negativeButton.Enabled = false;
            }
            return(dialog);
        }
Ejemplo n.º 4
0
        private void EditCredentials()
        {
            var dialog = new LoginDialog();

            dialog.OnCloseLogin = (bool changedServer) =>
            {
                if (changedServer || _drawer == null)
                {
                    if (DrawXSettingsManager.HasCredentials())
                    {
                        SetupDrawer();  // pointless unless contact server
                        _drawer.LoginToServerAsync();
                    }
                    //// TODO allow user to launch locally if server not available
                }

                _canvas.Invalidate();
            };

            dialog.Show(FragmentManager, "login");
        }
Ejemplo n.º 5
0
        // invoked as callback from pressing a control area in drawing surface, or at startup
        private void EditCredentials()
        {
            var sb      = UIStoryboard.FromName("LoginScreen", null);
            var loginVC = sb.InstantiateViewController("Login") as LoginViewController;

            loginVC.OnCloseLogin = (bool changedServer) =>
            {
                DismissModalViewController(false);
                if (changedServer || _drawer == null)
                {
                    if (DrawXSettingsManager.HasCredentials())
                    {
                        SetupDrawer();
                        _drawer.LoginToServerAsync();
                    }
                    //// TODO allow user to launch locally if server not available
                }

                View.SetNeedsDisplay();
            };
            PresentViewController(loginVC, false, null);
        }
Ejemplo n.º 6
0
        protected override void OnStart()
        {
            base.OnStart();
            if (_drawer == null)
            {
                if (DrawXSettingsManager.HasCredentials())
                {
                    // assume we can login and be able to draw
                    // TODO handle initial failure to login despite saved credentials
                    SetupDrawer();
                }
            }

            if (DrawXSettingsManager.LoggedInUser != null)
            {
                _drawer.LoginToServerAsync(DrawXSettingsManager.LoggedInUser);
                _hasShownCredentials = true;  // skip credentials if saved user in store
            }
            if (!_hasShownCredentials)
            {
                EditCredentials();
                _hasShownCredentials = true;
            }
        }
Ejemplo n.º 7
0
        private void DoLogin()
        {
            bool changedServer = DrawXSettingsManager.UpdateCredentials(ServerEntry.Text, UsernameEntry.Text, PasswordEntry.Text);

            OnCloseLogin(changedServer);
        }