diff --git a/src/addon/messages/components/confirmed-contacts/addon-messages-confirmed-contacts.html b/src/addon/messages/components/confirmed-contacts/addon-messages-confirmed-contacts.html index ac2436fa6..ccd7bd268 100644 --- a/src/addon/messages/components/confirmed-contacts/addon-messages-confirmed-contacts.html +++ b/src/addon/messages/components/confirmed-contacts/addon-messages-confirmed-contacts.html @@ -5,7 +5,7 @@ - +

diff --git a/src/addon/messages/components/contact-requests/addon-messages-contact-requests.html b/src/addon/messages/components/contact-requests/addon-messages-contact-requests.html index 1ae936283..b3bffbf68 100644 --- a/src/addon/messages/components/contact-requests/addon-messages-contact-requests.html +++ b/src/addon/messages/components/contact-requests/addon-messages-contact-requests.html @@ -5,7 +5,7 @@ - +

{{ 'addon.messages.wouldliketocontactyou' | translate }}

diff --git a/src/addon/messages/components/contacts/addon-messages-contacts.html b/src/addon/messages/components/contacts/addon-messages-contacts.html index 29c6853f6..009412aba 100644 --- a/src/addon/messages/components/contacts/addon-messages-contacts.html +++ b/src/addon/messages/components/contacts/addon-messages-contacts.html @@ -19,7 +19,7 @@ - +

diff --git a/src/addon/messages/components/discussions/addon-messages-discussions.html b/src/addon/messages/components/discussions/addon-messages-discussions.html index dfe099c1a..0d4a834aa 100644 --- a/src/addon/messages/components/discussions/addon-messages-discussions.html +++ b/src/addon/messages/components/discussions/addon-messages-discussions.html @@ -13,7 +13,7 @@ {{ search.results.length }} - +

@@ -21,7 +21,7 @@ - +

diff --git a/src/addon/messages/pages/conversation-info/conversation-info.html b/src/addon/messages/pages/conversation-info/conversation-info.html index b85f694a7..36af28369 100644 --- a/src/addon/messages/pages/conversation-info/conversation-info.html +++ b/src/addon/messages/pages/conversation-info/conversation-info.html @@ -15,8 +15,8 @@ -
- +
+

diff --git a/src/addon/messages/pages/conversation-info/conversation-info.ts b/src/addon/messages/pages/conversation-info/conversation-info.ts index cd2d3dd5f..b79ece62b 100644 --- a/src/addon/messages/pages/conversation-info/conversation-info.ts +++ b/src/addon/messages/pages/conversation-info/conversation-info.ts @@ -56,7 +56,7 @@ export class AddonMessagesConversationInfoPage implements OnInit { */ protected fetchData(): Promise { // Get the conversation data first. - return this.messagesProvider.getConversation(this.conversationId, false, false, 0, 0).then((conversation) => { + return this.messagesProvider.getConversation(this.conversationId, false, true, 0, 0).then((conversation) => { this.conversation = conversation; // Now get the members. diff --git a/src/addon/messages/pages/discussion/discussion.html b/src/addon/messages/pages/discussion/discussion.html index dbda39413..8eacd2b4c 100644 --- a/src/addon/messages/pages/discussion/discussion.html +++ b/src/addon/messages/pages/discussion/discussion.html @@ -1,9 +1,9 @@ - - - + + + diff --git a/src/addon/messages/pages/discussion/discussion.scss b/src/addon/messages/pages/discussion/discussion.scss index abab2f8e4..7451d99e1 100644 --- a/src/addon/messages/pages/discussion/discussion.scss +++ b/src/addon/messages/pages/discussion/discussion.scss @@ -5,6 +5,10 @@ $item-message-note-font-size: 75% !default; $item-message-mine-bg: $gray-light !default; ion-app.app-root page-addon-messages-discussion { + .toolbar-title { + padding: 0; + } + ion-content { background-color: $gray-lighter !important; } @@ -116,6 +120,7 @@ ion-app.app-root page-addon-messages-discussion { -ms-flex-item-align: end; align-self: flex-end; vertical-align: middle; + @include float('end'); .icon { font-size: 1.4em; diff --git a/src/addon/messages/pages/discussion/discussion.ts b/src/addon/messages/pages/discussion/discussion.ts index df944af81..03b442b54 100644 --- a/src/addon/messages/pages/discussion/discussion.ts +++ b/src/addon/messages/pages/discussion/discussion.ts @@ -229,6 +229,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { this.conversationImage = member.profileimageurl; this.title = member.fullname; } + this.blockIcon = this.otherMember && this.otherMember.isblocked ? 'close-circle' : 'checkmark-circle'; + this.addRemoveIcon = this.otherMember && this.otherMember.iscontact ? 'remove' : 'add'; })); } else { this.otherMember = null; @@ -391,7 +393,7 @@ export class AddonMessagesDiscussionPage implements OnDestroy { if (conversationId) { promise = Promise.resolve(conversationId); } else { - promise = this.messagesProvider.getConversationBetweenUsers(userId).then((conversation) => { + promise = this.messagesProvider.getConversationBetweenUsers(userId, undefined, true).then((conversation) => { fallbackConversation = conversation; return conversation.id; @@ -403,7 +405,7 @@ export class AddonMessagesDiscussionPage implements OnDestroy { return this.messagesProvider.invalidateConversation(conversationId).catch(() => { // Ignore errors. }).then(() => { - return this.messagesProvider.getConversation(conversationId); + return this.messagesProvider.getConversation(conversationId, undefined, true); }).catch((error) => { // Get conversation failed, use the fallback one if we have it. if (fallbackConversation) { @@ -422,8 +424,6 @@ export class AddonMessagesDiscussionPage implements OnDestroy { this.favouriteIcon = conversation.isfavourite ? 'fa-star-o' : 'fa-star'; if (!this.isGroup) { this.userId = conversation.userid; - this.blockIcon = this.otherMember && this.otherMember.isblocked ? 'close-circle' : 'checkmark-circle'; - this.addRemoveIcon = this.otherMember && this.otherMember.iscontact ? 'remove' : 'add'; } return true; @@ -1022,7 +1022,7 @@ export class AddonMessagesDiscussionPage implements OnDestroy { this.conversation.isfavourite = !this.conversation.isfavourite; // Get the conversation data so it's cached. Don't block the user for this. - this.messagesProvider.getConversation(this.conversation.id); + this.messagesProvider.getConversation(this.conversation.id, undefined, true); this.eventsProvider.trigger(AddonMessagesProvider.UPDATE_CONVERSATION_LIST_EVENT, { conversationId: this.conversation.id, diff --git a/src/addon/messages/pages/group-conversations/group-conversations.html b/src/addon/messages/pages/group-conversations/group-conversations.html index a6a5df814..5452f9ebb 100644 --- a/src/addon/messages/pages/group-conversations/group-conversations.html +++ b/src/addon/messages/pages/group-conversations/group-conversations.html @@ -81,8 +81,8 @@
- - + + diff --git a/src/addon/messages/providers/messages.ts b/src/addon/messages/providers/messages.ts index b2e26ccbd..7b5cfe940 100644 --- a/src/addon/messages/providers/messages.ts +++ b/src/addon/messages/providers/messages.ts @@ -809,7 +809,8 @@ export class AddonMessagesProvider { conversationid: conversationId, limitfrom: limitFrom, limitnum: limitTo < 1 ? limitTo : limitTo + 1, // If there is a limit, get 1 more than requested. - includecontactrequests: includeContactRequests ? 1 : 0 + includecontactrequests: includeContactRequests ? 1 : 0, + includeprivacyinfo: 1, }; return site.read('core_message_get_conversation_members', params, preSets).then((members) => { diff --git a/src/app/app.md.scss b/src/app/app.md.scss index ef972d724..c718b691c 100644 --- a/src/app/app.md.scss +++ b/src/app/app.md.scss @@ -80,4 +80,8 @@ ion-app.app-root.md { color: $core-color; } } +} + +.platform-android4_4 .bar-buttons-md { + display: flex; } \ No newline at end of file diff --git a/src/assets/img/group-avatar.png b/src/assets/img/group-avatar.png new file mode 100644 index 000000000..2e336c95c Binary files /dev/null and b/src/assets/img/group-avatar.png differ diff --git a/src/components/user-avatar/user-avatar.scss b/src/components/user-avatar/user-avatar.scss index 775b0cacf..5962d9658 100644 --- a/src/components/user-avatar/user-avatar.scss +++ b/src/components/user-avatar/user-avatar.scss @@ -12,4 +12,9 @@ ion-avatar[core-user-avatar] { background-color: $core-online-color; } } +} + +.toolbar ion-avatar[core-user-avatar] .contact-status { + width: 10px; + height: 10px; } \ No newline at end of file diff --git a/src/components/user-avatar/user-avatar.ts b/src/components/user-avatar/user-avatar.ts index bbbb09c90..627fb1a5b 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 { CoreAppProvider } from '@providers/app'; import { CoreUtilsProvider } from '@providers/utils/utils'; /** @@ -42,7 +43,8 @@ export class CoreUserAvatarComponent implements OnInit, OnChanges { protected myUser = false; protected currentUserId: number; - constructor(private navCtrl: NavController, private sitesProvider: CoreSitesProvider, private utils: CoreUtilsProvider) { + constructor(private navCtrl: NavController, private sitesProvider: CoreSitesProvider, private utils: CoreUtilsProvider, + private appProvider: CoreAppProvider) { this.currentUserId = this.sitesProvider.getCurrentSiteUserId(); } @@ -100,7 +102,8 @@ export class CoreUserAvatarComponent implements OnInit, OnChanges { return this.user.lastaccess * 1000 >= time; } else { - return this.user.isonline; + // You have to have Internet access first. + return this.user.isonline && this.appProvider.isOnline(); } }