Create a centralized configuration API (#747)

* Update the dangerfile

* Make a trivial change to test new dangerfile

* Try out the new value with another trivial change

* Add a configuration API to make a unified place for pulling config from clients safely

* Specify properties for delegate

* Finish removing text experiment global enable

* Generate the config file

* Clean up configuration to fix tests

* Work on making it serializable

* Finish it up

* Fix example code

* Update sample project

* Clean up a few things

* Align with new project order

* Make it faster and update license header

* Add an option to specify your config at compile time

* Update another license header

* Add a version field, and bring interface state coalescing into configuration

* Update CA queue code

* Update CATransactionQueue tests

* Turn transaction queue on by default (for now, see comment)

* Update the tests

* Update the tests AGAIN

* Remove unused ordered set
This commit is contained in:
Adlai Holler
2018-03-25 12:52:57 -07:00
committed by GitHub
parent 3d9fe8c3a7
commit 27fac9f586
46 changed files with 840 additions and 322 deletions

View File

@@ -59,7 +59,9 @@ AS_SUBCLASSING_RESTRICTED
@interface ASCATransactionQueue : ASAbstractRunLoopQueue
@property (atomic, readonly) BOOL isEmpty;
@property (atomic, readonly) BOOL disabled;
@property (atomic, readonly, getter=isEnabled) BOOL enabled;
/**
* The queue to run on main run loop before CATransaction commit.
*
@@ -72,11 +74,6 @@ AS_SUBCLASSING_RESTRICTED
- (void)enqueue:(id<ASCATransactionQueueObserving>)object;
/**
* @abstract Apply a node's interfaceState immediately rather than adding to the queue.
*/
- (void)disable;
@end