package com.github.paolorotolo.appintro.util;
import android.content.Context;
import android.graphics.Typeface;
import java.util.Hashtable;
/**
* Created by ameykshirsagar on 23/07/16.
* Custom Font Cache Implementation
* Prevent(s) memory leaks due to Typeface objects
*/
public class CustomFontCache {
private static final String TAG = LogHelper.makeLogTag(CustomFontCache.class);
private static final Hashtable<String, Typeface> fCache = new Hashtable<>();
public static Typeface get(String tfn, Context ctx) {
Typeface tf = fCache.get(tfn);
if (tf == null) {
try {
tf = Typeface.createFromAsset(ctx.getAssets(), tfn);
if (tf != null) {
fCache.put(tfn, tf);
}
return tf;
} catch (Exception e) {
if (("").equals(tfn)) {
LogHelper.w(TAG, e, "Empty path");
} else {
LogHelper.w(TAG, e, tfn);
}
return null;
}
} else {
return tf;
}
}
}