Commit graph

4791 commits

Author SHA1 Message Date
Michael Kirk
ed6b461662 search icon 2019-03-22 18:18:56 -07:00
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
Matthew Chen
85d58d3396 Improve handling of call intents. 2019-03-21 15:22:47 -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
1b9eb3c572 Ensure Callkit is enabled for locale. 2019-03-21 11:16:11 -04:00
Matthew Chen
40c9c196aa Fix memory leaks. 2019-03-21 11:12:04 -04:00
Matthew Chen
882dd16d7c Apply presentAlert() throughout codebase. 2019-03-21 10:55:04 -04:00
Matthew Chen
c9d62f47cc Respond to CR. 2019-03-21 10:26:38 -04:00
Matthew Chen
1a80f0c293 Add accessibility identifiers to privacy popups and subviews. 2019-03-21 10:08:57 -04:00
Matthew Chen
cb5ce42e76 Add accessibility identifiers to privacy popups and subviews. 2019-03-21 10:08:25 -04:00
Matthew Chen
f37a3059fa Add accessibility identifiers to debug log popups. 2019-03-21 10:08:25 -04:00
Matthew Chen
81508e9d02 Add accessibility identifiers to settings popups. 2019-03-21 10:08:25 -04:00
Matthew Chen
f1520d760e Add accessibility identifiers to other settings views. 2019-03-21 10:08:25 -04:00
Matthew Chen
b48e204b90 Add accessibility identifiers to notification settings views. 2019-03-21 10:08:25 -04:00
Matthew Chen
02340864f8 Add accessibility identifiers to blocklist view. 2019-03-21 10:08:25 -04:00
Matthew Chen
f7d86028da Add accessibility identifiers to profile view. 2019-03-21 10:08:25 -04:00
Matthew Chen
c619f815b5 Add accessibility identifiers to app settings view. 2019-03-21 10:08:25 -04:00
Matthew Chen
6ee4317590 Add "track" to attachment download progress indicator. 2019-03-21 10:07:38 -04:00
Matthew Chen
c2c08d0712 Remove overzealous valid media asserts. 2019-03-20 14:43:18 -04:00
Matthew Chen
31b4612746 Rework attachment download progress for generic attachments. 2019-03-20 11:33:36 -04:00
Matthew Chen
5df4a0bc17 Rework attachment download progress for audio files. 2019-03-20 11:33:36 -04:00
Michael Kirk
93c9c83ac5 Haptic feedback when remote enables video 2019-03-19 13:56:20 -07:00
Michael Kirk
179dec299f Show hint when other party enables video 2019-03-19 13:56:20 -07:00
Michael Kirk
6ccd73837c rename haptic classes, no change in functionality 2019-03-19 13:56:20 -07: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
Michael Kirk
0b638f4831 link checks 2019-03-18 15:21:19 -07:00
Michael Kirk
134cade52c fix longtext layout: though text content should be inset from the edges, the
scrollbar should abut the edge of the screen.
2019-03-18 15:20:31 -07:00
Matthew Chen
6cc28bdf8f Redraw message bubbles when corner state changes. 2019-03-18 16:31:47 -04:00
Matthew Chen
e66b45f6ce Fix spurious 'now' labels in date formatting. 2019-03-18 16:30:44 -04:00
Matthew Chen
df4cf5c09e Respond to CR. 2019-03-18 14:24:33 -04:00
Matthew Chen
b6724ee181 Clean up ahead of PR. 2019-03-18 14:14:20 -04:00
Matthew Chen
936aa5842d Clean up ahead of PR. 2019-03-18 14:14:20 -04:00
Matthew Chen
4bfa251321 Ensure constant bubble sizes for oversize text. 2019-03-18 14:14:20 -04:00
Matthew Chen
67c89cb4e3 Ensure constant bubble sizes for oversize text. 2019-03-18 14:14:20 -04:00
Matthew Chen
dc168270c2 Ensure constant bubble sizes for generic attachments. 2019-03-18 14:14:20 -04:00
Matthew Chen
3702dfa198 Rework "upload progress", "download progress" and "tap to retry" states. 2019-03-18 14:14:20 -04:00
Matthew Chen
d1447d0730 Ensure constant bubble sizes for audio media. 2019-03-18 14:14:20 -04:00
Matthew Chen
14e7274c3d Ensure constant bubble sizes for visual media. 2019-03-18 14:14:20 -04:00
Matthew Chen
c180d20dcd Store media size from attachment pointer protos. 2019-03-18 14:14:20 -04:00
Matthew Chen
991974ee35 Add accessibility identifiers in the onboarding views. 2019-03-18 14:11:37 -04:00
Matthew Chen
79d6384bc9 Add accessibility identifiers to privacy settings view. 2019-03-18 14:11:37 -04:00
Matthew Chen
99cd3f9b26 Use accessibility identifier macros in UIUtil.h. 2019-03-18 14:11:37 -04:00
Nancy Mast
189bbb9f16 added accessibility ids to HomeViewController and ProfileViewController 2019-03-18 14:11:37 -04:00
Matthew Chen
d76fac1096 Add accessibility identifiers in the onboarding views. 2019-03-18 14:11:37 -04:00
Matthew Chen
c37f425d5f Reduce logging. 2019-03-15 16:27:08 -04:00