hunk.code_window:       if (result.isCancelled || !result.token) {
           resolve(@{ @"type": @"cancel" });
           return;
         }
  
hunk.labels: keep replace replace replace replace keep
hunk.after_edit:         if (result.isCancelled || !result.token) {
             resolve(@{ @"type": @"cancel" });
             return;
           }
  
hunk.file_path: ios/Exponent/Versioned/Core/Api/EXFacebook.m
hunk.type: replace
file: /**
   * Copyright (c) 2015-present, Facebook, Inc.
   * All rights reserved.
   *
   * This source code is licensed under the BSD-style license found in the
   * LICENSE file in the root directory of this source tree. An additional grant
   * of patent rights can be found in the PATENTS file in the same directory.
   */
  
  package com.facebook.react.uimanager;
  
  import android.view.View;
  import android.view.accessibility.AccessibilityEvent;
  import android.view.accessibility.AccessibilityNodeInfo;
  import android.widget.Button;
  import android.widget.RadioButton;
  
  /**
   * Helper class containing logic for setting accessibility View properties.
   */
  /* package */ class AccessibilityHelper {
  
    private static final String BUTTON = "button";
    private static final String RADIOBUTTON_CHECKED = "radiobutton_checked";
    private static final String RADIOBUTTON_UNCHECKED = "radiobutton_unchecked";
  
    private static final View.AccessibilityDelegate BUTTON_DELEGATE =
        new View.AccessibilityDelegate() {
          @Override
          public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
            super.onInitializeAccessibilityEvent(host, event);
            event.setClassName(Button.class.getName());
          }
  
          @Override
          public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setClassName(Button.class.getName());
          }
        };
  
    private static final View.AccessibilityDelegate RADIOBUTTON_CHECKED_DELEGATE =
        new View.AccessibilityDelegate() {
          @Override
          public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
            super.onInitializeAccessibilityEvent(host, event);
            event.setClassName(RadioButton.class.getName());
            event.setChecked(true);
          }
  
          @Override
          public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setClassName(RadioButton.class.getName());
            info.setCheckable(true);
            info.setChecked(true);
          }
        };
  
    private static final View.AccessibilityDelegate RADIOBUTTON_UNCHECKED_DELEGATE =
        new View.AccessibilityDelegate() {
          @Override
          public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
            super.onInitializeAccessibilityEvent(host, event);
            event.setClassName(RadioButton.class.getName());
            event.setChecked(false);
          }
  
          @Override
          public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setClassName(RadioButton.class.getName());
            info.setCheckable(true);
            info.setChecked(false);
          }
        };
  
    public static void updateAccessibilityComponentType(View view, String componentType) {
      if (componentType == null) {
        view.setAccessibilityDelegate(null);
        return;
      }
      switch (componentType) {
        case BUTTON:
          view.setAccessibilityDelegate(BUTTON_DELEGATE);
          break;
        case RADIOBUTTON_CHECKED:
          view.setAccessibilityDelegate(RADIOBUTTON_CHECKED_DELEGATE);
          break;
        case RADIOBUTTON_UNCHECKED:
          view.setAccessibilityDelegate(RADIOBUTTON_UNCHECKED_DELEGATE);
          break;
        default:
          view.setAccessibilityDelegate(null);
          break;
      }
    }
  
    public static void sendAccessibilityEvent(View view, int eventType) {
      view.sendAccessibilityEvent(eventType);
    }
  
  }
  