{"action":"created","comment":{"url":"https://api.github.com/repos/ooyala/native-skin/pulls/comments/232654068","pull_request_review_id":173895398,"id":232654068,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjY1NDA2OA==","diff_hunk":"@@ -258,235 +263,253 @@ - (void)hideProgressBar {\n       self.closedCaptionsMenuBar.alpha = 0.0;\n     } completion: nil];\n   }\n-    \n }\n \n - (void)showClosedCaptionsButton {\n-    if (self.player.currentItem.hasClosedCaptions && !self.closedCaptionMenuDisplayed){\n-        self.closedCaptionsMenuBar.alpha = self.progressBarBackground.alpha;\n-    }\n-    [self.player disablePlaylistClosedCaptions];\n+  if (self.player.currentItem.hasClosedCaptions && !self.closedCaptionMenuDisplayed) {\n+    self.closedCaptionsMenuBar.alpha = self.progressBarBackground.alpha;\n+  }\n+  [self.player disablePlaylistClosedCaptions];\n }\n \n - (UIView *)preferredFocusedView {\n   return self.optionsViewController.view;\n }\n \n-+ (NSDictionary*)currentLanguageSettings {\n-    if(!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n-        [self loadDefaultLocale];\n-    }\n-    if (!currentLocale) {\n-        [self loadDeviceLanguage];\n-    }\n-    return currentLocale;\n++ (NSDictionary *)currentLanguageSettings {\n+  if (!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n+    [self loadDefaultLocale];\n+  }\n+  if (!currentLocale) {\n+    [self loadDeviceLanguage];\n+  }\n+  return currentLocale;\n }\n \n-+ (NSDictionary *) availableLocalizations {\n-    if(!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n-        [OOOoyalaTVPlayerViewController loadDefaultLocale];\n-    }\n-    return OOOoyalaPlayerViewControllerAvailableLocalizations;\n++ (NSDictionary *)availableLocalizations {\n+  if (!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n+    [OOOoyalaTVPlayerViewController loadDefaultLocale];\n+  }\n+  return OOOoyalaPlayerViewControllerAvailableLocalizations;\n }\n \n-+ (void) setAvailableLocalizations:(NSDictionary *)translations {\n-    //LOG(@\"Available Localizations manually set\");\n-    OOOoyalaPlayerViewControllerAvailableLocalizations = translations;\n++ (void)setAvailableLocalizations:(NSDictionary *)translations {\n+  //LOG(@\"Available Localizations manually set\");\n+  OOOoyalaPlayerViewControllerAvailableLocalizations = translations;\n }\n \n-- (void)changeLanguage: (NSString *)language {\n-    if(!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n-        [OOOoyalaTVPlayerViewController loadDefaultLocale];\n-    }\n-    \n-    if (language == nil) {\n-        [OOOoyalaTVPlayerViewController loadDeviceLanguage];\n-    } else if ([OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language]) {\n-        [OOOoyalaTVPlayerViewController useLanguageStrings:[OOOoyalaTVPlayerViewController getLanguageSettings:language]];\n-    } else {\n-        [OOOoyalaTVPlayerViewController chooseBackupLanguage:language];\n-    }\n-    \n-    [self refreshClosedCaptionsView];\n+- (void)changeLanguage:(NSString *)language {\n+  if (!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n+    [OOOoyalaTVPlayerViewController loadDefaultLocale];\n+  }\n+\n+  if (language == nil) {\n+    [OOOoyalaTVPlayerViewController loadDeviceLanguage];\n+  } else if ([OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language]) {\n+    [OOOoyalaTVPlayerViewController useLanguageStrings:[OOOoyalaTVPlayerViewController getLanguageSettings:language]];\n+  } else {\n+    [OOOoyalaTVPlayerViewController chooseBackupLanguage:language];\n+  }\n+\n+  [self refreshClosedCaptionsView];\n }\n \n-+ (void)loadDefaultLocale{\n-    //LOG(@\"Default Localizations Loaded\");\n-    NSArray *keys = [NSArray arrayWithObjects:@\"LIVE\", @\"Done\", @\"Languages\", @\"Learn More\", @\"Ready to cast videos from this app\", @\"Disconnect\", @\"Connect To Device\",@\"Subtitles\",@\"Off\",@\"Use Closed Captions\", nil];\n-    NSDictionary *en = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@\"LIVE\", @\"Done\", @\"Languages\", @\"Learn More\", @\"Ready to cast videos from this app\", @\"Disconnect\", @\"Connect To Device\",@\"Subtitles\",@\"Off\",@\"Use Closed Captions\", nil] forKeys:keys];\n-    NSDictionary *ja = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@\"ライブ\", @\"完了\", @\"言語\", @\"さらに詳しく\", @\"このアプリからビデオをキャストできます\", @\"切断\", @\"デバイスに接続\",@\"Subtitles\",@\"Off\",@\"Use Closed Captions\", nil] forKeys:keys];\n-    NSDictionary *es = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@\"En vivo\", @\"Hecho\", @\"Idioma\", @\"Más información\", @\"Listo para trasmitir videos desde esta aplicación\", @\"Desconectar\", @\"Conectar al dispositivo\",@\"Subtítulos\",@\"Off\",@\"Usar Subtítulos\", nil] forKeys:keys];\n-    \n-    OOOoyalaPlayerViewControllerAvailableLocalizations = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:en, ja, es, nil] forKeys:[NSArray arrayWithObjects:@\"en\", @\"ja\", @\"es\", nil]];\n++ (void)loadDefaultLocale {\n+  //LOG(@\"Default Localizations Loaded\");\n+  NSArray *keys = [NSArray arrayWithObjects:@\"LIVE\", @\"Done\", @\"Languages\", @\"Learn More\", @\"Ready to cast videos from this app\", @\"Disconnect\", @\"Connect To Device\",@\"Subtitles\",@\"Off\",@\"Use Closed Captions\", nil];\n+  NSDictionary *en = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@\"LIVE\", @\"Done\", @\"Languages\", @\"Learn More\", @\"Ready to cast videos from this app\", @\"Disconnect\", @\"Connect To Device\",@\"Subtitles\",@\"Off\",@\"Use Closed Captions\", nil] forKeys:keys];\n+  NSDictionary *ja = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@\"ライブ\", @\"完了\", @\"言語\", @\"さらに詳しく\", @\"このアプリからビデオをキャストできます\", @\"切断\", @\"デバイスに接続\",@\"Subtitles\",@\"Off\",@\"Use Closed Captions\", nil] forKeys:keys];\n+  NSDictionary *es = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@\"En vivo\", @\"Hecho\", @\"Idioma\", @\"Más información\", @\"Listo para trasmitir videos desde esta aplicación\", @\"Desconectar\", @\"Conectar al dispositivo\",@\"Subtítulos\",@\"Off\",@\"Usar Subtítulos\", nil] forKeys:keys];\n+\n+  OOOoyalaPlayerViewControllerAvailableLocalizations = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:en, ja, es, nil] forKeys:[NSArray arrayWithObjects:@\"en\", @\"ja\", @\"es\", nil]];\n }\n \n + (void)loadDeviceLanguage {\n-    if(!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n-        [self loadDefaultLocale];\n-    }\n-    NSString* language = [NSLocale preferredLanguages][0];\n-    if ([OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language]) {\n-        [self useLanguageStrings:[OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language]];\n-    } else {\n-        [self chooseBackupLanguage:language];\n-    }\n+  if (!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n+    [self loadDefaultLocale];\n+  }\n+  NSString *language = [NSLocale preferredLanguages].firstObject;\n+  if ([OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language]) {\n+    [self useLanguageStrings:[OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language]];\n+  } else {\n+    [self chooseBackupLanguage:language];\n+  }\n }\n \n-+ (NSDictionary*)getLanguageSettings:(NSString *)language {\n-    if(!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n-        [self loadDefaultLocale];\n-    }\n-    return [OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language];\n++ (NSDictionary *)getLanguageSettings:(NSString *)language {\n+  if (!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n+    [self loadDefaultLocale];\n+  }\n+  return [OOOoyalaPlayerViewControllerAvailableLocalizations objectForKey:language];\n }\n \n + (void)useLanguageStrings:(NSDictionary *)strings {\n-    if(!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n-        [self loadDefaultLocale];\n-    }\n-    currentLocale = strings;\n+  if (!OOOoyalaPlayerViewControllerAvailableLocalizations) {\n+    [self loadDefaultLocale];\n+  }\n+  currentLocale = strings;\n }\n \n // Choose a default language when there is not specific dialect for that language\n // If there is not default language for a language then we choose English\n // For example: choose “ja\" as language when there is no ”ja_A“, however if there is\n // even no \"ja\" we should always choose \"en\"\n-+ (void) chooseBackupLanguage:(NSString*) language {\n-    BOOL matched = NO;\n-    NSArray* array = [language componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@\"-_\"]];\n-    NSString* basicLanguage = array[0];\n-    for (NSString* key in OOOoyalaPlayerViewControllerAvailableLocalizations) {\n-        if([key isEqualToString:basicLanguage]) {\n-            [OOOoyalaTVPlayerViewController useLanguageStrings:[OOOoyalaTVPlayerViewController getLanguageSettings:key]];\n-            matched = YES;\n-            break;\n-        }\n-    }\n-    if (!matched) {\n-        [OOOoyalaTVPlayerViewController useLanguageStrings:[OOOoyalaTVPlayerViewController getLanguageSettings:@\"en\"]];\n++ (void)chooseBackupLanguage:(NSString *) language {\n+  BOOL matched = NO;\n+  NSArray *array = [language componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@\"-_\"]];\n+  NSString *basicLanguage = array.firstObject;\n+  for (NSString *key in OOOoyalaPlayerViewControllerAvailableLocalizations) {\n+    if ([key isEqualToString:basicLanguage]) {\n+      [OOOoyalaTVPlayerViewController useLanguageStrings:[OOOoyalaTVPlayerViewController getLanguageSettings:key]];\n+      matched = YES;\n+      break;\n     }\n+  }\n+  if (!matched) {\n+    [OOOoyalaTVPlayerViewController useLanguageStrings:[OOOoyalaTVPlayerViewController getLanguageSettings:@\"en\"]];\n+  }\n }\n \n - (void)refreshClosedCaptionsView {\n-    if (self.player.isShowingAd) {\n-        [self removeClosedCaptionsView];\n-    } else {\n-        [self addClosedCaptionsView];\n-    }\n+  if (self.player.isShowingAd) {\n+    [self removeClosedCaptionsView];\n+  } else {\n+    [self addClosedCaptionsView];\n+  }\n }\n \n // This should be called by the UI when the closed captions button is clicked\n - (void)setupClosedCaptionsMenu {\n-    //Remove CC menu button\n-    self.closedCaptionsMenuBar.alpha = 0.0;\n-    //We check if CC are available in this video asset\n-    if (self.player.isClosedCaptionsTrackAvailable){\n-        //Displaying CC menu\n-        [self addChildViewController:self.optionsViewController];\n-        [self.player.view addSubview:self.optionsViewController.view];\n-        [self setNeedsFocusUpdate];\n-    }\n+  // Remove CC menu button\n+  self.closedCaptionsMenuBar.alpha = 0.0;\n+  // We check if CC are available in this video asset\n+  if (self.player.isClosedCaptionsTrackAvailable) {\n+    // Displaying CC menu\n+    [self addChildViewController:self.optionsViewController];\n+    [self.player.view addSubview:self.optionsViewController.view];\n+    [self setNeedsFocusUpdate];\n+  }\n }\n \n - (void)removeClosedCaptionsMenu {\n-    if (self.optionsViewController.view.window){\n-        [self.optionsViewController.view removeFromSuperview];\n-    }\n+  if (self.optionsViewController.view.window) {\n+    [self.optionsViewController.view removeFromSuperview];\n+  }\n+}\n+\n+- (void)updateBottomBarsWithPlayheadTime:(double)playhead {\n+  Float64 bufferedTime = self.player.bufferedTime;\n+  if (isnan(bufferedTime)) {\n+    bufferedTime = 0;\n+  }\n+  \n+  [self.bottomBars updateBarBuffer:bufferedTime\n+                          playhead:playhead\n+                          duration:self.player.duration\n+                       totalLength:(self.progressBarBackground.bounds.size.width - barX - headDistance - labelWidth - componentSpace)];\n+  \n+  self.gestureManager.playheadTime = playhead;\n+  self.gestureManager.durationTime = self.player.duration;\n+}\n+\n+#pragma mark - Public functions\n+\n+- (void)updatePlayheadWithSeekTime:(double)seekTime {\n+  [self updateBottomBarsWithPlayheadTime:seekTime];\n }\n \n - (BOOL)closedCaptionMenuDisplayed {\n-    if (self.optionsViewController.isViewLoaded && self.optionsViewController.view.window != nil && !self.optionsViewController.view.isHidden){\n-        return YES;\n-    }\n-    return NO;\n+  if (self.optionsViewController.isViewLoaded &&\n+      self.optionsViewController.view.window && !self.optionsViewController.view.isHidden) {\n+    return YES;\n+  }\n+  return NO;\n }\n \n - (void)removeClosedCaptionsView {\n-    if (self.closedCaptionsView) {\n-        [self.closedCaptionsView removeFromSuperview];\n-        self.closedCaptionsView = nil;\n-    }\n+  if (self.closedCaptionsView) {\n+    [self.closedCaptionsView removeFromSuperview];\n+    self.closedCaptionsView = nil;\n+  }\n }\n \n - (void)addClosedCaptionsView {\n-    [self removeClosedCaptionsView];\n-    if (self.player.currentItem.hasClosedCaptions && self.player.closedCaptionsLanguage) {\n-        self.closedCaptionsView = [[OOOoyalaTVClosedCaptionsView alloc] initWithFrame:self.player.videoRect];\n-        [self.closedCaptionsView setCaptionStyle:_closedCaptionsStyle];\n-        [self updateClosedCaptionsViewPosition:self.progressBarBackground.bounds withControlsHide:self.progressBarBackground.hidden];\n-        [self displayCurrentClosedCaption];\n-        [self.player.view addSubview:self.closedCaptionsView];\n-    }\n+  [self removeClosedCaptionsView];\n+  if (self.player.currentItem.hasClosedCaptions && self.player.closedCaptionsLanguage) {\n+    self.closedCaptionsView = [[OOOoyalaTVClosedCaptionsView alloc] initWithFrame:self.player.videoRect];\n+    [self.closedCaptionsView setCaptionStyle:_closedCaptionsStyle];\n+    [self updateClosedCaptionsViewPosition:self.progressBarBackground.bounds withControlsHide:self.progressBarBackground.hidden];\n+    [self displayCurrentClosedCaption];\n+    [self.player.view addSubview:self.closedCaptionsView];\n+  }\n }\n \n - (BOOL)shouldShowClosedCaptions {\n-    return self.player.closedCaptionsLanguage != nil &&\n+  return self.player.closedCaptionsLanguage &&\n     self.player.currentItem.hasClosedCaptions &&\n     ![self.player.closedCaptionsLanguage isEqualToString: OOLiveClosedCaptionsLanguage] &&\n     ![self.player isInCastMode];\n }\n  \n - (NSArray *)availableOptions {\n-    NSArray *providedList = self.player.availableClosedCaptionsLanguages;\n-    self.tableList = [[NSMutableArray alloc] init];\n-    NSMutableArray *subtitleArray = [[NSMutableArray alloc] init];\n-    NSArray *closedCaptionsArray = nil;\n-    \n-    // For each language in the list, add it to the necessary array\n-    for (NSString *language in providedList) {\n-        \n-        // If this was the closed captions language, put 'None' and 'CC' langauges in the array\n-        if ([language compare: @\"cc\"] == NSOrderedSame) {\n-            closedCaptionsArray = [NSArray arrayWithObjects:[[OOOoyalaTVPlayerViewController currentLanguageSettings] objectForKey:@\"Off\"], [[OOOoyalaTVPlayerViewController currentLanguageSettings] objectForKey:@\"Use Closed Captions\"], nil];\n-        }\n-        else {\n-            if (subtitleArray.count == 0) {\n-                [subtitleArray addObject:[[OOOoyalaTVPlayerViewController currentLanguageSettings] objectForKey:@\"Off\"]];\n-            }\n-            [subtitleArray addObject:language];\n-        }\n-    }\n-    \n-    // Make the pairs <section name, language/presentation list> to save in the langauge array\n-    if (closedCaptionsArray != nil)\n-    {\n-        Pair *closedCaptionsPair = [Pair alloc];\n-        closedCaptionsPair.name = @\"Closed Captions\";\n-        closedCaptionsPair.value = closedCaptionsArray;\n-        [self.tableList addObject:closedCaptionsPair];\n-    }\n-    if (subtitleArray.count > 0)\n-    {\n-        Pair *subtitlePair = [Pair alloc];\n-        subtitlePair.name = [[OOOoyalaTVPlayerViewController currentLanguageSettings] objectForKey:@\"Languages\"];\n-        subtitlePair.value = subtitleArray;\n-        \n-        [self.tableList addObject:subtitlePair];\n+  NSArray *providedList = self.player.availableClosedCaptionsLanguages;\n+  self.tableList = [NSMutableArray array];\n+  NSMutableArray *subtitleArray = [NSMutableArray array];\n+  NSArray *closedCaptionsArray;\n+\n+  // For each language in the list, add it to the necessary array\n+  for (NSString *language in providedList) {\n+\n+    // If this was the closed captions language, put 'None' and 'CC' langauges in the array\n+    if ([language compare: @\"cc\"] == NSOrderedSame) {\n+      closedCaptionsArray = [NSArray arrayWithObjects:[[OOOoyalaTVPlayerViewController currentLanguageSettings] objectForKey:@\"Off\"], [[OOOoyalaTVPlayerViewController currentLanguageSettings] objectForKey:@\"Use Closed Captions\"], nil];\n+    } else {\n+      if (subtitleArray.count == 0) {\n+        [subtitleArray addObject:[[OOOoyalaTVPlayerViewController currentLanguageSettings] objectForKey:@\"Off\"]];","path":"sdk/tvOS/OoyalaTVSkinSDK/OOOoyalaTVPlayerViewController.m","position":null,"original_position":538,"commit_id":"f6645367999255217ad859c5454c105b48ba68dd","original_commit_id":"e0fa727fa8a441637063343db5732a6ad30dc122","user":{"login":"MarkEPAM","id":31929300,"node_id":"MDQ6VXNlcjMxOTI5MzAw","avatar_url":"https://avatars2.githubusercontent.com/u/31929300?v=4","gravatar_id":"","url":"https://api.github.com/users/MarkEPAM","html_url":"https://github.com/MarkEPAM","followers_url":"https://api.github.com/users/MarkEPAM/followers","following_url":"https://api.github.com/users/MarkEPAM/following{/other_user}","gists_url":"https://api.github.com/users/MarkEPAM/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkEPAM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkEPAM/subscriptions","organizations_url":"https://api.github.com/users/MarkEPAM/orgs","repos_url":"https://api.github.com/users/MarkEPAM/repos","events_url":"https://api.github.com/users/MarkEPAM/events{/privacy}","received_events_url":"https://api.github.com/users/MarkEPAM/received_events","type":"User","site_admin":false},"body":"done","created_at":"2018-11-12T13:21:13Z","updated_at":"2018-11-12T13:21:13Z","html_url":"https://github.com/ooyala/native-skin/pull/775#discussion_r232654068","pull_request_url":"https://api.github.com/repos/ooyala/native-skin/pulls/775","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ooyala/native-skin/pulls/comments/232654068"},"html":{"href":"https://github.com/ooyala/native-skin/pull/775#discussion_r232654068"},"pull_request":{"href":"https://api.github.com/repos/ooyala/native-skin/pulls/775"}},"in_reply_to_id":232646628},"pull_request":{"url":"https://api.github.com/repos/ooyala/native-skin/pulls/775","id":230122460,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMTIyNDYw","html_url":"https://github.com/ooyala/native-skin/pull/775","diff_url":"https://github.com/ooyala/native-skin/pull/775.diff","patch_url":"https://github.com/ooyala/native-skin/pull/775.patch","issue_url":"https://api.github.com/repos/ooyala/native-skin/issues/775","number":775,"state":"open","locked":false,"title":"[PLAYER-4648] Fixed UI lag when user begin seeking for tvOS","user":{"login":"MarkEPAM","id":31929300,"node_id":"MDQ6VXNlcjMxOTI5MzAw","avatar_url":"https://avatars2.githubusercontent.com/u/31929300?v=4","gravatar_id":"","url":"https://api.github.com/users/MarkEPAM","html_url":"https://github.com/MarkEPAM","followers_url":"https://api.github.com/users/MarkEPAM/followers","following_url":"https://api.github.com/users/MarkEPAM/following{/other_user}","gists_url":"https://api.github.com/users/MarkEPAM/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkEPAM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkEPAM/subscriptions","organizations_url":"https://api.github.com/users/MarkEPAM/orgs","repos_url":"https://api.github.com/users/MarkEPAM/repos","events_url":"https://api.github.com/users/MarkEPAM/events{/privacy}","received_events_url":"https://api.github.com/users/MarkEPAM/received_events","type":"User","site_admin":false},"body":"Added immediately progress bar updates for seeking process.\r\n\r\nTicket: https://jira.corp.ooyala.com/browse/PLAYER-4648","created_at":"2018-11-12T12:45:47Z","updated_at":"2018-11-12T13:21:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c92bb43f5b76f193a47ef246bba7db230ead9b42","assignee":null,"assignees":[],"requested_reviewers":[{"login":"rcvrgs","id":263478,"node_id":"MDQ6VXNlcjI2MzQ3OA==","avatar_url":"https://avatars1.githubusercontent.com/u/263478?v=4","gravatar_id":"","url":"https://api.github.com/users/rcvrgs","html_url":"https://github.com/rcvrgs","followers_url":"https://api.github.com/users/rcvrgs/followers","following_url":"https://api.github.com/users/rcvrgs/following{/other_user}","gists_url":"https://api.github.com/users/rcvrgs/gists{/gist_id}","starred_url":"https://api.github.com/users/rcvrgs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcvrgs/subscriptions","organizations_url":"https://api.github.com/users/rcvrgs/orgs","repos_url":"https://api.github.com/users/rcvrgs/repos","events_url":"https://api.github.com/users/rcvrgs/events{/privacy}","received_events_url":"https://api.github.com/users/rcvrgs/received_events","type":"User","site_admin":false},{"login":"cacel","id":7861904,"node_id":"MDQ6VXNlcjc4NjE5MDQ=","avatar_url":"https://avatars3.githubusercontent.com/u/7861904?v=4","gravatar_id":"","url":"https://api.github.com/users/cacel","html_url":"https://github.com/cacel","followers_url":"https://api.github.com/users/cacel/followers","following_url":"https://api.github.com/users/cacel/following{/other_user}","gists_url":"https://api.github.com/users/cacel/gists{/gist_id}","starred_url":"https://api.github.com/users/cacel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cacel/subscriptions","organizations_url":"https://api.github.com/users/cacel/orgs","repos_url":"https://api.github.com/users/cacel/repos","events_url":"https://api.github.com/users/cacel/events{/privacy}","received_events_url":"https://api.github.com/users/cacel/received_events","type":"User","site_admin":false},{"login":"grigory9","id":11505031,"node_id":"MDQ6VXNlcjExNTA1MDMx","avatar_url":"https://avatars1.githubusercontent.com/u/11505031?v=4","gravatar_id":"","url":"https://api.github.com/users/grigory9","html_url":"https://github.com/grigory9","followers_url":"https://api.github.com/users/grigory9/followers","following_url":"https://api.github.com/users/grigory9/following{/other_user}","gists_url":"https://api.github.com/users/grigory9/gists{/gist_id}","starred_url":"https://api.github.com/users/grigory9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grigory9/subscriptions","organizations_url":"https://api.github.com/users/grigory9/orgs","repos_url":"https://api.github.com/users/grigory9/repos","events_url":"https://api.github.com/users/grigory9/events{/privacy}","received_events_url":"https://api.github.com/users/grigory9/received_events","type":"User","site_admin":false},{"login":"ipadilla4","id":28657570,"node_id":"MDQ6VXNlcjI4NjU3NTcw","avatar_url":"https://avatars0.githubusercontent.com/u/28657570?v=4","gravatar_id":"","url":"https://api.github.com/users/ipadilla4","html_url":"https://github.com/ipadilla4","followers_url":"https://api.github.com/users/ipadilla4/followers","following_url":"https://api.github.com/users/ipadilla4/following{/other_user}","gists_url":"https://api.github.com/users/ipadilla4/gists{/gist_id}","starred_url":"https://api.github.com/users/ipadilla4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ipadilla4/subscriptions","organizations_url":"https://api.github.com/users/ipadilla4/orgs","repos_url":"https://api.github.com/users/ipadilla4/repos","events_url":"https://api.github.com/users/ipadilla4/events{/privacy}","received_events_url":"https://api.github.com/users/ipadilla4/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ooyala/native-skin/pulls/775/commits","review_comments_url":"https://api.github.com/repos/ooyala/native-skin/pulls/775/comments","review_comment_url":"https://api.github.com/repos/ooyala/native-skin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ooyala/native-skin/issues/775/comments","statuses_url":"https://api.github.com/repos/ooyala/native-skin/statuses/f6645367999255217ad859c5454c105b48ba68dd","head":{"label":"ooyala:PLAYER-4648","ref":"PLAYER-4648","sha":"f6645367999255217ad859c5454c105b48ba68dd","user":{"login":"ooyala","id":365274,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTI3NA==","avatar_url":"https://avatars3.githubusercontent.com/u/365274?v=4","gravatar_id":"","url":"https://api.github.com/users/ooyala","html_url":"https://github.com/ooyala","followers_url":"https://api.github.com/users/ooyala/followers","following_url":"https://api.github.com/users/ooyala/following{/other_user}","gists_url":"https://api.github.com/users/ooyala/gists{/gist_id}","starred_url":"https://api.github.com/users/ooyala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ooyala/subscriptions","organizations_url":"https://api.github.com/users/ooyala/orgs","repos_url":"https://api.github.com/users/ooyala/repos","events_url":"https://api.github.com/users/ooyala/events{/privacy}","received_events_url":"https://api.github.com/users/ooyala/received_events","type":"Organization","site_admin":false},"repo":{"id":34082594,"node_id":"MDEwOlJlcG9zaXRvcnkzNDA4MjU5NA==","name":"native-skin","full_name":"ooyala/native-skin","private":false,"owner":{"login":"ooyala","id":365274,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTI3NA==","avatar_url":"https://avatars3.githubusercontent.com/u/365274?v=4","gravatar_id":"","url":"https://api.github.com/users/ooyala","html_url":"https://github.com/ooyala","followers_url":"https://api.github.com/users/ooyala/followers","following_url":"https://api.github.com/users/ooyala/following{/other_user}","gists_url":"https://api.github.com/users/ooyala/gists{/gist_id}","starred_url":"https://api.github.com/users/ooyala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ooyala/subscriptions","organizations_url":"https://api.github.com/users/ooyala/orgs","repos_url":"https://api.github.com/users/ooyala/repos","events_url":"https://api.github.com/users/ooyala/events{/privacy}","received_events_url":"https://api.github.com/users/ooyala/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ooyala/native-skin","description":"The source of the new Skin UI SDKs for both Android and IOS","fork":false,"url":"https://api.github.com/repos/ooyala/native-skin","forks_url":"https://api.github.com/repos/ooyala/native-skin/forks","keys_url":"https://api.github.com/repos/ooyala/native-skin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ooyala/native-skin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ooyala/native-skin/teams","hooks_url":"https://api.github.com/repos/ooyala/native-skin/hooks","issue_events_url":"https://api.github.com/repos/ooyala/native-skin/issues/events{/number}","events_url":"https://api.github.com/repos/ooyala/native-skin/events","assignees_url":"https://api.github.com/repos/ooyala/native-skin/assignees{/user}","branches_url":"https://api.github.com/repos/ooyala/native-skin/branches{/branch}","tags_url":"https://api.github.com/repos/ooyala/native-skin/tags","blobs_url":"https://api.github.com/repos/ooyala/native-skin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ooyala/native-skin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ooyala/native-skin/git/refs{/sha}","trees_url":"https://api.github.com/repos/ooyala/native-skin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ooyala/native-skin/statuses/{sha}","languages_url":"https://api.github.com/repos/ooyala/native-skin/languages","stargazers_url":"https://api.github.com/repos/ooyala/native-skin/stargazers","contributors_url":"https://api.github.com/repos/ooyala/native-skin/contributors","subscribers_url":"https://api.github.com/repos/ooyala/native-skin/subscribers","subscription_url":"https://api.github.com/repos/ooyala/native-skin/subscription","commits_url":"https://api.github.com/repos/ooyala/native-skin/commits{/sha}","git_commits_url":"https://api.github.com/repos/ooyala/native-skin/git/commits{/sha}","comments_url":"https://api.github.com/repos/ooyala/native-skin/comments{/number}","issue_comment_url":"https://api.github.com/repos/ooyala/native-skin/issues/comments{/number}","contents_url":"https://api.github.com/repos/ooyala/native-skin/contents/{+path}","compare_url":"https://api.github.com/repos/ooyala/native-skin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ooyala/native-skin/merges","archive_url":"https://api.github.com/repos/ooyala/native-skin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ooyala/native-skin/downloads","issues_url":"https://api.github.com/repos/ooyala/native-skin/issues{/number}","pulls_url":"https://api.github.com/repos/ooyala/native-skin/pulls{/number}","milestones_url":"https://api.github.com/repos/ooyala/native-skin/milestones{/number}","notifications_url":"https://api.github.com/repos/ooyala/native-skin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ooyala/native-skin/labels{/name}","releases_url":"https://api.github.com/repos/ooyala/native-skin/releases{/id}","deployments_url":"https://api.github.com/repos/ooyala/native-skin/deployments","created_at":"2015-04-16T21:53:47Z","updated_at":"2018-10-12T06:47:44Z","pushed_at":"2018-11-12T13:20:57Z","git_url":"git://github.com/ooyala/native-skin.git","ssh_url":"git@github.com:ooyala/native-skin.git","clone_url":"https://github.com/ooyala/native-skin.git","svn_url":"https://github.com/ooyala/native-skin","homepage":"","size":1207802,"stargazers_count":12,"watchers_count":12,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":10,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":10,"open_issues":5,"watchers":12,"default_branch":"stable"}},"base":{"label":"ooyala:candidate","ref":"candidate","sha":"b598e8e879ee64085da4c291ac9684d3451a015f","user":{"login":"ooyala","id":365274,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTI3NA==","avatar_url":"https://avatars3.githubusercontent.com/u/365274?v=4","gravatar_id":"","url":"https://api.github.com/users/ooyala","html_url":"https://github.com/ooyala","followers_url":"https://api.github.com/users/ooyala/followers","following_url":"https://api.github.com/users/ooyala/following{/other_user}","gists_url":"https://api.github.com/users/ooyala/gists{/gist_id}","starred_url":"https://api.github.com/users/ooyala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ooyala/subscriptions","organizations_url":"https://api.github.com/users/ooyala/orgs","repos_url":"https://api.github.com/users/ooyala/repos","events_url":"https://api.github.com/users/ooyala/events{/privacy}","received_events_url":"https://api.github.com/users/ooyala/received_events","type":"Organization","site_admin":false},"repo":{"id":34082594,"node_id":"MDEwOlJlcG9zaXRvcnkzNDA4MjU5NA==","name":"native-skin","full_name":"ooyala/native-skin","private":false,"owner":{"login":"ooyala","id":365274,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTI3NA==","avatar_url":"https://avatars3.githubusercontent.com/u/365274?v=4","gravatar_id":"","url":"https://api.github.com/users/ooyala","html_url":"https://github.com/ooyala","followers_url":"https://api.github.com/users/ooyala/followers","following_url":"https://api.github.com/users/ooyala/following{/other_user}","gists_url":"https://api.github.com/users/ooyala/gists{/gist_id}","starred_url":"https://api.github.com/users/ooyala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ooyala/subscriptions","organizations_url":"https://api.github.com/users/ooyala/orgs","repos_url":"https://api.github.com/users/ooyala/repos","events_url":"https://api.github.com/users/ooyala/events{/privacy}","received_events_url":"https://api.github.com/users/ooyala/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ooyala/native-skin","description":"The source of the new Skin UI SDKs for both Android and IOS","fork":false,"url":"https://api.github.com/repos/ooyala/native-skin","forks_url":"https://api.github.com/repos/ooyala/native-skin/forks","keys_url":"https://api.github.com/repos/ooyala/native-skin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ooyala/native-skin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ooyala/native-skin/teams","hooks_url":"https://api.github.com/repos/ooyala/native-skin/hooks","issue_events_url":"https://api.github.com/repos/ooyala/native-skin/issues/events{/number}","events_url":"https://api.github.com/repos/ooyala/native-skin/events","assignees_url":"https://api.github.com/repos/ooyala/native-skin/assignees{/user}","branches_url":"https://api.github.com/repos/ooyala/native-skin/branches{/branch}","tags_url":"https://api.github.com/repos/ooyala/native-skin/tags","blobs_url":"https://api.github.com/repos/ooyala/native-skin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ooyala/native-skin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ooyala/native-skin/git/refs{/sha}","trees_url":"https://api.github.com/repos/ooyala/native-skin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ooyala/native-skin/statuses/{sha}","languages_url":"https://api.github.com/repos/ooyala/native-skin/languages","stargazers_url":"https://api.github.com/repos/ooyala/native-skin/stargazers","contributors_url":"https://api.github.com/repos/ooyala/native-skin/contributors","subscribers_url":"https://api.github.com/repos/ooyala/native-skin/subscribers","subscription_url":"https://api.github.com/repos/ooyala/native-skin/subscription","commits_url":"https://api.github.com/repos/ooyala/native-skin/commits{/sha}","git_commits_url":"https://api.github.com/repos/ooyala/native-skin/git/commits{/sha}","comments_url":"https://api.github.com/repos/ooyala/native-skin/comments{/number}","issue_comment_url":"https://api.github.com/repos/ooyala/native-skin/issues/comments{/number}","contents_url":"https://api.github.com/repos/ooyala/native-skin/contents/{+path}","compare_url":"https://api.github.com/repos/ooyala/native-skin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ooyala/native-skin/merges","archive_url":"https://api.github.com/repos/ooyala/native-skin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ooyala/native-skin/downloads","issues_url":"https://api.github.com/repos/ooyala/native-skin/issues{/number}","pulls_url":"https://api.github.com/repos/ooyala/native-skin/pulls{/number}","milestones_url":"https://api.github.com/repos/ooyala/native-skin/milestones{/number}","notifications_url":"https://api.github.com/repos/ooyala/native-skin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ooyala/native-skin/labels{/name}","releases_url":"https://api.github.com/repos/ooyala/native-skin/releases{/id}","deployments_url":"https://api.github.com/repos/ooyala/native-skin/deployments","created_at":"2015-04-16T21:53:47Z","updated_at":"2018-10-12T06:47:44Z","pushed_at":"2018-11-12T13:20:57Z","git_url":"git://github.com/ooyala/native-skin.git","ssh_url":"git@github.com:ooyala/native-skin.git","clone_url":"https://github.com/ooyala/native-skin.git","svn_url":"https://github.com/ooyala/native-skin","homepage":"","size":1207802,"stargazers_count":12,"watchers_count":12,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":10,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":10,"open_issues":5,"watchers":12,"default_branch":"stable"}},"_links":{"self":{"href":"https://api.github.com/repos/ooyala/native-skin/pulls/775"},"html":{"href":"https://github.com/ooyala/native-skin/pull/775"},"issue":{"href":"https://api.github.com/repos/ooyala/native-skin/issues/775"},"comments":{"href":"https://api.github.com/repos/ooyala/native-skin/issues/775/comments"},"review_comments":{"href":"https://api.github.com/repos/ooyala/native-skin/pulls/775/comments"},"review_comment":{"href":"https://api.github.com/repos/ooyala/native-skin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ooyala/native-skin/pulls/775/commits"},"statuses":{"href":"https://api.github.com/repos/ooyala/native-skin/statuses/f6645367999255217ad859c5454c105b48ba68dd"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"MarkEPAM"}}