hunk.code_window:     }
       try {
         JSONObject object = new JSONObject(json);
         return new ExponentNotification(object.getString(NotificationConstants.NOTIFICATION_EXPERIENCE_ID_KEY), object.getString(NotificationConstants.NOTIFICATION_MESSAGE_KEY), object.getInt(NotificationConstants.NOTIFICATION_ID_KEY), object.getBoolean(NotificationConstants.NOTIFICATION_IS_MULTIPLE_KEY), object.getBoolean(NotificationConstants.NOTIFICATION_REMOTE_KEY));
       } catch (JSONException e) {
         EXL.e(TAG, e.toString());
         return null;
  
hunk.labels: keep keep keep keep replace keep keep keep
hunk.after_edit:       String body = object.optString(NotificationConstants.NOTIFICATION_DATA_KEY, null);
         if (body == null) {
           body = object.optString(NotificationConstants.NOTIFICATION_MESSAGE_KEY, null);
         }
         return new ExponentNotification(object.getString(NotificationConstants.NOTIFICATION_EXPERIENCE_ID_KEY), body, object.getInt(NotificationConstants.NOTIFICATION_ID_KEY), object.getBoolean(NotificationConstants.NOTIFICATION_IS_MULTIPLE_KEY), object.getBoolean(NotificationConstants.NOTIFICATION_REMOTE_KEY));
  
hunk.file_path: android/expoview/src/main/java/host/exp/exponent/notifications/ExponentNotification.java
hunk.type: replace
file: /**
   * Copyright (c) 2015-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *
   * @providesModule ImagePickerIOS
   * @flow
   */
  'use strict';
  
  var RCTImagePicker = require('../BatchedBridge/NativeModules').ImagePickerIOS;
  
  var ImagePickerIOS = {
    canRecordVideos: function(callback: Function) {
      return RCTImagePicker.canRecordVideos(callback);
    },
    canUseCamera: function(callback: Function) {
      return RCTImagePicker.canUseCamera(callback);
    },
    openCameraDialog: function(config: Object, successCallback: Function, cancelCallback: Function) {
      config = {
        videoMode: false,
        ...config,
      };
      return RCTImagePicker.openCameraDialog(config, successCallback, cancelCallback);
    },
    openSelectDialog: function(config: Object, successCallback: Function, cancelCallback: Function) {
      config = {
        showImages: true,
        showVideos: false,
        ...config,
      };
      return RCTImagePicker.openSelectDialog(config, successCallback, cancelCallback);
    },
  };
  
  module.exports = ImagePickerIOS;
  