public File getFile(boolean forMms) throws ExecutionException, InterruptedException { synchronized (this) { while (!modelReady) { Util.wait(this, 0); } } return Glide.with(context) .load(forMms ? image.getGifMmsUrl() : image.getGifUrl()) .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .get(); }