Commit Graph

204 Commits

Author SHA1 Message Date
Garrett Moon
13ae9f9a8a Handle errors when writing files. (#190)
* Handle errors when writing files.

* Address comments, fix warning.

* Add comment to explain writing durations to file.
2016-04-19 15:48:28 -07:00
Diego Torres
1d04bf82b2 Use a hashed key when the URL is too long (#189)
* Use a hashed key when the URL is too long

* Added tests for new cacheKey behaviour

* Conform to project style
2016-04-19 15:48:08 -07:00
Garrett Moon
05b24714f4 Materialize object isn't meant to be called on nil objects. (#187) 2016-04-13 10:21:53 -07:00
Garrett Moon
bf1012741c Add error for empty images. (#188) 2016-04-13 10:09:38 -07:00
Wendy Lu
0e81f77d16 Have PINProgressiveImage pass back the quality of the current progressive image (#185)
* Have PINProgressiveImage pass back the quality of the current progressive image
* fix
* Check for nil for imageProgress pointer
* Rename some variables
* Rename a bunch of things
* Update comment
2016-04-13 07:42:37 -07:00
Adlai Holler
632e1bcd2a Modify estimatedRemainingTimeThreshhold Behavior to Match Documentation (#184)
* Modify estimatedRemainingTimeThreshhold behavior to match documentation
* Update documentation on maxProgressiveRenderSize property
* Update the behavior, not the docs
2016-04-11 15:36:50 -07:00
Garrett Moon
e6cf241648 Fix warning, passing in NULL instead of 0 2016-04-11 15:26:25 -07:00
Garrett Moon
a0c421e50f Fix build, need to return results :) 2016-04-11 15:25:11 -07:00
Garrett Moon
8d8922edd1 Merge pull request #183 from Adlai-Holler/PrefetchingReturnsTasks
Make Prefetching Methods Return Tasks
2016-04-11 14:53:26 -07:00
Garrett Moon
9dd8ebf8da Better clearing of memory mapped files.
First, prevents a memory leak if users reference self in their PINAnimatedImage completions.

Second, this deletes decoded files when there are no more references to an animated image.
Previously we deleted on app open and exit.

I wasn't going to do this in case you closed a GIF and then reopened, but the more I
thought about it the cost is too high: A user can see their disk size balloon if they view
a bunch of GIFs and then check usage. They could also fill up their space enough while using
the app by viewing GIF after GIF that instability could result.
2016-04-11 13:20:58 -07:00
Adlai Holler
157771425d Another indentation fix 2016-04-09 12:59:58 -07:00
Adlai Holler
6ff9eea9ff Use spaces for indentation 2016-04-09 12:20:23 -07:00
Adlai Holler
df36ae409b Return tasks from prefetching methods 2016-04-09 12:08:02 -07:00
Garrett Moon
e3d2e07ae7 Addressing Rricky's comments 2016-04-08 16:26:04 -07:00
Garrett Moon
5c5c3f4cba Documentation of PINAnimatedImage 2016-04-08 14:39:08 -07:00
Garrett Moon
f10547d1c5 Fix for file cleanup / prevent crash if memoryMap is nil. 2016-04-08 10:55:06 -07:00
Garrett Moon
9e8132cf68 I can't believe it was a typo 2016-04-06 14:48:51 -07:00
Garrett Moon
fc900b66d2 Cross platform fixes 2016-04-06 14:17:51 -07:00
Garrett Moon
5e2d20d36b Beta of PINAnimatedImage 2016-04-05 18:02:09 -07:00
Garrett Moon
54062d96d1 Fix examples and Carthage 2016-04-04 16:24:37 -07:00
Garrett Moon
ea164f9524 Follow up to #175, addressing comments 2016-04-04 16:12:17 -07:00
Garrett Moon
4b5d3b8c7e Cleanup 2016-03-29 17:18:37 -07:00
Garrett Moon
509ee0cd2e UIImage -> PINImage 2016-03-29 16:48:46 -07:00
Garrett Moon
7c31744e31 Switch to alternative representation 2016-03-28 17:08:53 -07:00
Garrett Moon
4fbb5b540c Spacing 2016-03-28 17:06:36 -07:00
Garrett Moon
1d84f5ebc8 Add memory container 2016-03-28 17:05:59 -07:00
Eric Jensen
270bf97964 Remove unused property 2016-03-22 22:02:57 -07:00
Eric Jensen
af382d93f6 Correct spelling typos 2016-03-22 22:02:27 -07:00
Eric Jensen
153df72ac4 Correct mixed indentation by replacing tabs with spaces 2016-03-22 22:01:35 -07:00
Kerr Marin Miller
dc4c89ed2d Add nullability specifier to PINURLSessionManager delegate 2016-03-22 10:59:15 +00:00
Garrett Moon
7ba1bee59c Merge pull request #167 from pinterest/preventDiskCacheRemoveOnMainThread
Don't want to call diskCache remove synchronously on the main thread.
2016-03-21 11:38:32 -07:00
Garrett Moon
d8c5795fcd Improved docs 2016-03-20 17:47:25 -07:00
Garrett Moon
5d4babdc99 Don't want those semi-colons 2016-03-18 16:20:23 -07:00
Garrett Moon
bfb83fd1a6 Merge branch 'fix/osx-conditionals' of https://github.com/justin/PINRemoteImage into justin-fix/osx-conditionals 2016-03-18 16:19:31 -07:00
Justin Williams
4099060dbd Old school #import instead of @import 2016-03-18 16:40:55 -06:00
Garrett Moon
42aa7b6dc5 Don't want to call diskCache remove synchronously on the main thread. 2016-03-18 14:08:28 -07:00
Justin Williams
26243b3618 PIN_TARGET_IOS and PIN_TARGET_MAC macros
Make it easier to differentiate between Mac and iOS / tvOS targets.
2016-03-18 08:35:00 -06:00
Garrett Moon
6d6f4fe264 Add slightly more performant locking. 2016-03-17 10:29:36 -07:00
Justin Williams
fa2fee5c7a Include TargetConditionals in macros file 2016-03-17 08:45:57 -06:00
Justin Williams
0235250a5f More explicit TargetConditional intentions
First we check to see if we are on the iOS or tvOS. If not, then we defer back to OS X.

TARGET_OS_IPHONE is a variant of TARGET_OS_MAC, which makes this whole thing really stupid.
2016-03-17 08:45:57 -06:00
Garrett Moon
7b00edd550 Merge pull request #162 from pinterest/addSupportForSynchronouslyGettingImageFromCache
Add support for synchronously getting images from the cache. Also, st…
2016-03-11 20:22:26 -08:00
Garrett Moon
2e3c844c28 UIImage should be PINImage 2016-03-11 16:35:46 -08:00
Garrett Moon
33b37abeea Shouldn't be deprecated :) 2016-03-11 15:52:25 -08:00
Michael Schneider
42c45261da Fix using wrong variable 2016-03-11 15:24:42 -08:00
Garrett Moon
3b5164af98 Add support for synchronously getting images from the cache. Also, store images in cache even if they aren't decoded. 2016-03-11 15:17:30 -08:00
Michael Schneider
f6ae01a2b0 Set kCGImageSourceShouldCache false by default 2016-03-11 14:49:06 -08:00
Garrett Moon
231ccb1b21 PIN_APP_EXTENSIONS is no longer necessary. 2016-03-05 15:28:13 -08:00
Garrett Moon
cf7a88fe20 Added comments 2016-02-23 11:11:13 -08:00
Garrett Moon
dea281bed6 All access to callback should be done outside async 2016-02-23 11:09:53 -08:00
Garrett Moon
29b0b4ac65 Fixes a crash in task callbacks
While all methods on tasks are called within the manager's lock,
dispatching to another queue obviously means the manager may not
be locked anymore.

I also moved calling progress download callbacks to the download
task so it's similar to progress image.

Hopefully these issues have been fixed, but it leads me to believe
a better architecture would be to make the tasks immutable by the
manager and have the tasks manage a lock on themselves. I'll need
to think about that more.
2016-02-23 11:01:56 -08:00