From e6395fac8359455ce4fe3bca2bc4b3dac1032e52 Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Wed, 10 May 2017 16:05:50 +0300 Subject: [PATCH] Added basic support for Telegram calls Service messages for calls Alert with download link Closes #1404 Closes #1376 --- app/js/directives.js | 21 +++++++++++++++++++-- app/js/locales/en-us.json | 7 +++++++ app/js/messages_manager.js | 4 ++++ app/less/app.less | 7 +++++++ app/partials/desktop/error_modal.html | 11 ++++++++--- app/partials/desktop/message.html | 2 +- app/partials/desktop/message_service.html | 10 ++++++++++ app/partials/mobile/message.html | 2 +- app/partials/mobile/message_service.html | 10 ++++++++++ 9 files changed, 67 insertions(+), 7 deletions(-) diff --git a/app/js/directives.js b/app/js/directives.js index 78f381c4..495760e0 100755 --- a/app/js/directives.js +++ b/app/js/directives.js @@ -534,9 +534,26 @@ angular.module('myApp.directives', ['myApp.filters']) } }) - .directive('myServiceMessage', function () { + .directive('myServiceMessage', function (ErrorService, AppMessagesManager) { return { - templateUrl: templateUrl('message_service') + templateUrl: templateUrl('message_service'), + scope: { + 'historyMessage': '=myServiceMessage' + }, + link: link + } + + function link ($scope, element, attrs) { + $scope.phoneCallClick = function (messageID) { + var message = AppMessagesManager.getMessage(messageID) + var userID = AppMessagesManager.getMessagePeer(message) + ErrorService.show({ + error: { + type: 'PHONECALLS_NOT_SUPPORTED', + userID: userID + } + }) + } } }) diff --git a/app/js/locales/en-us.json b/app/js/locales/en-us.json index ea81df2b..4e84237a 100644 --- a/app/js/locales/en-us.json +++ b/app/js/locales/en-us.json @@ -359,6 +359,11 @@ "message_service_joined_by_link": "joined group via invite link", "message_service_joined": "joined the group", "message_service_pinned_message": "pinned «{message}»", + "message_service_phonecall_incoming": "Incoming Call {duration}", + "message_service_phonecall_outgoing": "Outgoing Call {duration}", + "message_service_phonecall_missed": "Missed Call {duration}", + "message_service_phonecall_canceled": "Canceled Call {duration}", + "message_service_phonecall": "Phone call {duration}", "message_service_scored_game": "{scored} in {message}", "message_service_unsupported_action": "unsupported action {action}", "message_service_bot_intro_header": "What can this bot do?", @@ -391,6 +396,7 @@ "error_modal_password_success_title": "Success!", "error_modal_password_disabled_title": "Password deactivated", "error_modal_media_not_supported_title": "Unsupported media", + "error_modal_phonecalls_not_supported_title": "Calls are not available", "error_modal_recovery_na_title": "Sorry", "error_modal_network_description": "Please check your internet connection.", @@ -408,6 +414,7 @@ "error_modal_username_occupied_description": "Sorry, this username is already taken.", "error_modal_media_not_supported_description": "Your browser cannot play this media file. Try downloading the file and opening it in a standalone player.", "error_modal_username_not_found_description": "There is no Telegram account with the username you provided.", + "error_modal_phonecalls_not_supported_description_md": "Unfortunately calls are not supported in Web App at the moment.\nYou can call {user} via mobile apps or native desktop applications.\n{download-link: Download »}", "error_modal_bad_request_description": "One of the params is missing or invalid.", "error_modal_unauthorized_description": "This action requires authorization access. Please {login-link: log in}.", diff --git a/app/js/messages_manager.js b/app/js/messages_manager.js index 80451e34..b837663b 100644 --- a/app/js/messages_manager.js +++ b/app/js/messages_manager.js @@ -1353,6 +1353,10 @@ angular.module('myApp.services') apiMessage.pFlags.out = false apiMessage.pFlags.unread = false break + + case 'messageActionPhoneCall': + delete apiMessage.fromID + break } if (migrateFrom && migrateTo && diff --git a/app/less/app.less b/app/less/app.less index b2d9a898..16e135cd 100644 --- a/app/less/app.less +++ b/app/less/app.less @@ -2130,6 +2130,13 @@ img.im_message_document_thumb { text-overflow: ellipsis; vertical-align: middle; } +.im_service_message_phonecall { + color: inherit !important; + font-weight: bold; +} +.im_service_message_phonecall_duration { + font-weight: normal; +} .im_message_date, .im_message_fwd_date { diff --git a/app/partials/desktop/error_modal.html b/app/partials/desktop/error_modal.html index d3dd47e6..fd518d9b 100644 --- a/app/partials/desktop/error_modal.html +++ b/app/partials/desktop/error_modal.html @@ -4,6 +4,7 @@

+ @@ -52,6 +53,11 @@ + + + {0} + + @@ -69,9 +75,8 @@ -
-
diff --git a/app/partials/desktop/message.html b/app/partials/desktop/message.html index a4dd1f90..e5258350 100644 --- a/app/partials/desktop/message.html +++ b/app/partials/desktop/message.html @@ -9,7 +9,7 @@
- +
diff --git a/app/partials/desktop/message_service.html b/app/partials/desktop/message_service.html index cea6125b..586f8343 100644 --- a/app/partials/desktop/message_service.html +++ b/app/partials/desktop/message_service.html @@ -42,6 +42,16 @@ + + + + + + + + + + diff --git a/app/partials/mobile/message.html b/app/partials/mobile/message.html index e7ab17bb..2055d134 100644 --- a/app/partials/mobile/message.html +++ b/app/partials/mobile/message.html @@ -10,7 +10,7 @@
- +
diff --git a/app/partials/mobile/message_service.html b/app/partials/mobile/message_service.html index dfa2e164..32740485 100644 --- a/app/partials/mobile/message_service.html +++ b/app/partials/mobile/message_service.html @@ -42,6 +42,16 @@
+ + + + + + + + + +