private static boolean extractDir(Context c,String rootAsset,String path){
  AssetManager assetManager=c.getAssets();
  try {
    String[] assets=assetManager.list(rootAsset + path);
    if (assets.length == 0) {
      if (!extractFile(c,rootAsset,path))       return false;
    }
 else {
      String fullPath=PrefStore.getEnvDir(c) + path;
      File dir=new File(fullPath);
      if (!dir.exists())       dir.mkdir();
      for (      String asset : assets) {
        if (!extractDir(c,rootAsset,path + "/" + asset))         return false;
      }
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
    return false;
  }
  return true;
}

private static boolean extractDir ( Context c , String rootAsset , String path ) { AssetManager assetManager = c . getAssets ( ) ; try { String [ ] assets = assetManager . list ( rootAsset + path ) ; if ( assets . length == 0 ) { if ( ! extractFile ( c , rootAsset , path ) ) return false ; } else { String fullPath = PrefStore . getEnvDir ( c ) + path ; File dir = new File ( fullPath ) ; if ( ! dir . exists ( ) ) dir . mkdir ( ) ; for ( String asset : assets ) { if ( ! extractDir ( c , rootAsset , path + "/" + asset ) ) return false ; } } } catch ( IOException e ) { e . printStackTrace ( ) ; return false ; } return true ; }
extract path to env directory
