Commit graph

1310 commits

Author SHA1 Message Date
Michael Kirk
6a4642ed9b Fix subsequent animation after swiping 2018-03-22 10:51:34 -04:00
Matthew Chen
8d689ec090 Properly cleanup content. 2018-03-22 09:34:47 -04:00
Matthew Chen
d215499435 Show backup UI in release builds if backup is enabled. 2018-03-22 09:34:08 -04:00
Matthew Chen
5de11d7355 Recycle backup fragments. 2018-03-22 09:26:35 -04:00
Michael Kirk
b5503cc00a Handle empty media gallery
// FREEBIE
2018-03-20 18:35:42 -04:00
Michael Kirk
f261fbcf05 Dynamic gallery label
// FREEBIE
2018-03-20 18:35:05 -04:00
Michael Kirk
6939b1749b remove gradient per myles
// FREEBIE
2018-03-20 18:18:36 -04:00
Michael Kirk
7754d3d94f Real assets
// FREEBIE
2018-03-20 17:27:07 -04:00
Michael Kirk
021c0db559 WIP: waiting on assets
// FREEBIE
2018-03-20 17:07:29 -04:00
Matthew Chen
2ebd8668b4 Fix bugs in new db representation, add batch record deletion, improve memory management. 2018-03-20 11:23:56 -04:00
Matthew Chen
1bbd41f725 Improve perf of database snapshots. 2018-03-20 11:23:56 -04:00
Michael Kirk
84ed75f60b Fix typo
// FREEBIE
2018-03-20 11:17:39 -04:00
Michael Kirk
d9a2effff6 CR: remove "k" from non constant
// FREEBIE
2018-03-20 11:15:09 -04:00
Michael Kirk
352f5c1059 Prefer back button over dismiss
In some context this makes more sense, and it will never be confusing.

// FREEBIE
2018-03-20 11:12:11 -04:00
Michael Kirk
00b5316976 Don't show the "All Media" button when viewing the slider from the
gallery via settings.

In this context it makes more sense for the user to hit the "dismiss"
button to get "back" to "All Media"

// FREEBIE
2018-03-20 11:12:11 -04:00
Michael Kirk
2095cbb0c6 Update footer when returning to details via Tile view
// FREEBIE
2018-03-19 20:57:28 -04:00
Michael Kirk
428802aee8 Only try to stop video when it *is* a video
// FREEBIE
2018-03-19 20:30:19 -04:00
Michael Kirk
24eb4bf443 Stop any video whenever leaving PageView
// FREEBIE
2018-03-19 20:15:47 -04:00
Michael Kirk
10ee054d0c Avoid flicker when loading more on top
Adjusting content offset in the CollectionViewLayout.prepareLayout
method avoids a flicker vs. the previous way we were doing it.

// FREEBIE
2018-03-19 19:52:59 -04:00
Michael Kirk
19988a872a Improve scroll-jank on Gallery Tile View
- Don't fetch data unnecessarily
- Use CATransaction to avoid insertion animations. They are off screen
  anyway.

// FREEBIE
2018-03-19 19:42:03 -04:00
Michael Kirk
4c2d30a776 Memory warning clears MediaPageView cache
Doing so required MediaDetailView to retain GalleryItem, but because
GalleryItem is a swift struct, I had to envoke the Box dance.

// FREEBIE
2018-03-19 18:57:10 -04:00
Michael Kirk
13d6d72a6f per myles, use lighter blur
// FREEBIE
2018-03-19 15:43:36 -04:00
Michael Kirk
770ce1440e ConversationSettings must retain the gallery view
// FREEBIE
2018-03-19 15:20:53 -04:00
Michael Kirk
f4e68e0dfb l10n
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
fb4182c41f Ensure gallery is GC'd
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
a0bd2c2324 OrphanDataCleaner shouldn't delete active thumbnails
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
ae8dbeb8dd Access Media Gallery from conversation settings
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
f733c07d07 comment cleanup
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
4aeff7ba67 Thumbnail generation
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
dfd628250d Gallery performance
- [x] share uiDatabaseConnection to share cache
- [x] increase cache size
- [x] load less initially
- [x] lazy loading
  - [x] slider view
  - [x] tile view

// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
985af76d0b WIP: All Media view
TODO

- [ ] label video/gif
- [ ] reasonable load perf
- [ ] reasonable scroll perf
- [ ] select / delete
- [ ] cancel share action from media details returns signal style

NICE TO HAVE

- [ ] fancy in/out animation from All Media <-> tiles
- [ ] label video thumbnail with duration stamp
- [ ] Other perf?
- [ ] dbModified?
- [ ] select / send
- [ ] darken section header a shade once it's "active"

DONE

- [x] tap to refocus on new media
- [x] generate test data
- [x] section headers
- [x] equal spacing around cells

// FREEBIE

WIP WIP extract datasouce to GalleryViewController

- [x] swipe through is broken
- [x] present animation
- [x] dismiss animation

// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
e5b1c0c9b4 Fake media send
// FREEBIE
2018-03-19 14:22:03 -04:00
Matthew Chen
24cc95585f Respond to CR. 2018-03-17 09:18:01 -03:00
Matthew Chen
b0d56dcd55 Clean up ahead of PR. 2018-03-17 09:18:01 -03:00
Matthew Chen
05db8e3f7f Retry backup failures. 2018-03-17 09:18:01 -03:00
Matthew Chen
2915c533b2 Streamline database configuration and cleanup. 2018-03-17 09:18:01 -03:00
Matthew Chen
3c2aae3b9c Backup import clears database contents. 2018-03-17 09:18:01 -03:00
Matthew Chen
91bf0bdb9f Sketch out backup export UI. 2018-03-17 09:18:01 -03:00
Matthew Chen
669a3610ab Fix attachments. 2018-03-17 09:18:01 -03:00
Matthew Chen
d2f2dd273a Fix edge cases in migrations. 2018-03-17 09:18:01 -03:00
Matthew Chen
c62b5f9b55 Fix build break. 2018-03-17 09:17:16 -03:00
Michael Kirk
4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
2018-03-16 15:55:34 -04:00
Michael Kirk
88e1386720 Move frame to presentation logic, out of init
This no longer made sense now that we're using this in a
PageViewController we won't always be zooming from a particular frame.

TODO:

- why is background image all wonky?
- why aren't views created by the time it's presented? Is that a
regression? (how is self.view a MenuView if loadView hasn't been called)

// FREEBIE
2018-03-14 12:50:27 -04:00
Matthew Chen
4746948dfe Respond to CR. 2018-03-14 10:02:44 -03:00
Matthew Chen
76b4deffe4 Respond to CR. 2018-03-14 09:27:39 -03:00
Matthew Chen
70d14c84c4 Clean up backup code. 2018-03-14 09:27:39 -03:00
Matthew Chen
08149005b1 Clean up backup code. 2018-03-14 09:27:39 -03:00
Matthew Chen
3f822e8ce3 Complete minimal backup MVP. 2018-03-14 09:27:39 -03:00
Matthew Chen
04c527a0f4 Implement backup import logic. 2018-03-14 09:27:39 -03:00
Matthew Chen
aa546a02df Merge remote-tracking branch 'origin/release/2.22.0' 2018-03-14 09:19:15 -03:00