Commit Graph

607 Commits

Author SHA1 Message Date
Matthew Chen
a6e00c8fec Respond to CR. 2019-03-22 16:53:55 -04:00
Matthew Chen
a7ae79aaad Ignore keyboard notifications while the view is disappearing or has disappeared. 2019-03-22 10:26:25 -04:00
Michael Kirk
e3cc8bb101 Keep results bar visible when dismissing keyboard or returning to view. 2019-03-21 12:04:37 -07:00
Michael Kirk
3850ca29b0 Bigger hack to fix problem with lesser hack.
There were two symptoms to this bad "leave app while dismissing keyboard"
state...

The first, most noticeable symptom was that the main window no longer respected
the device orientation. This was caused by UIKit temporarily disabling
autorotate during an interactive keyboard dismissal, and not cleaning up after
itself when we hid the window mid dismissal due to our screen protection
feature. This was solved previously in: ca0a555f8

The second symptom remained, and is solved by this commit. Wherein after
getting in this bad state, the interactive keyboard dismiss function behaves
oddly. Normally when interactively dismissing the keyboard in a scroll view,
the keyboard top follows your finger, until you lift up your finger, at which
point, depending on how close you are to the bottom, the keyboard should
completely dismiss, or cancel and return to its fully popped position. In the
degraded state, the keyboard would follow your finger, but when you lifted your
finger, it would stay where your finger left it, it would not complete/cancel
the dismiss.

The solution is, instead of only re-enabling autorotate, to use a higher level
private method which is called upon complete/cancellation of the interactive
dismissal. The method, `UIScrollToDismissSupport#finishScrollViewTransition`,
as well as re-enabling autorotate, does some other work to restore the UI to
it's normal post interactive-keyboard-dismiss gesture state.

For posterity here's the decompiled pseudocode:

```
/* @class UIScrollToDismissSupport */
-(void)finishScrollViewTransition {
    *(int8_t *)&self->_scrollViewTransitionFinishing = 0x0;
    [self->_controller setInterfaceAutorotationDisabled:0x0];
    [self hideScrollViewHorizontalScrollIndicator:0x0];
    ebx = *ivar_offset(_scrollViewNotificationInfo);
    [*(self + ebx) release];
    *(self + ebx) = 0x0;
    esi = *ivar_offset(_scrollViewForTransition);
    [*(self + esi) release];
    *(self + esi) = 0x0;
    return;
}
```
2019-03-21 10:37:54 -07:00
Matthew Chen
882dd16d7c Apply presentAlert() throughout codebase. 2019-03-21 10:55:04 -04:00
Matthew Chen
9fe3aa06ed Respond to CR. 2019-03-19 11:15:09 -04:00
Matthew Chen
6ab8ea9b6e Respond to CR. 2019-03-19 11:13:06 -04:00
Matthew Chen
a8e9b87f03 Rework menu actions focus item layout. 2019-03-19 11:12:30 -04:00
Matthew Chen
4f06e6dd6e Conversation view always observes view model. 2019-03-19 10:03:58 -04:00
Matthew Chen
3b008ad963 Fix conversation view content offset and scroll down button layout. 2019-03-14 15:47:59 -04:00
Michael Kirk
284357137f Photo/Movie Capture 2019-03-14 12:20:21 -07:00
Matthew Chen
7a67a7b6b5 Hide the status bar in the image picker / attachment approval. 2019-03-12 17:22:46 -04:00
Matthew Chen
0aebac0d07 Fix layout of the 'scroll down' button. 2019-03-11 23:29:01 -04:00
Matthew Chen
0a1947c961 Dismiss message actions UI on orientation change. 2019-03-11 23:28:20 -04:00
Matthew Chen
41a2a954f5 Dismiss message actions UI on orientation change. 2019-03-11 23:28:20 -04:00
Matthew Chen
6fe3ce6d87 Deconflict "bottom view" layout and keyboard animations. 2019-03-11 23:23:08 -04:00
Michael Kirk
1c78350f9a Clear input bar UI earlier in send process for snappier send animation. 2019-03-11 12:37:18 -07:00
Michael Kirk
71dd4eb151 in-conversation search
- use MediaTime for computing benchmarks
2019-02-28 16:19:16 -07:00
Michael Kirk
b11308b2f8 Return to conversation after deleting long text 2019-02-26 17:19:18 -07:00
Matthew Chen
7711ee92a7 Revert "Conversation view always observes view model."
This reverts commit 9d39e829a44f28f324f79e0b74a6c8692678d788.
2019-02-26 10:56:23 -05:00
Matthew Chen
6ed4045fbe Conversation view always observes view model. 2019-02-26 10:56:11 -05:00
Matthew Chen
56e5feca46 Introduce ConversationSnapshot. 2019-02-26 10:55:44 -05:00
Matthew Chen
586b362b89 Introduce ConversationSnapshot. 2019-02-26 10:55:44 -05:00
Michael Kirk
233bc3858b dismiss menu actions when selected item is deleted 2019-02-25 14:10:12 -07:00
Michael Kirk
bc4260b444 Send long-text with other attachments 2019-02-25 13:27:49 -07:00
Michael Kirk
a218d6c465 Send first chars of longtext in protobuf 2019-02-25 13:27:49 -07:00
Michael Kirk
fabd3996c2 pop view if message is deleted
- use global ui database connection
2019-02-21 16:18:14 -07:00
Michael Kirk
d29ce740cb Voice Note Lock 2019-02-06 17:34:29 -07:00
Matthew Chen
4feb0011d7 Reduce logging. 2019-01-31 15:48:50 -05:00
Matthew Chen
6ff6ee2e2e Rework layout of conversation input toolbar. 2019-01-23 13:02:52 -05:00
Matthew Chen
8452f5e74b Open link preview URLs when tapped. 2019-01-23 09:58:37 -05:00
Matthew Chen
3d757b492a Add link previews to conversation message bubbles. 2019-01-23 09:32:30 -05:00
Matthew Chen
ca8a4b3751 Make LinkPreviewView reusable. 2019-01-23 09:27:52 -05:00
Matthew Chen
8c7c9b27a2 Merge tag '2.34.0.26' 2019-01-23 09:14:26 -05:00
Matthew Chen
416aa2b347 Add rough draft of link preview view to composer. 2019-01-23 09:11:13 -05:00
Michael Kirk
f1e508cb60 Recover status bar style when canceling PhotoPicker 2019-01-22 09:13:22 -07:00
Matthew Chen
977ee9ffe9 Merge remote-tracking branch 'private/release/2.34.0' 2019-01-22 11:10:04 -05:00
Matthew Chen
d6a51a2a42 Fix merge breakage. 2019-01-22 10:21:43 -05:00
Matthew Chen
31ea64bdaf Build link previews. 2019-01-22 09:42:25 -05:00
Matthew Chen
127ccccb80 Tweak conversation view's "load more" behavior. 2019-01-17 14:36:31 -05:00
Matthew Chen
b8e2cb6267 Respond to CR. 2019-01-15 16:33:54 -05:00
Matthew Chen
18c890bb95 Fix input toolbar margins issue. 2019-01-15 16:30:32 -05:00
Matthew Chen
d32372ec26 Respond to CR. 2019-01-11 17:55:21 -05:00
Matthew Chen
9dda2fa8c0 Improve scroll state continuity during conversation view rotations. 2019-01-11 17:55:21 -05:00
Matthew Chen
cb228bdd29 Fix conversation view keyboard. 2019-01-10 12:04:12 -05:00
Matthew Chen
18a1d49b46 Landscape orientation. 2019-01-09 15:14:36 -05:00
Matthew Chen
721cab7887 Landscape orientation. 2019-01-09 15:14:36 -05:00
Matthew Chen
9497a38d76 Landscape orientation. 2019-01-09 15:14:36 -05:00
Matthew Chen
b5d5822b7b Landscape orientation. 2019-01-09 15:14:36 -05:00
Matthew Chen
aefe0eabed Landscape orientation. 2019-01-09 15:14:36 -05:00