예제 #1
0
        private async void Init()
        {
            MessagesViewModel.SubscribeMessages(this, ClearAndAddNewMessages);

            _messagesList        = FindViewById <ListView>(Resource.Id.messages_list);
            _noItemsTextView     = FindViewById <TextView>(Resource.Id.no_items_description);
            _lastUpdatedTextView = FindViewById <TextView>(Resource.Id.last_updated);

            _messagesList.Divider       = null;
            _messagesList.DividerHeight = 0;


            TextView title = FindViewById <TextView>(Resource.Id.messages_page_title);

            title.Text = MessagesViewModel.MESSAGES_HEADER;
            title.SetAccessibilityDelegate(AccessibilityUtils.GetHeadingAccessibilityDelegate());

            string headerText     = MessagesViewModel.MESSAGES_NO_ITEMS_TITLE;
            int    unreadMessages = (await MessageUtils.GetAllUnreadMessages()).Count;
            int    messages       = (await MessageUtils.GetMessages()).Count;

            if (unreadMessages > 0)
            {
                headerText = MessagesViewModel.MESSAGES_NEW_MESSAGES_HEADER;
            }
            else if (messages > 0)
            {
                headerText = MessagesViewModel.MESSAGES_NO_NEW_MESSAGES_HEADER;
            }

            TextView subheader = FindViewById <TextView>(Resource.Id.messages_page_sub_header);

            subheader.Text = headerText;
            subheader.SetAccessibilityDelegate(AccessibilityUtils.GetHeadingAccessibilityDelegate());

            string lastUpdatedString = MessagesViewModel.LastUpdateString;

            if (lastUpdatedString == "")
            {
                _lastUpdatedTextView.Visibility = ViewStates.Gone;
            }
            else
            {
                _lastUpdatedTextView.Visibility = ViewStates.Visible;
                _lastUpdatedTextView.Text       = MessagesViewModel.LastUpdateString;
            }

            _noItemsTextView.Text = MessagesViewModel.MESSAGES_NO_ITEMS_DESCRIPTION;

            _closeButton        = FindViewById <ImageView>(Resource.Id.arrow_back);
            _closeButton.Click += new StressUtils.SingleClick(OnCloseBtnClicked).Run;
            _closeButton.ContentDescription = MessagesViewModel.MESSAGES_ACCESSIBILITY_CLOSE_BUTTON;

            _adapterMessages                  = new MessagesAdapter(this, new MessageItemViewModel[0]);
            _messagesList.Adapter             = _adapterMessages;
            _messagesList.OnItemClickListener = new ItemClickListener(_adapterMessages);
            ShowList(false);
        }
예제 #2
0
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);
            //Subscribe to update table service
            MessagesViewModel.SubscribeMessages(this, ClearOrAddNewMessages);
            MessagingCenter.Subscribe <object>(this, MessagingCenterKeys.KEY_APP_RETURNS_FROM_BACKGROUND, OnAppReturnsFromBackground);
            //MessagingCenter.Send<object>(this, MessagingCenterKeys.KEY_MESSAGE_RECEIVED);
            //remove all notifications if user opens messages view
            UNUserNotificationCenter.Current.RemoveAllPendingNotificationRequests();

            UpdateMessagesOnViewWillAppear();
        }
예제 #3
0
        private void Init()
        {
            SetLogoBasedOnAppLanguage();

            MessagesViewModel.SubscribeMessages(this, ClearAndAddNewMessages);

            FindViewById <TextView>(Resource.Id.messages_page_title).Text = MessagesViewModel.MESSAGES_HEADER;
            FindViewById <TextView>(Resource.Id.message_last_update).Text = MessagesViewModel.LastUpdateString;

            FindViewById <TextView>(Resource.Id.no_items_title).Text       = MessagesViewModel.MESSAGES_NO_ITEMS_TITLE;
            FindViewById <TextView>(Resource.Id.no_items_description).Text = MessagesViewModel.MESSAGES_NO_ITEMS_DESCRIPTION;

            _messagesList  = FindViewById <ListView>(Resource.Id.messages_list);
            _noItemsLayout = FindViewById <LinearLayout>(Resource.Id.no_items_message);

            _closeButton        = FindViewById <ViewGroup>(Resource.Id.close_cross_btn);
            _closeButton.Click += new StressUtils.SingleClick(OnCloseBtnClicked).Run;
            _closeButton.ContentDescription = MessagesViewModel.MESSAGES_ACCESSIBILITY_CLOSE_BUTTON;

            _adapterMessages                  = new MessagesAdapter(this, new MessageItemViewModel[0]);
            _messagesList.Adapter             = _adapterMessages;
            _messagesList.OnItemClickListener = new ItemClickListener(_adapterMessages);
            ShowList(false);
        }