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); }
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(); }
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); }