Commit graph

27 commits

Author SHA1 Message Date
Matthew Chen
6caa5b87b6 Add more asserts around thread in SAE. 2018-04-13 14:59:38 -04:00
Matthew Chen
8cc33b3de1 Refine loading view of share extension. 2017-12-01 10:48:18 -05:00
Michael Kirk
a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
64c7c40b81 CR: add shadow to activity indicator
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk
891cc6ee0d CR: better method names
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk
591cba6468 fix comment typos
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk
37177de7cb Make sure user knows what they're picking
Abort selection until *some* kind of asset has been downloaded.

// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk
e4ad169d71 Show retryable error alert when fetching GIF fails
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk
3939e8a6ac Download picked GIF faster: cancel pending request
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk
ddf2fe21a1 Download smaller GIF for previews.
Previously we were downloading a full sized GIF for each cell, which can
take dozens of seconds on a slower connection. Now we download a smaller
GIF for the picker view, and only download the full sized GIF for the
selected cell.

Some stats:

Before:

Scenario: search "Cat" and no scrolling, no picking
~10 MB

Scenario: search "Cat" and no scrolling, then pick
~10 MB

Scenario: search "Cat" and scroll 3 screens, no picking
~30 MB

Scenario: search "Cat" and scroll 3 screens, then pick
~30 MB

After:

Scenarios: search "Cat" and no scrolling, no picking
~1.0 MB (savings 90%)

Scenarios: search "Cat" and no scrolling, then pick
~3.5 MB (savings 65%)

Scenarios: search "Cat" and scroll 3 screens, no picking
~3.0 MB (savings 90%)

Scenarios: search "Cat" and scroll 3 screens, then pick
~5.5 MB (savings 81%)

// FREEBIE
2017-10-20 12:34:55 -07:00
Matthew Chen
52a8fb4b88 Add loading background to gif cells, refactor gif cells.
// FREEBIE
2017-10-06 16:25:40 -04:00
Matthew Chen
8b7d34e51c Respond to CR.
// FREEBIE
2017-10-02 15:24:57 -04:00
Matthew Chen
fd9188415f Respond to CR.
// FREEBIE
2017-10-02 14:26:03 -04:00
Matthew Chen
a0c9a84390 Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
d73a1a02a8 Tweak GIF cells.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
e4556967b6 Ensure gif cells reload when app becomes active or network becomes available.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
3bfb91d0c2 Ignore obsolete GIF requests.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
56e30d954e Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
e0194fd605 Allow multiple simultaneous GIF downloads.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
a65a4b133c Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
4f77a2a504 Load GIFs progressively using stills.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
2dfd7aa0e9 Actually send GIFs.
// FREEBIE

SQUASH ME.

SQUASH ME.
2017-10-02 13:37:32 -04:00
Matthew Chen
789cea118d Pull out GifDownloader class.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
e9885af973 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
4242001828 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
ee9101eb16 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen
3b9726a4fa Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00