示例#1
0
        public void NavigateToChat(MessageThread thread)
        {
            Activity.HideToolbar();
            var fragment = new ChatFragment(new ChatPresenter(this, thread));

            Activity.NavigateTo(fragment, TransitionEffect.Push);
        }
示例#2
0
 protected void OnListItemClick(object sender, AdapterView.ItemClickEventArgs args)
 {
     SupportFragmentManager.BeginTransaction()
     .Replace(Resource.Id.content_frame, ChatFragment.OpenChat(_adapter[args.Position]))
     .AddToBackStack(null)
     .Commit();
 }
示例#3
0
        private void InitializeFragments()
        {
            _chatFrag = new ChatFragment(_writeListener, _shared, _localeProvider);

            var languageFrag = new LanguageSelectorFragment(_shared);

            SupportFragmentManager.BeginTransaction()
            .Add(Resource.Id.language_selector_container, languageFrag)
            .Add(Resource.Id.sample_content_fragment, _chatFrag)
            .Commit();

            _handler            = new BluetoothMessageHandler();
            _handler.OnHandled += OnHandled;
            _service            = new BluetoothService.BluetoothService(_handler);

            _chatFrag.OnSend         += OnSendHandler;
            _chatFrag.OnMessageClick += OnClickHandler;
        }
示例#4
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);
        }