package com.door43.translationstudio; import android.content.Context; import com.door43.util.FileUtilities; import com.door43.util.tasks.ManagedTask; import org.json.JSONArray; import org.json.JSONObject; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; /** * Created by joel on 2/25/2015. */ public class Util { /** * Utiltiy to load a signature * @param sig * @return * @throws Exception */ public static String loadSig(Context context, String sig) throws Exception { InputStream sigStream = context.getAssets().open(sig); String sigJson = FileUtilities.readStreamToString(sigStream); JSONArray json = new JSONArray(sigJson); JSONObject sigObj = json.getJSONObject(0); return sigObj.getString("sig"); } /** * Executes a task * @param task */ public static void runTask(ManagedTask task) { task.start(); } public static String readStream(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line; try { while ((line = reader.readLine()) != null) { sb.append(line).append('\n'); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); } public static void copyStreamToCache(Context context, InputStream is, File output) throws Exception{ output.getParentFile().mkdirs(); try { FileOutputStream outputStream = new FileOutputStream(output); try { byte[] buf = new byte[1024]; int len; while ((len = is.read(buf)) > 0) { outputStream.write(buf, 0, len); } } finally { outputStream.close(); } } finally { is.close(); } } }