Commit graph

554 commits

Author SHA1 Message Date
Michael Kirk 5f2b38c50b Introduce Thread view model
// FREEBIE
2018-04-21 19:21:18 -04:00
Matthew Chen 08d36aa862 Add screen lock UI to SAE. 2018-04-20 16:39:35 -04:00
Matthew Chen 5ce39337ed Handle malformed protos. 2018-04-16 16:15:46 -04:00
Michael Kirk 13a432b9de Limit attachment caption length to 2k bytes
// FREEBIE
2018-04-13 17:57:09 -04:00
Matthew Chen b8f8a3017a Apply design changes to home view. 2018-04-11 09:34:37 -04:00
Matthew Chen ca1f8efdad Move 'never clear' view to proper subfolder. 2018-04-10 13:09:18 -04:00
Fredrik Lillejordet 3a47422b31 class reference in sources 2018-04-10 13:04:56 -04:00
Fredrik Lillejordet d16bffe6c1 forget target reference to new class in PR 2018-04-10 13:04:22 -04:00
Michael Kirk c56e8acc51 QuotedReplyModel from SSK->SignalMessaging
// FREEBIE
2018-04-09 12:47:56 -04:00
Matthew Chen 6830d4e8cb Apply message bubble view to message details view. 2018-04-06 12:35:46 -04:00
Matthew Chen 7f0fa1228e Extract message bubble view. 2018-04-06 12:32:09 -04:00
Matthew Chen 10b4ade55a Refine appearance of quoted reply message cells. 2018-04-05 10:24:42 -04:00
Michael Kirk 6874a9e28e Convert to swift
// FREEBIE
2018-04-04 10:59:04 -04:00
Michael Kirk 2580c690cb CR: Use LRU Cache for storing system sounds
// FREEBIE
2018-04-03 16:28:33 -04:00
Michael Kirk 00e5e1b0d6 Fixup some tests
// FREEBIE
2018-04-03 11:29:05 -04:00
Matthew Chen 8e4f2ca0ed Rework proto schema changes for quoted replies.
Sketch out model changes for quoted replies.

Sketch out quoted reply input preview.

Send quoted messages protos.

Update models to reflect quoted messages.

Rework interaction initializers.

Rework interaction initializers.

Add debug UI methods for generating quoted reply variations.

Add debug UI methods for generating quoted reply variations.
2018-04-02 16:17:46 -04:00
Matthew Chen c8012d3891 Bubble collapse. 2018-04-02 10:07:15 -04:00
Matthew Chen cb00b22870 Bubble collapse. 2018-04-02 10:07:15 -04:00
Matthew Chen 041b28dd79 Elaborate debug UI for messages. 2018-04-02 10:07:15 -04:00
Matthew Chen d0c691bb7f Lazy attachment restores. 2018-04-02 09:27:34 -04:00
Michael Kirk 4eadd84abc Don't obscure "Unlock" button with keyboard
// FREEBIE
2018-03-29 22:45:06 -04:00
Michael Kirk 875321cecc Reflector configuration supports per-country code
Also update reflector hosts/policy

// FREEBIE
2018-03-28 17:39:45 -04:00
Matthew Chen cf0e6fce09 Add screen lock feature. 2018-03-22 15:49:31 -04:00
Matthew Chen 1612642c26 Add screen lock feature. 2018-03-22 15:49:31 -04:00
Michael Kirk 0025661a8d Extract GradientView
// FREEBIE
2018-03-20 17:29:35 -04:00
Matthew Chen fed524ba16 Rework database snapshot representation, encryption, etc. 2018-03-20 11:23:56 -04:00
Matthew Chen ca7c75a081 Rework database snapshot representation, encryption, etc. 2018-03-20 11:23:56 -04:00
Michael Kirk ba2923bae3 remove unused category
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk dfd628250d Gallery performance
- [x] share uiDatabaseConnection to share cache
- [x] increase cache size
- [x] load less initially
- [x] lazy loading
  - [x] slider view
  - [x] tile view

// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk 985af76d0b WIP: All Media view
TODO

- [ ] label video/gif
- [ ] reasonable load perf
- [ ] reasonable scroll perf
- [ ] select / delete
- [ ] cancel share action from media details returns signal style

NICE TO HAVE

- [ ] fancy in/out animation from All Media <-> tiles
- [ ] label video thumbnail with duration stamp
- [ ] Other perf?
- [ ] dbModified?
- [ ] select / send
- [ ] darken section header a shade once it's "active"

DONE

- [x] tap to refocus on new media
- [x] generate test data
- [x] section headers
- [x] equal spacing around cells

// FREEBIE

WIP WIP extract datasouce to GalleryViewController

- [x] swipe through is broken
- [x] present animation
- [x] dismiss animation

// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk 4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
2018-03-16 15:55:34 -04:00
Michael Kirk 88e1386720 Move frame to presentation logic, out of init
This no longer made sense now that we're using this in a
PageViewController we won't always be zooming from a particular frame.

TODO:

- why is background image all wonky?
- why aren't views created by the time it's presented? Is that a
regression? (how is self.view a MenuView if loadView hasn't been called)

// FREEBIE
2018-03-14 12:50:27 -04:00
Matthew Chen 76b4deffe4 Respond to CR. 2018-03-14 09:27:39 -03:00
Matthew Chen 30065493a3 Implement backup import logic. 2018-03-14 09:27:39 -03:00
Matthew Chen 04c527a0f4 Implement backup import logic. 2018-03-14 09:27:39 -03:00
Matthew Chen 593f7da72d Upload test file to CloudKit. 2018-03-12 16:40:07 -03:00
Matthew Chen d06ad25d77 Sketch out incremental backup manager and settings view. 2018-03-12 16:40:07 -03:00
Matthew Chen b296cfb893 Sketch out incremental backup manager and settings view. 2018-03-12 16:40:07 -03:00
Michael Kirk 173008fba9 Clarify reminder view, touchup layout
Layout needs to be kept tight for small form factors, but it was overly
cramped on larger devices.

// FREEBIE
2018-03-09 17:31:44 -05:00
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 2018-03-06 16:43:33 -05:00
Michael Kirk 79ee5ed216 Be more conservative about logging legacy users into "Recents"
// FREEBIE
2018-03-05 21:32:35 -05:00
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
2018-03-05 09:53:09 -05:00
Michael Kirk e8f4a7bfe8 Merge tag '2.21.0.4' 2018-03-03 11:04:11 -05:00
Michael Kirk 95011bdfed order messageReceived sounds in bundle
// FREEBIE
2018-03-03 09:54:04 -05:00
Matthew Chen baf6fcc535 Add 2FA registration view. 2018-03-02 10:55:00 -05:00
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 2018-03-01 15:38:59 -05:00
Michael Kirk fa37fdd300 Fix legacy sounds for voip pushes
This way users who were unknowingly upgraded in the night will continue
to hear the ka-klunk until they've seen the splash screen announcing the
feature.

// FREEBIE
2018-03-01 10:28:05 -05:00
Michael Kirk e5ab6f101b Clean up audio files
- remove unused classic-ringtone
- move classic with the rest of the message sounds

// FREEBIE
2018-03-01 10:28:05 -05:00
Michael Kirk cf6dfe08bb Custom audio notifications upgrade experience
TODO: update art
2018-02-27 15:14:20 -05:00
Michael Kirk f1f7f87457 Use aifc files for all notification sounds so we can confidently copy
them over the statically named "NewMessage.aifc" which is used by
fallback notifications

// FREEBIE
2018-02-26 15:58:09 -05:00
Michael Kirk e020b0ff99 Persist default sound so we can use it for fallback notifications
// FREEBIE
2018-02-26 15:41:35 -05:00
Matthew Chen 38ff82ab97 Rebrand OWSAudioPlayer. 2018-02-26 14:47:57 -05:00
Matthew Chen 306af29d6f Restore "sonar ping" for "call connecting." 2018-02-26 14:47:57 -05:00
Matthew Chen 32b87d0e58 Remove custom ringtones. 2018-02-26 14:47:57 -05:00
Matthew Chen e54cf313e8 Use quiet versions of the notification sounds in foreground. 2018-02-26 14:46:17 -05:00
Matthew Chen 55b9aa4089 Preserve 'classic' Signal notification and ringtone for legacy users. 2018-02-26 14:46:17 -05:00
Matthew Chen 390cf3c80a Revive the 'classic' Signal notification and ringtone. 2018-02-26 14:46:17 -05:00
Matthew Chen 44e38709d6 Update minimum iOS version to 9.0. 2018-02-26 14:13:38 -05:00
Matthew Chen 710d164186 Update minimum iOS version to 9.0. 2018-02-26 14:13:38 -05:00
Matthew Chen 899799af92 Improve sound settings view. 2018-02-23 12:53:43 -05:00
Matthew Chen 5e8f3086de Update call sounds. 2018-02-23 12:53:43 -05:00
Matthew Chen a44a117612 Add custom ringtone sounds. 2018-02-23 12:53:43 -05:00
Matthew Chen 9aa02489b8 Custom notification sounds in local notifications. 2018-02-23 12:53:42 -05:00
Matthew Chen 5c3f6b0ee5 Custom notification sounds. 2018-02-23 12:53:42 -05:00
Michael Kirk 6eb1ce682a Debug file browser
// FREEBIE
2018-02-18 16:24:29 -05:00
Michael Kirk abb51b565a Don't de-activate audio sesion when other audio activities are happening
// FREEBIE
2018-02-16 14:00:15 -08:00
Matthew Chen 7ea1f3d926 Fix handling of file types in SAE. 2018-02-15 13:47:05 -05:00
Michael Kirk debd556e09 Fix notification % escaping, debug UI
Consolidated the notifications debug UI (and fixed it) to make testing
this a bit easier.

// FREEBIE
2018-02-13 08:29:58 -08:00
Matthew Chen 122ef91e57 Add protocol context to protocol kit. 2018-02-09 10:31:29 -05:00
Michael Kirk c646f76335 Garther audio concerns, clean up session when done
- sync speakerphone state manipulated from system call screen
  - Revert audio session after call failure, ensures media plays out of
    speaker after placing a failing call.
  - Replace notification with delegate pattern since we're already using
    delegate pattern here.
- Fixes voiceover accessibility after voice memo
- Avoid audio blip after pressing hangup
- Rename CallAudioSession -> OWSAudioSession
  Going to start using it for other non-call things since we want to
  gather all our audio session concerns.
- Resume background audio when done playing video
  - Extract OWSVideoPlayer which ensures audio is in proper state before
    playback
  - Move recording session logic to shared OWSAudioSession
  - Deactivate audio session when complete

// FREEBIE
2018-02-06 18:45:51 -08:00
Matthew Chen 74cd37dd7c Clean up ahead of PR. 2018-01-25 13:27:17 -05:00
Matthew Chen 2af858c529 Add message approval view. 2018-01-25 13:26:39 -05:00
Matthew Chen b9bd21e73f Improve presentation of text attachments in attachment approval view. 2018-01-25 13:24:22 -05:00
Matthew Chen 0cc7f3e00e Clean up ahead of PR. 2018-01-25 11:00:38 -05:00
Matthew Chen c5079ed3d7 Add support for key specs. 2018-01-25 11:00:38 -05:00
Michael Kirk 6297137924 Disable optimizations when building tests for SignalMessaging
// FREEBIE
2018-01-25 11:00:38 -05:00
Matthew Chen 5ba5b763e4 Add tests around database conversion. 2018-01-25 11:00:38 -05:00
Matthew Chen dc73342573 Convert databases if necessary. 2018-01-25 11:00:38 -05:00
Matthew Chen 6b51be75a5 Revert "Set preprocessor symbols for internal builds."
This reverts commit a91056c5e1.
2018-01-24 09:35:28 -05:00
Matthew Chen a91056c5e1 Set preprocessor symbols for internal builds. 2018-01-24 09:34:23 -05:00
Michael Kirk baa312f449 Timer button with duration label
// FREEBIE
2018-01-22 10:28:51 -05:00
Michael Kirk 94d58b88b8 Play video inline in approval view
Previously we launched the MPMoviePlayerController

// FREEBIE
2018-01-16 17:57:14 -05:00
Michael Kirk a423fe8a0e WIP Merge tag '2.19.4.4'
- restore video playback in fullscreen

This was a large merge, so I'm opting to make some changes in separate
commits.
2018-01-16 15:25:58 -05:00
Matthew Chen 272a90d269 Add import back up UI. Begin work on import backup logic. 2018-01-11 10:42:57 -05:00
Matthew Chen 980b3d25a7 Rework "export backup" UI. 2018-01-11 10:42:27 -05:00
Matthew Chen 8769fb07cf Write backup to encrypted zip. 2018-01-11 10:40:49 -05:00
Matthew Chen 9e89502fdb Let users send to non-contacts, non-threads in SAE. 2018-01-10 17:56:30 -05:00
Michael Kirk 412fe2735e Rename FullImageViewController -> MediaDetailViewController
// FREEBIE
2018-01-08 01:10:32 -05:00
Michael Kirk 86d61eee30 Custom video player layer to avoid "double present/dismiss"
// FREEBIE
2018-01-08 01:10:32 -05:00
Michael Kirk 7d0acc94ff cleanup
// FREEBIE
2017-12-11 19:40:35 -05:00
Michael Kirk 65f79770ac rebase fixup 2017-12-11 14:11:58 -05:00
Michael Kirk 90e9b4a4f2 WIP - send all video types 2017-12-11 14:05:55 -05:00
Michael Kirk d3e7c99a63 Attachment approval: cancel/confirm to top/bottom toolbars
- avoid double-submit by disabling after hitting send.
- Animate SAE dismissal as modal
  Requires hiding the load view
- attachment is centered in screen
- add gradient to ensure controls are visible
- Fix clamp constraints - I think this was a typo
  Otherwise we couldn't show an image which was 1" wide by 2" tall
- set max zoom, hide scroll indicators
- use media view
- slower panning feels right
- white send button
- can share GIF, static, and sort of video...
- Play button for attachment approval
  - move to image assets so we can use it in SAE
  - slightly larger button for full-screen approval view
  - don't launch redundant fullscreen UI for images when in approval view
- fix scrollOffset in AttachmentApproval
- consolidate view initialization logic in loadView and fix white background
- CR: more legible arithmetic

// FREEBIE
2017-12-11 13:58:03 -05:00
Matthew Chen 74efcb9041 Rework thread safety in profile manager. 2017-12-11 12:28:28 -05:00
Matthew Chen 911c4d380b Rework thread safety in profile manager. 2017-12-11 12:28:28 -05:00
Michael Kirk d9cca77e23 update header references
// FREEBIE
2017-12-08 13:32:52 -05:00
Michael Kirk dd1795e337 fixup rebae 2017-12-07 17:12:03 -05:00
Michael Kirk 3ecf0a7537 Cancelling dismisses share extension, remove "import with signal"
Usinig the new ShareViewDelegate to dismiss the share extension, might
have broken the "import with signal" functionality. But because we
want to remove it anyway, I've done that now, rather than fix it up.

// FREEBIE
2017-12-07 17:12:03 -05:00
Matthew Chen 345323fe8a Add Estonian and Taiwanese Chinese localizations. 2017-12-07 14:46:12 -05:00
Matthew Chen f7bcf1d04d Fix tests. 2017-12-07 14:44:38 -05:00