hunk.code_window:       Map<String, String> attachment = attachments.get(0);
         smsIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(attachment.get("uri")));
         smsIntent.setType(attachment.get("mimeType"));
       } else {
         smsIntent = new Intent(Intent.ACTION_SENDTO);
         smsIntent.setData(Uri.parse("smsto:" + constructRecipients(addresses)));
       }
  
hunk.labels: keep keep keep add keep keep keep keep keep
hunk.after_edit:       smsIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
  
hunk.file_path: android/versioned-abis/expoview-abi39_0_0/src/main/java/abi39_0_0/expo/modules/sms/SMSModule.java
hunk.type: add
file: // Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
  //
  // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
  // copy, modify, and distribute this software in source code or binary form for use
  // in connection with the web services and APIs provided by Facebook.
  //
  // As with any software that integrates with the Facebook platform, your use of
  // this software is subject to the Facebook Developer Principles and Policies
  // [http://developers.facebook.com/policy/]. This copyright notice shall be
  // included in all copies or substantial portions of the software.
  //
  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
  // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
  // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
  // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  #import <Foundation/Foundation.h>
  
  #import <FBSDKLoginKit/FBSDKLoginManagerLoginResult.h>
  
  @interface FBSDKLoginManagerLoginResult()
  
  @property (nonatomic, readonly) NSDictionary *loggingExtras;
  
  // legacy flag indicating this is an intermediary result only for logging purposes.
  @property (nonatomic, assign) BOOL isSkipped;
  
  // adds additional logging entry to extras - only sent as part of `endLoginWithResult:`
  -(void)addLoggingExtra:(id)object forKey:(id<NSCopying>)key;
  @end
  