Vibration basic support
This commit is contained in:
parent
aeba895b89
commit
4d4d08710a
@ -1963,7 +1963,7 @@ angular.module('myApp.controllers', [])
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
Storage.get('notify_nodesktop', 'notify_nosound', 'send_ctrlenter', 'notify_volume').then(function (settings) {
|
Storage.get('notify_nodesktop', 'notify_nosound', 'send_ctrlenter', 'notify_volume', 'notify_novibrate').then(function (settings) {
|
||||||
$scope.notify.desktop = !settings[0];
|
$scope.notify.desktop = !settings[0];
|
||||||
$scope.send.enter = settings[2] ? '' : '1';
|
$scope.send.enter = settings[2] ? '' : '1';
|
||||||
|
|
||||||
@ -1975,6 +1975,9 @@ angular.module('myApp.controllers', [])
|
|||||||
$scope.notify.volume = 5;
|
$scope.notify.volume = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.notify.canVibrate = NotificationsManager.getVibrateSupport();
|
||||||
|
$scope.notify.vibrate = !settings[4];
|
||||||
|
|
||||||
$scope.notify.volumeOf4 = function () {
|
$scope.notify.volumeOf4 = function () {
|
||||||
return 1 + Math.ceil(($scope.notify.volume - 1) / 3.3);
|
return 1 + Math.ceil(($scope.notify.volume - 1) / 3.3);
|
||||||
};
|
};
|
||||||
@ -2014,6 +2017,16 @@ angular.module('myApp.controllers', [])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.toggleVibrate = function () {
|
||||||
|
$scope.notify.vibrate = !$scope.notify.vibrate;
|
||||||
|
|
||||||
|
if ($scope.notify.vibrate) {
|
||||||
|
Storage.remove('notify_novibrate');
|
||||||
|
} else {
|
||||||
|
Storage.set({notify_novibrate: true});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$scope.toggleCtrlEnter = function (newValue) {
|
$scope.toggleCtrlEnter = function (newValue) {
|
||||||
$scope.send.enter = newValue;
|
$scope.send.enter = newValue;
|
||||||
|
|
||||||
|
@ -3400,10 +3400,13 @@ angular.module('myApp.services', [])
|
|||||||
|
|
||||||
.service('NotificationsManager', function ($rootScope, $window, $timeout, $interval, $q, MtpApiManager, AppPeersManager, IdleManager, Storage) {
|
.service('NotificationsManager', function ($rootScope, $window, $timeout, $interval, $q, MtpApiManager, AppPeersManager, IdleManager, Storage) {
|
||||||
|
|
||||||
|
navigator.vibrate = navigator.vibrate || navigator.mozVibrate || navigator.webkitVibrate;
|
||||||
|
|
||||||
var notificationsUiSupport = ('Notification' in window) || ('mozNotification' in navigator);
|
var notificationsUiSupport = ('Notification' in window) || ('mozNotification' in navigator);
|
||||||
var notificationsShown = {};
|
var notificationsShown = {};
|
||||||
var notificationIndex = 0;
|
var notificationIndex = 0;
|
||||||
var notificationsCount = 0;
|
var notificationsCount = 0;
|
||||||
|
var vibrateSupport = !!navigator.vibrate;
|
||||||
var peerSettings = {};
|
var peerSettings = {};
|
||||||
var faviconBackupEl = $('link[rel="icon"]'),
|
var faviconBackupEl = $('link[rel="icon"]'),
|
||||||
faviconNewEl = $('<link rel="icon" href="favicon_unread.ico" type="image/x-icon" />');
|
faviconNewEl = $('<link rel="icon" href="favicon_unread.ico" type="image/x-icon" />');
|
||||||
@ -3476,6 +3479,7 @@ angular.module('myApp.services', [])
|
|||||||
getPeerMuted: getPeerMuted,
|
getPeerMuted: getPeerMuted,
|
||||||
savePeerSettings: savePeerSettings,
|
savePeerSettings: savePeerSettings,
|
||||||
updatePeerSettings: updatePeerSettings,
|
updatePeerSettings: updatePeerSettings,
|
||||||
|
getVibrateSupport: getVibrateSupport,
|
||||||
testSound: playSound
|
testSound: playSound
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -3561,8 +3565,13 @@ angular.module('myApp.services', [])
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Storage.get('notify_nodesktop').then(function (noShow) {
|
|
||||||
if (noShow) {
|
Storage.get('notify_nodesktop', 'notify_novibrate').then(function (settings) {
|
||||||
|
if (settings[0]) {
|
||||||
|
if (vibrateSupport && !settings[1]) {
|
||||||
|
navigator.vibrate([200, 100, 200]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var idx = ++notificationIndex,
|
var idx = ++notificationIndex,
|
||||||
@ -3694,6 +3703,10 @@ angular.module('myApp.services', [])
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getVibrateSupport () {
|
||||||
|
return vibrateSupport;
|
||||||
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,6 +79,13 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="mobile_modal_action_wrap" ng-if="!notify.desktop && notify.canVibrate">
|
||||||
|
<a class="mobile_modal_action tg_checkbox clearfix" ng-click="toggleVibrate()" ng-class="notify.vibrate ? 'tg_checkbox_on' : ''">
|
||||||
|
<span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>
|
||||||
|
<span class="tg_checkbox_label">Vibrate</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="mobile_modal_action_wrap">
|
<div class="mobile_modal_action_wrap">
|
||||||
<a class="mobile_modal_action tg_checkbox clearfix" ng-click="toggleSound()" ng-class="notify.volume ? 'tg_checkbox_on' : ''">
|
<a class="mobile_modal_action tg_checkbox clearfix" ng-click="toggleSound()" ng-class="notify.volume ? 'tg_checkbox_on' : ''">
|
||||||
<span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>
|
<span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user