Commit Graph

22799 Commits

Author SHA1 Message Date
Matthew Chen
abcdf41c7f Merge branch 'nt/table-revamp' 2021-03-05 09:07:44 -03:00
Nora Trapp
2e1d2e1623 Show specific biometry type screen lock will use 2021-03-05 00:32:16 -08:00
Nora Trapp
734a26ad71 Hide navbar background when scrolled to top 2021-03-05 00:31:50 -08:00
Nora Trapp
a2f0079e31 Update plus icon 2021-03-05 00:31:08 -08:00
Nora Trapp
01d3e47a59 Small copy tweak 2021-03-04 18:44:38 -08:00
Nora Trapp
91c8b4a250 Further design feedback 2021-03-04 18:32:24 -08:00
Nora Trapp
450870de44 Design feedback 2021-03-04 18:32:24 -08:00
Nora Trapp
b07745d60d Fix screen security switch 2021-03-04 18:32:24 -08:00
Matthew Chen
ea1c20b3ad Merge branch 'charlesmchen/table2tweaks' 2021-03-04 17:17:23 -03:00
Matthew Chen
3c9dfe46be Refine new table style. 2021-03-04 17:17:04 -03:00
Jordan Rose
b95e7155ea Merge branch 'jrose/MediaGallery' 2021-03-04 11:36:59 -08:00
Jordan Rose
9cf01c3fd2 MediaGallery: fix multi-threading bug caught by previous commit! 2021-03-04 10:48:19 -08:00
Jordan Rose
a7a75d35e8 MediaGallery: final cleanups
- AssertIsOnMainThread
- prefer 'guard' for early exits
- lock down access control
- doc comment for the class itself
2021-03-04 10:30:54 -08:00
Jordan Rose
15a4a1a9cd MediaGallery: delete old Finder API, including its Yap implementation 2021-03-04 10:30:54 -08:00
Jordan Rose
46c7ed9ebe MediaGallery: use named constants for all batch sizes 2021-03-04 10:30:54 -08:00
Jordan Rose
c81ceaaeeb MediaGallery: add back the "substantial requests only" check
This avoids repeated database accesses for ranges that are mostly
loaded already.

Also, don't rebuild items that are already loaded, since overlapping
ranges are still expected in this design.
2021-03-04 10:30:54 -08:00
Jordan Rose
4e2fe8ca69 MediaGallery: avoid full searches in favor of per-section searches
Also, share more infrastructure with the tile view.
2021-03-04 10:30:54 -08:00
Jordan Rose
34d2ed47f1 MediaGallery: handle new messages coming in by reloading
The tile view will only reload the sections that changed. The page
view will reload its current item. This is necessary to keep the
MediaGallery model in sync with the database, but as a side benefit it
also means the All Media view gets live updates as new messages come
in.
2021-03-04 10:30:54 -08:00
Jordan Rose
3b90f1b761 MediaGallery: Filter recently-deleted items from database queries
And rewrite and simplify the rest of deletion logic appropriately.
(Thanks to Nora for the strategy.)

There is one tough case here: database updates have happened
/externally/ (say, from a disappearing message expiring), in which
case the database will be updated but the MediaGallery model will not.
In this case we've broken the invariant that we have the correct count
for each month-section, and need to put a hold on database access
until the model has been updated. The only effect of this is in the
page-based media VC, where we'll exit out of the browser rather than
advancing to the next item if the item we were looking at was deleted
/and/ the next item hasn't been loaded yet. (This can happen if you're
at the start of a message with many items and the whole message gets
deleted.)
2021-03-04 10:30:54 -08:00
Jordan Rose
15e92998cb MediaGallery: use OrderedDictionary as the backing store
...rather than a flat list of loaded MediaGalleryItems. This is
similar to the ad hoc approach in MediaTileViewController in the
previous commit, but is consistent across MediaPageViewController as
well.

Still not handled yet: deletions, also avoiding redundant database
access
2021-03-04 10:30:54 -08:00
Jordan Rose
29a2884743 Rewrite the All Media collection view controller
- Measure an entire section all at once, so items don't jump around
- Load individual items lazily by section instead of by plain index
- Search for more sections by enumerating timestamps

Does not handle deletes yet. Also I haven't removed all the old APIs.
2021-03-04 10:30:54 -08:00
Jordan Rose
76b716462e SSK: Make OrderedDictionary a struct and improve it a bit
- Now a struct, meaning no need for a clone() method
- Now a RandomAccessCollection indexed by Int
- Removed the subscript setter that EarlyMessageManager was using to
  make the reordering behavior more explicit
- Generalized insert(key:value:isAppend:) to insert(key:at:value:)
- Added removeSubrange(_:)
2021-03-04 10:30:54 -08:00
Jordan Rose
26037ff8f4 Database: Remove @escaping from all synchronous transaction callbacks 2021-03-04 10:30:54 -08:00
Jordan Rose
f3b87c1ee7 MediaGalleryFinder: factor out common SQL query builder 2021-03-04 10:30:54 -08:00
Matthew Chen
012dd9f143 "Bump build to 5.7.0.9." (Internal) 2021-03-04 09:49:36 -03:00
Matthew Chen
58ca3e0824 Update l10n strings. 2021-03-04 09:49:18 -03:00
Matthew Chen
3555e54e48 Merge branch 'nt/table-revamp' 2021-03-04 09:40:14 -03:00
Nora Trapp
0cefe0abe6 Resolve merge conflicts 2021-03-03 20:49:07 -08:00
Nora Trapp
28a17ec257 Add internal settings view 2021-03-03 20:32:36 -08:00
Nora Trapp
5f1435113e Re-style privacy settings, group creation, compose, and other miscellany 2021-03-03 20:32:36 -08:00
Nora Trapp
80e188b46d Present profile subviews in modal 2021-03-03 20:29:41 -08:00
Nora Trapp
87720bc22d Notification settings restyle 2021-03-03 20:29:41 -08:00
Nora Trapp
19cb5dc27b Add chats settings 2021-03-03 20:29:41 -08:00
Nora Trapp
d3b708d97a Fix empty bio navbar 2021-03-03 20:29:40 -08:00
Nora Trapp
d1845e753d Update wallpaper stylings 2021-03-03 20:29:40 -08:00
Nora Trapp
9029a8c5cd Add account settings 2021-03-03 20:29:40 -08:00
Nora Trapp
88d7821b60 Update profile settings view styles 2021-03-03 20:29:40 -08:00
Nora Trapp
9c74b6050b Add logging and about to help settings 2021-03-03 20:29:40 -08:00
Nora Trapp
6541230c89 Enable theme settings for pre iOS 13 2021-03-03 20:29:40 -08:00
Nora Trapp
232bb2f8af Change over a bunch of tables and design feedback 2021-03-03 20:29:40 -08:00
Nora Trapp
8b4f6c1ad4 Allow the navigation bar color to exactly match its underlying color 2021-03-03 20:29:40 -08:00
Nora Trapp
325f87a1cb Initial App settings restyling 2021-03-03 20:29:40 -08:00
Matthew Chen
a4431f4ea9 "Bump build to 5.7.0.8." (Internal) 2021-03-04 00:16:41 -03:00
Matthew Chen
47a4b88467 Feature flags for .qa. 2021-03-04 00:16:38 -03:00
Matthew Chen
75ec6b1349 "Bump build to 5.7.0.7." 2021-03-04 00:16:32 -03:00
Matthew Chen
0c2205580a Feature flags for .beta. 2021-03-04 00:16:30 -03:00
Matthew Chen
ec85c005b4 Update l10n strings. 2021-03-04 00:16:26 -03:00
Matthew Chen
b08438849d Feature flags for .qa. 2021-03-04 00:10:36 -03:00
Matthew Chen
d3c0669b9b "Bump build to 5.7.0.6." 2021-03-04 00:10:29 -03:00
Matthew Chen
0c85efa3ef Feature flags for .beta. 2021-03-04 00:10:21 -03:00