public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.register_name_fragment, container, false);

            var skip = view.FindViewById <Button>(Resource.Id.register_skip);

            skip.Click += delegate
            {
                Proceed();
            };

            var txtName = view.FindViewById <EditText>(Resource.Id.register_name);

            var done = view.FindViewById <Button>(Resource.Id.register_name_done);

            done.Click += async delegate
            {
                var value = txtName.Text.Trim();
                if (value.Length > 0)
                {
                    if (await ChadderUI.ChangeName(value))
                    {
                        Proceed();
                    }
                }
                else
                {
                    Toast.MakeText(Activity, Resource.String.NameIsRequired, ToastLength.Long).Show();
                }
            };
            txtName.Text = ChadderUI.Source.db.LocalUser.DisplayName;
            return(view);
        }
        private void forgotPwd_Click(object sender, EventArgs e)
        {
            var content = new EditText(cont);

            content.Text      = "";
            content.Hint      = GetString(Resource.String.LoginForgotPasswordHint);
            content.InputType = Android.Text.InputTypes.TextVariationEmailAddress;

            var dialog = new Util.ConfirmationDialogWithProgress(cont);

            dialog.Title    = GetString(Resource.String.LoginForgotPasswordTitle);
            dialog.Positive = GetString(Resource.String.LoginForgotPasswordConfirm);
            dialog.Content  = content;

            dialog.OnPositiveAsync += async() =>
            {
                var result = await ChadderUI.ResetPassword(content.Text.Trim());

                if (result != ChadderError.OK)
                {
                    ChadderApp.UIHelper.ShowError(result);
                }
                else
                {
                    Toast.MakeText(cont, Resource.String.LoginForgotPasswordResult, ToastLength.Long).Show();
                }
            };

            dialog.Show();
        }
        private async void submitClick(object sender, System.EventArgs ea)
        {
            var result = await ChadderUI.Login(tUsername.Text, tPwd.Text);

            if (result)
            {
                (Activity as OfflineActivity).GoToMain();
            }
        }
        public override async void OnActivityResult(int requestCode, int resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);

            Bitmap result = ChadderImagePicker.OnPickImageResult(requestCode, resultCode, data, Activity);

            if (result != null)
            {
                result = await CropImageFragment.CropImage(Activity as BaseActionBarActivity, result);

                await ChadderUI.ChangePicture(result.CompressToJPEG());
            }
        }
        async protected void submitClick(Object sender, System.EventArgs ea)
        {
            var result = await ChadderUI.CreateUser(_etUsername.Text, _etPassword.Text, _etPasswordRepeat.Text);

            if (result)
            {
                Intent i = new Intent(Activity, typeof(MainActivity));
                i.PutExtra("new_user", true);
                i.SetFlags(ActivityFlags.ClearTop | ActivityFlags.ClearTask | ActivityFlags.NewTask);
                StartActivity(i);
                Activity.Finish();
            }
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.no_key_splashscreen_fragment, container, false);

            var txt = view.FindViewById <TextView>(Resource.Id.NoKeyMessage);

            txt.TextFormatted = Html.FromHtml(string.Format("DeviceNoKeyMessage".t(), string.Format("<b>{0}</b>", "DeviceNoKeyMessageHighlighted".t())));

            view.Click += async(s, e) => await ChadderUI.CreateNewKey();

            EventHandlers.Add(ChadderUI.Source.db.LocalUser, profile_PropertyChanged);
            return(view);
        }
Esempio n. 7
0
        public async void OnContextItemSelectedAsync(IMenuItem item)
        {
            var info         = (AdapterView.AdapterContextMenuInfo)item.MenuInfo;
            var conversation = _adapter[info.Position];

            if (item.ItemId == MENU_CONVERSATION_HIDE)
            {
                await ChadderUI.SetHidden(conversation);
            }
            else if (item.ItemId == MENU_DELETE_ALL)
            {
                await ChadderUI.DeleteAllMessages(conversation);
            }
            else if (item.ItemId == MENU_TAKEBACK_ALL)
            {
                await ChadderUI.TakeAllBack(conversation);
            }
        }
Esempio n. 8
0
        private void SetupMenu()
        {
            _menuManager = new ContextMenuManager <ChadderMessage>(this, _listView);

            _menuManager.InsertItem("ConversationMessageDelete".t(),
                                    async(ChadderMessage msg) => await ChadderUI.DeleteMessage(msg, _conversation));

            _menuManager.InsertItem("ConversationMessageDeleteRemote".t(),
                                    async(ChadderMessage msg) => await ChadderUI.TakeBack(msg, _conversation),
                                    msg => msg.MyMessage == true && (msg.Status == ChadderMessage.MESSAGE_STATUS.SENT));

            _menuManager.InsertItem("ConversationMessageCopy".t(), (ChadderMessage msg) =>
            {
                ClipboardManager clipboard = (ClipboardManager)Activity.GetSystemService(Context.ClipboardService);
                ClipData clip         = ClipData.NewPlainText("Chadder Message", msg.Body);
                clipboard.PrimaryClip = clip;
                DisplayToast("Copied");
            }, msg => msg.Type == ChadderMessage.MESSAGE_TYPE.TEXT);
        }
        private void SetupMenu()
        {
            _menuManager = new ContextMenuManager <ChadderUserDevice>(this, grid);

            _menuManager.InsertItem("Rename", (ChadderUserDevice device) =>
            {
                ChadderUI.ChangeDeviceName(device);
            });


            _menuManager.InsertItem(GetString(Resource.String.DevicePair), (ChadderUserDevice device) =>
            {
                ChadderUI.PairDevice(device);
            }, (d) => ChadderUI.Source.HasUserKey && d.HasUserKey == false);

            _menuManager.InsertItem("Delete", (ChadderUserDevice device) =>
            {
                ChadderUI.DeleteDevice(device);
            }, (d) => d.CurrentDevice == false);
        }
Esempio n. 10
0
        public override void OnActivityResult(int requestCode, int resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);

            try
            {
                var image = ChadderImagePicker.OnPickImageResult(requestCode, resultCode, data, Activity);
                if (image != null)
                {
                    image.DefaultResize();
                    ChadderUI.SendPicture(image.CompressToJPEG(), _conversation);
                }
            }
            catch (Exception e)
            {
                Toast.MakeText(Activity, e.Message, ToastLength.Long).Show();
                Insight.Report(e);
                Console.WriteLine(e);
            }
        }
        public override async void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            GCMInit();
            var status = await ChadderUI.SplashScreenLoad();

            // Create your fragment here
            if (status)
            {
                (Activity as OfflineActivity).GoToMain();
            }
            else
            {
                var newFragment = new MainFeatureHighlightFragment();
                FragmentTransaction transaction = Activity.SupportFragmentManager.BeginTransaction();
                transaction.Replace(Resource.Id.content_frame, newFragment);
                transaction.Commit();
            }
        }
Esempio n. 12
0
        private void SetupButtonClicks()
        {
            _btnSend        = _view.FindViewById <Button>(Resource.Id.chat_btn_send);
            _btnSend.Click += (object sender, EventArgs e) =>
            {
                if (ChadderUI.SendMessage(_editText.Text, _conversation))
                {
                    _editText.Text = "";
                }
            };

            var chadderRed = Resources.GetColor(Resource.Color.chadderred);


            _btnCapture = _view.FindViewById <ImageButton>(Resource.Id.chat_btn_capture);
            _btnCapture.SetColorFilter(chadderRed, Android.Graphics.PorterDuff.Mode.SrcIn);
            _btnCapture.Click += (object sender, EventArgs e) =>
            {
                ChadderImagePicker.MultiSourcePick(this);
            };
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.contact_profile_fragment, container, false);

            Activity.HideKeyboard();
            imgProfile     = view.FindViewById <ImageView>(Resource.Id.profile_picture);
            profileName    = view.FindViewById <TextView>(Resource.Id.profile_name_label);
            username       = view.FindViewById <TextView>(Resource.Id.profile_username_label);
            keyFingerprint = view.FindViewById <TextView>(Resource.Id.profile_fingerprint);
            var btnAdd   = view.FindViewById <Button>(Resource.Id.profile_add_btn);
            var addLayer = view.FindViewById <LinearLayout>(Resource.Id.profile_add_layer);

            txtFingerprintStatus = view.FindViewById <TextView>(Resource.Id.profile_fingerprint_status);

            if (Profile != null)
            {
                Profile.PropertyChanged += Profile_PropertyChanged;

                if (Profile.IsTemporary == false)
                {
                    addLayer.Visibility = ViewStates.Gone;
                }
                else
                {
                    btnAdd.Click += async delegate
                    {
                        var result = await ChadderUI.AddContact(Profile.UserId);

                        if (result)
                        {
                            SupportFragmentManager.PopBackStack();
                            SupportFragmentManager.PopBackStack();
                        }
                    }
                };
            }
            return(view);
        }
Esempio n. 14
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.fragment_contact_list, container, false);

            try
            {
                _contactListView = view.FindViewById <Android.Widget.ListView>(Resource.Id.contact_list);

                searchText = view.FindViewById <EditText>(Resource.Id.contact_list_searchview);

                _noEntryText = view.FindViewById <TextView>(Resource.Id.no_friends_textview);
                _noEntryText.TextFormatted = Html.FromHtml("To add friends you can type their name in the search bar and if they have enabled </br>\"Public Name\" they will appear here");

                searchText.TextChanged += (s, e) =>
                {
                    _adapter.Collection.SetSearch(searchText.Text);
                };

                _adapter = new FindFriendAdapter(this.Activity, _noEntryText, new UIHelper.FindContactObservableCollection(ChadderApp.UIHelper.Source));
                _contactListView.Adapter    = _adapter;
                _contactListView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) =>
                {
                    var contact = _adapter[e.Position];
                    if (contact == null)
                    {
                        return;
                    }
                    if (contact.IsTemporary)
                    {
                        SupportFragmentManager.BeginTransaction()
                        .Replace(Resource.Id.content_frame, ViewProfileFragment.ViewProfile(contact))
                        .AddToBackStack(null)
                        .Commit();
                    }
                    else
                    {
                        SupportFragmentManager.PopBackStack();
                        SupportFragmentManager.BeginTransaction()
                        .Replace(Resource.Id.content_frame, ChatFragment.OpenChat(contact))
                        .AddToBackStack(null)
                        .Commit();
                    }
                };

                _menuManager = new ContextMenuManager <ChadderContact>(this, _contactListView);

                _menuManager.InsertItem("View profile", (ChadderContact contact) =>
                {
                    Android.Support.V4.App.FragmentTransaction transaction = this.Activity.SupportFragmentManager.BeginTransaction();
                    transaction.Replace(Resource.Id.content_frame, ViewProfileFragment.ViewProfile(contact));
                    transaction.AddToBackStack(null);
                    transaction.Commit();
                });

                _menuManager.InsertItem(c => c.Type == Chadder.Data.RelationshipType.BLOCKED ? "Unblock" : "Block",
                                        (ChadderContact contact) => ChadderUI.ToggleBlock(contact));

                _menuManager.InsertItem("Report",
                                        (ChadderContact contact) => ChadderUI.ReportContact(contact));
            }
            catch (Exception e)
            {
                Insight.Report(e);
            }

            return(view);
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.profile_fragment, container, false);

            grid = view.FindViewById <GridView>(Resource.Id.profile_devices);

            _adapter = new DevicesAdapter(Activity, ChadderUI.Source.db.LocalUser.Devices);

            grid.Adapter    = _adapter;
            grid.ItemClick += grid_ItemClick;
            SetupMenu();

            _btnPicture        = view.FindViewById <ImageButton>(Resource.Id.profile_picture);
            _btnPicture.Click += (sender, e) =>
            {
                ChadderImagePicker.MultiSourcePick(this);
            };

            var btnName = view.FindViewById <Button>(Resource.Id.profile_name_btn);

            _tvName = view.FindViewById <TextView>(Resource.Id.profile_name_label);

            btnName.Click += async(object sender, EventArgs e) =>
                             await ChadderUI.ChangeName();

            var btnEmail = view.FindViewById <Button>(Resource.Id.profile_email_btn);

            _tvEmail = view.FindViewById <TextView>(Resource.Id.profile_email_label);

            btnEmail.Click += async(object sender, EventArgs e) =>
                              await ChadderUI.ChangeEmail();

            var btnPhone = view.FindViewById <Button>(Resource.Id.profile_phone_btn);

            _tvPhone        = view.FindViewById <TextView>(Resource.Id.profile_phone_label);
            btnPhone.Click += async(object sender, EventArgs e) =>
                              await ChadderUI.ChangePhone();

            var btnShareName = view.FindViewById <Button>(Resource.Id.profile_sharename_btn);

            _tvShareName = view.FindViewById <TextView>(Resource.Id.profile_sharename_label);

            btnShareName.Click += async(object sender, EventArgs e) =>
                                  await ChadderUI.ChangeShareName();

            var btnFacebook = view.FindViewById <Button>(Resource.Id.profile_facebook_btn);

            btnFacebook.Click += (object sender, EventArgs e) =>
                                 //++RegisterEndFragment.ShareFacebook(Activity, uiHelper);
                                 RegisterEndFragment.ShareFacebook(Activity);

            var btnDevicePassword = view.FindViewById <Button>(Resource.Id.profile_device_pwd_btn);

            btnDevicePassword.Click += async(object sender, EventArgs e) =>
                                       await ChadderUI.ChangeDevicePassword();

            var btnAccPassword = view.FindViewById <Button>(Resource.Id.profile_account_pwd_btn);

            btnAccPassword.Click += async(object sender, EventArgs e) =>
                                    await ChadderUI.ChangeAccountPassword();

            var btnLogout = view.FindViewById <Button>(Resource.Id.profile_logout_btn);

            btnLogout.Click += async(object sender, EventArgs e) =>
            {
                await ChadderUI.Logout();

                ChadderApp.UIHelper.Source_OnNotAuthorized();
            };

            view.FindViewById <Button>(Resource.Id.profile_scan_btn)
            .Click += (object sender, EventArgs e) => MainActivity.ScanFingerprint(Activity as MainActivity);

            _btnFingerprint        = view.FindViewById <Button>(Resource.Id.profile_fingerprint_btn);
            _btnFingerprint.Click += async(object sender, EventArgs e) =>
            {
                var layout = new RelativeLayout(Activity);

                var image = new ImageView(Activity);
                image.Focusable            = true;
                image.FocusableInTouchMode = true;
                image.SetScaleType(ImageView.ScaleType.FitCenter);
                image.SetBackgroundResource(Android.Resource.Color.White);
                layout.AddView(image, new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MatchParent, RelativeLayout.LayoutParams.MatchParent));

                var bottomText = new TextView(Activity);
                var param      = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WrapContent, RelativeLayout.LayoutParams.WrapContent);
                param.SetMargins(20, 20, 20, 20);
                param.AddRule(LayoutRules.CenterHorizontal);
                param.AddRule(LayoutRules.AlignParentBottom);
                layout.AddView(bottomText, param);
                bottomText.Text = GetString(Resource.String.ProfileFingerprintBottomMessage);

                InputDialog.ShowProgressDialog(Activity);
                var writer = new ZXing.BarcodeWriter {
                    Format = ZXing.BarcodeFormat.QR_CODE
                };
                var qr = writer.Write(await ChadderUI.GetFingerprint());
                image.SetImageBitmap(qr);
                InputDialog.DismissProgressDialog();

                var wnd = new PopupWindow(layout, RelativeLayout.LayoutParams.MatchParent, RelativeLayout.LayoutParams.MatchParent);
                wnd.ShowAtLocation(View, GravityFlags.Center, 0, 0);
                image.Touch += (object s, Android.Views.View.TouchEventArgs e2) =>
                {
                    wnd.Dismiss();
                };
            };

            view.FindViewById <Button>(Resource.Id.Erase_All_Msgs_btn)
            .Click += async(object sender, EventArgs e) => await ChadderUI.DeleteAllMessages();

            view.FindViewById <Button>(Resource.Id.profile_contactbook_btn)
            //++.Click += async (s, e) => await ChadderUI.ToggleUploadContactBook();
            .Click        += (s, e) => { };
            _tvContactBook = view.FindViewById <TextView>(Resource.Id.profile_contactbook_label);

            return(view);
        }