content: package im.actor.runtime.android;
  
  import android.content.res.AssetManager;
  
  import java.io.ByteArrayOutputStream;
  import java.io.IOException;
  import java.io.InputStream;
  
  import im.actor.runtime.AssetsRuntime;
  
  public class AndroidAssetsProvider implements AssetsRuntime {
  
      @Override
      public boolean hasAsset(String name) {
  //        AssetManager assets = AndroidContext.getContext().getResources().getAssets();
  //        if (assets.)
          return false;
      }
  
      @Override
      public String loadAsset(String name) {
          AssetManager assets = AndroidContext.getContext().getResources().getAssets();
          InputStream stream = null;
          try {
              stream = assets.open(name);
              return readFully(stream, "UTF-8");
          } catch (IOException e) {
              e.printStackTrace();
          } finally {
              try {
                  if (stream != null) {
                      stream.close();
                  }
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
          return null;
      }
  
      @Override
      public byte[] loadBinAsset(String name) {
          AssetManager assets = AndroidContext.getContext().getResources().getAssets();
          InputStream stream = null;
          try {
              stream = assets.open(name);
              return readFully(stream);
          } catch (IOException e) {
              e.printStackTrace();
          } finally {
              try {
                  if (stream != null) {
                      stream.close();
                  }
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
          return null;
      }
  
      public String readFully(InputStream inputStream, String encoding) throws IOException {
          return new String(readFully(inputStream), encoding);
      }
  
      private byte[] readFully(InputStream inputStream) throws IOException {
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          byte[] buffer = new byte[1024];
          int length = 0;
          while ((length = inputStream.read(buffer)) != -1) {
              baos.write(buffer, 0, length);
          }
          return baos.toByteArray();
      }
  }
  