diff options
Diffstat (limited to 'libraries/AndroidBootstrap/src')
8 files changed, 0 insertions, 2101 deletions
| diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapButton.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapButton.java deleted file mode 100644 index 374d004a8..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapButton.java +++ /dev/null @@ -1,445 +0,0 @@ -package com.beardedhen.androidbootstrap; - -import java.util.HashMap; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Typeface; -import android.util.AttributeSet; -import android.util.Log; -import android.util.TypedValue; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.FrameLayout; -import android.widget.TextView; - -import com.beardedhen.androidbootstrap.R; -  - -public class BootstrapButton extends FrameLayout { - -	private static Map<String, BootstrapTypes> bbuttonTypeMap; -	private static Map<String, BootstrapTypes> bbuttonTypeMapRounded; -	private static Typeface font; -	 -	private static Map<String, String> faMap; -	 -	private TextView lblMiddle; -	private TextView lblRight; -	private TextView lblLeft; -	private ViewGroup layout; -	private boolean roundedCorners = false; -	private boolean fillparent = false; -	 -	private static final String FA_ICON_QUESTION = "fa-question"; -	 -	static{ -		 -		bbuttonTypeMap = new HashMap<String, BootstrapTypes>(); -		 -		bbuttonTypeMap.put("default", BootstrapTypes.DEFAULT); -		bbuttonTypeMap.put("primary", BootstrapTypes.PRIMARY); -		bbuttonTypeMap.put("success", BootstrapTypes.SUCCESS); -		bbuttonTypeMap.put("info", BootstrapTypes.INFO); -		bbuttonTypeMap.put("warning", BootstrapTypes.WARNING); -		bbuttonTypeMap.put("danger", BootstrapTypes.DANGER); -		bbuttonTypeMap.put("inverse", BootstrapTypes.INVERSE); -		 -		bbuttonTypeMapRounded = new HashMap<String, BootstrapTypes>(); -		 -		bbuttonTypeMapRounded.put("default", BootstrapTypes.DEFAULT_ROUNDED); -		bbuttonTypeMapRounded.put("primary", BootstrapTypes.PRIMARY_ROUNDED); -		bbuttonTypeMapRounded.put("success", BootstrapTypes.SUCCESS_ROUNDED); -		bbuttonTypeMapRounded.put("info", BootstrapTypes.INFO_ROUNDED); -		bbuttonTypeMapRounded.put("warning", BootstrapTypes.WARNING_ROUNDED); -		bbuttonTypeMapRounded.put("danger", BootstrapTypes.DANGER_ROUNDED); -		bbuttonTypeMapRounded.put("inverse", BootstrapTypes.INVERSE_ROUNDED); -		 -		 -		faMap = FontAwesome.getFaMap(); -		 -	} -	 -	public BootstrapButton(Context context, AttributeSet attrs, int defStyle) { -		super(context, attrs, defStyle); -		initialise(attrs); -	} - -	public BootstrapButton(Context context, AttributeSet attrs) { -		super(context, attrs); -		initialise(attrs); -	} - -	public BootstrapButton(Context context) { -		super(context); -		initialise(null); -	} - -	//set up the bootstrap types -	private enum BootstrapTypes -	{ -		DEFAULT(R.drawable.bbuton_default, R.color.black), -		PRIMARY(R.drawable.bbuton_primary, R.color.white), -		SUCCESS(R.drawable.bbuton_success, R.color.white), -		INFO(R.drawable.bbuton_info, R.color.white), -		WARNING(R.drawable.bbuton_warning, R.color.white), -		DANGER(R.drawable.bbuton_danger, R.color.white), -		INVERSE(R.drawable.bbuton_inverse, R.color.white), -		 -		DEFAULT_ROUNDED(R.drawable.bbuton_default_rounded, R.color.black), -		PRIMARY_ROUNDED(R.drawable.bbuton_primary_rounded, R.color.white), -		SUCCESS_ROUNDED(R.drawable.bbuton_success_rounded, R.color.white), -		INFO_ROUNDED(R.drawable.bbuton_info_rounded, R.color.white), -		WARNING_ROUNDED(R.drawable.bbuton_warning_rounded, R.color.white), -		DANGER_ROUNDED(R.drawable.bbuton_danger_rounded, R.color.white), -		INVERSE_ROUNDED(R.drawable.bbuton_inverse_rounded, R.color.white); - -		private int backgroundDrawable; -		private int textColour; -		 -		BootstrapTypes(int backgroundDrawable, int textColour) -		{ -			this.backgroundDrawable = backgroundDrawable; -			this.textColour = textColour; -		} -	} -	 -	 -	private void initialise( AttributeSet attrs ) -	{ -		LayoutInflater inflator = (LayoutInflater)getContext().getSystemService( -			    Context.LAYOUT_INFLATER_SERVICE); - -		//get font -		readFont(getContext()); - -		TypedArray a = getContext().obtainStyledAttributes(attrs, -			    R.styleable.BootstrapButton); -		 -		//defaults -		BootstrapTypes type = null; -		String bootstrapType = "default"; -		String iconLeft = ""; -		String iconRight = ""; -		String text = ""; -		//boolean roundedCorners = false; -		float fontSize = 14.0f; -		float scale = getResources().getDisplayMetrics().density; //for padding -		String size = "default"; -		int paddingA = (int) (10 *scale + 0.5f); -		int paddingB = (int) (15 *scale + 0.5f); -		 - -		//attribute values -		 -		if (a.getString(R.styleable.BootstrapButton_bb_type) != null) { -			bootstrapType = a.getString(R.styleable.BootstrapButton_bb_type); -		} -		 -		if (a.getString(R.styleable.BootstrapButton_bb_roundedCorners) != null) { -			roundedCorners = a.getBoolean(R.styleable.BootstrapButton_bb_roundedCorners, false) ; -		} -		 -		if(a.getString(R.styleable.BootstrapButton_bb_size) != null) { -			size = a.getString(R.styleable.BootstrapButton_bb_size); -		} -		 -		if ( a.getString(R.styleable.BootstrapButton_bb_icon_left) != null) { -			iconLeft =  a.getString(R.styleable.BootstrapButton_bb_icon_left ); -		} -		 -		if(a.getString(R.styleable.BootstrapButton_bb_icon_right) != null) { -			iconRight = a.getString(R.styleable.BootstrapButton_bb_icon_right ); -		} -		 -		if(a.getString(R.styleable.BootstrapButton_android_text) != null) { -			text = a.getString(R.styleable.BootstrapButton_android_text); -		} -		String gravity = ""; -		if(a.getString(R.styleable.BootstrapButton_bb_text_gravity) != null) { -			gravity = a.getString(R.styleable.BootstrapButton_bb_text_gravity); -		} -		 -		boolean enabled = true; -		if(a.getString(R.styleable.BootstrapButton_android_enabled) != null) { -			enabled = a.getBoolean(R.styleable.BootstrapButton_android_enabled, true); -		} -		 -		int layoutWidth = 0; -		if(a.getString(R.styleable.BootstrapButton_android_layout_width) != null) { -			layoutWidth = a.getInt(R.styleable.BootstrapButton_android_layout_width, 0); -		} -		 -		//works even if it's fill_parent or match_parent  -		if( (layoutWidth == LayoutParams.MATCH_PARENT)) { -			fillparent = true; -		} -		 -		if(a.getString(R.styleable.BootstrapButton_android_textSize) != null) { -			 -			//font sizes -			String xmlProvidedSize = attrs.getAttributeValue( -					"http://schemas.android.com/apk/res/android", "textSize"); -			final Pattern PATTERN_FONT_SIZE = Pattern -					.compile("([0-9]+[.]?[0-9]*)sp"); -			Matcher m = PATTERN_FONT_SIZE.matcher(xmlProvidedSize); - -			if (m.find()) { - -				if (m.groupCount() == 1) { - -					fontSize = Float.valueOf(m.group(1)); -				} - -			} - -		} -		 -		a.recycle(); -		View v = null; -		if(fillparent){ -			v = inflator.inflate(R.layout.bootstrap_button_fill, null, false); -		} else { -			 v = inflator.inflate(R.layout.bootstrap_button, null, false); -		} -		 -		 -		//set up font sizes and padding for different button sizes -		if(size.equals("large")){ -			fontSize = 20.0f; -			paddingA = (int) (15 *scale + 0.5f);; -			paddingB = (int) (20 *scale + 0.5f);; -		} -		 -		if(size.equals("small")){ -			fontSize = 12.0f; -			paddingA = (int) (5 *scale + 0.5f);; -			paddingB = (int) (10 *scale + 0.5f);; -		} -		 -		if(size.equals("xsmall")){ -			fontSize = 10.0f; -			paddingA = (int) (2 *scale + 0.5f);; -			paddingB = (int) (5 *scale + 0.5f);; -		} -	 -		//get layout items -		layout = (ViewGroup) v.findViewById(R.id.layout); -		lblLeft = (TextView) v.findViewById(R.id.lblLeft); -		lblMiddle = (TextView) v.findViewById(R.id.lblMiddle); -		lblRight = (TextView) v.findViewById(R.id.lblRight); - -		//set the background -		//setBootstrapType(bootstrapType); -		 -		//get the correct background type -		if(roundedCorners == true) -		{ -			type = bbuttonTypeMapRounded.get(bootstrapType); -		} else { -			type = bbuttonTypeMap.get(bootstrapType); -		} -		 -		//set up as default -		if (type == null) -		{ -			type = BootstrapTypes.DEFAULT; -		} -	 -		//apply the background type -		layout.setBackgroundResource(type.backgroundDrawable); -		lblLeft.setTextColor(getResources().getColor(type.textColour)); -		lblMiddle.setTextColor(getResources().getColor(type.textColour)); -		lblRight.setTextColor(getResources().getColor(type.textColour)); -		 -		//set the font awesome icon typeface -		lblLeft.setTypeface(font); -		lblRight.setTypeface(font); -		 -		//set up the font size -		lblLeft.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize); -        lblMiddle.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize); -        lblRight.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize); -		 -        //deal with gravity -         -        if(gravity.length() > 0) { -        	setTextGravity(gravity); -        } -         -         -        boolean onlyIcon = true; -         -        //set the text  -        if(text.length() > 0){ -        	lblMiddle.setText(text ); -        	lblMiddle.setVisibility(View.VISIBLE); -        	onlyIcon = false; -        } - -        //set up the padding -         -        if (iconLeft.length() > 0) { -        	//lblLeft.setText(iconLeft); -        	setLeftIcon(iconLeft); -        	lblLeft.setVisibility(View.VISIBLE); -        	 -        	if (onlyIcon == false){ -        		lblLeft.setPadding(paddingB, 0, 0, 0); -        	} else { -        		lblLeft.setPadding(paddingB, 0, paddingB, 0); -        	} -        	 -        	//padding for symmetry -        	if ( ( iconRight.length() == 0) && onlyIcon == false ) { -        		lblMiddle.setPadding(paddingA, 0, (int) paddingB, 0); -        	} -        	 -        } -          -        if (iconRight.length() > 0) { -        	//lblRight.setText(iconRight); -        	setRightIcon(iconRight); -        	lblRight.setVisibility(View.VISIBLE); -        	 -        	if (onlyIcon == false){ -        		lblRight.setPadding(0, 0, paddingB, 0); -        	}else { -        		lblRight.setPadding(paddingB, 0, paddingB, 0); -        	} - -        	//padding for symmetry -        	if ( (iconLeft.length() == 0) && onlyIcon == false ) { -        		lblMiddle.setPadding(paddingB, 0, (int) paddingA, 0); -        	} -        } -         -        if(iconLeft.length() > 0 && iconRight.length() > 0 ) -        { -        	lblMiddle.setPadding(paddingA, 0, paddingA, 0); -        } -        this.setClickable(true); -         -        this.setEnabled(enabled); - -        layout.setPadding(0, paddingB, 0, paddingB); -         -		addView(v); -	} - -	//static class to read in font -	private static void readFont(Context context) -	{ -		 -		if(font == null){	 -			try { -			font = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf"); -			} catch (Exception e) { -                Log.e("BootstrapButton", "Could not get typeface because " + e.getMessage()); -                font = Typeface.DEFAULT; -            } -		} - -	} -	 -	 -	/** -	 * Changes the button text -	 * @param text - String value for what is displayed on the button -	 */ -	public void setText(String text) { -		lblMiddle.setText(text); -	} -	 - -	/** -	 * Changes the left icon on a BootstrapButton -	 * @param leftIcon- String value for the icon as per http://fortawesome.github.io/Font-Awesome/cheatsheet/ -	 */ -	public void setLeftIcon(String leftIcon) { -		 -		String icon = faMap.get(leftIcon); -		 -		if (icon == null) -		{ -			icon = faMap.get(FA_ICON_QUESTION); -		} -		 -		lblLeft.setText(icon); -	} -	 -	/** -	 * Changes the right icon on a BootstrapButton -	 * @param rightIcon - String value for the icon as per http://fortawesome.github.io/Font-Awesome/cheatsheet/ -	 */ -	public void setRightIcon(String rightIcon) { -		 -		String icon = faMap.get(rightIcon); -		 -		if (icon == null) -		{ -			icon = faMap.get(FA_ICON_QUESTION); -		} -		 -		lblRight.setText(icon); -		 -	} -	 -	/** -	 * Changes the type of BootstrapButton -	 * @param bootstrapType - String value for the type of button e.g. "primary" -	 */ -	public void setBootstrapType(String bootstrapType) { - -		BootstrapTypes type = null; -		 -		//get the correct background type -		if (roundedCorners == true) { -			type = bbuttonTypeMapRounded.get(bootstrapType); -		} else { -			type = bbuttonTypeMap.get(bootstrapType); -		} -		 -		//set up as default -		if (type == null) { -			type = BootstrapTypes.DEFAULT; -		} -		 -		 -		layout.setBackgroundResource(type.backgroundDrawable); -		lblLeft.setTextColor(getResources().getColor(type.textColour)); -		lblMiddle.setTextColor(getResources().getColor(type.textColour)); -		lblRight.setTextColor(getResources().getColor(type.textColour)); - -	} -	 -	/** -	 * Specifies whether the BootstrapButton is enabled or disabled -	 * @param enabled - boolean state for either enabled or disabled -	 */ -	public void setBootstrapButtonEnabled(boolean enabled) -	{ -		this.setEnabled(enabled); -	} -	 -	 -	/** -	 * Changes the gravity for the text on a bootstrap button that is not wrap_content -	 * @param gravity - string for either center, right, or left. -	 */ -	public void setTextGravity(String gravity) { -		if(gravity.equals("left")) { -			lblMiddle.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL); -		} else if (gravity.equals("center")) { -			lblMiddle.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); -		} else if (gravity.equals("right")) { -			lblMiddle.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL); -		} -  -	} -} diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java deleted file mode 100644 index 1eb353770..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java +++ /dev/null @@ -1,215 +0,0 @@ -package com.beardedhen.androidbootstrap; - -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.util.AttributeSet; -import android.util.DisplayMetrics; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.beardedhen.androidbootstrap.utils.ImageUtils; - -public class BootstrapCircleThumbnail extends FrameLayout -{ -    private static final int PADDING_SMALL = 4; -    private static final int PADDING_MEDIUM = 4; -    private static final int PADDING_LARGE = 6; -    private static final int PADDING_XLARGE = 8; - -    private static final int SIZE_SMALL = 48; //dp total size (outer circle) -    private static final int SIZE_MEDIUM = 80;//dp -    private static final int SIZE_LARGE = 112;//dp -    private static final int SIZE_XLARGE = 176;//dp -    private static final int SIZE_DEFAULT = SIZE_MEDIUM; - -    private static final String SMALL = "small"; -    private static final String MEDIUM = "medium"; -    private static final String LARGE = "large"; -    private static final String XLARGE = "xlarge"; - -    private LinearLayout container; -    private LinearLayout placeholder; -    private ImageView image; -    private TextView dimensionsLabel; -    private String size = MEDIUM; -    private boolean minimal = false;//minimal means display just the image, no padding -    private String text = ""; -    private int imageWidth = SIZE_DEFAULT; -    private int imageHeight = SIZE_DEFAULT; -    private int padding = 0; - -    public BootstrapCircleThumbnail(Context context, AttributeSet attrs, int defStyle) -    { -        super(context, attrs, defStyle); -        initialise(attrs); -    } - -    public BootstrapCircleThumbnail(Context context, AttributeSet attrs) -    { -        super(context, attrs); -        initialise(attrs); -    } - -    public BootstrapCircleThumbnail(Context context) -    { -        super(context); -        initialise(null); -    } - -    private void initialise( AttributeSet attrs ) -    { -        LayoutInflater inflator = (LayoutInflater)getContext().getSystemService( -                Context.LAYOUT_INFLATER_SERVICE); - - -        TypedArray a = getContext().obtainStyledAttributes(attrs, -                R.styleable.BootstrapCircleThumbnail); - - -        int imageDrawable = 0; - -        if(a.getString(R.styleable.BootstrapCircleThumbnail_bct_image) != null) -        { -            imageDrawable = a.getResourceId(R.styleable.BootstrapCircleThumbnail_bct_image, 0); - -        } - -        if(a.getString(R.styleable.BootstrapCircleThumbnail_android_text) != null) -        { -            text = a.getString(R.styleable.BootstrapCircleThumbnail_android_text); -        } - -        if(a.getString(R.styleable.BootstrapCircleThumbnail_bct_size) != null) -        { -            this.size = a.getString(R.styleable.BootstrapCircleThumbnail_bct_size); -        } - -        if(a.getString(R.styleable.BootstrapCircleThumbnail_bct_minimal) != null) -        { -            this.minimal = a.getBoolean(R.styleable.BootstrapCircleThumbnail_bct_minimal, false); -        } - -        a.recycle(); - -        View v = inflator.inflate(R.layout.bootstrap_thumbnail_circle, null, false); -        dimensionsLabel = (TextView) v.findViewById(R.id.dimensionsLabel); -        container = (LinearLayout) v.findViewById(R.id.container); -        placeholder = (LinearLayout) v.findViewById(R.id.placeholder); -        image = (ImageView) v.findViewById(R.id.image); -        float scale = getResources().getDisplayMetrics().density; - - - -        //small image -        if(this.size.equals(SMALL)) -        { -            padding = PADDING_SMALL; -            imageWidth = SIZE_SMALL; -            imageHeight = SIZE_SMALL; - -        } -        else if(this.size.equals(MEDIUM)) -        { -            padding = PADDING_MEDIUM; -            imageWidth = SIZE_MEDIUM; -            imageHeight = SIZE_MEDIUM; -        } -        else if(this.size.equals(LARGE)) -        { -            padding = PADDING_LARGE; -            imageWidth = SIZE_LARGE; -            imageHeight = SIZE_LARGE; -        } -        else if(this.size.equals(XLARGE)) -        { -            padding = PADDING_XLARGE; -            imageWidth = SIZE_XLARGE; -            imageHeight = SIZE_XLARGE; -        } -        //no valid size is given, set image to default size -        else -        { -            padding = PADDING_MEDIUM; -            imageWidth = SIZE_DEFAULT; -            imageHeight = SIZE_DEFAULT; -        } - -        //convert padding to pixels -        DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); -        int paddingPX = (int)((padding * scale) + 0.5); - -        //convert image size to pixels -        int imageSizeWidthPX = (int)((imageWidth * scale) + 0.5); -        int imageSizeHeightPX = (int)((imageHeight * scale) + 0.5); - -        //make inner image smaller to compensate for the padding so that entire circle including padding equals the size -        //ex. small image = 48dp, small padding = 4dp, inner image = 48 - (4 * 2) = 40 -        if(this.minimal == false) -        { -            imageSizeWidthPX = imageSizeWidthPX - (paddingPX * 2); -            imageSizeHeightPX = imageSizeHeightPX - (paddingPX * 2); - -            this.container.setPadding(paddingPX, paddingPX, paddingPX, paddingPX); -            container.setBackgroundResource(R.drawable.thumbnail_circle_container); -        } -        else -        { -            container.setBackgroundResource(R.drawable.thumbnail_circle_minimal); -        } - -        //if no image is given -        if(imageDrawable == 0) -        { -            this.image.setVisibility(View.GONE); -            placeholder.setLayoutParams(new LinearLayout.LayoutParams(imageSizeWidthPX, imageSizeHeightPX)); -            placeholder.setPadding(paddingPX, paddingPX, paddingPX, paddingPX); - -            //set placeholder image -            placeholder.setBackgroundResource(R.drawable.thumbnail_circle); - -            this.dimensionsLabel.setText(text); -        } -        else -        { -            placeholder.setPadding(0, 0, 0, 0); -            this.dimensionsLabel.setVisibility(View.GONE); -            Bitmap bitmap = BitmapFactory.decodeResource(getContext().getResources(), imageDrawable); - -            Bitmap roundBitmap = ImageUtils.getCircleBitmap(bitmap, imageSizeWidthPX, imageSizeHeightPX); -            image.setImageBitmap(roundBitmap); -        } - -        this.addView(v); -    } - -    public void setImage(int drawable) -    { -        Bitmap bitmap = BitmapFactory.decodeResource(getContext().getResources(), drawable); - -        float scale = getResources().getDisplayMetrics().density; - -        //convert image size to pixels -        int widthPX = (int)((this.imageWidth * scale) + 0.5); -        int heightPX = (int)((this.imageHeight * scale) + 0.5); - -        int paddingPX = (int)((this.padding * scale) + 0.5); - -        if(this.minimal == false) -        { -            widthPX = widthPX - (paddingPX * 2); -            heightPX = heightPX - (paddingPX * 2); -        } - -        Bitmap roundBitmap = ImageUtils.getCircleBitmap(bitmap, widthPX, heightPX); -        image.setImageBitmap(roundBitmap); - -        invalidate(); -        requestLayout(); -    } -} diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapEditText.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapEditText.java deleted file mode 100644 index c258f8a09..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapEditText.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.beardedhen.androidbootstrap; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import android.content.Context; -import android.content.res.TypedArray; -import android.util.AttributeSet; -import android.util.TypedValue; -import android.widget.EditText; - -public class BootstrapEditText extends EditText { - -	private boolean roundedCorners = false; - -	public BootstrapEditText(Context context, AttributeSet attrs, int defStyle) { -		super(context, attrs, defStyle); -		initialise(attrs); -	} - -	public BootstrapEditText(Context context, AttributeSet attrs) { -		super(context, attrs); -		initialise(attrs); -	} - -	public BootstrapEditText(Context context) { -		super(context); -		initialise(null); -	} -	 -	public static final String BOOTSTRAP_EDIT_TEXT_DEFAULT = "default"; -	public static final String BOOTSTRAP_EDIT_TEXT_SUCCESS = "success"; -	public static final String BOOTSTRAP_EDIT_TEXT_WARNING = "warning"; -	public static final String BOOTSTRAP_EDIT_TEXT_DANGER = "danger"; - -	 -	private void initialise( AttributeSet attrs ) -	{ -		 -		TypedArray a = getContext().obtainStyledAttributes(attrs,  R.styleable.BootstrapEditText); -		 -		//get defaults -		float fontSize = 14.0f; -		String state = "default"; -		String text = ""; -		String hint = ""; -		boolean enabled = true; -		 -		//font size -		if (a.getString(R.styleable.BootstrapEditText_android_textSize) != null) { - -			String xmlProvidedSize = attrs.getAttributeValue( "http://schemas.android.com/apk/res/android", "textSize"); -			final Pattern PATTERN_FONT_SIZE = Pattern -					.compile("([0-9]+[.]?[0-9]*)sp"); -			Matcher m = PATTERN_FONT_SIZE.matcher(xmlProvidedSize); - -			if (m.find()) { -				if (m.groupCount() == 1) { -					fontSize = Float.valueOf(m.group(1)); -				} -			} -		} -		 -		//rounded corners -		if(a.getString(R.styleable.BootstrapEditText_be_roundedCorners) != null) { -			roundedCorners = a.getBoolean(R.styleable.BootstrapEditText_be_roundedCorners, false); -		} -		 -		//state -		if(a.getString(R.styleable.BootstrapEditText_be_state) != null) { -			state = a.getString(R.styleable.BootstrapEditText_be_state); -		} -		 -		//text -		if(a.getString(R.styleable.BootstrapEditText_android_text) != null) { -			text = a.getString(R.styleable.BootstrapEditText_android_text); -		} -		 -		//hint -		if(a.getString(R.styleable.BootstrapEditText_android_hint) != null) { -			hint = a.getString(R.styleable.BootstrapEditText_android_hint); -		} -		 -		//enabled -		if(a.getString(R.styleable.BootstrapEditText_android_enabled) != null) { -			enabled = a.getBoolean(R.styleable.BootstrapEditText_android_enabled, true); -		} -		 -		//set values -		this.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize); -		this.setText(text); -		this.setHint(hint);		 -		this.setEnabled(enabled); -		 -		if (enabled){ -			//work out the right background  -			setBackgroundDrawable(state); -			 -		} -		 -		a.recycle(); -		 -		//addView(editTextView); -	} -	 -	 -	private void setBackgroundDrawable(String state) -	{ -		if(roundedCorners){ -			this.setBackgroundResource(R.drawable.edittext_background_rounded); -		} else { -			this.setBackgroundResource(R.drawable.edittext_background); -		} -		 -		if(roundedCorners){ -			 -			if (state.equals(BOOTSTRAP_EDIT_TEXT_SUCCESS)){ -				this.setBackgroundResource(R.drawable.edittext_background_rounded_success); -			} else if (state.equals(BOOTSTRAP_EDIT_TEXT_WARNING)){ -				this.setBackgroundResource(R.drawable.edittext_background_rounded_warning); -			} else if (state.equals(BOOTSTRAP_EDIT_TEXT_DANGER)){ -				this.setBackgroundResource(R.drawable.edittext_background_rounded_danger); -			} -			 -		} else { -			 -			if (state.equals(BOOTSTRAP_EDIT_TEXT_SUCCESS)){ -				this.setBackgroundResource(R.drawable.edittext_background_success); -			} else if (state.equals(BOOTSTRAP_EDIT_TEXT_WARNING)){ -				this.setBackgroundResource(R.drawable.edittext_background_warning); -			} else if (state.equals(BOOTSTRAP_EDIT_TEXT_DANGER)){ -				this.setBackgroundResource(R.drawable.edittext_background_danger); -			} -			 -		} -	} -	 -	 -	/** -	 * Change the BootstrapEditTextState -	 * @param state  -	 */ -	public void setState(String state){ -		setBackgroundDrawable(state); -	} -	 -	/** -	 * Set the BootstrapEditText to a successful state -	 */ -	public void setSuccess() -	{ -		setBackgroundDrawable(BOOTSTRAP_EDIT_TEXT_SUCCESS); -	} -	 -	/** -	 * Set the BootstrapEditText to a warning state -	 */ -	public void setWarning() -	{ -		setBackgroundDrawable(BOOTSTRAP_EDIT_TEXT_WARNING); -	} -	 -	/** -	 * Set the BootstrapEditText to a danger state -	 */ -	public void setDanger() -	{ -		setBackgroundDrawable(BOOTSTRAP_EDIT_TEXT_DANGER); -	} -	 -	/** -	 * Set the BootstrapEditText to a default state -	 */ -	public void setDefault() -	{ -		setBackgroundDrawable(BOOTSTRAP_EDIT_TEXT_DEFAULT); -	} -	 -	/** -	 * Specifies whether the BootstrapEditText is enabled or disabled -	 * @param enabled - boolean state for either enabled or disabled -	 */ -	public void setBootstrapEditTextEnabled(boolean enabled) -	{ -		this.setEnabled(enabled); -	} -	 -} diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java deleted file mode 100644 index a4e1ba1bc..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java +++ /dev/null @@ -1,209 +0,0 @@ -package com.beardedhen.androidbootstrap; - -import java.util.HashMap; -import java.util.Map; -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Typeface; -import android.util.AttributeSet; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.FrameLayout; -import android.widget.LinearLayout; -import android.widget.TextView; - -public class BootstrapThumbnail extends FrameLayout -{ -	private static final int DEFAULT_WIDTH = 150; //width of thumbnail when no width is given -	private static final int DEFAULT_HEIGHT = 150;//height of thumbnail when no height is given -	private static final int DEFAULT_MAX_PADDING = 8; //8dp is max padding size when padding isn't specified by user -	private static final int DEFAULT_MIN_PADDING = 4; //4dp -	private static final String DEFAULT_TYPE = "rounded"; -	 -	private static Map<String, ThumbnailTypes> bThumbnailTypeMap; -	private static Typeface font; -	private ViewGroup container; -	private LinearLayout placeholder; -	private TextView dimensionsLabel; -	private boolean roundedCorners = true; -	 -	static{	 -		bThumbnailTypeMap = new HashMap<String, ThumbnailTypes>(); -		 -		bThumbnailTypeMap.put("rounded", ThumbnailTypes.ROUNDED);//default is rounded if user doesn't specify to use square -		bThumbnailTypeMap.put("square", ThumbnailTypes.SQUARE); -	} -	 -	public BootstrapThumbnail(Context context, AttributeSet attrs, int defStyle)  -	{ -		super(context, attrs, defStyle); -		initialise(attrs); -	} -	 -	public BootstrapThumbnail(Context context, AttributeSet attrs)  -	{ -		super(context, attrs); -		initialise(attrs); -	} -	 -	public BootstrapThumbnail(Context context)  -	{ -		super(context); -		initialise(null); -	} -	 -	public void setImage(int drawable) -	{ -		this.placeholder.setBackgroundResource(drawable); -        invalidate(); -        requestLayout(); -	} -	 -	//set up the bootstrap types -	private enum ThumbnailTypes -	{		 -		ROUNDED(R.drawable.bthumbnail_container_rounded, R.drawable.bthumbnail_placeholder_default), -		SQUARE(R.drawable.bthumbnail_container_square, R.drawable.bthumbnail_placeholder_default); -		 -		private int containerDrawable; -		private int placeholderDrawable; - -		ThumbnailTypes(int containerDrawable, int placeholderDrawable) -		{ -			this.containerDrawable = containerDrawable; -			this.placeholderDrawable = placeholderDrawable; -		} -	} -	 -	private void initialise( AttributeSet attrs ) -	{ -		LayoutInflater inflator = (LayoutInflater)getContext().getSystemService( -			    Context.LAYOUT_INFLATER_SERVICE); -		 -		readFont(getContext()); - -		TypedArray a = getContext().obtainStyledAttributes(attrs, -			    R.styleable.BootstrapThumbnail); -		 -		//defaults -		ThumbnailTypes type = null; -		String thumbnailType = DEFAULT_TYPE; -		String text = ""; -		int imageDrawable = 0; -		float scale = getResources().getDisplayMetrics().density; //for padding -		int width = DEFAULT_WIDTH; -		int height = DEFAULT_HEIGHT;	 -		int padding = 0; -		int paddingDP = 0; - -		//attribute values	 -		if(a.getString(R.styleable.BootstrapThumbnail_bt_width) != null) { -			width = (int) a.getDimension(R.styleable.BootstrapThumbnail_bt_width, 0); -			Log.v("width", Integer.toString(width)); -		} -		 -		if(a.getString(R.styleable.BootstrapThumbnail_bt_height) != null) { -			height = (int) a.getDimension(R.styleable.BootstrapThumbnail_bt_height, 0); -		} -		 -		if(a.getString(R.styleable.BootstrapThumbnail_bt_inside_padding) != null) { -			paddingDP = (int) a.getDimension(R.styleable.BootstrapThumbnail_bt_inside_padding, 0); -		} -		else{ -			padding = (int) (((Math.sqrt(width * height)) / 100) * 2); -			if(padding > DEFAULT_MAX_PADDING) -				padding = DEFAULT_MAX_PADDING; -			if(padding < DEFAULT_MIN_PADDING) -				padding = DEFAULT_MIN_PADDING; -			 -			paddingDP = (int) (padding * scale + 0.5f);//container padding in DP -		} -		 -		if(a.getString(R.styleable.BootstrapThumbnail_bt_roundedCorners) != null){ -			roundedCorners = a.getBoolean(R.styleable.BootstrapThumbnail_bt_roundedCorners, false) ; -		} -		 -		if(a.getString(R.styleable.BootstrapThumbnail_bt_image) != null){ -			imageDrawable = a.getResourceId(R.styleable.BootstrapThumbnail_bt_image, 0); -		} -	 -		a.recycle(); -		 -		text = (int)(width/scale) + "x" + (int)(height/scale); -		View v = inflator.inflate(R.layout.bootstrap_thumbnail, null, false); -	 -		//get layout items -		container = (ViewGroup) v.findViewById(R.id.container); -		placeholder = (LinearLayout) v.findViewById(R.id.placeholder); -		dimensionsLabel = (TextView) v.findViewById(R.id.dimensionsLabel); -		 -		Log.v("size", "width:" + width + " height:" + height); -		 -		 -		type = bThumbnailTypeMap.get(thumbnailType); - -		//get the correct background type -		if(roundedCorners == true) -		{ -			type = bThumbnailTypeMap.get("rounded"); -		} else { -			type = bThumbnailTypeMap.get("square"); -		} -		 -		//apply the background type -		container.setBackgroundResource(type.containerDrawable); -		 -		//if no image is provided by user -		if(imageDrawable == 0){ -			//set default grey placeholder background -			placeholder.setBackgroundResource(type.placeholderDrawable); -			 -			//set the text  -	        if(text.length() > 0){        	 -	        	dimensionsLabel.setText(text); -	        	dimensionsLabel.setVisibility(View.VISIBLE);        	 -	        } -		} -		else{		 -			//set background to user's provided image -			placeholder.setBackgroundResource(imageDrawable); -			 -			//remove textview dimensions -			dimensionsLabel.setVisibility(View.GONE); -		} -			 -		//placeholder padding -		int paddingP = (int) (((Math.sqrt(width * height)) / 100) * 4); - -		//convert to DP	     -	    int paddingDPP = (int) (paddingP * scale + 0.5f);//placeholder padding in DP - -		container.setPadding(paddingDP, paddingDP, paddingDP, paddingDP); -		placeholder.setPadding(paddingDPP, paddingDPP, paddingDPP, paddingDPP); -		 -		placeholder.setLayoutParams(new LinearLayout.LayoutParams(width,height)); -		 -		//set the font awesome icon typeface -		dimensionsLabel.setTypeface(font); - -        this.setClickable(true); -                 -		addView(v); -	} -	 -	//static class to read in font -	private static void readFont(Context context) -	{		 -		if(font == null){	 -			try { -			font = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf"); -			} catch (Exception e) { -                Log.e("BootstrapButton", "Could not get typeface because " + e.getMessage()); -                font = Typeface.DEFAULT; -            } -		} - -	} -} diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/FontAwesome.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/FontAwesome.java deleted file mode 100644 index 2038094ac..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/FontAwesome.java +++ /dev/null @@ -1,390 +0,0 @@ -package com.beardedhen.androidbootstrap; - -import java.util.HashMap; -import java.util.Map; - -public class FontAwesome { - -	private static Map<String, String> faMap = new HashMap<String, String>(); - -	//font awesome map as per  -	//http://fortawesome.github.io/Font-Awesome/cheatsheet/ -	 -	static { -		faMap.put("fa-glass", "\uf000"); -		faMap.put("fa-music", "\uf001"); -		faMap.put("fa-search", "\uf002"); -		faMap.put("fa-envelope-o", "\uf003"); -		faMap.put("fa-heart", "\uf004"); -		faMap.put("fa-star", "\uf005"); -		faMap.put("fa-star-o", "\uf006"); -		faMap.put("fa-user", "\uf007"); -		faMap.put("fa-film", "\uf008"); -		faMap.put("fa-th-large", "\uf009"); -		faMap.put("fa-th", "\uf00a"); -		faMap.put("fa-th-list", "\uf00b"); -		faMap.put("fa-check", "\uf00c"); -		faMap.put("fa-times", "\uf00d"); -		faMap.put("fa-search-plus", "\uf00e"); -		faMap.put("fa-search-minus", "\uf010"); -		faMap.put("fa-power-off", "\uf011"); -		faMap.put("fa-signal", "\uf012"); -		faMap.put("fa-cog", "\uf013"); -		faMap.put("fa-trash-o", "\uf014"); -		faMap.put("fa-home", "\uf015"); -		faMap.put("fa-file-o", "\uf016"); -		faMap.put("fa-clock-o", "\uf017"); -		faMap.put("fa-road", "\uf018"); -		faMap.put("fa-download", "\uf019"); -		faMap.put("fa-arrow-circle-o-down", "\uf01a"); -		faMap.put("fa-arrow-circle-o-up", "\uf01b"); -		faMap.put("fa-inbox", "\uf01c"); -		faMap.put("fa-play-circle-o", "\uf01d"); -		faMap.put("fa-repeat", "\uf01e"); -		faMap.put("fa-refresh", "\uf021"); -		faMap.put("fa-list-alt", "\uf022"); -		faMap.put("fa-lock", "\uf023"); -		faMap.put("fa-flag", "\uf024"); -		faMap.put("fa-headphones", "\uf025"); -		faMap.put("fa-volume-off", "\uf026"); -		faMap.put("fa-volume-down", "\uf027"); -		faMap.put("fa-volume-up", "\uf028"); -		faMap.put("fa-qrcode", "\uf029"); -		faMap.put("fa-barcode", "\uf02a"); -		faMap.put("fa-tag", "\uf02b"); -		faMap.put("fa-tags", "\uf02c"); -		faMap.put("fa-book", "\uf02d"); -		faMap.put("fa-bookmark", "\uf02e"); -		faMap.put("fa-print", "\uf02f"); -		faMap.put("fa-camera", "\uf030"); -		faMap.put("fa-font", "\uf031"); -		faMap.put("fa-bold", "\uf032"); -		faMap.put("fa-italic", "\uf033"); -		faMap.put("fa-text-height", "\uf034"); -		faMap.put("fa-text-width", "\uf035"); -		faMap.put("fa-align-left", "\uf036"); -		faMap.put("fa-align-center", "\uf037"); -		faMap.put("fa-align-right", "\uf038"); -		faMap.put("fa-align-justify", "\uf039"); -		faMap.put("fa-list", "\uf03a"); -		faMap.put("fa-outdent", "\uf03b"); -		faMap.put("fa-indent", "\uf03c"); -		faMap.put("fa-video-camera", "\uf03d"); -		faMap.put("fa-picture-o", "\uf03e"); -		faMap.put("fa-pencil", "\uf040"); -		faMap.put("fa-map-marker", "\uf041"); -		faMap.put("fa-adjust", "\uf042"); -		faMap.put("fa-tint", "\uf043"); -		faMap.put("fa-pencil-square-o", "\uf044"); -		faMap.put("fa-share-square-o", "\uf045"); -		faMap.put("fa-check-square-o", "\uf046"); -		faMap.put("fa-move", "\uf047"); -		faMap.put("fa-step-backward", "\uf048"); -		faMap.put("fa-fast-backward", "\uf049"); -		faMap.put("fa-backward", "\uf04a"); -		faMap.put("fa-play", "\uf04b"); -		faMap.put("fa-pause", "\uf04c"); -		faMap.put("fa-stop", "\uf04d"); -		faMap.put("fa-forward", "\uf04e"); -		faMap.put("fa-fast-forward", "\uf050"); -		faMap.put("fa-step-forward", "\uf051"); -		faMap.put("fa-eject", "\uf052"); -		faMap.put("fa-chevron-left", "\uf053"); -		faMap.put("fa-chevron-right", "\uf054"); -		faMap.put("fa-plus-circle", "\uf055"); -		faMap.put("fa-minus-circle", "\uf056"); -		faMap.put("fa-times-circle", "\uf057"); -		faMap.put("fa-check-circle", "\uf058"); -		faMap.put("fa-question-circle", "\uf059"); -		faMap.put("fa-info-circle", "\uf05a"); -		faMap.put("fa-crosshairs", "\uf05b"); -		faMap.put("fa-times-circle-o", "\uf05c"); -		faMap.put("fa-check-circle-o", "\uf05d"); -		faMap.put("fa-ban", "\uf05e"); -		faMap.put("fa-arrow-left", "\uf060"); -		faMap.put("fa-arrow-right", "\uf061"); -		faMap.put("fa-arrow-up", "\uf062"); -		faMap.put("fa-arrow-down", "\uf063"); -		faMap.put("fa-share", "\uf064"); -		faMap.put("fa-resize-full", "\uf065"); -		faMap.put("fa-resize-small", "\uf066"); -		faMap.put("fa-plus", "\uf067"); -		faMap.put("fa-minus", "\uf068"); -		faMap.put("fa-asterisk", "\uf069"); -		faMap.put("fa-exclamation-circle", "\uf06a"); -		faMap.put("fa-gift", "\uf06b"); -		faMap.put("fa-leaf", "\uf06c"); -		faMap.put("fa-fire", "\uf06d"); -		faMap.put("fa-eye", "\uf06e"); -		faMap.put("fa-eye-slash", "\uf070"); -		faMap.put("fa-exclamation-triangle", "\uf071"); -		faMap.put("fa-plane", "\uf072"); -		faMap.put("fa-calendar", "\uf073"); -		faMap.put("fa-random", "\uf074"); -		faMap.put("fa-comment", "\uf075"); -		faMap.put("fa-magnet", "\uf076"); -		faMap.put("fa-chevron-up", "\uf077"); -		faMap.put("fa-chevron-down", "\uf078"); -		faMap.put("fa-retweet", "\uf079"); -		faMap.put("fa-shopping-cart", "\uf07a"); -		faMap.put("fa-folder", "\uf07b"); -		faMap.put("fa-folder-open", "\uf07c"); -		faMap.put("fa-resize-vertical", "\uf07d"); -		faMap.put("fa-resize-horizontal", "\uf07e"); -		faMap.put("fa-bar-chart-o", "\uf080"); -		faMap.put("fa-twitter-square", "\uf081"); -		faMap.put("fa-facebook-square", "\uf082"); -		faMap.put("fa-camera-retro", "\uf083"); -		faMap.put("fa-key", "\uf084"); -		faMap.put("fa-cogs", "\uf085"); -		faMap.put("fa-comments", "\uf086"); -		faMap.put("fa-thumbs-o-up", "\uf087"); -		faMap.put("fa-thumbs-o-down", "\uf088"); -		faMap.put("fa-star-half", "\uf089"); -		faMap.put("fa-heart-o", "\uf08a"); -		faMap.put("fa-sign-out", "\uf08b"); -		faMap.put("fa-linkedin-square", "\uf08c"); -		faMap.put("fa-thumb-tack", "\uf08d"); -		faMap.put("fa-external-link", "\uf08e"); -		faMap.put("fa-sign-in", "\uf090"); -		faMap.put("fa-trophy", "\uf091"); -		faMap.put("fa-github-square", "\uf092"); -		faMap.put("fa-upload", "\uf093"); -		faMap.put("fa-lemon-o", "\uf094"); -		faMap.put("fa-phone", "\uf095"); -		faMap.put("fa-square-o", "\uf096"); -		faMap.put("fa-bookmark-o", "\uf097"); -		faMap.put("fa-phone-square", "\uf098"); -		faMap.put("fa-twitter", "\uf099"); -		faMap.put("fa-facebook", "\uf09a"); -		faMap.put("fa-github", "\uf09b"); -		faMap.put("fa-unlock", "\uf09c"); -		faMap.put("fa-credit-card", "\uf09d"); -		faMap.put("fa-rss", "\uf09e"); -		faMap.put("fa-hdd", "\uf0a0"); -		faMap.put("fa-bullhorn", "\uf0a1"); -		faMap.put("fa-bell", "\uf0f3"); -		faMap.put("fa-certificate", "\uf0a3"); -		faMap.put("fa-hand-o-right", "\uf0a4"); -		faMap.put("fa-hand-o-left", "\uf0a5"); -		faMap.put("fa-hand-o-up", "\uf0a6"); -		faMap.put("fa-hand-o-down", "\uf0a7"); -		faMap.put("fa-arrow-circle-left", "\uf0a8"); -		faMap.put("fa-arrow-circle-right", "\uf0a9"); -		faMap.put("fa-arrow-circle-up", "\uf0aa"); -		faMap.put("fa-arrow-circle-down", "\uf0ab"); -		faMap.put("fa-globe", "\uf0ac"); -		faMap.put("fa-wrench", "\uf0ad"); -		faMap.put("fa-tasks", "\uf0ae"); -		faMap.put("fa-filter", "\uf0b0"); -		faMap.put("fa-briefcase", "\uf0b1"); -		faMap.put("fa-fullscreen", "\uf0b2"); -		faMap.put("fa-group", "\uf0c0"); -		faMap.put("fa-link", "\uf0c1"); -		faMap.put("fa-cloud", "\uf0c2"); -		faMap.put("fa-flask", "\uf0c3"); -		faMap.put("fa-scissors", "\uf0c4"); -		faMap.put("fa-files-o", "\uf0c5"); -		faMap.put("fa-paperclip", "\uf0c6"); -		faMap.put("fa-floppy-o", "\uf0c7"); -		faMap.put("fa-square", "\uf0c8"); -		faMap.put("fa-reorder", "\uf0c9"); -		faMap.put("fa-list-ul", "\uf0ca"); -		faMap.put("fa-list-ol", "\uf0cb"); -		faMap.put("fa-strikethrough", "\uf0cc"); -		faMap.put("fa-underline", "\uf0cd"); -		faMap.put("fa-table", "\uf0ce"); -		faMap.put("fa-magic", "\uf0d0"); -		faMap.put("fa-truck", "\uf0d1"); -		faMap.put("fa-pinterest", "\uf0d2"); -		faMap.put("fa-pinterest-square", "\uf0d3"); -		faMap.put("fa-google-plus-square", "\uf0d4"); -		faMap.put("fa-google-plus", "\uf0d5"); -		faMap.put("fa-money", "\uf0d6"); -		faMap.put("fa-caret-down", "\uf0d7"); -		faMap.put("fa-caret-up", "\uf0d8"); -		faMap.put("fa-caret-left", "\uf0d9"); -		faMap.put("fa-caret-right", "\uf0da"); -		faMap.put("fa-columns", "\uf0db"); -		faMap.put("fa-sort", "\uf0dc"); -		faMap.put("fa-sort-asc", "\uf0dd"); -		faMap.put("fa-sort-desc", "\uf0de"); -		faMap.put("fa-envelope", "\uf0e0"); -		faMap.put("fa-linkedin", "\uf0e1"); -		faMap.put("fa-undo", "\uf0e2"); -		faMap.put("fa-gavel", "\uf0e3"); -		faMap.put("fa-tachometer", "\uf0e4"); -		faMap.put("fa-comment-o", "\uf0e5"); -		faMap.put("fa-comments-o", "\uf0e6"); -		faMap.put("fa-bolt", "\uf0e7"); -		faMap.put("fa-sitemap", "\uf0e8"); -		faMap.put("fa-umbrella", "\uf0e9"); -		faMap.put("fa-clipboard", "\uf0ea"); -		faMap.put("fa-lightbulb-o", "\uf0eb"); -		faMap.put("fa-exchange", "\uf0ec"); -		faMap.put("fa-cloud-download", "\uf0ed"); -		faMap.put("fa-cloud-upload", "\uf0ee"); -		faMap.put("fa-user-md", "\uf0f0"); -		faMap.put("fa-stethoscope", "\uf0f1"); -		faMap.put("fa-suitcase", "\uf0f2"); -		faMap.put("fa-bell-o", "\uf0a2"); -		faMap.put("fa-coffee", "\uf0f4"); -		faMap.put("fa-cutlery", "\uf0f5"); -		faMap.put("fa-file-text-o", "\uf0f6"); -		faMap.put("fa-building", "\uf0f7"); -		faMap.put("fa-hospital", "\uf0f8"); -		faMap.put("fa-ambulance", "\uf0f9"); -		faMap.put("fa-medkit", "\uf0fa"); -		faMap.put("fa-fighter-jet", "\uf0fb"); -		faMap.put("fa-beer", "\uf0fc"); -		faMap.put("fa-h-square", "\uf0fd"); -		faMap.put("fa-plus-square", "\uf0fe"); -		faMap.put("fa-angle-double-left", "\uf100"); -		faMap.put("fa-angle-double-right", "\uf101"); -		faMap.put("fa-angle-double-up", "\uf102"); -		faMap.put("fa-angle-double-down", "\uf103"); -		faMap.put("fa-angle-left", "\uf104"); -		faMap.put("fa-angle-right", "\uf105"); -		faMap.put("fa-angle-up", "\uf106"); -		faMap.put("fa-angle-down", "\uf107"); -		faMap.put("fa-desktop", "\uf108"); -		faMap.put("fa-laptop", "\uf109"); -		faMap.put("fa-tablet", "\uf10a"); -		faMap.put("fa-mobile", "\uf10b"); -		faMap.put("fa-circle-o", "\uf10c"); -		faMap.put("fa-quote-left", "\uf10d"); -		faMap.put("fa-quote-right", "\uf10e"); -		faMap.put("fa-spinner", "\uf110"); -		faMap.put("fa-circle", "\uf111"); -		faMap.put("fa-reply", "\uf112"); -		faMap.put("fa-github-alt", "\uf113"); -		faMap.put("fa-folder-o", "\uf114"); -		faMap.put("fa-folder-open-o", "\uf115"); -		faMap.put("fa-expand-o", "\uf116"); -		faMap.put("fa-collapse-o", "\uf117"); -		faMap.put("fa-smile-o", "\uf118"); -		faMap.put("fa-frown-o", "\uf119"); -		faMap.put("fa-meh-o", "\uf11a"); -		faMap.put("fa-gamepad", "\uf11b"); -		faMap.put("fa-keyboard-o", "\uf11c"); -		faMap.put("fa-flag-o", "\uf11d"); -		faMap.put("fa-flag-checkered", "\uf11e"); -		faMap.put("fa-terminal", "\uf120"); -		faMap.put("fa-code", "\uf121"); -		faMap.put("fa-reply-all", "\uf122"); -		faMap.put("fa-mail-reply-all", "\uf122"); -		faMap.put("fa-star-half-o", "\uf123"); -		faMap.put("fa-location-arrow", "\uf124"); -		faMap.put("fa-crop", "\uf125"); -		faMap.put("fa-code-fork", "\uf126"); -		faMap.put("fa-chain-broken", "\uf127"); -		faMap.put("fa-question", "\uf128"); -		faMap.put("fa-info", "\uf129"); -		faMap.put("fa-exclamation", "\uf12a"); -		faMap.put("fa-superscript", "\uf12b"); -		faMap.put("fa-subscript", "\uf12c"); -		faMap.put("fa-eraser", "\uf12d"); -		faMap.put("fa-puzzle-piece", "\uf12e"); -		faMap.put("fa-microphone", "\uf130"); -		faMap.put("fa-microphone-slash", "\uf131"); -		faMap.put("fa-shield", "\uf132"); -		faMap.put("fa-calendar-o", "\uf133"); -		faMap.put("fa-fire-extinguisher", "\uf134"); -		faMap.put("fa-rocket", "\uf135"); -		faMap.put("fa-maxcdn", "\uf136"); -		faMap.put("fa-chevron-circle-left", "\uf137"); -		faMap.put("fa-chevron-circle-right", "\uf138"); -		faMap.put("fa-chevron-circle-up", "\uf139"); -		faMap.put("fa-chevron-circle-down", "\uf13a"); -		faMap.put("fa-html5", "\uf13b"); -		faMap.put("fa-css3", "\uf13c"); -		faMap.put("fa-anchor", "\uf13d"); -		faMap.put("fa-unlock-o", "\uf13e"); -		faMap.put("fa-bullseye", "\uf140"); -		faMap.put("fa-ellipsis-horizontal", "\uf141"); -		faMap.put("fa-ellipsis-vertical", "\uf142"); -		faMap.put("fa-rss-square", "\uf143"); -		faMap.put("fa-play-circle", "\uf144"); -		faMap.put("fa-ticket", "\uf145"); -		faMap.put("fa-minus-square", "\uf146"); -		faMap.put("fa-minus-square-o", "\uf147"); -		faMap.put("fa-level-up", "\uf148"); -		faMap.put("fa-level-down", "\uf149"); -		faMap.put("fa-check-square", "\uf14a"); -		faMap.put("fa-pencil-square", "\uf14b"); -		faMap.put("fa-external-link-square", "\uf14c"); -		faMap.put("fa-share-square", "\uf14d"); -		faMap.put("fa-compass", "\uf14e"); -		faMap.put("fa-caret-square-o-down", "\uf150"); -		faMap.put("fa-caret-square-o-up", "\uf151"); -		faMap.put("fa-caret-square-o-right", "\uf152"); -		faMap.put("fa-eur", "\uf153"); -		faMap.put("fa-gbp", "\uf154"); -		faMap.put("fa-usd", "\uf155"); -		faMap.put("fa-inr", "\uf156"); -		faMap.put("fa-jpy", "\uf157"); -		faMap.put("fa-rub", "\uf158"); -		faMap.put("fa-krw", "\uf159"); -		faMap.put("fa-btc", "\uf15a"); -		faMap.put("fa-file", "\uf15b"); -		faMap.put("fa-file-text", "\uf15c"); -		faMap.put("fa-sort-alpha-asc", "\uf15d"); -		faMap.put("fa-sort-alpha-desc", "\uf15e"); -		faMap.put("fa-sort-amount-asc", "\uf160"); -		faMap.put("fa-sort-amount-desc", "\uf161"); -		faMap.put("fa-sort-numeric-asc", "\uf162"); -		faMap.put("fa-sort-numeric-desc", "\uf163"); -		faMap.put("fa-thumbs-up", "\uf164"); -		faMap.put("fa-thumbs-down", "\uf165"); -		faMap.put("fa-youtube-square", "\uf166"); -		faMap.put("fa-youtube", "\uf167"); -		faMap.put("fa-xing", "\uf168"); -		faMap.put("fa-xing-square", "\uf169"); -		faMap.put("fa-youtube-play", "\uf16a"); -		faMap.put("fa-dropbox", "\uf16b"); -		faMap.put("fa-stack-overflow", "\uf16c"); -		faMap.put("fa-instagram", "\uf16d"); -		faMap.put("fa-flickr", "\uf16e"); -		faMap.put("fa-adn", "\uf170"); -		faMap.put("fa-bitbucket", "\uf171"); -		faMap.put("fa-bitbucket-square", "\uf172"); -		faMap.put("fa-tumblr", "\uf173"); -		faMap.put("fa-tumblr-square", "\uf174"); -		faMap.put("fa-long-arrow-down", "\uf175"); -		faMap.put("fa-long-arrow-up", "\uf176"); -		faMap.put("fa-long-arrow-left", "\uf177"); -		faMap.put("fa-long-arrow-right", "\uf178"); -		faMap.put("fa-apple", "\uf179"); -		faMap.put("fa-windows", "\uf17a"); -		faMap.put("fa-android", "\uf17b"); -		faMap.put("fa-linux", "\uf17c"); -		faMap.put("fa-dribbble", "\uf17d"); -		faMap.put("fa-skype", "\uf17e"); -		faMap.put("fa-foursquare", "\uf180"); -		faMap.put("fa-trello", "\uf181"); -		faMap.put("fa-female", "\uf182"); -		faMap.put("fa-male", "\uf183"); -		faMap.put("fa-gittip", "\uf184"); -		faMap.put("fa-sun-o", "\uf185"); -		faMap.put("fa-moon-o", "\uf186"); -		faMap.put("fa-archive", "\uf187"); -		faMap.put("fa-bug", "\uf188"); -		faMap.put("fa-vk", "\uf189"); -		faMap.put("fa-weibo", "\uf18a"); -		faMap.put("fa-renren", "\uf18b"); -		faMap.put("fa-pagelines", "\uf18c"); -		faMap.put("fa-stack-exchange", "\uf18d"); -		faMap.put("fa-arrow-circle-o-right", "\uf18e"); -		faMap.put("fa-arrow-circle-o-left", "\uf190"); -		faMap.put("fa-caret-square-o-left", "\uf191"); -		faMap.put("fa-dot-circle-o", "\uf192"); -		faMap.put("fa-wheelchair", "\uf193"); -		faMap.put("fa-vimeo-square", "\uf194"); -	} -		 -	public static Map<String, String> getFaMap() -	{ -		return faMap; -	} -	 -} diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/FontAwesomeText.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/FontAwesomeText.java deleted file mode 100644 index 75a130c5a..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/FontAwesomeText.java +++ /dev/null @@ -1,274 +0,0 @@ -package com.beardedhen.androidbootstrap; - -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Typeface; -import android.util.AttributeSet; -import android.util.Log; -import android.util.TypedValue; -import android.view.LayoutInflater; -import android.view.View; -import android.view.animation.AlphaAnimation; -import android.view.animation.Animation; -import android.view.animation.LinearInterpolator; -import android.view.animation.RotateAnimation; -import android.widget.FrameLayout; -import android.widget.TextView; - -import com.beardedhen.androidbootstrap.R; - -public class FontAwesomeText extends FrameLayout { - -	private static Typeface font; -	private static Map<String, String> faMap; - -	private TextView tv; -	 -	private static final String FA_ICON_QUESTION = "fa-question"; -	 -	public enum AnimationSpeed -	{ -		FAST, -		MEDIUM,  -		SLOW; -	} -	 -	static{ -		faMap = FontAwesome.getFaMap(); -	} -	 -	public FontAwesomeText(Context context, AttributeSet attrs, int defStyle) { -		super(context, attrs, defStyle); -		initialise(attrs); -	} - -	public FontAwesomeText(Context context, AttributeSet attrs) { -		super(context, attrs); -		initialise(attrs); -	} - -	public FontAwesomeText(Context context) { -		super(context); -		initialise(null); -	} - - -	 -	 -	private void initialise( AttributeSet attrs ) -	{ -		LayoutInflater inflator = (LayoutInflater)getContext().getSystemService( -			    Context.LAYOUT_INFLATER_SERVICE); - -		//get font -		readFont(getContext()); - -		TypedArray a = getContext().obtainStyledAttributes(attrs,  R.styleable.FontAwesomeText); - -		//inflate the view -		View fontAwesomeTextView = inflator.inflate(R.layout.font_awesome_text, null, false); -		tv = (TextView)fontAwesomeTextView.findViewById(R.id.lblText); -		 -		String icon = ""; -		float fontSize = 14.0f; -		 -		//icon -		if (a.getString(R.styleable.FontAwesomeText_fa_icon) != null) { -			icon = a.getString(R.styleable.FontAwesomeText_fa_icon); -		} -		 -		//font size -		if (a.getString(R.styleable.FontAwesomeText_android_textSize) != null) { - -			String xmlProvidedSize = attrs.getAttributeValue( -					"http://schemas.android.com/apk/res/android", "textSize");  -			final Pattern PATTERN_FONT_SIZE = Pattern -					.compile("([0-9]+[.]?[0-9]*)sp");  -			Matcher m = PATTERN_FONT_SIZE.matcher(xmlProvidedSize); - -			if (m.find()) {  -				if (m.groupCount() == 1) {  -					fontSize = Float.valueOf(m.group(1)); -				}  -			}  -		} -		 -		//text colour -		if(a.getString(R.styleable.FontAwesomeText_android_textColor) != null){ -			tv.setTextColor(a.getColor(R.styleable.FontAwesomeText_android_textColor, R.color.bbutton_inverse)); -		} -		 -		setIcon(icon); -		 -		tv.setTypeface(font); -		tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize); -		 -		a.recycle(); -		addView(fontAwesomeTextView); -	} - -	private static void readFont(Context context) -	{ -		 -		if(font == null){	 -			try { -			font = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf"); -			} catch (Exception e) { -                Log.e("BButton", "Could not get typeface because " + e.getMessage()); -                font = Typeface.DEFAULT; -            } -		} - -	} -	 -	 -	/** -	 * Used to start flashing a FontAwesomeText item -	 * @param context the current applications context -	 * @param forever whether the item should flash repeatedly or just once -	 * @param speed how fast the item should flash, chose between FontAwesomeText.AnimationSpeed.SLOW /  -	 * FontAwesomeText.AnimationSpeed.MEDIUM / FontAwesomeText.AnimationSpeed.FAST  -	 */ -	public void startFlashing(Context context, boolean forever, AnimationSpeed speed) -	{ - -		Animation fadeIn = new AlphaAnimation(0, 1); -	     -		//set up extra variables -		fadeIn.setDuration(50); -	    fadeIn.setRepeatMode(Animation.REVERSE); -	     -	    //default repeat count is 0, however if user wants, set it up to be infinite -	    fadeIn.setRepeatCount(0); -	    if (forever){ -	    	fadeIn.setRepeatCount(Animation.INFINITE); -	    } -	     -	    //default speed -	    fadeIn.setStartOffset(1000); -	     -	    //fast -	    if (speed.equals(AnimationSpeed.FAST)) -	    { -	    	fadeIn.setStartOffset(200); -	    } -	     -	    //medium -	    if (speed.equals(AnimationSpeed.MEDIUM)) -	    { -	    	fadeIn.setStartOffset(500); -	    } - -	    //set the new animation to a final animation -	    final Animation animation = fadeIn; -		 -	  //run the animation - used to work correctly on older devices -		tv.postDelayed(new Runnable() { -			@Override -			public void run() { -				tv.startAnimation(animation); -			} -		}, 100); -	} -	 -	 -	/** -	 * Used to start rotating a FontAwesomeText item -	 * @param context the current applications context -	 * @param clockwise true for clockwise, false for anti clockwise spinning -	 * @param speed how fast the item should flash, chose between FontAwesomeText.AnimationSpeed.SLOW /  -	 * FontAwesomeText.AnimationSpeed.MEDIUM / FontAwesomeText.AnimationSpeed.FAST  -	 */ -	public void startRotate(Context context, boolean clockwise, AnimationSpeed speed) -	{ -		Animation rotate; -		 -		//set up the rotation animation -		if (clockwise){ -			rotate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f); -		} else { -			rotate = new RotateAnimation(360, 0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f); -		} -		 -		//set up some extra variables -		rotate.setRepeatCount(Animation.INFINITE); -		rotate.setInterpolator(new LinearInterpolator()); -		rotate.setStartOffset(0); -		rotate.setRepeatMode(Animation.RESTART); -		 -		//defaults -		rotate.setDuration(2000); -		 -		//fast -	    if (speed.equals(AnimationSpeed.FAST)) -	    { -	    	rotate.setDuration(500); -	    } -	     -	    //medium -	    if (speed.equals(AnimationSpeed.MEDIUM)) -	    { -	    	rotate.setDuration(1000); -	    } -		 -	    //send the new animation to a final animation -		final Animation animation = rotate; -		 -		//run the animation - used to work correctly on older devices -		tv.postDelayed(new Runnable() { -			@Override -			public void run() { -				tv.startAnimation(animation); -			} -		}, 100); - -	} -	 -	 -	/** -	 * Used to stop animating any FontAwesomeText item -	 */ -	public void stopAnimation(){ -		//stop the animation -		tv.clearAnimation(); -	} -	 -	 -	/** -	 * Used to set the icon for a FontAwesomeText item -	 * @param faIcon - String value for the icon as per http://fortawesome.github.io/Font-Awesome/cheatsheet/ -	 */ -	public void setIcon(String faIcon) { -		 -		String icon = faMap.get(faIcon); -		 -		if (icon == null) -		{ -			icon = faMap.get(FA_ICON_QUESTION); -		} -		 -		tv.setText(icon); -	} -	 -	/** -	 * Used to set the text color of the underlying text view. -	 * @param color - Integer value representing a color resource. -	 */ -	public void setTextColor(int color) { -		tv.setTextColor(color); -	} - -	/** -	 * Used to set the text size of the underlying text view. -	 * @param unit - Integer value representing a unit size -	 * @param size - Float value representing text size -	 */ -	public void setTextSize(int unit, float size) { -		tv.setTextSize(unit, size); -	} -	 -} diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/utils/AutoResizeTextView.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/utils/AutoResizeTextView.java deleted file mode 100644 index be6f328d3..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/utils/AutoResizeTextView.java +++ /dev/null @@ -1,303 +0,0 @@ -package com.beardedhen.androidbootstrap.utils; - -import android.annotation.TargetApi; -import android.content.Context; -import android.content.res.Resources; -import android.graphics.RectF; -import android.os.Build; -import android.text.Layout.Alignment; -import android.text.StaticLayout; -import android.text.TextPaint; -import android.util.AttributeSet; -import android.util.SparseIntArray; -import android.util.TypedValue; -import android.widget.TextView; - -/** - *  - * Code from user M-WaJeEh on StackOverflow at - * http://stackoverflow.com/questions/5033012/auto-scale-textview-text-to-fit-within-bounds/17782522#17782522 - * - */ - -public class AutoResizeTextView extends TextView { -private interface SizeTester { -    /** -     *  -     * @param suggestedSize -     *            Size of text to be tested -     * @param availableSpace -     *            available space in which text must fit -     * @return an integer < 0 if after applying {@code suggestedSize} to -     *         text, it takes less space than {@code availableSpace}, > 0 -     *         otherwise -     */ -    public int onTestSize(int suggestedSize, RectF availableSpace); -} - -private RectF mTextRect = new RectF(); - -private RectF mAvailableSpaceRect; - -private SparseIntArray mTextCachedSizes; - -private TextPaint mPaint; - -private float mMaxTextSize; - -private float mSpacingMult = 1.0f; - -private float mSpacingAdd = 0.0f; - -private float mMinTextSize = 20; - -private int mWidthLimit; - -private static final int NO_LINE_LIMIT = -1; -private int mMaxLines; - -private boolean mEnableSizeCache = true; -private boolean mInitiallized; - -public AutoResizeTextView(Context context) { -    super(context); -    initialize(); -} - -public AutoResizeTextView(Context context, AttributeSet attrs) { -    super(context, attrs); -    initialize(); -} - -public AutoResizeTextView(Context context, AttributeSet attrs, int defStyle) { -    super(context, attrs, defStyle); -    initialize(); -} - -private void initialize() { -    mPaint = new TextPaint(getPaint()); -    mMaxTextSize = getTextSize(); -    mAvailableSpaceRect = new RectF(); -    mTextCachedSizes = new SparseIntArray(); -    if (mMaxLines == 0) { -        // no value was assigned during construction -        mMaxLines = NO_LINE_LIMIT; -    } -    mInitiallized = true; -} - -@Override -public void setText(final CharSequence text, BufferType type) { -    super.setText(text, type); -    adjustTextSize(text.toString()); -} - -@Override -public void setTextSize(float size) { -    mMaxTextSize = size; -    mTextCachedSizes.clear(); -    adjustTextSize(getText().toString()); -} - -@Override -public void setMaxLines(int maxlines) { -    super.setMaxLines(maxlines); -    mMaxLines = maxlines; -    reAdjust(); -} - -public int getMaxLines() { -    return mMaxLines; -} - -@Override -public void setSingleLine() { -    super.setSingleLine(); -    mMaxLines = 1; -    reAdjust(); -} - -@Override -public void setSingleLine(boolean singleLine) { -    super.setSingleLine(singleLine); -    if (singleLine) { -        mMaxLines = 1; -    } else { -        mMaxLines = NO_LINE_LIMIT; -    } -    reAdjust(); -} - -@Override -public void setLines(int lines) { -    super.setLines(lines); -    mMaxLines = lines; -    reAdjust(); -} - -@Override -public void setTextSize(int unit, float size) { -    Context c = getContext(); -    Resources r; - -    if (c == null) -        r = Resources.getSystem(); -    else -        r = c.getResources(); -    mMaxTextSize = TypedValue.applyDimension(unit, size, -            r.getDisplayMetrics()); -    mTextCachedSizes.clear(); -    adjustTextSize(getText().toString()); -} - -@Override -public void setLineSpacing(float add, float mult) { -    super.setLineSpacing(add, mult); -    mSpacingMult = mult; -    mSpacingAdd = add; -} - -/** - * Set the lower text size limit and invalidate the view - *  - * @param minTextSize - */ -public void setMinTextSize(float minTextSize) { -    mMinTextSize = minTextSize; -    reAdjust(); -} - -private void reAdjust() { -    adjustTextSize(getText().toString()); -} - -private void adjustTextSize(String string) { -    if (!mInitiallized) { -        return; -    } -    int startSize = (int) mMinTextSize; -    int heightLimit = getMeasuredHeight() - getCompoundPaddingBottom() -        - getCompoundPaddingTop(); -    mWidthLimit = getMeasuredWidth() - getCompoundPaddingLeft() -        - getCompoundPaddingRight(); -    mAvailableSpaceRect.right = mWidthLimit; -    mAvailableSpaceRect.bottom = heightLimit; -    super.setTextSize( -            TypedValue.COMPLEX_UNIT_PX, -            efficientTextSizeSearch(startSize, (int) mMaxTextSize, -                    mSizeTester, mAvailableSpaceRect)); -} - -private final SizeTester mSizeTester = new SizeTester() { -    @TargetApi(Build.VERSION_CODES.JELLY_BEAN) -    @Override -    public int onTestSize(int suggestedSize, RectF availableSPace) { -        mPaint.setTextSize(suggestedSize); -        String text = getText().toString(); -        boolean singleline = getMaxLines() == 1; -        if (singleline) { -            mTextRect.bottom = mPaint.getFontSpacing(); -            mTextRect.right = mPaint.measureText(text); -        } else { -            StaticLayout layout = new StaticLayout(text, mPaint, -                    mWidthLimit, Alignment.ALIGN_NORMAL, mSpacingMult, -                    mSpacingAdd, true); -            // return early if we have more lines -            if (getMaxLines() != NO_LINE_LIMIT -                    && layout.getLineCount() > getMaxLines()) { -                return 1; -            } -            mTextRect.bottom = layout.getHeight(); -            int maxWidth = -1; -            for (int i = 0; i < layout.getLineCount(); i++) { -                if (maxWidth < layout.getLineWidth(i)) { -                    maxWidth = (int) layout.getLineWidth(i); -                } -            } -            mTextRect.right = maxWidth; -        } - -        mTextRect.offsetTo(0, 0); -        if (availableSPace.contains(mTextRect)) { -            // may be too small, don't worry we will find the best match -            return -1; -        } else { -            // too big -            return 1; -        } -    } -}; - -/** - * Enables or disables size caching, enabling it will improve performance - * where you are animating a value inside TextView. This stores the font - * size against getText().length() Be careful though while enabling it as 0 - * takes more space than 1 on some fonts and so on. - *  - * @param enable - *            enable font size caching - */ -public void enableSizeCache(boolean enable) { -    mEnableSizeCache = enable; -    mTextCachedSizes.clear(); -    adjustTextSize(getText().toString()); -} - -private int efficientTextSizeSearch(int start, int end, -        SizeTester sizeTester, RectF availableSpace) { -    if (!mEnableSizeCache) { -        return binarySearch(start, end, sizeTester, availableSpace); -    } -    String text = getText().toString(); -    int key = text == null ? 0 : text.length(); -    int size = mTextCachedSizes.get(key); -    if (size != 0) { -        return size; -    } -    size = binarySearch(start, end, sizeTester, availableSpace); -    mTextCachedSizes.put(key, size); -    return size; -} - -private static int binarySearch(int start, int end, SizeTester sizeTester, -        RectF availableSpace) { -    int lastBest = start; -    int lo = start; -    int hi = end - 1; -    int mid = 0; -    while (lo <= hi) { -        mid = (lo + hi) >>> 1; -        int midValCmp = sizeTester.onTestSize(mid, availableSpace); -        if (midValCmp < 0) { -            lastBest = lo; -            lo = mid + 1; -        } else if (midValCmp > 0) { -            hi = mid - 1; -            lastBest = hi; -        } else { -            return mid; -        } -    } -    // make sure to return last best -    // this is what should always be returned -    return lastBest; - -} - -@Override -protected void onTextChanged(final CharSequence text, final int start, -        final int before, final int after) { -    super.onTextChanged(text, start, before, after); -    reAdjust(); -} - -@Override -protected void onSizeChanged(int width, int height, int oldwidth, -        int oldheight) { -    mTextCachedSizes.clear(); -    super.onSizeChanged(width, height, oldwidth, oldheight); -    if (width != oldwidth || height != oldheight) { -        reAdjust(); -    } -} -} diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/utils/ImageUtils.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/utils/ImageUtils.java deleted file mode 100644 index 3eefa9366..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/utils/ImageUtils.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.beardedhen.androidbootstrap.utils; - - -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.graphics.PorterDuffXfermode; -import android.graphics.Rect; -import android.graphics.RectF; -import android.graphics.Bitmap.Config; -import android.graphics.PorterDuff.Mode; - -public class ImageUtils -{ - -    public static Bitmap getCircleBitmap(Bitmap bitmap) -    { -        return getCircleBitmap(bitmap, bitmap.getWidth(), bitmap.getHeight()); -    } - -    public static Bitmap getCircleBitmap(Bitmap bitmap, int width, int height) -    { -        Bitmap croppedBitmap = scaleCenterCrop(bitmap, width, height); -        Bitmap output = Bitmap.createBitmap(width, height, Config.ARGB_8888); -        Canvas canvas = new Canvas(output); - -        final int color = 0xff424242; -        final Paint paint = new Paint(); - -        final Rect rect = new Rect(0, 0, width, height); -        final RectF rectF = new RectF(rect); - -        paint.setAntiAlias(true); -        canvas.drawARGB(0, 0, 0, 0); -        paint.setColor(color); - -        int radius = 0; -        if(width > height) -        { -            radius = height / 2; -        } -        else -        { -            radius = width / 2; -        } - -        canvas.drawCircle(width / 2, height / 2, radius, paint); -        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); -        canvas.drawBitmap(croppedBitmap, rect, rect, paint); - -        return output; -    } - -    public static Bitmap scaleCenterCrop(Bitmap source, int newHeight, int newWidth) -    { -        int sourceWidth = source.getWidth(); -        int sourceHeight = source.getHeight(); - -        float xScale = (float) newWidth / sourceWidth; -        float yScale = (float) newHeight / sourceHeight; -        float scale = Math.max(xScale, yScale); - -        float scaledWidth = scale * sourceWidth; -        float scaledHeight = scale * sourceHeight; - -        float left = (newWidth - scaledWidth) / 2; -        float top = (newHeight - scaledHeight) / 2; - -        RectF targetRect = new RectF(left, top, left + scaledWidth, top + scaledHeight); - -        Bitmap dest = Bitmap.createBitmap(newWidth, newHeight, source.getConfig()); -        Canvas canvas = new Canvas(dest); -        canvas.drawBitmap(source, null, targetRect, null); - -        return dest; -    } -}
\ No newline at end of file | 
