svoid swingOpenPhoneFile(S path) { swingOpenPhoneFile(gateway(), path); } svoid swingOpenPhoneFile(S ip , S path) { byte[] data = readFileFromPhone(ip, path); File f = prepareCacheProgramFile(md5(data) + ".data"); saveBinaryFile(f, data); if (isPNG(data)) showImage(path, loadBufferedImage(f)); else showText(path, fromUtf8(data)); }