Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.WazaBe.HoloEverywhere;
  
  import java.io.File;
  import java.util.HashMap;
  import java.util.Map;
  
 
 public final class FontLoader {
 	public enum HoloFont {
 		ROBOTO_BOLD(..), ROBOTO_BOLD_ITALIC(
 				..), ROBOTO_ITALIC(..), ROBOTO_REGULAR(
 
 		private int font;
 		private boolean ignore;
 
 		private HoloFont(int font) {
 			this(fontfalse);
 		}
 
 		private HoloFont(int fontboolean ignore) {
 			this. = font;
 			this. = ignore;
 		}
 	}
 
 	private static final SparseArray<TypefacefontArray = new SparseArray<Typeface>();
 
 	private static final Map<StringTypefacefontMapOld = new HashMap<StringTypeface>();
 
 	public static final String ROBOTO_REGULAR = "Roboto-Regular.ttf";
 
 	private static final String TAG = "FontLoader";
 
 	public static View inflate(Context contextint res) {
 		return inflate(contextresnull);
 	}
 
 	public static View inflate(Context contextint resViewGroup parent) {
 		return loadFont(View.inflate(contextresparent));
 	}
 
 	public static void loadFont(TextView viewString font) {
 		if (.. >= 14 || view == null
 				|| view.getContext() == null) {
 			return;
 		}
 		Typeface typeface = loadTypeface(view.getContext(), font);
 		if (typeface != null) {
 			view.setTypeface(typeface);
 		}
 	}
 
 	public static View loadFont(View view) {
 		return loadFont(view.);
 	}
 
 	public static View loadFont(View viewHoloFont font) {
 		if (font.ignore) {
 			return view;
 		}
 		return loadFont(viewfont.font);
 	}
 
 	@SuppressLint("NewApi")
 	public static View loadFont(View viewint font) {
 		if (view == null || view.getContext() == null
 				|| view.getContext().isRestricted()) {
 			Log.e("View or context is invalid");
 			return view;
 		}
 		if (.get(font) == null) {
 			try {
 				File file = new File(Environment.getDataDirectory(), "data/"
 						+ view.getContext().getPackageName() + "/fonts");
 				if (!file.exists()) {
 					file.mkdirs();
 				}
 				file = new File(file, String.valueOf(font));
 				if (file.exists()) {
 					file.delete();
 				}
				InputStream is = res.openRawResource(font);
				OutputStream os = new FileOutputStream(file);
				byte[] buffer = new byte[8192];
				int read;
				while ((read = is.read(buffer)) > 0) {
					os.write(buffer, 0, read);
				}
				os.flush();
				os.close();
				is.close();
				.put(font, Typeface.createFromFile(file));
catch (Exception e) {
				Log.e("Error of loading font"e);
			}
		}
		Typeface typeface = .get(font);
		if (typeface == null) {
			Log.v("Font " + font + " not found in resources");
			return view;
else {
			return loadFont(viewtypeface);
		}
	}
	public static View loadFont(View viewTypeface typeface) {
		if (view == null || view.getContext() == null
				|| view.getContext().isRestricted()) {
			return view;
		}
		if (typeface == null) {
			Log.v("Font is null");
			return view;
		}
		try {
			((TextViewview).setTypeface(typeface);
catch (ClassCastException e) {
		}
		try {
			ViewGroup group = (ViewGroupview;
			for (int i = 0; i < group.getChildCount(); i++) {
				loadFont(group.getChildAt(i), typeface);
			}
catch (ClassCastException e) {
		}
		return view;
	}
	private static Typeface loadTypeface(Context ctxString font) {
			try {
				Typeface typeface = Typeface.createFromAsset(ctx.getAssets(),
						font);
				..put(fonttypeface);
catch (Exception e) {
				Log.w("FontLoader""Error loading font " + font
" from assets. Error: " + e.getMessage());
			}
		}
		return ..get(font);
	}
	private FontLoader() {
	}
New to GrepCode? Check out our FAQ X