Signal-iOS/SignalUI/ViewControllers
Max Radermacher 1311d3f665
Refactor contact access code
Split it based on whether the purpose is “editing” or “sharing”. If
we’re editing, it generally means we have full access to contacts, and
that we’ve checked which of the contacts are registered on Signal. If
we’re “sharing”, we don’t care whether or not they’re registered.

If we’re “sharing”, we check whether or not we’ve prompted for the
contacts permission yet. If not, we’ll show the prompt.

If we’re “editing”, we assume we’ve already prompted (which is already
the case today), so `.notDetermined` isn’t a possible state.

Other things to note:

- The `supportsContactEditing` was always true, so it’s been removed.

- The error when contacts access isn’t allowed is now shown more
  consistently. Previously, it was sometimes shown in response to
  initializing a view controller.

- Some RecipientPickerViewController code was moved from Obj-C to Swift.
  This is probably useful on its own, but it’ll also make it easier to
  build some new UI in subsequent commits.
2023-01-12 09:55:30 -08:00
..
AttachmentApproval Improvements for "Media Review" screen. 2023-01-11 16:22:40 -08:00
ConversationPicker Fix typo: Convsersation → Conversation 2022-12-30 09:18:49 -06:00
Member Picker Require explicitly setting my story privacy settings before sending to my story 2022-11-11 13:28:14 -08:00
Recipient Picker Refactor contact access code 2023-01-12 09:55:30 -08:00
Safety Numbers Convert OWSBezierPathView to Swift. 2022-11-30 16:16:36 -08:00
Stickers Finish Swiftifying StickerPackInfo 2022-12-07 09:37:07 -06:00
Stories Require explicitly setting my story privacy settings before sending to my story 2022-11-11 13:28:14 -08:00
ActionSheetController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
ApprovalFooterView.swift Update "Send" button icon to up arrow in all places. 2022-11-16 16:32:34 -08:00
ContactFieldView.swift Prefer isEmpty with strings 2022-11-01 17:53:46 -05:00
ContactShareApprovalViewController.swift Switify some code related to ConversationInputToolbar. 2022-11-07 16:32:59 -08:00
ContactsPicker.swift Refactor contact access code 2023-01-12 09:55:30 -08:00
CountryCodeViewController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
EditContactShareNameViewController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
FindByPhoneNumberViewController.swift Add ContactDiscoveryManager 2022-11-15 13:37:28 -08:00
InteractiveSheetViewController.swift Once reply sheet is focused and maximized, keep it maximized 2022-10-18 22:38:36 -07:00
MediaMessageView.swift Improvements for "Media Review" screen. 2023-01-11 16:22:40 -08:00
ModalActivityIndicatorViewController.swift Update “Find by Number/Username” to latest designs 2022-11-04 13:40:13 -07:00
OWSNavigationController.swift Use iOS 13+ UINavigationBarAppearance for navbar styling 2022-12-13 16:17:41 -08:00
OWSNavigationControllerBase.h Translate OWSNavigationController to swift 2022-11-03 15:33:02 -07:00
OWSNavigationControllerBase.m Translate OWSNavigationController to swift 2022-11-03 15:33:02 -07:00
OWSTableSheetViewController.swift Share sheet: allow sharing to story before processing completes 2022-11-16 10:28:06 -06:00
OWSTableViewController2.swift Use iOS 13+ UINavigationBarAppearance for navbar styling 2022-12-13 16:17:41 -08:00
OWSTableViewController.h Swiftify DomainFrontingCountryViewController 2022-12-06 12:53:45 -08:00
OWSTableViewController.m Swiftify DomainFrontingCountryViewController 2022-12-06 12:53:45 -08:00
OWSTableViewController.swift Users must confirm PayPal donation before donating 2022-12-02 15:27:03 -06:00
OWSViewController.swift Apply rotation+keyboard updates properly in OWSViewController 2022-11-09 08:51:39 -06:00
OWSViewControllerObjc.h Refactor OWSNavigationController 2022-11-03 16:40:47 -07:00
OWSViewControllerObjc.m Use iOS 13+ UINavigationBarAppearance for navbar styling 2022-12-13 16:17:41 -08:00
OWSWindow.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
RegistrationValues.swift Prefer isEmpty with strings 2022-11-01 17:53:46 -05:00
SafetyNumberConfirmationSheet.swift Import SignalMessaging where it’s needed 2022-10-24 10:19:06 -07:00
ScanQRCodeViewController.swift Convert OWSBezierPathView to Swift. 2022-11-30 16:16:36 -08:00
ScreenLockViewController.h Change license to AGPL 2022-10-13 08:25:37 -05:00
ScreenLockViewController.m Fix Screen Lock error when no passcode is set 2022-12-20 13:52:15 -08:00
SheetViewController.swift Change license to AGPL 2022-10-13 08:25:37 -05:00
SpamCaptchaViewController.swift Import SignalMessaging where it’s needed 2022-10-24 10:19:06 -07:00
TextApprovalViewController.swift Attach link previews present in the message text 2022-12-07 16:13:49 -08:00
UIViewController+Permissions.h Change license to AGPL 2022-10-13 08:25:37 -05:00
UIViewController+Permissions.m Change license to AGPL 2022-10-13 08:25:37 -05:00
ViewControllerUtils.h Remove unused status bar touch code 2022-12-06 09:39:23 -08:00
ViewControllerUtils.m Remove unused status bar touch code 2022-12-06 09:39:23 -08:00