Commit graph

145 commits

Author SHA1 Message Date
Michael Kirk
26ca47b511 Avoid CaptionTextView animation glitch while dismissing MessageTextView 2018-11-26 14:11:13 -07:00
Michael Kirk
9317ee9c99 design comment 2018-11-26 12:57:50 -07:00
Michael Kirk
e3120a5b87 cleanup keyboard animation code 2018-11-26 12:52:05 -07:00
Michael Kirk
55807f9a4d iPhoneX compatible keyboard animations 2018-11-26 12:43:28 -07:00
Michael Kirk
279694e704 keyboard animation cleanup 2018-11-26 12:43:28 -07:00
Michael Kirk
0808458392 fix caption dismiss animation/placeholder for multiline message body 2018-11-26 12:43:28 -07:00
Michael Kirk
4f1f09f231 Use snapshot view to avoid momentary missing bottomToolbar while switching
firstResponder from CaptionView to AttachmentApprovalViewController.
2018-11-26 12:43:28 -07:00
Michael Kirk
3bfda7ea81 Smooth kbd dismiss: avoid bouncing CaptionView due to quick transition of firstResponder 2018-11-26 12:43:28 -07:00
Michael Kirk
b108f284bd WIP: hide caption keyboard
It's tricky because we're hopping from one first responder to another.

Specifically, from the CaptionView.textView, which shows the keyboard, to
making the AttachmentApprovalViewController first responder, which shows the
BottomToolbar message text field, so in short order, we're getting multiple
notifications.

User hit's "Done" with caption

- Point A - CaptionView is positioned at the top of the keyboard
- Hide keyboard (frame change details must be calculated by y offset, since willChanage notification doesn't "shrink" the keyboard frame, it just offsets it to be non-visible.
- Point B - caption view is positioned at the bottom of the screen, input accessory view not visible
- Show Keyboard (not actually showing the *keyboard* here, but rather the VC's input accessory view)
- Point C - caption view is positioned atop the input accessory view

We want to animated smoothly from A->C, skipping B. But how do we do that robustly? We could track something like "last known input accessory view height" and never present the captionView below that. But I'm worried it won't be very robust since the input accessory view can change height, e.g. text view grows with text content or dynamic text changes.
2018-11-26 12:43:28 -07:00
Michael Kirk
838012d1ec Caption length limit and label 2018-11-26 12:43:28 -07:00
Michael Kirk
e0f7513df0 white tint for attachment approval textview cursors 2018-11-26 12:43:28 -07:00
Michael Kirk
a946ec0056 new icon assets per design 2018-11-26 12:43:28 -07:00
Michael Kirk
8776dd1909 New "add caption" and "done" assets 2018-11-26 12:43:28 -07:00
Michael Kirk
feb5a0c444 fix initial CaptionView layout glitch 2018-11-26 12:43:28 -07:00
Michael Kirk
e65eeff0fd Keyboard should cover _Caption_ TextView when _Message_ TextView becomes first responder. 2018-11-26 12:43:28 -07:00
Michael Kirk
33750baf67 finally got dismiss-before-swipe 2018-11-26 12:43:28 -07:00
Michael Kirk
dd82803a10 second abandoned attempt to require dismiss before page 2018-11-26 12:43:28 -07:00
Michael Kirk
b98b3d1fdd WIP: require dismiss before swipe 2018-11-26 12:43:28 -07:00
Michael Kirk
706dd3d0c1 initial layout of keyboard is correct across pages 2018-11-26 12:43:28 -07:00
Michael Kirk
280664c763 WIP: keyboard 2018-11-26 12:43:28 -07:00
Michael Kirk
eed2558050 Avoid glitch in keyboard dismiss.
iOS adjusts the inputAccessoryView's host input views layout margins when
popping/dismissing the keyboard, which causes a noticeable glitch.
2018-11-26 12:43:28 -07:00
Michael Kirk
8b5d1d9e69 Only add delete button once 2018-11-26 12:43:28 -07:00
Michael Kirk
28f8fc5911 per cr, avoid unnecessary 2018-11-26 12:37:58 -07:00
Michael Kirk
fcc4b516a5 fix typo in logging 2018-11-26 12:37:58 -07:00
Michael Kirk
4f0092615a Support captions *and* independent message body 2018-11-26 12:37:58 -07:00
Michael Kirk
cd88ef2bec CaptionView text field per page 2018-11-26 12:37:58 -07:00
Michael Kirk
79995cc52c rename captioning -> messageText
TODO
-[] caption field per photo, separate from album message
-[] caption field sticks to keyboard on becoming first responder
-[] swipe updates caption field (not album message)
-[] limit caption length to 240 chars
-[] add more asset

TODO picker
-[] Done becomes "next"
-[] shared navbar, album picker doesn't cover entire screen
-[] new selected checkmark asset
2018-11-26 12:37:58 -07:00
Michael Kirk
47affb81c0 Move gallery rail into input accessory view
TODO

-[] caption field per photo, separate from album message
-[] caption field sticks to keyboard on becoming first responder
-[] swipe updates caption field (not album message)
-[] limit caption length to 240 chars
-[] add more asset

TODO picker
-[] Done becomes "next"
-[] shared navbar, album picker doesn't cover entire screen
-[] new selected checkmark asset
2018-11-26 12:37:58 -07:00
Matthew Chen
8b24fba095 Add "add more" button to image picker. Provide caption editing continuity. 2018-11-15 14:10:19 -05:00
Michael Kirk
87bfdbb72c Sender Rail 2018-11-15 12:25:28 -06:00
Matthew Chen
ea080eda72 Sketch out the photo collection picker. 2018-11-15 13:14:55 -05:00
Michael Kirk
92135af8be Merge branch 'release/2.32.0' 2018-11-15 10:38:43 -06:00
Michael Kirk
47a7114317 Gallery pager style changes 2018-11-15 10:16:51 -06:00
Matthew Chen
3135e6f6f7 Respond to CR. 2018-11-13 13:57:46 -05:00
Matthew Chen
aeadea67e2 Send multiple attachments from the share extension. 2018-11-13 13:15:54 -05:00
Matthew Chen
860eb44edc Fix breakage in share extension. 2018-11-13 13:15:11 -05:00
Matthew Chen
dd0f642ff2 Fix build break. 2018-11-07 11:53:24 -05:00
Michael Kirk
7cef41f8e2 Multi-approval 2018-11-07 10:09:21 -06:00
Matthew Chen
ecba67b511 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
Michael Kirk
77bd9b8852 Extract most Gallery functionality from the gallery NavigationController.
By not overriding the initializer for an OWSNavigationController subclass,
we can use the dynamic disaptch intialization chain.

The root difficulty here is that super.init(navBarClass:) wants to call
self.init(nibNam)
2018-11-01 12:53:59 -06:00
Michael Kirk
6d8a7ed800 things working 2018-11-01 12:53:59 -06:00
Michael Kirk
1af750363a fix media-gallery doesn't respect call banner 2018-11-01 12:53:59 -06:00
Michael Kirk
19f2d0db48 WIP: Media Landscape Mode 2018-11-01 08:43:59 -06:00
Matthew Chen
40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 2018-10-31 11:42:41 -04:00
Michael Kirk
3560f3be5c Durable send operation
TODO
-[x] respect order of queue
-[x] replacements
  -[x] those w/o completion handler
  -[x] basic send+log operation persists
  -[x] send+ui completion
  -[x] share extension
  -[x] update state jobs
-[x] App Lifecyle
  -[x] settable
  -[x] Mark as ready on startup
  -[x] Fail appropriate jobs on startup

NICE TO HAVE
-[x] concurrent per senders
-[ ] longer retry (e.g. 24hrs)
-[ ] App Lifecyle
  -[x] retry failed jobs on startup?
  -[ ] reachability

DONE
-[x] basic passing test
-[x] datamodel
-[x] queue/classes
2018-10-25 11:54:59 -06:00
Matthew Chen
28f37a7a34 Update contacts cells' dependencies. 2018-10-25 09:48:57 -04:00
Michael Kirk
ce9ca1bdaa audio player type 2018-10-24 07:46:27 -06:00
Michael Kirk
3d022adf4e WIP: audio activities 2018-10-24 07:44:50 -06:00
Matthew Chen
f1d93d4472 Merge remote-tracking branch 'origin/release/2.30.2' 2018-10-12 16:00:42 -04:00
Matthew Chen
71da312336 Post-SMK ud changes. 2018-10-02 13:19:41 -04:00