mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Update submodules
This commit is contained in:
parent
a0bd50a0f6
commit
eb759a42cc
@ -1429,11 +1429,11 @@ private enum QueuedWakeup: Int32 {
|
||||
private func registerForNotifications(replyString: String, messagePlaceholderString: String, hiddenContentString: String, includeNames: Bool, authorize: Bool = true, completion: @escaping (Bool) -> Void = { _ in }) {
|
||||
if #available(iOS 10.0, *) {
|
||||
let notificationCenter = UNUserNotificationCenter.current()
|
||||
|
||||
notificationCenter.getNotificationSettings(completionHandler: { settings in
|
||||
switch (settings.authorizationStatus, authorize) {
|
||||
case (.authorized, _), (.notDetermined, true):
|
||||
notificationCenter.requestAuthorization(options: [.badge, .sound, .alert], completionHandler: { result, _ in
|
||||
completion(result)
|
||||
if result {
|
||||
Queue.mainQueue().async {
|
||||
let reply = UNTextInputNotificationAction(identifier: "reply", title: replyString, options: [], textInputButtonTitle: replyString, textInputPlaceholder: messagePlaceholderString)
|
||||
|
@ -801,6 +801,8 @@ final class AuthorizedApplicationContext {
|
||||
}))
|
||||
|
||||
if #available(iOS 10.0, *) {
|
||||
let alwaysModal = true
|
||||
|
||||
let permissionsPosition = ValuePromise(0, ignoreRepeated: true)
|
||||
self.permissionsDisposable.set((combineLatest(requiredPermissions(account: account), permissionUISplitTest(postbox: account.postbox), permissionsPosition.get(), account.postbox.combinedView(keys: [.noticeEntry(ApplicationSpecificNotice.contactsPermissionWarningKey()), .noticeEntry(ApplicationSpecificNotice.notificationsPermissionWarningKey())]))
|
||||
|> deliverOnMainQueue).start(next: { [weak self] contactsAndNotifications, splitTest, position, combined in
|
||||
@ -811,10 +813,10 @@ final class AuthorizedApplicationContext {
|
||||
let contactsTimestamp = (combined.views[.noticeEntry(ApplicationSpecificNotice.contactsPermissionWarningKey())] as? NoticeEntryView)?.value.flatMap({ ApplicationSpecificNotice.getTimestampValue($0) })
|
||||
let notificationsTimestamp = (combined.views[.noticeEntry(ApplicationSpecificNotice.notificationsPermissionWarningKey())] as? NoticeEntryView)?.value.flatMap({ ApplicationSpecificNotice.getTimestampValue($0) })
|
||||
if contactsTimestamp == nil, case .requestable = contactsAndNotifications.0.status {
|
||||
ApplicationSpecificNotice.setContactsPermissionWarning(postbox: account.postbox, value: -1)
|
||||
ApplicationSpecificNotice.setContactsPermissionWarning(postbox: account.postbox, value: 1)
|
||||
}
|
||||
if notificationsTimestamp == nil, case .requestable = contactsAndNotifications.1.status {
|
||||
ApplicationSpecificNotice.setNotificationsPermissionWarning(postbox: account.postbox, value: -1)
|
||||
ApplicationSpecificNotice.setNotificationsPermissionWarning(postbox: account.postbox, value: 1)
|
||||
}
|
||||
|
||||
let config = splitTest.configuration
|
||||
@ -831,15 +833,15 @@ final class AuthorizedApplicationContext {
|
||||
if case .modal = config.contacts {
|
||||
modal = true
|
||||
}
|
||||
if case .requestable = contactsAndNotifications.0.status {
|
||||
requestedPermissions.append((contactsAndNotifications.0, modal))
|
||||
if case .requestable = contactsAndNotifications.0.status, contactsTimestamp != 0 {
|
||||
requestedPermissions.append((contactsAndNotifications.0, modal || alwaysModal))
|
||||
}
|
||||
case .notifications:
|
||||
if case .modal = config.notifications {
|
||||
modal = true
|
||||
}
|
||||
if case .requestable = contactsAndNotifications.1.status {
|
||||
requestedPermissions.append((contactsAndNotifications.1, modal))
|
||||
if case .requestable = contactsAndNotifications.1.status, notificationsTimestamp != 0 {
|
||||
requestedPermissions.append((contactsAndNotifications.1, modal || alwaysModal))
|
||||
}
|
||||
default:
|
||||
break
|
||||
@ -860,7 +862,7 @@ final class AuthorizedApplicationContext {
|
||||
}
|
||||
|
||||
controller.setState(state, animated: didAppear)
|
||||
controller.proceed = {
|
||||
controller.proceed = { resolved in
|
||||
permissionsPosition.set(position + 1)
|
||||
switch state {
|
||||
case .contacts:
|
||||
@ -881,7 +883,7 @@ final class AuthorizedApplicationContext {
|
||||
switch state {
|
||||
case .contacts:
|
||||
splitTest.addEvent(.ContactsRequest)
|
||||
DeviceAccess.authorizeAccess(to: .contacts) { result in
|
||||
DeviceAccess.authorizeAccess(to: .contacts, account: account) { result in
|
||||
if result {
|
||||
splitTest.addEvent(.ContactsAllowed)
|
||||
} else {
|
||||
@ -892,7 +894,7 @@ final class AuthorizedApplicationContext {
|
||||
}
|
||||
case .notifications:
|
||||
splitTest.addEvent(.NotificationsRequest)
|
||||
DeviceAccess.authorizeAccess(to: .notifications) { result in
|
||||
DeviceAccess.authorizeAccess(to: .notifications, account: account) { result in
|
||||
if result {
|
||||
splitTest.addEvent(.NotificationsAllowed)
|
||||
} else {
|
||||
@ -907,10 +909,8 @@ final class AuthorizedApplicationContext {
|
||||
}
|
||||
} else {
|
||||
if let controller = strongSelf.currentPermissionsController {
|
||||
controller.dismiss(completion: { [weak self] in
|
||||
if let strongSelf = self {
|
||||
strongSelf.currentPermissionsController = nil
|
||||
}
|
||||
strongSelf.currentPermissionsController = nil
|
||||
controller.dismiss(completion: {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -3595,6 +3595,7 @@ Unused sets are archived when you add more.";
|
||||
|
||||
"Notifications.PermissionsTitle" = "Turn ON Notifications";
|
||||
"Notifications.PermissionsText" = "Don't miss important messages from your friends and coworkers.";
|
||||
"Notifications.PermissionsUnreachableTitle" = "Check Notification Settings";
|
||||
"Notifications.PermissionsUnreachableText" = "Please note that you partly disabled message notifications in your Settings.";
|
||||
"Notifications.PermissionsAllow" = "Turn Notifications ON";
|
||||
"Notifications.PermissionsAllowInSettings" = "Turn ON in Settings";
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 834e3a865deb0bad47c54094792044aef450c910
|
||||
Subproject commit ccfa2e2f8381bcca126abba8de3fb326dfb168fc
|
@ -1 +1 @@
|
||||
Subproject commit cc97fc2fa2a6fd875c2af18cbad65a365e9ffdd0
|
||||
Subproject commit a7e2581217adaadb0dbe3aa9c94c243facd7f16f
|
@ -1 +1 @@
|
||||
Subproject commit 99e75d0f2dc4f76deff6689ff9dd6b848b8312e9
|
||||
Subproject commit 98767051c506be81ce802194738fe295766de391
|
@ -1 +1 @@
|
||||
Subproject commit f8bee2759931fd4b1c094dc0135b6ffba5667a6a
|
||||
Subproject commit 9961c6212de8208faa0e078f704b8bf5bdc899f9
|
Loading…
x
Reference in New Issue
Block a user