Commit Graph
4958 Commits
Author SHA1 Message Date
dmaclach d8cc3c9bdd Reduce startup time. (#1294)
Initializing the LUT arrays at file level scope creates a large chunk of code retaining and releasing all of the NSStrings in the tables. Moving them to function level moves the initialization to being lazy.
2019-01-16 18:25:19 -08:00
Kevin d73c44dffc match AS_USE_VIDEO usage in tests to definitions (#1280) 2019-01-16 18:23:47 -08:00
dmaclach 0a48cd7371 Reduce startup time. (#1293)
Move file level static into a function so that it isn't being initialized pre-main.
2019-01-16 18:23:08 -08:00
wxyong 45f2347367 [Documentation] Performance spell correction (#1298) 2019-01-16 18:21:24 -08:00
dmaclach e59eff8aa0 Reduce startup time. (#1292)
Move file scope constant that is initialized at startup to function scope to avoid startup hit.
2019-01-15 08:56:43 -08:00
appleguy 2d43f468d0 [ASCollectionView] Supplementary nodes should not enter ASHierarchyStateRangeManaged. (#1310)
As of today, ASRangeController doesn't manage the interfaceState for supplementary nodes. This bug was introduced with a refactoring of this code a couple months ago.

With this change, the supplementary nodes will automatically enter each interfaceState bit when they are added to a view hierarchy.
2019-01-11 08:11:55 +01:00
Michael Schneider 5212d022ab Fix loading items in ASDKGram IGListKit example (#1300) 2019-01-10 08:56:38 +01:00
Michael Schneider 52b84bac01 Use cell mode while wrapping supplementary nodes (#1282) 2019-01-10 08:50:23 +01:00
Michael Zuccarino 22acb985cb Start a thrash test suite for the collection node (#1246)
* Split up table view thrash tests

* Fix license

* Fix license

* Reenable thrash tests for table view

* Creating the collection view thrash tests

* Batch update animated tests

* Thrash wildly dispatch main

* Reset the thrash count

* One more test

* Lint

* Update Tests/ASThrashUtility.h

Co-Authored-By: mikezucc <mikezuccarino@gmail.com>

* Tiny code style change in ASCollectionViewThrashTests.mm
2019-01-02 16:34:41 -08:00
Huy Nguyen 17e56042d3 Add a way to opt out of always-clear-data behavior in ASCollectionView and ASTableView (#1284) 2018-12-20 13:47:58 -08:00
Michael Schneider ab0a00c21c Copy yogaChildren in accessor method. Avoid using accessor method internally (#1283)
* Copy yogaChildren in accessor method. Avoid using accessor method internally.

* Further improvements
2018-12-20 17:45:52 +01:00
dmaclach 4982c84640 Reduce startup time. (#1291)
Get rid of file scope initialization that causes a premain startup hit.
2018-12-20 11:17:00 +01:00
dmaclach 7cddc2b1be Reduce startup time. (#1288)
Make global static a function local static. This stops it from being
initialized premain and affecting startup time.
2018-12-18 16:45:00 -08:00
Wu Zhong 351e402426 Remove UIKit header import in AsyncTransaction file (#1275) 2018-12-17 11:27:57 +01:00
Michael Schneider 5d2524be2c Update test imports (#1279) 2018-12-15 18:45:56 -08:00
Kevin ee9ecc4025 Access thread safe property to avoid assertion (#1281)
* Access thread safe property to avoid assertion after the ASDisplayNode's view or layer have been created.

* Oops add these headers
2018-12-15 13:18:46 -08:00
LiuJian c6fc05d9e6 Set automaticallyAdjustsContentOffset to ASTableView when view is load (#1278)
* Set automaticallyAdjustsContentOffset when view is load

* [ASTableNode] Update test: set automaticallyAdjustsContentOffset before view is load (#1278)
2018-12-11 19:32:43 -08:00
Kevin b69fe703fd Wrap supplementary node blocks to enable resizing them. (#1265)
* Wrap supplementary node blocks to enable resizing them.

Most ASCellNodeBlocks are wrapped by ASCollectionView.mm to add an `interactionDelegate` as well as calling `enterHierarchyState` on the node and setting its transform to a reflection if `inverted` is set on the collectionView.

This PR adds this behavior to supplementary nodes as well.

* Simplify code / block will never be nil
sync-base-12-11-18
2018-12-10 14:33:04 -08:00
Kevin 5ae6547f5f Move assertions so they are valid. (#1261)
If PIN_ANIMATED is enabled, the creation of a PINRemoteImageManager
will create a sharedDownloader also. Thus we cannot assert that it
doesn't exist. We will move this assertion up to the methods that
create the preconfiguredSharedManager and before said manager is
allocated.
2018-12-10 14:32:16 -08:00
Max Wang 1d4b4c73cd Yoga debug info (#1253)
* fix SIMULATE_WEB_RESPONSE not imported #449

* Fix to make rangeMode update in right time

* remove uncessary assert

* Fix collection cell editing bug for iOS 9 & 10

* Revert "Fix collection cell editing bug for iOS 9 & 10"

This reverts commit 06e18a1059.

* Add description method for yoga.

* Fix comment
2018-12-10 14:29:43 -08:00
Michael Schneider 82b4d34e5b Introduce ASCellLayoutMode (#1273)
* Introduce ASCellLayoutMode

* Some smaller improvements

* Improve logic around _superPerformBatchUpdates:completion:

* Add comment about default values for ASCellLayoutModeNone

* Always call _superReloadData:completion: within UICollectionView

* Add initial range test for ASCellLayoutModeNone
2018-12-09 23:39:28 -08:00
Max Wang 4d9d3c26d9 Disable a11y cache (#1274)
* disable a11y cache

* style update
2018-12-09 08:41:18 -08:00
Adlai Holler bccdf83d2f Escalate directly to yoga root rather than walking up (#1269) 2018-12-07 13:12:57 -08:00
Michael Schneider 86a853ea09 Forward hitTest:withEvent and piontInside:withEvent: to node within _ASCollectionViewCell (#1268) 2018-12-06 07:57:54 -08:00
Michael Schneider 758afabde3 Fix isTruncated logic in ASTextNode2 (#1259)
* Fix isTruncated logic in ASTextNode2

* Add truncation tests
2018-12-04 13:40:24 -08:00
Kevin fb844c3252 Allow setting SDK and platform through environment variables for build.sh (#1249) 2018-12-03 15:44:15 -08:00
Andrew Yates 430169ff31 Move Bluebird to new row. (#1264) 2018-12-03 15:42:22 -08:00
Shihab 712b66e05a Added Bluebird (#1263) 2018-12-03 12:43:36 -08:00
Rasul Tataev 635a370fff Documentation typo, "trying" written two times. #trivial (#1258)
Issue is at row 153 of ASVideoNode.h file
2018-11-30 07:35:36 -08:00
ricky 3daa5ac538 [ASPrimitiveTraitCollection] Fix ASPrimitiveTraitCollectionMakeDefault and implement containerSize (#1256)
With the changes to `ASPrimitiveTraitCollection` in https://github.com/TextureGroup/Texture/commit/e392f832f42897da41a7c0106709b55427efcea4 a new `ASPrimitiveTraitCollectionMakeDefault` was created. The new method didn’t give all values in an `ASPrimitiveTraitCollection` a default value (or initialize the struct with `{}`). This was causing fields like `userInterfaceIdiom`, `forceTouchCapability`, and `displayScale` to be filled with garbage, leading to `ASPrimitiveTraitCollectionIsEqualToASPrimitiveTraitCollection` to return `YES` when the trait collection hadn’t really changed.

It also looks like the getter `containerSize` was not implemented.
2018-11-28 08:56:08 -08:00
ernestmama 4d1ffcc2d0 Add more delegate methods for monitoring network image node progress (#1247) 2018-11-27 09:48:57 -08:00
Huy Nguyen a255953d34 Avoid using global Mutex variables (#1252)
After 5c9815f, some Mutexes are used as global C++ variables which are loaded before main(). Since the Mutex constructor checks for unfair lock experiment, it triggers an experiment configuration load, and our app isn't ready to respond that early in the process.
2018-11-26 17:25:38 -08:00
Michael Schneider f2bc63f05a Add way to compile out ASTextNode + TextKit dependencies (#1242)
* Add way to compile out ASTextNode + TextKit dependencies

* Compile out ASExperimentalTextNode and fix tests
2018-11-23 09:13:15 -08:00
Michael Schneider 31125ff6cf Add Video subspec (#1240) 2018-11-21 08:30:22 -08:00
Garrett Moon 90a9a9640a Add development docs structure (#1245) 2018-11-20 12:59:07 -08:00
Tim Norman 5be2213c50 Convert YGUndefined back to CGFLOAT_MAX for Texture layout (#1244)
* Convert YGUndefined back to CGFLOAT_MAX for Texture layout

* Update ASYogaUtilities.mm

Quick fix to brace style
2018-11-20 07:27:53 -08:00
ricky 9cf54e8e8b [ASDisplayNode] Propagate traits before loading a subnode (#1234)
https://github.com/TextureGroup/Texture/pull/886 enforces that some nodes are loaded before they are sent a visiblity event, but it was not propagating the trait collection before forcing the load.

We are propagating traits in `_setSupernode:` (which was happening after the forced load). I moved the possible forced load to `_setSupernode:`, after propagating traits but before any visibility states are changed.
2018-11-19 17:53:00 -08:00
Adlai Holler 2baa9438d7 Have node and controller share lock (#1227)
* Have node and controller share lock

* Do it different

* Restore prior method order

* Maybe store the reference

* Try that
2018-11-15 09:50:09 -08:00
Michael Schneider 8029632460 Fix A11Y for horizontal collection nodes in Texture (#1217)
* Fix A11Y for horizontal collection nodes in Texture.

Collections have their own handling in UIKit that we shouldn't mess with. As such no nodes that contain CollectionNodes should ever be treated as AccessibilityContainers.

* Update braces
2018-11-14 08:11:32 -08:00
Kevin 771c068ad6 Correct block self references to strongSelf (#1231) 2018-11-13 08:20:20 -08:00
Orkhan Huseynov ce78fa00df Update image-node.md (#1230)
typo fix
2018-11-12 08:23:41 -08:00
Michael Schneider 39f25f661e ASCATransactionQueue interface trashing improvements (#1216)
* ASCATransactionQueue interface trashing improvements

* Use weakSelf
2018-11-11 08:43:07 -08:00
Andrew Yates fd047d681e Make ASEditableTextNode accessible to VoiceOver (#1162)
* Make ASEditableTextNode accessible to VoiceOver

* Update CHANGELOG

* Make ASEditableTextNode an accessibility container

* Remove initial fix

* Changelog

* Correct changelog entry

* Remove isAccessibilityElement as it’s a container

* Add isNodeLoaded checks

* Remove Changelog Changes
2018-11-10 08:41:58 -08:00
Michael Schneider 53368a5cb6 Remove CHECK_LOCKING_SAFETY check (#1225)
Locking assertions are always active now
2018-11-09 07:31:28 -08:00
Adlai Holler 56e69eac78 Initialize mutex assertion variables (#1226) 2018-11-08 13:07:46 -08:00
Adlai Holler 4cfc333d81 Clean up our mutex, fix try_lock not hooking into assert mechanism (#1219)
* Clean up our mutex

* Placement new import

* Privatize
2018-11-07 10:47:48 -08:00
Michael Schneider 7edaeab839 Fix warning using __builtin_popcount (#1218) 2018-11-07 07:01:19 -08:00
Adlai Holler e392f832f4 Rework ASTraitCollection to Fix Warnings and Remove Boilerplate (#1211)
* Clean up trait collection to fix a ton of warnings and remove code

* Support Xcode 9 (iOS 11 SDK)

* Hack harder
2018-11-06 08:31:09 -08:00
Adlai Holler 5c9815f46d ASThread: Remove Locker, Unlocker, and SharedMutex (#1213)
* ASThread: Remove Locker, Unlocker, and SharedMutex

* Remove extra line

* Kick the CI

* Move C++ down

* Fix thing
2018-11-05 13:26:36 -08:00
Michael Schneider 5909e27e37 Fix shouldTruncateForConstrainedSize in ASTextNode2 (#1214) 2018-11-05 13:16:36 -08:00