Commit Graph

27365 Commits

Author SHA1 Message Date
Igor Solomennikov
88a5bbbd66 Merge branch 'igor/media-updates' into release/5.31.0 2022-03-02 18:01:26 -08:00
Igor Solomennikov
f16047a202 Fix one more place where optionals didn't need implicit unwrapping. 2022-03-02 17:58:54 -08:00
Igor Solomennikov
d5f12ac455 Check Photo Library auth status before attempting to load latest photo.
Latest photo is used in in-app camera as an image for a button that
opens photo library picker.
2022-03-02 17:58:54 -08:00
Igor Solomennikov
45db3a963e Minimize use of implicitly unwrapped optionals in code.
And mark `init(coder:)` as unavailable.
2022-03-02 17:58:54 -08:00
Igor Solomennikov
09048dad07 Fix not being able to add more items using in-app camera.
Steps to reproduce:
 • Take photo/video using in-app camera
 • In media editor, tap +
 • Observe previous photo/video deleted.
2022-03-02 17:58:54 -08:00
Igor Solomennikov
96c7b802de Slightly tweak position of photos/videos in media editor.
In order to minimize amount of moving elements when transitioning from
in-app camera to media editor.
2022-03-02 17:58:40 -08:00
Igor Solomennikov
4b9f2face3 Make sure that focusing frame only appears within the camera viewfinder. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
4b876aec2c Improvements to user flow in in-app camera controllers.
• media library picker is now presented modally from in-app camera.
• there's no more "Camera" button in media library picker.
2022-03-02 17:56:40 -08:00
Igor Solomennikov
f8824905c9 Remove OWSNavigationController.ows_preferredStatusBarStyle.
Turns out it is not really necessary: a subclassed UINavigationController
is presented and `preferredStatusBarStyle` override works just fine.
2022-03-02 17:56:40 -08:00
Igor Solomennikov
b139e05fdb Use simpler cross-fade transition between camera and media library. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
4a8511f0a0 In-app camera bug fixes.
• fixed bug when photo/video capture using physical volume buttons
  wouldn't work sometimes.
• do not show lock icon when recording video using physical volume
  buttons.
• fixed an issue when lock icon could be briefly visible upon start
  of the video recording.
2022-03-02 17:56:40 -08:00
Igor Solomennikov
48bef690b6 Fix previously captured item not deleted when going back from media editor to camera. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
2e3efccc30 Transition camera UI to "recording video" state sooner.
Transition as soon as a request to start video recording has been made,
not waiting for recording to actually start (which sometimes takes
a perceptible amount of time).
2022-03-02 17:56:40 -08:00
Igor Solomennikov
9136113b88 Uncheck "Preserve Vector Representation" for in-app camera assets. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
0f19830c62 Fix missing camera permissions check when presenting in-app camera.
In the following flow: open chat, open media library picker,
tap on Camera button.
2022-03-02 17:56:40 -08:00
Igor Solomennikov
29f75ed03c Fix regression that caused crash when opening media library picker from chat. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
4e1a48a785 Improved in-app camera layout on devices with a physical home button.
"Photo Library" and "Switch Camera" buttons are now vertically centered
with camera shutter button.
2022-03-02 17:56:40 -08:00
Igor Solomennikov
c1504e582e Address CI linter complaints. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
242cf0d32d Fix rotation of in-app camera buttons when device orientation changes. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
950d979b99 Proper layout of in-app camera controls on iPads. 2022-03-02 17:56:40 -08:00
Igor Solomennikov
b53bda869b Make interactive dismiss of in-app camera look nicer.
Let VC underneath in-app camera view controller to show during interactive
dismiss, but only in the upper part of the screen.
2022-03-02 17:56:40 -08:00
Igor Solomennikov
9ead1a01f5 A couple fixes for in-app camera.
• fix bug where camera preview wasn't positioned correctly during
  interactive dismiss.
• better position of UI elements on non-notch devices.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
a48c40b2ba Make status bar visible when media sharing UI is presented.
Media sharing UI is implemented in dark-only style which means
status bar needs to be updated to be visible if the rest of application UI
is in light mode.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
bc9944c36f Photo library picker UI updates.
• new visual treatment for item selection indicator (checkmark)
• Done and Camera buttons are more visible.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
ea2f1a0372 Change photo library picker to always be presented in "dark mode". 2022-03-02 17:56:39 -08:00
Igor Solomennikov
34bb80a551 Add Camera and Done button to photo library picker. 2022-03-02 17:56:39 -08:00
Igor Solomennikov
1f65ba5111 Improvements to share media UI buttons with blurred background.
• allow the button to be configured for dark/light UI styles.
• make content insets configurable.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
a35f5ed1f0 Reorganize classes: move shared UI components into one file. 2022-03-02 17:56:39 -08:00
Igor Solomennikov
3d385c4419 Initial commit for redesigned in-app camera.
Work in progress:
• iPad support needs work
• navigation between screens isn't finished yet.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
168de08f9e Use default background for photo library item picker (grid).
That'll be white while in Light appearance and pure black in Dark.

Also mark as "private" as many methods/vars as possble.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
1c6fb5e822 Make SignalUI.PillView public.
Will need to subclass it for camera UI.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
6dfd13530f Add CircleBlurView.
Round view that has blur (configurable) background.
2022-03-02 17:56:39 -08:00
Igor Solomennikov
de6a43d6a2 Use decimal number format for number of media items in a photo album. 2022-03-02 17:56:39 -08:00
Michelle Linington
601e2cba7d Fix spurious assert.
This assert was added to try and catch instances where we fail to map
the local address to the localProfile sentinel because the local address
hasn't been loaded by tsAccountManager.

We don't care about the reverse direction. There are instances at
startup where the we are fetching the localProfile using the known
sentinel before the local address has been loaded. In these instances,
we don't care that the local address hasn't been loaded since the
mapping has already been performed.
2022-03-02 16:34:24 -08:00
Nora Trapp
4ee4b202a8 "Bump build to 5.31.0.8." (nightly-03-02-2022) 2022-03-02 04:00:13 -08:00
Martin Böttcher
f670447fd9
removed some compiler warnings (#4027) 2022-03-02 09:26:58 +01:00
Jordan Rose
fc88d23f7e Merge branch 'jrose/more-nse-logging' 2022-03-01 17:27:43 -08:00
Jordan Rose
acba11b966 Turn on OWSLogger's aggressive flushing in the NSE for everyone
And do it sooner: at 5MB remaining instead of 1MB. This matches the
inverted condition of 20MB used, as well as where we're seeing sudden
spikes and then nothing in our logs.
2022-03-01 16:19:38 -08:00
Jordan Rose
34d60bf833 Always log when we present a user notification for an incoming message 2022-03-01 16:19:38 -08:00
Jordan Rose
0c04b3e575 Log on network requests with large content lengths
This is intended to catch requests to the server that could be causing
problems in the memory-constrained environment of the NSE. It's
unlikely, since we log *all* network requests and we haven't seen any
suspicious ones, but it could still be useful in the future.

Note that this only applies to data tasks, not download tasks; a
download task can be as big as it needs to be.
2022-03-01 16:19:38 -08:00
Jordan Rose
07712f6977 NSE: Log when each step of message processing is complete
Previously we only logged when everything was complete, or if we timed
out, but neither helps when tracking down memory overallocation
issues, since the NSE is killed before any of these logs print. With
this we have a better chance at seeing which jobs are outstanding.
2022-03-01 16:19:38 -08:00
Evan Hahn
41c2c558c6 Merge branch 'change-app-store-link-in-readme' 2022-03-01 17:38:11 -06:00
Evan Hahn
04874139f7 Update App Store readme link 2022-03-01 17:38:02 -06:00
George Nachman
7118a68e90 Merge branch 'george/PR/optimize-verified-2' into master 2022-03-01 14:17:38 -08:00
George Nachman
d305bc66a3 Optimize searching for verification status, redux.
Commit 451fa08c22
had some bugs and was reverted by commit
12883e5db5.

This commit brings it back along with fixes.

Specific bug fixes:

* Verification status for a group was inverted.
* The local address should not be considered for
  deciding if a group is verified.
2022-03-01 14:15:11 -08:00
Nora Trapp
e3de132df5 Merge branch 'nt/notifications' 2022-03-01 10:22:39 -08:00
Nora Trapp
b57a5bedd7 Populate INSendMessageIntentDonationMetadata 2022-03-01 10:22:28 -08:00
Nora Trapp
5921774053 Notify when you are quoted when 'mentionNotificationMode' is set to always 2022-03-01 10:22:28 -08:00
Jordan Rose
4de9e3b25e SyncPushTokensJob: Fix typo in logs 2022-03-01 10:19:22 -08:00
Nora Trapp
f99a6cd350 "Bump build to 5.31.0.7." (nightly-03-01-2022) 2022-03-01 04:00:10 -08:00