hunk.code_window:       mOpenBrowserPromise = null;
         return;
       }
       WritableMap result = Arguments.createMap();
       result.putString("type", "dismiss");
       mOpenBrowserPromise.resolve(result);
       mOpenBrowserPromise = null;
  
hunk.labels: keep keep keep add keep keep keep keep keep
hunk.after_edit:     EventBus.getDefault().unregister(this);
  
hunk.file_path: android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/WebBrowserModule.java
hunk.type: add
file: // Copyright 2004-present Facebook. All Rights Reserved.
  
  package com.facebook.react.common;
  
  import android.support.v4.util.Pools;
  
  /**
   * Like {@link android.support.v4.util.Pools.SynchronizedPool} with the option to clear the pool
   * (e.g. on memory pressure).
   */
  public class ClearableSynchronizedPool<T> implements Pools.Pool<T> {
  
    private final Object[] mPool;
    private int mSize = 0;
  
    public ClearableSynchronizedPool(int maxSize) {
      mPool = new Object[maxSize];
    }
  
    @Override
    public synchronized T acquire() {
      if (mSize == 0) {
        return null;
      }
      mSize--;
      final int lastIndex = mSize;
      T toReturn = (T) mPool[lastIndex];
      mPool[lastIndex] = null;
      return toReturn;
    }
  
    @Override
    public synchronized boolean release(T obj) {
      if (mSize == mPool.length) {
        return false;
      }
      mPool[mSize] = obj;
      mSize++;
      return true;
    }
  
    public synchronized void clear() {
      for (int i = 0; i < mSize; i++) {
        mPool[i] = null;
      }
      mSize = 0;
    }
  }
  