hunk.code_window:     _locMgr = [[CLLocationManager alloc] init];
       _locMgr.delegate = self;
       if ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"] &&
           [_locMgr respondsToSelector:@selector(requestAlwaysAuthorization)]) {
           [_locMgr requestAlwaysAuthorization];
       } else if ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"] &&
                  [_locMgr respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
           [_locMgr requestWhenInUseAuthorization];
       } else {
  
hunk.labels: keep keep keep replace replace replace replace keep keep keep
hunk.after_edit:     if ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"] &&
  
hunk.file_path: modules/expo-permissions/ios/EXPermissions/EXLocationRequester.m
hunk.type: replace
file: import React from 'react';
  import { GLView } from 'expo-gl';
  import { View } from 'react-native';
  
  import { Colors } from '../../constants';
  
  export default (title, onContextCreate) =>
    class extends React.Component {
      static title = title;
  
      componentWillUnmount() {
        this._gl = null;
        cancelAnimationFrame(this._rafID);
      }
  
      render() {
        return (
          <View
            style={[
              {
                flex: 1,
                backgroundColor: Colors.tintColor,
              },
              this.props.style,
            ]}>
            <GLView style={{ flex: 1 }} onContextCreate={this._onContextCreate} />
          </View>
        );
      }
  
      _onContextCreate = async gl => {
        this._gl = gl;
        const { result: { onTick = () => {} } = {} } = {
          result: await onContextCreate(this._gl),
        };
  
        const animate = () => {
          if (this._gl) {
            this._rafID = requestAnimationFrame(animate);
            onTick(this._gl);
          }
        };
        animate();
      };
    };
  