/*
 * 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.imagepipeline.memory;

import com.facebook.common.util.ByteConstants;

/**
 * Provides pool parameters ({@link PoolParams}) for {@link SharedByteArray}
 */
public class DefaultSharedByteArrayParams {
  // the default max buffer size we'll use
  private static final int DEFAULT_MAX_BYTE_ARRAY_SIZE = 4 * ByteConstants.MB;
  // the min buffer size we'll use
  private static final int DEFAULT_MIN_BYTE_ARRAY_SIZE = 128 * ByteConstants.KB;

  private DefaultSharedByteArrayParams() {
  }

  public static PoolParams get() {
    return new PoolParams(
        DEFAULT_MAX_BYTE_ARRAY_SIZE,
        DEFAULT_MAX_BYTE_ARRAY_SIZE,
        null,
        DEFAULT_MIN_BYTE_ARRAY_SIZE,
        DEFAULT_MAX_BYTE_ARRAY_SIZE
    );
  }
}

@@ -346,16 +346,53 @@
 emory;%0A%0A
+import android.util.SparseIntArray;%0A%0A
 import c
@@ -430,16 +430,16 @@
 stants;%0A
-
 %0A/**%0A * 
@@ -598,38 +598,37 @@
 ze we'll use%0A  p
-rivate
+ublic
  static final in
@@ -846,16 +846,230 @@
  %7B%0A  %7D%0A%0A
+  public static SparseIntArray generateBuckets(int min, int max) %7B%0A    SparseIntArray buckets = new SparseIntArray();%0A    for (int i = min; i %3C= max; i*=2) %7B%0A      buckets.put(i, 1);%0A    %7D%0A    return buckets;%0A  %7D%0A%0A
   public
@@ -1208,12 +1208,81 @@
     
-null
+generateBuckets(DEFAULT_MIN_BYTE_ARRAY_SIZE, DEFAULT_MAX_BYTE_ARRAY_SIZE)
 ,%0A  

Add buckets to the byte array params.