Commit Graph
4447 Commits
Author SHA1 Message Date
Garrett Moon a5f12deffd Remove commented out lines in example 2017-10-09 10:21:55 -07:00
Garrett Moon 8448579589 Update PINRemoteImage 2017-10-09 10:13:07 -07:00
Garrett Moon bc0fbd94b7 Update license 2017-10-09 09:30:40 -07:00
Garrett Moon 127f8538ef Add CHANGELOG entry 2017-10-09 09:30:39 -07:00
Garrett Moon bfc1242ed1 Get rid of changes to podfile 2017-10-09 09:30:39 -07:00
Garrett Moon 65152f0cf5 Only set image if we're not already animating 2017-10-09 09:30:39 -07:00
Garrett Moon 5ce7e53ca7 Don't clear out image if we're not an animated image 2017-10-09 09:30:39 -07:00
Garrett Moon 13066d16b2 Don't set cover image if we're no longer in display range. 2017-10-09 09:30:39 -07:00
Garrett Moon a8cc6effd0 Clear out cover image on exit of visible range 2017-10-09 09:30:39 -07:00
Garrett Moon 72146f66e6 Clear out layer contents if we're an animated GIF on exit range 2017-10-09 09:30:39 -07:00
Garrett Moon c7879b3e38 Don't redraw the same frame over and over 2017-10-09 09:30:39 -07:00
Garrett Moon 71e28f3e95 Fix up timing on iOS 10 and above 2017-10-09 09:30:39 -07:00
Garrett Moon 67a7653b7c Fix playhead issue. 2017-10-09 09:30:39 -07:00
Garrett Moon f53ffef2c1 Fix a deadlock with display link 2017-10-09 09:30:39 -07:00
Garrett Moon 01bb2afa6c Updating to support animated WebP 2017-10-09 09:30:39 -07:00
appleguy c6e3dd7a5d [ASCollectionView] Fix index space translation of Flow Layout Delegate methods. (#467)
* [ASCollectionView] Fix index space translation of Flow Layout Delegate methods.

This includes a few other cleanups, including overflow of signed integer indices.

* [ASCollectionView] Improve code sharing of UIKit size method calls; ensure delegate invalidation re-fetches supplementary sizes too.

* [ASCollectionView] Final method ordering and doc-comment for new _sizeForUIKitCellWithKind:atIndexPath: method.
2017-10-09 17:19:46 +01:00
Olcay Ertaş 550da242b7 Update layout2-layoutspec-types.md (#608)
Objective-C code sample was still showing old syntax:
spacer.flexGrow = true;
I have updated to new one:
spacer.style.flexGrow = true;
2017-10-09 08:21:20 -07:00
Flo 4a203db9fc [ASVideoNode] Time observer fix (#604)
* [ASVideoNode] Move time observer handling to player observers methods.

* Update CHANGELOG.md.
2017-10-06 15:04:36 +01:00
Michael Schneider 4379b31ac2 Add assertion in dealloc that it is on main in ASTextKitComponents (#603) 2017-10-05 09:06:50 -07:00
Michael Schneider dd90978fb6 ASTextKitComponents needs to be deallocated on main (#598) 2017-10-04 14:52:49 +01:00
appleguy 7a07d9eb88 [PINCache] Set a default .byteLimit to reduce disk usage & startup time. (#595)
* [PINCache] Set a default .byteLimit to reduce disk usage & startup time.

This default is fairly low - only 20MB - but for most apps with images
in the size range of 10-50KB, this is still 400-1000 images.

Once some optimizations land to PINCache, we'll match the PINCache
default of 50MB to ensure the default better serves users with larger
objects in the cache.

Apps should preferably set their own byteLimit to an optimal value.

@garrettmoon - one interesting question for us is the best place to
set .byteLimit as an app. Digging into the ASPINRemoteImageDownloader
and doing this type cast is a bit complicated, so a passthrough API
to get the PIN* objects directly might be worthwhile.

* [PINCache] Declare necessary APIs to avoid a direct dependency.
2017-10-03 19:32:03 -07:00
romankl 54f241e1dc update faq toc links to match the generated html id (#597)
Right now the faq- table of contents has links to the different
headlines, but some of the generated id s don't match the referencing
a tag.
2017-10-02 11:22:14 +01:00
Michael Schneider 5c6cd7c8d9 Move clearing out of ASTextKitComponents property delegates into ASTextKitComponents dealloc (#591) 2017-09-30 07:20:14 -07:00
Adlai Holler 5186a4317e Use Nil for class instead of nil (#589) 2017-09-27 20:12:18 -07:00
Michael Schneider a103bab00a Clear ivar after scheduling for main thread deallocation #trivial (#590)
* Clear ivar after scheduling for main thread deallocation

After scheduling the ivar for main thread deallocation we have clear out the ivar, otherwise we can run into a race condition where the main queue is drained earlier than this node is deallocated and the ivar is still deallocated on a background thread

* First clear and than schedule
2017-09-27 13:42:02 -07:00
Garrett Moon 6c008974d6 Use node lock instead of separate one to avoid deadlocks. (#582)
* Use node lock instead of separate one to avoid deadlocks.

* Add CHANGELOG entry
2017-09-27 11:34:01 +01:00
Huy Nguyen 9e178dc0a6 [_ASPendingState] Make sure accessibility strings are not nil before allocating attributed strings for them #trivial (#581)
* Make sure accessibility strings are not nil before allocating attributed strings for them

- Fix crashes caused by https://github.com/TextureGroup/Texture/pull/554

* Update tests
2017-09-27 11:33:42 +01:00
Garrett Moon 40551c746b Rolling back CI to known version for now (#585)
* Rolling back CI to known version for now

* Fix availability in tests

* Commenting out for now to see if it builds

* Fix up the Swift framework test

* Fix availability
2017-09-27 09:23:30 +01:00
Hannah Troisi e295ba8705 Update showcase.md (#587)
* Update showcase.md

* Update showcase.md
2017-09-26 16:18:50 -07:00
Adlai Holler 1c9738ab7e Update podspec and changelog for v2.5 2017-09-26 12:22:18 -07:00
Huy Nguyen 8e0aa1ea73 Fix crashes caused by failing to unlock or destroy a static mutex while the app is being terminated (#577)
* Fix crashes caused by failing to unlock or destroy a static mutex while the app is being terminated

* Allocate static mutexes on the heap memory to avoid destruction at app exit

* ASThread to use ASDisplayNodeCAssert() instead of assert()
2017-09-22 11:53:41 +01:00
Alex Hüllmandel 76eccbf269 Added attributed versions of accessibilityLabel, accessibilityHint, accessibilityValue (#554)
* Added attributed versions of accessibilityLabel, accessibilityHint and accessibilityValue

* Follow conventions for property types

* Use curly braces

* Update changelog

* Follow conventions for property types in UIView+ASConvenience.h

* Add compatibility for Xcode 8

* Use isEqualToString instead of pointer comparison

* Only allocate attributed strings once. Use _setAttributedAccessibilityToViewAndProperty only for attributed properties.
2017-09-18 18:07:01 +01:00
Sev d4846dc292 [ASElementMap] Fix indexPath's section or item is actually negative #trivial (#457)
* [ASElementMap] Fix indexPath's section or item is actually negative.

* Small code style changes
2017-09-18 16:18:14 +01:00
appleguy e330e57668 [ASCornerRounding] Introduce .cornerRoundingType: CALayer, Precomposited, or Clip Corners. (#465)
* [ASCornerRounding] Initial (untested) implementation of ASCornerRounding features.

* [ASCornerRounding] Working version of both clip corners and precomposited corners.

* [ASCornerRounding] Improve factoring and documentation of corner rounding features.

* [ASCornerRounding] Some final fixups.

* Add entry to changelog for .cornerRoundingType
2017-09-18 13:02:51 +01:00
appleguy cfc48679ba [Yoga] Add insertYogaNode:atIndex: method. Improve handling of relayouts. (#469)
* [Yoga] Add insertYogaNode:atIndex: method. Improve handling of relayouts.

* Add new "version" parameter to Yoga initialization of ASDisplayNodeLayout C++ struct.
2017-09-17 22:45:39 -07:00
Hannah Troisi dcaca529b4 [ASDKgram Example] fix crash on startup (#566)
* fix crash on ASDKgram startup

* quicker fix
2017-09-16 10:36:58 -07:00
Max Wang b9b2d7e3ca Update yoga version (#569)
* fix SIMULATE_WEB_RESPONSE not imported #449

* update yoga version
2017-09-16 10:32:07 -07:00
Samuel Hsiung 008b847a7a Fix -[ASPagerNode view] triggering pendingState + nodeLoaded assert (#564) 2017-09-13 17:12:46 +01:00
Huy Nguyen 9df6909d71 [ASImageNode] Always dealloc images in a background queue (#561)
* ASImageNode to always dealloc its images in a background queue

* Update CHANGELOG
2017-09-11 13:33:30 -07:00
César Estébanez Tascón 002c2d6978 Mark ASRunLoopQueue as drained if it contains only NULLs (#558)
* Mark ASRunLoopQueue as drained if it contains only NULLs

* Update CHANGELOG.md

* Cover ASRunLoopQueue with tests

* Include PR link in CHANGELOG.md

* Replace license header of ASRunLoopQueueTests.m with correct one

* Insert a nil in _internalQueue to ensure compaction, instead of maintaining a state for _isQueueDrained
2017-09-11 13:32:25 -07:00
Huy Nguyen 7c7a4acf0e ASCollectionLayout to exclude content inset on scrollable directions from viewport size (#562) 2017-09-11 13:32:17 -07:00
Huy Nguyen fcee108af5 [ASCollectionNode][ASTableNode] Add content inset bridging property (#560)
* Add content inset bridging property to table and collection nodes

* Fix CHANGELOG

* Fix typo

* Minor fixes
2017-09-11 19:20:32 +01:00
Garrett Moon 3c77d4a5da Adds support for specifying a quality indexed array of URLs (#557)
* Add support for downloading a set of URLs on ASNetworkImageNode

* Should be building now;

* Remove old unused code

* Add a changelog message

* Bump PINRemoteImage

* Huy's comments
2017-09-11 11:12:45 -07:00
Huy Nguyen 786963c6a9 [ASDisplayNode] Deprecate -displayWillStart in favor of -displayWillStartAsynchronously: (#536)
* Deprecate -[ASDisplayNode displayWillStart] in favor of -displayWillStartAsynchronously:

* Minor change

* Fix CHANGELOG

* Update CHANGELOG.md

* Update CHANGELOG.md
2017-09-08 18:04:43 +01:00
Huy Nguyen d4b1f625aa [Gallery layout] Include the caller in properties providing methods (#533)
* Include the caller in ASCollectionGalleryLayoutPropertiesProviding's methods

* Update CHANGELOG.md
2017-09-08 17:05:06 +01:00
Adlai Holler 53e99cc762 Make ASWeakMapEntry Value Atomic (#555)
* Make ASWeakMapEntry value atomic

* Increment changelog

* Go a little nuts

* Update CHANGELOG.md
2017-09-08 15:17:35 +01:00
Eric Scheers 0bd18c8522 [ASDisplayNode] Notify rasterized subnodes that render pass has completed (#532)
* Notify rasterized subsides that render pass has completed

* Traverse entire subnode tree notifying all subnodes

* Add entry in changelog

* Retrieve rasterizesSubtree flag while holding instance lock

* Balance display delegate calls for rasterized subnodes
2017-09-07 21:05:30 +01:00
Huy Nguyen 4ba6f451f6 [Cleanup] Remove deprecated APIs (#529)
* Remove preferredFrameSize

* Remove -measure:

* Remove -measureWithSizeRange:

* Remove ASLayoutable

* Remove .name

* Remove deprecated style forwardings

That includes following properties that are declared on ASDisplayNode and ASLayoutSpec: spacingBefore, spacingAfter, flexGrow, flexShrink, flexBasis, alignSelf, ascender, descender, sizeRange and layoutPosition.

* Remove usesImplicitHierarchyManagement

* Remove deprecated range update callbacks:
-visibilityDidChange:
-visibleStateDidChange:
-displayStateDidChange:
-loadStateDidChange:

* Remove -clearFetchedData

* Remove -cancelLayoutTransitionsInProgress

* Remve ASDisplayNode+Deprecated.h

* Remove ASLayoutRangeTypeRender and ASLayoutRangeTypeFetchData

* Remove -[ASTableView clearContents]

* Remove reloadDataImmediately

* Remove ASStaticLayoutSpec

* Remove ASDimensionDeprecated

* Remove optional -pagerNode:constrainedSizeForNodeAtIndex: delegate method in ASPagerDelegate

* Remove suppressesInvalidCollectionUpdateExceptions

* Remove -[ASCollectionViewLayoutInspector initWithCollectionView]

* Remove ASVideoPlayerNode.loadAssetWhenNodeBecomesVisible

* Update CHANGELOG

* Update license of ASLayoutSpecTests.m

* Update examples/PagerNode

* Remove ASEnvironmentTraitCollection

* Remove -ASViewController.nodeConstrainedSize

* More on removing ASLayoutable
2017-09-07 19:25:42 +01:00
Yan S 19a9d29aa8 SEP-491 prerequisite: add textViewShouldBeginEditing: to ASEditableTextNodeDelegate (#535)
* SEP-491 prerequisite: add textViewShouldBeginEditing: to ASEditableTextNodeDelegate

* - added entry to CHANGELOG.md, addressed nit
2017-08-28 19:49:41 +01:00
appleguy ccc5786032 [ASCollectionNode] Add -isProcessingUpdates and -onDidFinishProcessingUpdates: APIs. (#522)
* [ASCollectionNode] Add -isProcessingUpdates and -onDidFinishProcessingUpdates: APIs.

Over time, there have actually been a lot of legitimate uses for an API like this.
In fact, I'm not quite sure what has held us back from adding one!

I believe that at least some portion of -wait calls (even if less than 50%) could be
replaced with -onDidFinishProcessingUpdates:, which could potentially improve the
performance of applications using -wait by a significant amount.

Please take a close look at implementation correctness. Although I'm in a bit of a
rush, I'm aiming to make this properly documented and added a basic test -- but it
could certainly use some more detailed testing as a followup.

* [ASCollectionNode] Improvements to the implementation of -isProcessingUpdates and -onDidFinishProcessingUpdates:

* Add lock to ASMainSerialQueue count method.

* [ASTableNode] Implement -isProcessingUpdates and -onDidFinishProcessingUpdates:. Rename -waitUntil to consistent naming.
2017-08-23 11:16:21 +01:00