Commit Graph

1253 Commits

Author SHA1 Message Date
Bogdan Poplauschi fdb8b2c1c6 Small fix, this needs to be `strongOperation` 2016-09-30 14:45:44 +03:00
Bogdan Poplauschi c77adf449a Replacing #781 - made sure all the completionBlocks called from `SDWebImageDownloaderOperation` are called on the main queue. Created 2 methods to simplify the code for calling the completions 2016-09-30 14:43:38 +03:00
Bogdan Poplauschi f7e8246014 Replacing #781 - replaced all the remaining `dispatch_main_sync_safe` with `dispatch_main_async_safe`, so we no longer `dispatch_sync` on the main queue that can create issues. 2016-09-30 13:22:56 +03:00
Bogdan Poplauschi 062e50aa10 Replacing #781 - based on http://blog.benjamin-encz.de/post/main-queue-vs-main-thread/, background queue can execute code on the main thread, so we need to check for the main queue to assure safety 2016-09-30 13:17:57 +03:00
Bogdan Poplauschi 2b721a6e30 Updated the image used by the watchOS demo 2016-09-30 10:12:58 +03:00
Bogdan Poplauschi 55e1e8c723 The watchOS demo uses the watch dynamic framework 2016-09-30 10:12:45 +03:00
Bogdan Poplauschi f1a19df721 Added SDImageCacheConfig.h and UIView+WebCache.h to the umbrella header 2016-09-30 09:33:06 +03:00
Bogdan Poplauschi 3c4aa45f32 Fixed build due to latest animated WebP support that was not properly adapted for OSX. For OSX, this will not work because the `animatedImageWithImages:duration:` API does not have an equivalent there. 2016-09-30 09:32:34 +03:00
Bogdan Poplauschi 88b025a5fa Merge pull request #1438 from lianchengjiang/master
Animated webP support
2016-09-29 18:57:05 +03:00
Bogdan Poplauschi 5fac787866 Really enabled WebP for all the targets 2016-09-29 18:32:02 +03:00
Bogdan Poplauschi 836c15bccf Bumped libwebp to 0.5.1 2016-09-29 18:23:42 +03:00
Bogdan Poplauschi 30b29f4a10 Updated CHANGELOG with the latest changes (unit testing branch merged) 2016-09-29 16:06:51 +03:00
Bogdan Poplauschi 375f29d745 Merge pull request #1681 from rs/testing
Unit Testing + some refactoring due to testing
2016-09-27 15:18:17 +03:00
Bogdan Poplauschi 0ba5241aa5 Added CodeCov icon to the readme 2016-09-26 12:52:51 +03:00
Bogdan Poplauschi b44f4b8a59 Removed empty line 2016-09-26 12:10:14 +03:00
Bogdan Poplauschi a1bbe8f219 Trying to integrate with Codecov.io 2016-09-26 12:06:11 +03:00
Bogdan Poplauschi e642024688 Fix the build: UIButton and UIImageView are not defined on Mac OS or WatchOS 2016-09-25 20:07:12 +03:00
Bogdan Poplauschi 1cbe54d600 Tests for the WebCache categories 2016-09-25 19:53:53 +03:00
Bogdan Poplauschi 460c2e01a1 Tests project: CocoaPods 1.1.0, dynamic frameworks, include all the code from SDWebImage (MapKit and GIF), updated imports so they work fine 2016-09-25 19:46:46 +03:00
Bogdan Poplauschi e1840c3262 Refactored all the duplicate code from our WebCache categories into a UIView+WebCache category. All the other categories will make calls to this one. Customization of setting the image is done via the setImageBlock and the operationKey 2016-09-25 19:44:52 +03:00
Bogdan Poplauschi 7d02ffd6ab Created a WebCache Categories Xcode group - contains all the categories that we actually expose, making it easier to work with them 2016-09-25 19:29:14 +03:00
Bogdan Poplauschi 2daeffc773 SDImageCacheConfig.h made public 2016-09-25 19:27:10 +03:00
Bogdan Poplauschi f48a133f1b Prefetcher tests 2016-09-25 15:49:33 +03:00
Bogdan Poplauschi ea0bd97d10 Tests for SDWebImageManager 2016-09-25 15:17:21 +03:00
Bogdan Poplauschi fbca6a6dc3 Removed unneded code 2016-09-25 14:57:51 +03:00
Bogdan Poplauschi cfc182f2e5 Added SDImageCacheConfig to all targets, test images, code coverage setting, tests for SDImageCache, SDWebImageDownloader, SDWebImageDownloaderOperation, SDWebImageDecoder 2016-09-24 00:14:13 +03:00
Bogdan Poplauschi 0612504f1b Instead of assert, just nslog 2016-09-24 00:07:43 +03:00
Bogdan Poplauschi 2fa77435c1 Proper place for the pragma mark and used a function to check for the proper queue 2016-09-23 23:54:23 +03:00
Bogdan Poplauschi ba88022c30 Moved the `diskImageExistsWithKey:completion:` to the right place in the header 2016-09-23 23:53:51 +03:00
Bogdan Poplauschi 537b039012 Got rid of `removeImageForKey:` and `removeImageForKey:fromDisk:` that looked sync but were async. Left only the 2 async ones 2016-09-23 23:53:18 +03:00
Bogdan Poplauschi 3e78e29480 Pragma marks for code readability 2016-09-23 23:43:06 +03:00
Bogdan Poplauschi f202b50330 Updated `queryCacheOperationForKey:image:` comments and method still works if the doneBlock is nil 2016-09-23 23:42:21 +03:00
Bogdan Poplauschi d9424345ab The `storeImage:` methods from `SDImageCache` were async already, but declared as sync. Properly marked them as async + added completion. Got rid of the recalculate param. If the `NSData` is provided, use it. Otherwise, recalculate from the `UIImage` 2016-09-23 21:37:38 +03:00
Bogdan Poplauschi 2eafdd6df0 Updated `storeImageDataToDisk:forKey:` asserting when called from other queue than ioQueue. Updated the header comments 2016-09-23 21:33:28 +03:00
Bogdan Poplauschi a6316d1cce Fixed the demo project, `clearDisk` no longer exists 2016-09-23 21:15:38 +03:00
Bogdan Poplauschi 3fc19996c2 Fixed misspell 2016-09-23 21:15:15 +03:00
Bogdan Poplauschi ebf40c7ca0 Another clarification: `imageFromDiskCacheForKey:` used to also check the memory cache which I think is misleading. Now `imageFromDiskCacheForKey` only checks the disk cache and the new method `imageFromCacheForKey` checks both caches 2016-09-23 21:14:53 +03:00
Bogdan Poplauschi df3b6a52eb Created `SDWebImageDownloaderOperationInterface` to describe the behavior of a downloader operation. Any custom operation must conform to this protocol. 2016-09-23 21:11:34 +03:00
Bogdan Poplauschi 6202f05e7a Renamed `SDImageCache` `queryDiskCacheForKey:done:` to `queryCacheOperationForKey:done:` 2016-09-23 21:02:44 +03:00
Bogdan Poplauschi e9fcf0ce03 Removed sync method `diskImageExistsWithKey:` from `SDImageCache` 2016-09-23 20:58:10 +03:00
Bogdan Poplauschi 04e963b90d Get rid of the confusion cause by `cleanDisk` and `clearDisk`. Renamed `cleanDisk` to `deleteOldFiles`. No longer expose the sync `clearDisk` and `deleteOldFiles`, just the async ones 2016-09-23 20:52:30 +03:00
Bogdan Poplauschi f4bdae6870 Fixed an issue with the `SDWebImageDownloaderOperation` : `cancelInternal` was not called because of the old mechanism rellying on the `thread` property - probably because that thread did not have a runloop. Removed that and now cancelInternal is called as expected 2016-09-23 20:46:30 +03:00
Bogdan Poplauschi 84be05b867 Removed the synchronous methods `diskImageExistsForURL:` and `cachedImageExistsForURL:` from `SDWebImageManager` 2016-09-23 20:42:22 +03:00
Bogdan Poplauschi 712f497334 Added missing property code comment 2016-09-23 20:38:04 +03:00
Bogdan Poplauschi 7d73623203 Will use a single definition for all async tests duration: kAsyncTestTimeout 2016-09-23 20:37:48 +03:00
Bogdan Poplauschi fbb310b494 Expecta can use the latest version, using the WebP subspec in the Tests Podfile so we can get all the files 2016-09-23 20:37:17 +03:00
Bogdan Poplauschi f1d749218e Created a new class SDImageCacheConfig holding the configuration of the ImageCache. Easier to read code 2016-09-23 20:35:25 +03:00
Bogdan Poplauschi 82d1f2e49a Preparing to remove the need for the `recalculateFromImage` param for store in cache. Only if the data provided is nil and we have an image, we will recaculate. Moved the NSData calculation in the UIImage MultiFormat categ, plus instead of another variant to check for PNG, relly on `sd_imageFormatForImageData` 2016-09-23 20:26:46 +03:00
Bogdan Poplauschi f32f24f9c4 Refactored NSData ImageContentType category, instead of returning the contentType as a string, the new added method `sd_imageFormatForImageData` will return a `SDImageFormat` enum value 2016-09-23 20:20:24 +03:00
Bogdan Poplauschi 0869c6915d Added PNG image to demo app 2016-09-23 20:12:13 +03:00