Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.0 Release #67

Merged
merged 111 commits into from
Mar 27, 2017
Merged

1.0 Release #67

merged 111 commits into from
Mar 27, 2017

Conversation

bret-fears
Copy link
Collaborator

Merging changes into Master for 1.0 release

Add artifact handling to the circle-ci yaml
Port of SortFunction and it's dependency of SpruceView
-Create Spruce main class with build pattern API
-Add base class for SortFunction to be extended

Refactor
- provide a builder pattern that takes a view group with the option of adding a sort function and an animator
- Add java docs and comments
- Remove redundant interfaces
- Change package name to sort (was SortFunctions)
- Add utils package
 - Add DistanceUtils with point distance convenience methods
- Add BaseDistanceSort port

Refactor

- Modify abstract SortFunction#getTimeOffsets signature to expect a List of View children
- Remove Base from class title to DistancedSort
- Change Point to PointF simplify distance calculations in both the utility class and DistanceSort
…-sort-function

Port BaseDistancedSortFunction
Refactor getTimeOffsets to getViewListWithTimeOffsets and it's signature to not take an offset. The sub classes determine the offset
Add DefaultSort - takes child views and adds the provided inter object delay
Add example app foundation
Add Spruce colors
Add Spruce icon

Add Spruce library as a dependency
 - Wire up the Spruce builder class with sorting and animation
 - Modify animateWith to take a list of animators
- Change animateWith to take an argument array for clarity
- Change setupSortWithAnimators() to getAnimatorSetForSort(Animator[], SortFunction) that returns an AnimatorSet and throws an IllegalArgumentException if either argument is null
- Add enum for default animator operations
 - Grow: scales the provided view by 1.1x
 - Shrink: scales the provided view by 0.9x
 - Fade: reduces the view alpha to 0.8
 - Spin: rotates the view 360 degrees

Refactor

- Add duration to default animations
- Change FADE to be FADE_AWAY with a to value of 0
- Add FADE_IN with a to value of 1
- Add GridLayout
- Add seek bar control for setting the inter object delay on a sort
- Add Spinner for select the sort option
- Add Fragment for handling the view elements
- Programmatically add view children to the grid
- Incorporate Spruce lib
- Change enum to public static instance methods
- Add a stop call that will end the currently running animation set

Refactor

- Remove stop() method
- Change start() to return an Animator that allows the user to handle adding listeners or stopping, (re)starting
- Add LinearSort
- Fix bugs in DistancedSort
 - Collection sorting should not keep items in their position: 0 on lower distance sort comparisons instead of 1/-1
- Add parent view to SortFunction#getViewListWithTimeOffsets()
 - Method signature changed to include parent view for Linear and later sorts

Refactor

- Swap DistanceUtils for member distance calculation
- Add Linear sort support
- Fix app name typeo

Refactor

- Swap px for dp to account for different screen sizes
- Add null check on Direction in the constructor
- Make default case throw AssertionError to indicate a direction problem
- Change SpruceDirection to Direction for clarity
- Add RadialSort
- Fix DistancedSort Translate ordering issue
- Adjust javadocs
- Make translate() package private

Refactor

- Use Double.compare for double distance comparisons
- Rename SprucePosition to Position
- Throw AssertionError if the position provided is invalid
- Add null check with NullPointerException if the Position paramter is null
- Add ContinuousSort
- Make DistancedSort#viewToPoint package private for subclass usage

Refactor

- Rename DistanceUtils to Utils
- Add viewToPoint as a utility method
- Make Utils class package-private
- Move Utils to sort package
- Remove instrumentation runner
- Set lib output name
…d-sort-tests

ContinuousWeightedSort Tests
- Remove the default drop down arrow
- Add custom white drop down arrow
- Set custom arrow as right drawable on the spinner_item
- Add RecyclerActivity
- Add RecyclerFragment
- Add Example recycler view
- Animate recycler children once they're layout is calculated
- Wire up options menu for both activities to allow users to navigate between them
- Add home option to Recycler for quickly navigating back to the sort example
…lity-test

Recycler View Extensibility Test
- Add title to recycler example
- Change colors on recycler
- Make sort options bold
- Single app views
- Add additional grid padding
- Add gifs for the readme
- Add /docs to project root for github pages
- javadoc gradle task
- Make recycler view example reset animation by click
- Add edit text (non-editable) to display code samples for each sort and their various selected options
@bret-fears bret-fears self-assigned this Mar 27, 2017
@bret-fears bret-fears requested a review from evant March 27, 2017 14:17
@bret-fears bret-fears merged commit a81adbe into master Mar 27, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants