packagecom.danikula.videocache.file;importandroid.text.TextUtils;importcom.danikula.videocache.ProxyCacheUtils;/** * Implementation of {@link FileNameGenerator} that uses MD5 of url as file name * * @author Alexey Danilov (danikula@gmail.com). */publicclassMd5FileNameGeneratorimplementsFileNameGenerator{privatestaticfinalintMAX_EXTENSION_LENGTH=4;@OverridepublicStringgenerate(Stringurl){Stringextension=getExtension(url);Stringname=ProxyCacheUtils.computeMD5(url);returnTextUtils.isEmpty(extension)?name:name+"."+extension;}privateStringgetExtension(Stringurl){intdotIndex=url.lastIndexOf('.');intslashIndex=url.lastIndexOf('/');returndotIndex!=-1&&dotIndex>slashIndex&&dotIndex+2+MAX_EXTENSION_LENGTH>url.length()?url.substring(dotIndex+1,url.length()):"";}}