diff --git a/src/addon/messages/pages/conversation-info/conversation-info.html b/src/addon/messages/pages/conversation-info/conversation-info.html index 69b3dddb3..cfebb4a96 100644 --- a/src/addon/messages/pages/conversation-info/conversation-info.html +++ b/src/addon/messages/pages/conversation-info/conversation-info.html @@ -24,11 +24,7 @@ - - - - +

diff --git a/src/addon/messages/pages/group-conversations/group-conversations.html b/src/addon/messages/pages/group-conversations/group-conversations.html index 274ec53d5..a4cfd033d 100644 --- a/src/addon/messages/pages/group-conversations/group-conversations.html +++ b/src/addon/messages/pages/group-conversations/group-conversations.html @@ -31,9 +31,7 @@ - - - +

@@ -73,7 +71,7 @@

- + @@ -104,13 +102,16 @@ - + - - - + + + + + + +

diff --git a/src/addon/messages/pages/group-conversations/group-conversations.ts b/src/addon/messages/pages/group-conversations/group-conversations.ts index cffa4d295..2c8cf2adc 100644 --- a/src/addon/messages/pages/group-conversations/group-conversations.ts +++ b/src/addon/messages/pages/group-conversations/group-conversations.ts @@ -61,6 +61,7 @@ export class AddonMessagesGroupConversationsPage implements OnInit, OnDestroy { type: AddonMessagesProvider.MESSAGE_CONVERSATION_TYPE_INDIVIDUAL, favourites: false }; + typeIndividual = AddonMessagesProvider.MESSAGE_CONVERSATION_TYPE_INDIVIDUAL; protected loadingString: string; protected siteId: string; diff --git a/src/addon/messages/providers/messages.ts b/src/addon/messages/providers/messages.ts index 0d855e119..45fbd4cba 100644 --- a/src/addon/messages/providers/messages.ts +++ b/src/addon/messages/providers/messages.ts @@ -176,6 +176,7 @@ export class AddonMessagesProvider { conversation.showonlinestatus = otherUser.showonlinestatus; conversation.isonline = otherUser.isonline; conversation.isblocked = otherUser.isblocked; + conversation.otherUser = otherUser; } return conversation; diff --git a/src/components/user-avatar/user-avatar.ts b/src/components/user-avatar/user-avatar.ts index 20aab67fd..bbbb09c90 100644 --- a/src/components/user-avatar/user-avatar.ts +++ b/src/components/user-avatar/user-avatar.ts @@ -15,6 +15,7 @@ import { Component, Input, OnInit, OnChanges, SimpleChange } from '@angular/core'; import { NavController } from 'ionic-angular'; import { CoreSitesProvider } from '@providers/sites'; +import { CoreUtilsProvider } from '@providers/utils/utils'; /** * Component to display a "user avatar". @@ -41,7 +42,7 @@ export class CoreUserAvatarComponent implements OnInit, OnChanges { protected myUser = false; protected currentUserId: number; - constructor(private navCtrl: NavController, private sitesProvider: CoreSitesProvider) { + constructor(private navCtrl: NavController, private sitesProvider: CoreSitesProvider, private utils: CoreUtilsProvider) { this.currentUserId = this.sitesProvider.getCurrentSiteUserId(); } @@ -75,7 +76,7 @@ export class CoreUserAvatarComponent implements OnInit, OnChanges { this.fullname = this.fullname || (this.user && (this.user.fullname || this.user.userfullname)); - this.userId = this.userId || (this.user && this.user.userid); + this.userId = this.userId || (this.user && (this.user.userid || this.user.id)); this.courseId = this.courseId || (this.user && this.user.courseid); // If not available we cannot ensure the avatar is from the current user. @@ -89,9 +90,18 @@ export class CoreUserAvatarComponent implements OnInit, OnChanges { * @return boolean */ isOnline(): boolean { - const time = new Date().getTime() - this.timetoshowusers; + if (this.myUser || this.utils.isFalseOrZero(this.user.isonline)) { + return false; + } - return !this.myUser && ((this.user.lastaccess && this.user.lastaccess * 1000 >= time) || this.user.isonline); + if (this.user.lastaccess) { + // If the time has passed, don't show the online status. + const time = new Date().getTime() - this.timetoshowusers; + + return this.user.lastaccess * 1000 >= time; + } else { + return this.user.isonline; + } } /**