{"action":"created","comment":{"url":"https://api.github.com/repos/material-components/material-components-ios/pulls/comments/173275819","pull_request_review_id":102434950,"id":173275819,"diff_hunk":"@@ -46,83 +46,118 @@ static inline CGFloat LengthOfVector(CGVector vector) {\n   return (CGFloat)hypot(vector.dx, vector.dy);\n }\n \n-@interface MDCMaskedTransition () <MDMTransitionWithPresentation, MDMTransitionWithFeasibility>\n-@end\n+// TODO: Pull this out to MotionTransitioning.\n+static NSArray <UIViewController *> *\n+PrepareTransitionWithContext(id<UIViewControllerContextTransitioning> transitionContext,\n+                             MDMTransitionDirection direction) {\n+  UIViewController *from =\n+      [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];\n+  UIView *fromView = [transitionContext viewForKey:UITransitionContextFromViewKey];\n+  if (fromView == nil) {\n+    fromView = from.view;\n+  }\n+  if (fromView != nil && fromView == from.view) {\n+    CGRect finalFrame = [transitionContext finalFrameForViewController:from];\n+    if (!CGRectIsEmpty(finalFrame)) {\n+      fromView.frame = finalFrame;\n+    }\n+  }\n+\n+  UIViewController *to =\n+      [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];\n+  UIView *toView = [transitionContext viewForKey:UITransitionContextToViewKey];\n+  if (toView == nil) {\n+    toView = to.view;\n+  }\n+  if (toView != nil && toView == to.view) {\n+    CGRect finalFrame = [transitionContext finalFrameForViewController:to];\n+    if (!CGRectIsEmpty(finalFrame)) {\n+      toView.frame = finalFrame;\n+    }\n+\n+    if (toView.superview == nil) {\n+      switch (direction) {\n+        case MDMTransitionDirectionForward:\n+          [transitionContext.containerView addSubview:toView];\n+          break;\n+\n+        case MDMTransitionDirectionBackward:\n+          [transitionContext.containerView insertSubview:toView atIndex:0];\n+          break;\n+      }\n+    }\n+  }\n+\n+  [toView layoutIfNeeded];\n+\n+  if (direction == MDMTransitionDirectionForward) {\n+    return @[from, to];\n+  } else {\n+    return @[to, from];\n+  }\n+}\n \n @implementation MDCMaskedTransition {\n   UIView *_sourceView;\n-  BOOL _shouldSlideWhenCollapsed;\n+  MDMTransitionDirection _direction;\n }\n \n-- (instancetype)initWithSourceView:(UIView *)sourceView {\n+- (instancetype)initWithSourceView:(UIView *)sourceView\n+                         direction:(MDMTransitionDirection)direction {\n   self = [super init];\n   if (self) {\n     _sourceView = sourceView;\n+    _direction = direction;\n   }\n   return self;\n }\n \n-- (BOOL)canPerformTransitionWithContext:(__unused id<MDMTransitionContext>)context {\n-  return _shouldSlideWhenCollapsed ? NO : YES;\n-}\n-\n-#pragma mark - MDMTransitionWithPresentation\n+#pragma mark - UIViewControllerAnimatedTransitioning\n \n-- (UIModalPresentationStyle)defaultModalPresentationStyle {\n-  return UIModalPresentationCustom;\n+- (NSTimeInterval)transitionDuration:(id<UIViewControllerContextTransitioning>)transitionContext {\n+  return 0.375;\n }\n \n-- (UIPresentationController *)presentationControllerForPresentedViewController:(UIViewController *)presented\n-                                                      presentingViewController:(UIViewController *)presenting\n-                                                          sourceViewController:(__unused UIViewController *)source {\n-  MDCMaskedPresentationController *presentationController =\n-      [[MDCMaskedPresentationController alloc] initWithPresentedViewController:presented\n-                                                      presentingViewController:presenting\n-                                                 calculateFrameOfPresentedView:_calculateFrameOfPresentedView];\n-  presentationController.sourceView = _sourceView;\n-  return presentationController;\n-}\n-\n-- (void)startWithContext:(NSObject<MDMTransitionContext> *)context {\n-  MDCMaskedTransitionMotionSpecContext spec = MDCMaskedTransitionMotionSpecForContext(context);\n-  if (context.direction == MDMTransitionDirectionForward) {\n-    _shouldSlideWhenCollapsed = spec.shouldSlideWhenCollapsed;\n-  }\n+- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext {\n+  NSArray<UIViewController *> *viewControllers = PrepareTransitionWithContext(transitionContext,\n+                                                                              _direction);\n+  UIViewController *presentedViewController = viewControllers[1];","path":"components/MaskedTransition/src/private/MDCMaskedTransition.m","position":119,"original_position":119,"commit_id":"7d1c9a3bcf898bafdaab48aafe465665df38cd67","original_commit_id":"7d1c9a3bcf898bafdaab48aafe465665df38cd67","user":{"login":"romoore","id":1753199,"avatar_url":"https://avatars3.githubusercontent.com/u/1753199?v=4","gravatar_id":"","url":"https://api.github.com/users/romoore","html_url":"https://github.com/romoore","followers_url":"https://api.github.com/users/romoore/followers","following_url":"https://api.github.com/users/romoore/following{/other_user}","gists_url":"https://api.github.com/users/romoore/gists{/gist_id}","starred_url":"https://api.github.com/users/romoore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/romoore/subscriptions","organizations_url":"https://api.github.com/users/romoore/orgs","repos_url":"https://api.github.com/users/romoore/repos","events_url":"https://api.github.com/users/romoore/events{/privacy}","received_events_url":"https://api.github.com/users/romoore/received_events","type":"User","site_admin":false},"body":"Nit/safety: Do you need a bounds check here?","created_at":"2018-03-08T20:06:26Z","updated_at":"2018-03-08T20:11:07Z","html_url":"https://github.com/material-components/material-components-ios/pull/3070#discussion_r173275819","pull_request_url":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/material-components/material-components-ios/pulls/comments/173275819"},"html":{"href":"https://github.com/material-components/material-components-ios/pull/3070#discussion_r173275819"},"pull_request":{"href":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070"}}},"pull_request":{"url":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070","id":173825583,"html_url":"https://github.com/material-components/material-components-ios/pull/3070","diff_url":"https://github.com/material-components/material-components-ios/pull/3070.diff","patch_url":"https://github.com/material-components/material-components-ios/pull/3070.patch","issue_url":"https://api.github.com/repos/material-components/material-components-ios/issues/3070","number":3070,"state":"open","locked":false,"title":"Convert MaskedTransition from a MotionTransitioning Transition type to a vanilla UIKit type","user":{"login":"jverkoey","id":45670,"avatar_url":"https://avatars0.githubusercontent.com/u/45670?v=4","gravatar_id":"","url":"https://api.github.com/users/jverkoey","html_url":"https://github.com/jverkoey","followers_url":"https://api.github.com/users/jverkoey/followers","following_url":"https://api.github.com/users/jverkoey/following{/other_user}","gists_url":"https://api.github.com/users/jverkoey/gists{/gist_id}","starred_url":"https://api.github.com/users/jverkoey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jverkoey/subscriptions","organizations_url":"https://api.github.com/users/jverkoey/orgs","repos_url":"https://api.github.com/users/jverkoey/repos","events_url":"https://api.github.com/users/jverkoey/events{/privacy}","received_events_url":"https://api.github.com/users/jverkoey/received_events","type":"User","site_admin":false},"body":"This simplifies the layers between the app developer and the transition implementation while also allowing us to reduce the complexity of the MotionTransitioning APIs. In the near future we will remove nearly all of the MotionTransitioning abstractions in favor of providing a small set of tools and APIs for building plain UIKit transitions.\r\n\r\nNotably:\r\n\r\n- MaskedTransition is now a private API.\r\n- There is a new MaskedTransitionController type that must be instantiated and stored for the lifetime of the presented view controller.\r\n- MaskedTransition is no longer a Transition type.\r\n- MaskedTransition now simply implements the animated view controller transitioning APIs.\r\n- MaskedTransitionController vends MaskedTransition instances as required.\r\n\r\nExample usage:\r\n\r\n```swift\r\nlet transitionController = MDCMaskedTransitionController()\r\nfunc didTapFab(fab: UIView) {\r\n  let vc = SomeViewController()\r\n\r\n  vc.view.autoresizingMask = [.flexibleLeftMargin, .flexibleTopMargin,\r\n                              .flexibleRightMargin, .flexibleBottomMargin]\r\n\r\n  // Customize the transition\r\n  transitionController.sourceView = fab\r\n  transitionController.calculateFrameOfPresentedView = { info in\r\n    let size = CGSize(width: 200, height: 200)\r\n    return CGRect(x: (info.containerView!.bounds.width - size.width) / 2,\r\n                  y: (info.containerView!.bounds.height - size.height) / 2,\r\n                  width: size.width,\r\n                  height: size.height)\r\n  }\r\n  vc.modalPresentationStyle = .custom\r\n  vc.transitioningDelegate = transitionController\r\n\r\n  showDetailViewController(vc, sender: self)\r\n}\r\n```","created_at":"2018-03-08T19:19:50Z","updated_at":"2018-03-08T20:11:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fd2a7ca441ff7a4ac1277b69ec704ce061fc9403","assignee":null,"assignees":[],"requested_reviewers":[{"login":"ianegordon","id":1121006,"avatar_url":"https://avatars1.githubusercontent.com/u/1121006?v=4","gravatar_id":"","url":"https://api.github.com/users/ianegordon","html_url":"https://github.com/ianegordon","followers_url":"https://api.github.com/users/ianegordon/followers","following_url":"https://api.github.com/users/ianegordon/following{/other_user}","gists_url":"https://api.github.com/users/ianegordon/gists{/gist_id}","starred_url":"https://api.github.com/users/ianegordon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianegordon/subscriptions","organizations_url":"https://api.github.com/users/ianegordon/orgs","repos_url":"https://api.github.com/users/ianegordon/repos","events_url":"https://api.github.com/users/ianegordon/events{/privacy}","received_events_url":"https://api.github.com/users/ianegordon/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":273191333,"url":"https://api.github.com/repos/material-components/material-components-ios/labels/cla:%20yes","name":"cla: yes","color":"1e8e3e","default":false},{"id":732074432,"url":"https://api.github.com/repos/material-components/material-components-ios/labels/where:MaskedTransition","name":"where:MaskedTransition","color":"2196F3","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070/commits","review_comments_url":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070/comments","review_comment_url":"https://api.github.com/repos/material-components/material-components-ios/pulls/comments{/number}","comments_url":"https://api.github.com/repos/material-components/material-components-ios/issues/3070/comments","statuses_url":"https://api.github.com/repos/material-components/material-components-ios/statuses/7d1c9a3bcf898bafdaab48aafe465665df38cd67","head":{"label":"jverkoey:maskedsimpler","ref":"maskedsimpler","sha":"7d1c9a3bcf898bafdaab48aafe465665df38cd67","user":{"login":"jverkoey","id":45670,"avatar_url":"https://avatars0.githubusercontent.com/u/45670?v=4","gravatar_id":"","url":"https://api.github.com/users/jverkoey","html_url":"https://github.com/jverkoey","followers_url":"https://api.github.com/users/jverkoey/followers","following_url":"https://api.github.com/users/jverkoey/following{/other_user}","gists_url":"https://api.github.com/users/jverkoey/gists{/gist_id}","starred_url":"https://api.github.com/users/jverkoey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jverkoey/subscriptions","organizations_url":"https://api.github.com/users/jverkoey/orgs","repos_url":"https://api.github.com/users/jverkoey/repos","events_url":"https://api.github.com/users/jverkoey/events{/privacy}","received_events_url":"https://api.github.com/users/jverkoey/received_events","type":"User","site_admin":false},"repo":{"id":91832448,"name":"material-components-ios","full_name":"jverkoey/material-components-ios","owner":{"login":"jverkoey","id":45670,"avatar_url":"https://avatars0.githubusercontent.com/u/45670?v=4","gravatar_id":"","url":"https://api.github.com/users/jverkoey","html_url":"https://github.com/jverkoey","followers_url":"https://api.github.com/users/jverkoey/followers","following_url":"https://api.github.com/users/jverkoey/following{/other_user}","gists_url":"https://api.github.com/users/jverkoey/gists{/gist_id}","starred_url":"https://api.github.com/users/jverkoey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jverkoey/subscriptions","organizations_url":"https://api.github.com/users/jverkoey/orgs","repos_url":"https://api.github.com/users/jverkoey/repos","events_url":"https://api.github.com/users/jverkoey/events{/privacy}","received_events_url":"https://api.github.com/users/jverkoey/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jverkoey/material-components-ios","description":"Modular and customizable Material Design UI components for iOS","fork":true,"url":"https://api.github.com/repos/jverkoey/material-components-ios","forks_url":"https://api.github.com/repos/jverkoey/material-components-ios/forks","keys_url":"https://api.github.com/repos/jverkoey/material-components-ios/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jverkoey/material-components-ios/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jverkoey/material-components-ios/teams","hooks_url":"https://api.github.com/repos/jverkoey/material-components-ios/hooks","issue_events_url":"https://api.github.com/repos/jverkoey/material-components-ios/issues/events{/number}","events_url":"https://api.github.com/repos/jverkoey/material-components-ios/events","assignees_url":"https://api.github.com/repos/jverkoey/material-components-ios/assignees{/user}","branches_url":"https://api.github.com/repos/jverkoey/material-components-ios/branches{/branch}","tags_url":"https://api.github.com/repos/jverkoey/material-components-ios/tags","blobs_url":"https://api.github.com/repos/jverkoey/material-components-ios/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jverkoey/material-components-ios/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jverkoey/material-components-ios/git/refs{/sha}","trees_url":"https://api.github.com/repos/jverkoey/material-components-ios/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jverkoey/material-components-ios/statuses/{sha}","languages_url":"https://api.github.com/repos/jverkoey/material-components-ios/languages","stargazers_url":"https://api.github.com/repos/jverkoey/material-components-ios/stargazers","contributors_url":"https://api.github.com/repos/jverkoey/material-components-ios/contributors","subscribers_url":"https://api.github.com/repos/jverkoey/material-components-ios/subscribers","subscription_url":"https://api.github.com/repos/jverkoey/material-components-ios/subscription","commits_url":"https://api.github.com/repos/jverkoey/material-components-ios/commits{/sha}","git_commits_url":"https://api.github.com/repos/jverkoey/material-components-ios/git/commits{/sha}","comments_url":"https://api.github.com/repos/jverkoey/material-components-ios/comments{/number}","issue_comment_url":"https://api.github.com/repos/jverkoey/material-components-ios/issues/comments{/number}","contents_url":"https://api.github.com/repos/jverkoey/material-components-ios/contents/{+path}","compare_url":"https://api.github.com/repos/jverkoey/material-components-ios/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jverkoey/material-components-ios/merges","archive_url":"https://api.github.com/repos/jverkoey/material-components-ios/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jverkoey/material-components-ios/downloads","issues_url":"https://api.github.com/repos/jverkoey/material-components-ios/issues{/number}","pulls_url":"https://api.github.com/repos/jverkoey/material-components-ios/pulls{/number}","milestones_url":"https://api.github.com/repos/jverkoey/material-components-ios/milestones{/number}","notifications_url":"https://api.github.com/repos/jverkoey/material-components-ios/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jverkoey/material-components-ios/labels{/name}","releases_url":"https://api.github.com/repos/jverkoey/material-components-ios/releases{/id}","deployments_url":"https://api.github.com/repos/jverkoey/material-components-ios/deployments","created_at":"2017-05-19T18:02:30Z","updated_at":"2017-06-02T20:37:31Z","pushed_at":"2018-03-08T19:42:29Z","git_url":"git://github.com/jverkoey/material-components-ios.git","ssh_url":"git@github.com:jverkoey/material-components-ios.git","clone_url":"https://github.com/jverkoey/material-components-ios.git","svn_url":"https://github.com/jverkoey/material-components-ios","homepage":"","size":449617,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"material-components:develop","ref":"develop","sha":"e733ffc751d82fcbf036340cd670362321256c91","user":{"login":"material-components","id":19478152,"avatar_url":"https://avatars3.githubusercontent.com/u/19478152?v=4","gravatar_id":"","url":"https://api.github.com/users/material-components","html_url":"https://github.com/material-components","followers_url":"https://api.github.com/users/material-components/followers","following_url":"https://api.github.com/users/material-components/following{/other_user}","gists_url":"https://api.github.com/users/material-components/gists{/gist_id}","starred_url":"https://api.github.com/users/material-components/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/material-components/subscriptions","organizations_url":"https://api.github.com/users/material-components/orgs","repos_url":"https://api.github.com/users/material-components/repos","events_url":"https://api.github.com/users/material-components/events{/privacy}","received_events_url":"https://api.github.com/users/material-components/received_events","type":"Organization","site_admin":false},"repo":{"id":43820219,"name":"material-components-ios","full_name":"material-components/material-components-ios","owner":{"login":"material-components","id":19478152,"avatar_url":"https://avatars3.githubusercontent.com/u/19478152?v=4","gravatar_id":"","url":"https://api.github.com/users/material-components","html_url":"https://github.com/material-components","followers_url":"https://api.github.com/users/material-components/followers","following_url":"https://api.github.com/users/material-components/following{/other_user}","gists_url":"https://api.github.com/users/material-components/gists{/gist_id}","starred_url":"https://api.github.com/users/material-components/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/material-components/subscriptions","organizations_url":"https://api.github.com/users/material-components/orgs","repos_url":"https://api.github.com/users/material-components/repos","events_url":"https://api.github.com/users/material-components/events{/privacy}","received_events_url":"https://api.github.com/users/material-components/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/material-components/material-components-ios","description":"Modular and customizable Material Design UI components for iOS","fork":false,"url":"https://api.github.com/repos/material-components/material-components-ios","forks_url":"https://api.github.com/repos/material-components/material-components-ios/forks","keys_url":"https://api.github.com/repos/material-components/material-components-ios/keys{/key_id}","collaborators_url":"https://api.github.com/repos/material-components/material-components-ios/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/material-components/material-components-ios/teams","hooks_url":"https://api.github.com/repos/material-components/material-components-ios/hooks","issue_events_url":"https://api.github.com/repos/material-components/material-components-ios/issues/events{/number}","events_url":"https://api.github.com/repos/material-components/material-components-ios/events","assignees_url":"https://api.github.com/repos/material-components/material-components-ios/assignees{/user}","branches_url":"https://api.github.com/repos/material-components/material-components-ios/branches{/branch}","tags_url":"https://api.github.com/repos/material-components/material-components-ios/tags","blobs_url":"https://api.github.com/repos/material-components/material-components-ios/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/material-components/material-components-ios/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/material-components/material-components-ios/git/refs{/sha}","trees_url":"https://api.github.com/repos/material-components/material-components-ios/git/trees{/sha}","statuses_url":"https://api.github.com/repos/material-components/material-components-ios/statuses/{sha}","languages_url":"https://api.github.com/repos/material-components/material-components-ios/languages","stargazers_url":"https://api.github.com/repos/material-components/material-components-ios/stargazers","contributors_url":"https://api.github.com/repos/material-components/material-components-ios/contributors","subscribers_url":"https://api.github.com/repos/material-components/material-components-ios/subscribers","subscription_url":"https://api.github.com/repos/material-components/material-components-ios/subscription","commits_url":"https://api.github.com/repos/material-components/material-components-ios/commits{/sha}","git_commits_url":"https://api.github.com/repos/material-components/material-components-ios/git/commits{/sha}","comments_url":"https://api.github.com/repos/material-components/material-components-ios/comments{/number}","issue_comment_url":"https://api.github.com/repos/material-components/material-components-ios/issues/comments{/number}","contents_url":"https://api.github.com/repos/material-components/material-components-ios/contents/{+path}","compare_url":"https://api.github.com/repos/material-components/material-components-ios/compare/{base}...{head}","merges_url":"https://api.github.com/repos/material-components/material-components-ios/merges","archive_url":"https://api.github.com/repos/material-components/material-components-ios/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/material-components/material-components-ios/downloads","issues_url":"https://api.github.com/repos/material-components/material-components-ios/issues{/number}","pulls_url":"https://api.github.com/repos/material-components/material-components-ios/pulls{/number}","milestones_url":"https://api.github.com/repos/material-components/material-components-ios/milestones{/number}","notifications_url":"https://api.github.com/repos/material-components/material-components-ios/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/material-components/material-components-ios/labels{/name}","releases_url":"https://api.github.com/repos/material-components/material-components-ios/releases{/id}","deployments_url":"https://api.github.com/repos/material-components/material-components-ios/deployments","created_at":"2015-10-07T14:12:39Z","updated_at":"2018-03-08T11:06:27Z","pushed_at":"2018-03-08T20:09:15Z","git_url":"git://github.com/material-components/material-components-ios.git","ssh_url":"git@github.com:material-components/material-components-ios.git","clone_url":"https://github.com/material-components/material-components-ios.git","svn_url":"https://github.com/material-components/material-components-ios","homepage":"","size":95876,"stargazers_count":2026,"watchers_count":2026,"language":"Objective-C","has_issues":true,"has_projects":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":286,"mirror_url":null,"archived":false,"open_issues_count":531,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":286,"open_issues":531,"watchers":2026,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070"},"html":{"href":"https://github.com/material-components/material-components-ios/pull/3070"},"issue":{"href":"https://api.github.com/repos/material-components/material-components-ios/issues/3070"},"comments":{"href":"https://api.github.com/repos/material-components/material-components-ios/issues/3070/comments"},"review_comments":{"href":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070/comments"},"review_comment":{"href":"https://api.github.com/repos/material-components/material-components-ios/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/material-components/material-components-ios/pulls/3070/commits"},"statuses":{"href":"https://api.github.com/repos/material-components/material-components-ios/statuses/7d1c9a3bcf898bafdaab48aafe465665df38cd67"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"romoore"}}