diff --git a/AndroidBootstrap/src/main/assets/MaterialIcons-Regular.ttf b/AndroidBootstrap/src/main/assets/MaterialIcons-Regular.ttf new file mode 100644 index 0000000..7015564 Binary files /dev/null and b/AndroidBootstrap/src/main/assets/MaterialIcons-Regular.ttf differ diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/AwesomeTextView.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/AwesomeTextView.java index 954cb20..7302aff 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/AwesomeTextView.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/AwesomeTextView.java @@ -20,6 +20,7 @@ import com.beardedhen.androidbootstrap.api.view.BootstrapTextView; import com.beardedhen.androidbootstrap.font.FontAwesome; import com.beardedhen.androidbootstrap.font.IconSet; +import com.beardedhen.androidbootstrap.font.MaterialIcons; import com.beardedhen.androidbootstrap.font.Typicon; import java.io.Serializable; @@ -81,6 +82,9 @@ private void initialise(AttributeSet attrs) { int typeOrdinal = a.getInt(R.styleable.AwesomeTextView_bootstrapBrand, -1); int faIconOrdinal = a.getInt(R.styleable.AwesomeTextView_fontAwesomeIcon, -1); int typiconOrdinal = a.getInt(R.styleable.AwesomeTextView_typicon, -1); + int materialIconOrdinal = a.getInt(R.styleable.AwesomeTextView_materialIcon, -1); + + boolean clickable = a.getBoolean(R.styleable.AwesomeTextView_android_clickable, true); this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal); boolean editMode = isInEditMode(); @@ -99,12 +103,20 @@ private void initialise(AttributeSet attrs) { setIcon(fontAwesome.iconCodeForAttrIndex(faIconOrdinal), fontAwesome); } } + if (materialIconOrdinal != -1) { + final IconSet materialIcons = TypefaceProvider.retrieveRegisteredIconSet(MaterialIcons.FONT_PATH, editMode); + + if (!editMode) { + setIcon(materialIcons.iconCodeForAttrIndex(materialIconOrdinal), materialIcons); + } + } markdownText = a.getString(R.styleable.AwesomeTextView_bootstrapText); + + setClickable(clickable); // allows view to reach android:state_pressed } finally { a.recycle(); } - setClickable(true); // allows view to reach android:state_pressed setGravity(Gravity.CENTER); if (markdownText != null) { @@ -209,6 +221,16 @@ public void setFontAwesomeIcon(@FontAwesome.Icon CharSequence iconCode) { setBootstrapText(new BootstrapText.Builder(getContext(), isInEditMode()).addFontAwesomeIcon(iconCode).build()); } + /** + * Sets the text to display a MaterialIcon, replacing whatever text is already present. + * Used to set the text to display a MaterialIcon Icon. + * + * @param iconCode the fontawesome icon code e.g. "md_share" + */ + public void setMaterialIcon(@FontAwesome.Icon CharSequence iconCode) { + setBootstrapText(new BootstrapText.Builder(getContext(), isInEditMode()).addMaterialIcon(iconCode).build()); + } + /** * Sets the text to display a FontIcon, replacing whatever text is already present. * Used to set the text to display a Typicon. diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java index 13169fb..eb8f8bd 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java @@ -1,6 +1,7 @@ package com.beardedhen.androidbootstrap; import android.content.Context; +import android.content.DialogInterface; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Bundle; @@ -9,6 +10,7 @@ import android.support.annotation.Nullable; import android.util.AttributeSet; import android.view.MotionEvent; +import android.view.View; import android.view.ViewParent; import com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand; @@ -35,6 +37,19 @@ public class BootstrapButton extends AwesomeTextView implements BootstrapSizeVie OutlineableView, RoundableView, ButtonModeView, BadgeContainerView, BootstrapBadgeView { + + /** + * instances of this can be used with .setOnCheckedChangedLisener to notify you when the state of a radio, togle or checkbox button has changed. + */ + public interface OnCheckedChangedListener{ + /** + * This method will get called when the state of a radio button, checkbox or toggle button changes. + * @param bootstrapButton the view thats state is changing + * @param isChecked weather the button is checked or not. + */ + public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked); + } + private static final String TAG = "com.beardedhen.androidbootstrap.BootstrapButton"; private static final String KEY_MODE = "com.beardedhen.androidbootstrap.BootstrapButton.MODE"; private static final String KEY_INDEX = "com.beardedhen.androidbootstrap.BootstrapButton.KEY_INDEX"; @@ -57,6 +72,8 @@ public class BootstrapButton extends AwesomeTextView implements BootstrapSizeVie private BootstrapBadge bootstrapBadge; private String badgeText; + private OnCheckedChangedListener onCheckedChangedListener; + public BootstrapButton(Context context) { super(context); initialise(null); @@ -83,7 +100,7 @@ private void initialise(AttributeSet attrs) { this.badgeText = a.getString(R.styleable.BootstrapButton_badgeText); int sizeOrdinal = a.getInt(R.styleable.BootstrapButton_bootstrapSize, -1); - int modeOrdinal = a.getInt(R.styleable.BootstrapButtonGroup_buttonMode, -1); + int modeOrdinal = a.getInt(R.styleable.BootstrapButton_buttonMode, -1); bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor(); buttonMode = ButtonMode.fromAttributeValue(modeOrdinal); @@ -180,7 +197,6 @@ private void initialise(AttributeSet attrs) { } @Override public boolean onTouchEvent(@NonNull MotionEvent event) { - switch (buttonMode) { case REGULAR: return super.onTouchEvent(event); @@ -195,6 +211,14 @@ private void initialise(AttributeSet attrs) { } } + @Override + public void setSelected(boolean selected) { + super.setSelected(selected); + if (onCheckedChangedListener != null) { + onCheckedChangedListener.OnCheckedChanged(this, selected); + } + } + private boolean handleRadioEvent(@NonNull MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { if (isSelected()) { @@ -344,4 +368,23 @@ public void setBadgeText(@Nullable String badgeText) { this.bootstrapSize = bootstrapSize; updateBootstrapState(); } + + /** + * NOTE this method only works if the buttons mode is not set to regular. + * for non Toggle, checkbox and radio see {@link BootstrapButton#setOnClickListener} + * @param listener OnCheckedChangedListener that will be fired when the schecked state ofa button is changed. + */ + public void setOnCheckedChangedListener(OnCheckedChangedListener listener){ + onCheckedChangedListener = listener; + } + + /** + * NOTE this method only works if the buttons mode is set to regular. + * for Toggle, checkbox and radio see {@link BootstrapButton#setOnCheckedChangedListener} + * @param l OnClickListener that will be fired on click. + */ + @Override + public void setOnClickListener(OnClickListener l) { + super.setOnClickListener(l); + } } diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButtonGroup.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButtonGroup.java index 8043208..33ef47f 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButtonGroup.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButtonGroup.java @@ -8,8 +8,6 @@ import android.support.annotation.NonNull; import android.util.AttributeSet; import android.view.View; -import android.view.ViewGroup; -import android.widget.LinearLayout; import com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand; import com.beardedhen.androidbootstrap.api.attributes.ViewGroupPosition; @@ -39,8 +37,9 @@ * to set the properties of all children with one method call to this view. Options include * BootstrapBrand colors, roundable corners, 'outlineable' mode and different selection modes * e.g. Checkbox/Radio group. + * If button mode is set to radio only one button is a button group may be selected at a time. */ -public class BootstrapButtonGroup extends LinearLayout implements BootstrapSizeView, +public class BootstrapButtonGroup extends BootstrapGroup implements BootstrapSizeView, OutlineableView, RoundableView, BootstrapBrandView, ButtonModeView { private static final String TAG = "com.beardedhen.androidbootstrap.BootstrapButtonGroup"; @@ -70,7 +69,7 @@ public BootstrapButtonGroup(Context context, AttributeSet attrs, int defStyleAtt initialise(attrs); } - private void initialise(AttributeSet attrs) { + protected void initialise(AttributeSet attrs) { TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapButtonGroup); try { @@ -89,7 +88,7 @@ private void initialise(AttributeSet attrs) { finally { a.recycle(); } - updateBootstrapPositions(); + updateBootstrapGroup(); } @Override public Parcelable onSaveInstanceState() { @@ -125,10 +124,20 @@ private void initialise(AttributeSet attrs) { state = bundle.getParcelable(TAG); } super.onRestoreInstanceState(state); - updateBootstrapPositions(); + updateBootstrapGroup(); } - private void updateBootstrapPositions() { + @Override + protected void onBootstrapViewAdded() { + updateBootstrapGroup(); + } + + @Override + protected void onBootstrapViewRemoved() { + updateBootstrapGroup(); + } + + protected void updateBootstrapGroup() { int childCount = getChildCount(); int orientation = getOrientation(); @@ -284,100 +293,4 @@ public void setButtonMode(@NonNull ButtonMode buttonMode) { return rounded; } - /* - * Overrides - */ - - - @Override public void setOrientation(int orientation) { - super.setOrientation(orientation); - updateBootstrapPositions(); - } - - @Override public void addView(@NonNull View child) { - super.addView(child); - updateBootstrapPositions(); - } - - @Override public void addView(@NonNull View child, int index) { - super.addView(child, index); - updateBootstrapPositions(); - } - - @Override public void addView(@NonNull View child, int index, ViewGroup.LayoutParams params) { - super.addView(child, index, params); - updateBootstrapPositions(); - } - - @Override public void addView(@NonNull View child, ViewGroup.LayoutParams params) { - super.addView(child, params); - updateBootstrapPositions(); - } - - @Override public void addView(@NonNull View child, int width, int height) { - super.addView(child, width, height); - updateBootstrapPositions(); - } - - @Override - protected boolean addViewInLayout( - @NonNull View child, int index, ViewGroup.LayoutParams params) { - boolean b = super.addViewInLayout(child, index, params); - updateBootstrapPositions(); - return b; - } - - @Override - protected boolean addViewInLayout(@NonNull - View child, int index, ViewGroup.LayoutParams params, boolean preventRequestLayout) { - boolean b = super.addViewInLayout(child, index, params, preventRequestLayout); - updateBootstrapPositions(); - return b; - } - - @Override public void removeView(@NonNull View view) { - super.removeView(view); - updateBootstrapPositions(); - } - - @Override protected void removeDetachedView(@NonNull View child, boolean animate) { - super.removeDetachedView(child, animate); - updateBootstrapPositions(); - } - - @Override public void removeAllViews() { - super.removeAllViews(); - updateBootstrapPositions(); - } - - @Override public void removeAllViewsInLayout() { - super.removeAllViewsInLayout(); - updateBootstrapPositions(); - } - - @Override public void removeViewAt(int index) { - super.removeViewAt(index); - updateBootstrapPositions(); - } - - @Override public void removeViewInLayout(@NonNull View view) { - super.removeViewInLayout(view); - updateBootstrapPositions(); - } - - @Override public void removeViews(int start, int count) { - super.removeViews(start, count); - updateBootstrapPositions(); - } - - @Override public void removeViewsInLayout(int start, int count) { - super.removeViewsInLayout(start, count); - updateBootstrapPositions(); - } - - @Override protected void onFinishInflate() { - super.onFinishInflate(); - updateBootstrapPositions(); - } - } diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapGroup.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapGroup.java new file mode 100644 index 0000000..7cf428a --- /dev/null +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapGroup.java @@ -0,0 +1,87 @@ +package com.beardedhen.androidbootstrap; + +import android.content.Context; +import android.support.annotation.NonNull; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; + +/** + * This is a base class that provies methods to get updates when a view is removed or added or rotated and contains abstract methods for the set up of the class. + * @see BootstrapProgressBarGroup + * @see BootstrapButtonGroup + */ +abstract class BootstrapGroup extends LinearLayout { + + public BootstrapGroup(Context context) { + super(context); + initialise(null); + } + + public BootstrapGroup(Context context, AttributeSet attrs) { + super(context, attrs); + initialise(attrs); + } + + public BootstrapGroup(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initialise(attrs); + } + + protected abstract void initialise(AttributeSet attrs); + + @Override public void setOrientation(int orientation) { + super.setOrientation(orientation); + updateBootstrapGroup(); + } + + protected abstract void updateBootstrapGroup(); + + + protected abstract void onBootstrapViewAdded(); + protected abstract void onBootstrapViewRemoved(); + + @Override + public void addView(View child, int index, ViewGroup.LayoutParams params) { + super.addView(child, index, params); + onBootstrapViewAdded(); + } + + @Override + public void removeAllViews() { + super.removeAllViews(); + onBootstrapViewRemoved(); + } + + @Override + public void removeView(View view) { + super.removeView(view); + onBootstrapViewRemoved(); + } + + @Override + public void removeViewInLayout(View view) { + super.removeViewInLayout(view); + onBootstrapViewRemoved(); + } + + @Override + public void removeViewsInLayout(int start, int count) { + super.removeViewsInLayout(start, count); + onBootstrapViewRemoved(); + } + + @Override + public void removeViewAt(int index) { + View child = getChildAt(index); + super.removeViewAt(index); + onBootstrapViewRemoved(); + } + + @Override + public void removeViews(int start, int count) { + super.removeViews(start, count); + onBootstrapViewRemoved(); + } +} diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBar.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBar.java index 35a7795..37c236d 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBar.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBar.java @@ -20,6 +20,7 @@ import android.support.annotation.NonNull; import android.util.AttributeSet; import android.view.View; +import android.view.ViewParent; import android.view.animation.DecelerateInterpolator; import android.view.animation.LinearInterpolator; @@ -40,9 +41,11 @@ /** * BootstrapProgressBar displays determinate progress to the user, and is colored with BootstrapBrands. * Striped effects and progress update animations are supported out of the box. + * + * Its possible to group multiple together in an {@link com.beardedhen.androidbootstrap.BootstrapProgressBarGroup BootstrapProgressBarGroup} to give the appearance of a stacked progressbar. */ public class BootstrapProgressBar extends View implements ProgressView, BootstrapBrandView, - RoundableView, BootstrapSizeView { + RoundableView, BootstrapSizeView, Animator.AnimatorListener, ValueAnimator.AnimatorUpdateListener { private static final String TAG = "com.beardedhen.androidbootstrap.AwesomeTextView"; @@ -53,17 +56,24 @@ public class BootstrapProgressBar extends View implements ProgressView, Bootstra private Paint progressPaint; private Paint stripePaint; private Paint bgPaint; + private Paint textPaint; private int userProgress; private int drawnProgress; + private int maxProgress; + private boolean striped; private boolean animated; private boolean rounded; + //used for progressbarGroup so that only the currect corners will be rounded + private boolean canRoundLeft = true; + private boolean canRoundRight = true; + private ValueAnimator progressAnimator; private Paint tilePaint; - private float baselineHeight; + private final float baselineHeight = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_progress_bar_height); private BootstrapBrand bootstrapBrand; @@ -72,6 +82,7 @@ public class BootstrapProgressBar extends View implements ProgressView, Bootstra private Bitmap stripeTile; private float bootstrapSize; + private boolean showPercentage; public BootstrapProgressBar(Context context) { super(context); @@ -91,7 +102,6 @@ public BootstrapProgressBar(Context context, AttributeSet attrs, int defStyleAtt private void initialise(AttributeSet attrs) { ValueAnimator.setFrameDelay(15); // attempt 60fps tilePaint = new Paint(); - baselineHeight = DimenUtils.pixelsFromDpResource(getContext(), R.dimen.bootstrap_progress_bar_height); progressPaint = new Paint(); progressPaint.setStyle(Paint.Style.FILL); @@ -101,6 +111,12 @@ private void initialise(AttributeSet attrs) { stripePaint.setStyle(Paint.Style.FILL); stripePaint.setAntiAlias(true); + textPaint = new Paint(); + textPaint.setStyle(Paint.Style.FILL); + textPaint.setAntiAlias(true); + textPaint.setColor(ColorUtils.resolveColor(android.R.color.black, getContext())); + textPaint.setTextSize(DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_progress_bar_default_font_size)); + bgPaint = new Paint(); bgPaint.setStyle(Paint.Style.FILL); bgPaint.setColor(ColorUtils.resolveColor(R.color.bootstrap_gray_light, getContext())); @@ -112,24 +128,29 @@ private void initialise(AttributeSet attrs) { this.animated = a.getBoolean(R.styleable.BootstrapProgressBar_animated, false); this.rounded = a.getBoolean(R.styleable.BootstrapProgressBar_roundedCorners, false); this.striped = a.getBoolean(R.styleable.BootstrapProgressBar_striped, false); - this.userProgress = a.getInt(R.styleable.BootstrapProgressBar_progress, 0); + this.showPercentage = a.getBoolean(R.styleable.BootstrapProgressBar_bootstrapshowPercentage, false); + this.userProgress = a.getInt(R.styleable.BootstrapProgressBar_bootstrapProgress, 0); + this.maxProgress = a.getInt(R.styleable.BootstrapProgressBar_bootstrapMaxProgress, 100); - int typeOrdinal = a.getInt(R.styleable.AwesomeTextView_bootstrapBrand, -1); + int typeOrdinal = a.getInt(R.styleable.BootstrapProgressBar_bootstrapBrand, -1); int sizeOrdinal = a.getInt(R.styleable.BootstrapProgressBar_bootstrapSize, -1); this.bootstrapSize = DefaultBootstrapSize.fromAttributeValue(sizeOrdinal).scaleFactor(); this.bootstrapBrand = DefaultBootstrapBrand.fromAttributeValue(typeOrdinal); this.drawnProgress = userProgress; - } - finally { + } finally { a.recycle(); } + textPaint.setColor(bootstrapBrand.defaultTextColor(getContext())); + textPaint.setTextSize((DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_button_default_font_size)) * this.bootstrapSize ); updateBootstrapState(); setProgress(this.userProgress); + setMaxProgress(this.maxProgress); } - @Override public Parcelable onSaveInstanceState() { + @Override + public Parcelable onSaveInstanceState() { Bundle bundle = new Bundle(); bundle.putParcelable(TAG, super.onSaveInstanceState()); @@ -143,7 +164,8 @@ private void initialise(AttributeSet attrs) { return bundle; } - @Override public void onRestoreInstanceState(Parcelable state) { + @Override + public void onRestoreInstanceState(Parcelable state) { if (state instanceof Bundle) { Bundle bundle = (Bundle) state; @@ -190,30 +212,34 @@ private void startProgressUpdateAnimation() { progressAnimator.setRepeatMode(ValueAnimator.RESTART); progressAnimator.setInterpolator(new DecelerateInterpolator()); - progressAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - - @Override public void onAnimationUpdate(ValueAnimator animation) { - drawnProgress = (int) ((float) animation.getAnimatedValue()); - invalidate(); - } - }); + progressAnimator.addUpdateListener(this); // start striped animation after progress update if needed - progressAnimator.addListener(new Animator.AnimatorListener() { - @Override public void onAnimationStart(Animator animation) { - } + progressAnimator.addListener(this); + progressAnimator.start(); + } - @Override public void onAnimationEnd(Animator animation) { - startStripedAnimationIfNeeded(); // start striped animation after progress update - } + @Override + public void onAnimationUpdate(ValueAnimator animation) { + drawnProgress = (int) ((float) animation.getAnimatedValue()); + invalidate(); + } - @Override public void onAnimationCancel(Animator animation) { - } + @Override + public void onAnimationStart(Animator animation) { + } - @Override public void onAnimationRepeat(Animator animation) { - } - }); - progressAnimator.start(); + @Override + public void onAnimationEnd(Animator animation) { + startStripedAnimationIfNeeded(); // start striped animation after progress update + } + + @Override + public void onAnimationCancel(Animator animation) { + } + + @Override + public void onAnimationRepeat(Animator animation) { } /** @@ -235,7 +261,8 @@ private void startStripedAnimationIfNeeded() { progressAnimator.setInterpolator(new LinearInterpolator()); progressAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override public void onAnimationUpdate(ValueAnimator animation) { + @Override + public void onAnimationUpdate(ValueAnimator animation) { invalidate(); } }); @@ -246,7 +273,8 @@ private void startStripedAnimationIfNeeded() { * Custom Measuring/Drawing */ - @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // restrict view to default progressbar height int width = MeasureSpec.getSize(widthMeasureSpec); @@ -268,7 +296,8 @@ private void startStripedAnimationIfNeeded() { setMeasuredDimension(width, height); } - @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) { if (h != oldh) { stripeTile = null; // dereference cached bitmap } @@ -276,7 +305,8 @@ private void startStripedAnimationIfNeeded() { super.onSizeChanged(w, h, oldw, oldh); } - @Override protected void onDraw(Canvas canvas) { + @Override + protected void onDraw(Canvas canvas) { float w = getWidth(); float h = getHeight(); @@ -292,7 +322,7 @@ private void startStripedAnimationIfNeeded() { } progressCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); - float ratio = (float) (drawnProgress / 100.0); + float ratio = (drawnProgress / (float) maxProgress); int lineEnd = (int) (w * ratio); float offset = 0; @@ -309,7 +339,7 @@ private void startStripedAnimationIfNeeded() { float start = 0 - offset; - while (start < lineEnd) { + while (start < lineEnd) { // FIXME progressCanvas.drawBitmap(stripeTile, start, 0, tilePaint); start += stripeTile.getWidth(); } @@ -321,8 +351,18 @@ private void startStripedAnimationIfNeeded() { progressCanvas.drawRect(lineEnd, 0, w, h, bgPaint); // draw bg float corners = rounded ? h / 2 : 0; - Bitmap round = createRoundedBitmap(progressBitmap, corners); + Bitmap round = createRoundedBitmap(progressBitmap, corners, canRoundRight, canRoundLeft); canvas.drawBitmap(round, 0, 0, tilePaint); + + if(showPercentage) { + String percent = getProgress() + "%"; + int xPos = (lineEnd / 2); + xPos = xPos - (int) (textPaint.measureText(percent) / 2); + int yPos = (int) ((canvas.getHeight() / 2) - ((textPaint.descent() + textPaint.ascent()) / 2)); + //((textPaint.descent() + textPaint.ascent()) / 2) is the distance from the baseline to the center. + + canvas.drawText(percent, xPos, yPos, textPaint); + } } /** @@ -366,22 +406,38 @@ private static Bitmap createTile(float h, Paint stripePaint, Paint progressPaint * * @param bitmap the original bitmap * @param cornerRadius the radius of the corners + * @param roundRight if you should round the corners on the right, note that if set to true and cornerRadius == 0 it will create a square + * @param roundLeft if you should round the corners on the right, note that if set to true and cornerRadius == 0 it will create a square * @return a rounded bitmap */ - private static Bitmap createRoundedBitmap(Bitmap bitmap, float cornerRadius) { + private static Bitmap createRoundedBitmap(Bitmap bitmap, float cornerRadius, boolean roundRight, boolean roundLeft) { Bitmap roundedBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), ARGB_8888); Canvas canvas = new Canvas(roundedBitmap); final Paint paint = new Paint(); final Rect frame = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); +// final Rect frameLeft = new Rect(0, 0, bitmap.getWidth() /2, bitmap.getHeight()); +// final Rect frameRight = new Rect(bitmap.getWidth() /2, bitmap.getHeight(), bitmap.getWidth(), bitmap.getHeight()); + + final Rect leftRect = new Rect(0, 0, bitmap.getWidth() / 2, bitmap.getHeight()); + final Rect rightRect = new Rect(bitmap.getWidth() / 2, 0, bitmap.getWidth(), bitmap.getHeight()); + // prepare canvas for transfer paint.setAntiAlias(true); paint.setColor(0xFFFFFFFF); paint.setStyle(Paint.Style.FILL); canvas.drawARGB(0, 0, 0, 0); + canvas.drawRoundRect(new RectF(frame), cornerRadius, cornerRadius, paint); + if (!roundLeft){ + canvas.drawRect(leftRect, paint); + } + + if (!roundRight){ + canvas.drawRect(rightRect, paint); + } // draw bitmap paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, frame, frame, paint); @@ -409,10 +465,16 @@ private void invalidateDrawCache() { @SuppressLint("DefaultLocale") - @Override public void setProgress(int progress) { - if (progress < 0 || progress > 100) { - throw new IllegalArgumentException( - String.format("Invalid value '%d' - progress must be an integer in the range 0-100", progress)); + @Override + public void setProgress(int progress) { + if (getParent() instanceof BootstrapProgressBarGroup){ + this.userProgress = 0; + setMaxProgress(progress); + }else { + if (progress < 0 || progress > maxProgress) { + throw new IllegalArgumentException( + String.format("Invalid value '%d' - progress must be an integer in the range 0-%d", progress, maxProgress)); + } } this.userProgress = progress; @@ -424,62 +486,121 @@ private void invalidateDrawCache() { this.drawnProgress = progress; invalidate(); } + + ViewParent parent = getParent(); + if (parent != null) { + if (parent instanceof BootstrapProgressBarGroup) { + BootstrapProgressBarGroup parentGroup = (BootstrapProgressBarGroup) parent; + parentGroup.onProgressChanged(this); + } + } } - @Override public int getProgress() { + @Override + public int getProgress() { return userProgress; } - @Override public void setStriped(boolean striped) { + @Override + public void setStriped(boolean striped) { this.striped = striped; invalidate(); startStripedAnimationIfNeeded(); } - @Override public boolean isStriped() { + @Override + public boolean isStriped() { return striped; } - @Override public void setAnimated(boolean animated) { + @Override + public void setAnimated(boolean animated) { this.animated = animated; invalidate(); startStripedAnimationIfNeeded(); } - @Override public boolean isAnimated() { + @Override + public boolean isAnimated() { return animated; } - @Override public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) { + @Override + public void setBootstrapBrand(@NonNull BootstrapBrand bootstrapBrand) { this.bootstrapBrand = bootstrapBrand; + textPaint.setColor(bootstrapBrand.defaultTextColor(getContext())); updateBootstrapState(); } - @NonNull @Override public BootstrapBrand getBootstrapBrand() { + @NonNull + @Override + public BootstrapBrand getBootstrapBrand() { return bootstrapBrand; } - @Override public void setRounded(boolean rounded) { + @Override + public void setRounded(boolean rounded) { this.rounded = rounded; updateBootstrapState(); } - @Override public boolean isRounded() { + @Override + public boolean isRounded() { return rounded; } - @Override public float getBootstrapSize() { + @Override + public float getBootstrapSize() { return bootstrapSize; } - @Override public void setBootstrapSize(float bootstrapSize) { + @Override + public void setBootstrapSize(float bootstrapSize) { this.bootstrapSize = bootstrapSize; + textPaint.setTextSize((DimenUtils.pixelsFromSpResource(getContext(), R.dimen.bootstrap_progress_bar_default_font_size)) * this.bootstrapSize ); requestLayout(); updateBootstrapState(); } - @Override public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) { + @Override + public void setBootstrapSize(DefaultBootstrapSize bootstrapSize) { setBootstrapSize(bootstrapSize.scaleFactor()); } + /** + * + * @return int, the max progress. + */ + public int getMaxProgress() { + return maxProgress; + } + + /** + * Used for settings the maxprogress. Also check if currentProgress is smaller than newMaxProgress. + * @param newMaxProgress the maxProgress value + */ + public void setMaxProgress(int newMaxProgress) { + if (getProgress() <= newMaxProgress) { + maxProgress = newMaxProgress; + } + else { + throw new IllegalArgumentException( + String.format("MaxProgress cant be smaller than the current progress %d<%d", getProgress(), newMaxProgress)); + } + invalidate(); + BootstrapProgressBarGroup parent = (BootstrapProgressBarGroup) getParent(); + } + + void setCornerRounding(boolean left, boolean right){ + canRoundLeft = left; + canRoundRight = right; + } + + boolean getCornerRoundingLeft(){ + return canRoundLeft; + } + + boolean getCornerRoundingRight(){ + return canRoundRight; + } } diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBarGroup.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBarGroup.java new file mode 100644 index 0000000..1874f02 --- /dev/null +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapProgressBarGroup.java @@ -0,0 +1,284 @@ +package com.beardedhen.androidbootstrap; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; + +import com.beardedhen.androidbootstrap.api.view.ProgressView; +import com.beardedhen.androidbootstrap.api.view.RoundableView; + +/** + * BootstrapProgressBarGroups are a LinearLayout which exclusively holds BootstrapProgressBars in a horizontal orientation. + * This can be used to create the effect of stacked progress bars see here + * + * Each child will have there weight and max progress set to there progress. An empty progressbar emptyProgressBar will then be added to the end of layout if the bar is not full. + */ +public class BootstrapProgressBarGroup extends BootstrapGroup implements ProgressView, RoundableView { + + private int cumulativeProgress; + private int maxProgress; + private final BootstrapProgressBar emptyProgressBar = new BootstrapProgressBar(getContext()); + private int sizeOrdinal; + + private boolean striped = false; + + private boolean isEmptyBeingAdded = false; + private boolean rounded; + private boolean animated; + + public BootstrapProgressBarGroup(Context context) { + super(context); + initialise(null); + } + + public BootstrapProgressBarGroup(Context context, AttributeSet attrs) { + super(context, attrs); + initialise(attrs); + } + + public BootstrapProgressBarGroup(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initialise(attrs); + } + + protected void initialise(AttributeSet attrs) { + TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.BootstrapProgressBarGroup); + + try { + this.maxProgress = a.getInt(R.styleable.BootstrapProgressBarGroup_bootstrapMaxProgress, 100); + this.sizeOrdinal = a.getInt(R.styleable.BootstrapProgressBarGroup_bootstrapSize, 2); + this.rounded = a.getBoolean(R.styleable.BootstrapProgressBarGroup_roundedCorners, false); + } finally { + a.recycle(); + } + + setOrientation(HORIZONTAL); + updateBootstrapGroup(); + } + + @Override + protected void onBootstrapViewAdded() { + addEmptyProgressBar(); + + updateBootstrapGroup(); + } + + @Override + protected void onBootstrapViewRemoved() { + addEmptyProgressBar(); + + updateBootstrapGroup(); + } + + /** + * This looks for instances of emptyProgressBar and removes them if they are not at the end and then adds one at the end if its needed. + */ + private void addEmptyProgressBar(){ + int whereIsEmpty = -1; + for (int i = 0; i < getChildCount(); i++) { + if (retrieveChild(i) != null && retrieveChild(i).equals(emptyProgressBar)) { + whereIsEmpty = i; + } + } + + if (whereIsEmpty != getChildCount() - 1) { + if (whereIsEmpty != -1) { + //the flowing true/false is to stop empty progressbar being added more than once as removeView and addView indirectly call this method + isEmptyBeingAdded = true; + removeView(emptyProgressBar); + isEmptyBeingAdded = false; + } + if (!isEmptyBeingAdded) { + addView(emptyProgressBar); + } + } + } + + @Override + protected void updateBootstrapGroup() { + if (getChildCount() == 0) { + return; + } + + cumulativeProgress = getCumulativeProgress(); + + int numChildren = getChildCount(); + for (int i = 0; i < numChildren; i++) { + LayoutParams layoutParams = getDefultlayoutParams(); + layoutParams.weight = retrieveChild(i).getProgress(); + retrieveChild(i).setLayoutParams(layoutParams); + + retrieveChild(i).setMaxProgress(retrieveChild(i).getProgress()); + retrieveChild(i).setBootstrapSize(sizeOrdinal); + + retrieveChild(i).setRounded(rounded); + retrieveChild(i).setCornerRounding(false, false); + } + //this means that rounded corners will display correctly by telling only the first child to draw the left edge as rounded and only the last to draw right edge as rounded + retrieveChild(0).setCornerRounding(true, false); + retrieveChild(numChildren - 1).setCornerRounding(false, true); + + //update empty progressbar attributes + LayoutParams layoutParams = getDefultlayoutParams(); + layoutParams.weight = (float) maxProgress - cumulativeProgress; + emptyProgressBar.setLayoutParams(layoutParams); + emptyProgressBar.setMaxProgress(maxProgress - cumulativeProgress); + emptyProgressBar.setBootstrapSize(sizeOrdinal); + + setWeightSum((float)maxProgress); + } + + private LinearLayout.LayoutParams getDefultlayoutParams(){ + int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 0, getResources().getDisplayMetrics()); + + LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(height, ViewGroup.LayoutParams.WRAP_CONTENT); + return layoutParams; + } + + /** + * This get the total progress of all the children + * @return the CumulativeProgress i.e. the total progress of all children + */ + public int getCumulativeProgress(){ + int numChildren = getChildCount(); + int total = 0; + for (int i = 0; i < numChildren; i++) { + total += getChildProgress(i); + } + checkCumulativeSmallerThanMax(maxProgress, total); + return total; + } + + private void checkCumulativeSmallerThanMax(int max, int cumulative){ + StringBuilder builder = new StringBuilder(); + builder.append("Max Progress Cant be smaller than cumulative progress. Max = "); + builder.append(max); + builder.append(", cumlative = "); + builder.append(cumulative); + builder.append(". \n"); + for (int i = 0; i < getChildCount(); i++) { + builder.append("Child ").append(i).append(" has progress ").append(getChildProgress(i)); + } + if (max < cumulative){ + throw new IllegalStateException(builder.toString()); + + } + + } + + private int getChildProgress(int i){ + return retrieveChild(i).getProgress(); + } + + private BootstrapProgressBar retrieveChild(int i) { + View view = getChildAt(i); + + if ((view instanceof BootstrapProgressBar)) { + return (BootstrapProgressBar) view; + } + else { + throw new IllegalStateException("All child view of BootstrapProgressBarGroup must be BootstrapProgressBar"); + } + } + + /** + * this should be called by all children to notify the BootstrapProgressBarGroup that there progress has changed + * @param bootstrapProgressBar the child View + */ + public void onProgressChanged(BootstrapProgressBar bootstrapProgressBar){ + updateBootstrapGroup(); + } + + /** + * + * @return int maxProgress. Returns the maxProgress value + */ + public int getMaxProgress(){ + return maxProgress; + } + + /** + * Used for settings the maxprogress. Also check if Cumulative progress is smaller than the max before asigning, see {@link #checkCumulativeSmallerThanMax}. + * @param maxProgress the maxProgress value + */ + public void setMaxProgress(int maxProgress){ + checkCumulativeSmallerThanMax(maxProgress, cumulativeProgress); + this.maxProgress = maxProgress; + } + + /** + * + * @param rounded if it should display rounded corners. true will round the corners, false wont + */ + @Override + public void setRounded(boolean rounded){ + this.rounded = rounded; + updateBootstrapGroup(); + } + + /** + * + * @return a boolean weather the progressbarGroup will have rounded edges + */ + @Override + public boolean isRounded(){ + return rounded; + } + + @Override + public void setProgress(int progress) { + throw new IllegalStateException("This method not applicable for type BootstrapProgressBarGroup"); + } + + @Override + public int getProgress() { + throw new IllegalStateException("This method not applicable for type BootstrapProgressBarGroup"); + } + + /** + * This will set all children to striped. + * @param striped true for a striped pattern, false for a plain pattern + */ + @Override + public void setStriped(boolean striped) { + this.striped = striped; + for (int i = 0; i < getChildCount(); i++) { + retrieveChild(i).setStriped(striped); + } + } + + /** + * This will only be true if setStriped(true) was called + * @return striped true for a striped pattern, false for a plain pattern + */ + @Override + public boolean isStriped() { + return striped; + } + + + /** + * + * @param animated whether the view should animate its updates or not. + */ + @Override + public void setAnimated(boolean animated) { + this.animated = animated; + for (int i = 0; i < getChildCount(); i++) { + retrieveChild(i).setAnimated(animated); + } + } + + /** + * This will only be true if setAnimated(true) was called + * @return animated if all children have been set to be animated (through the Group) + */ + @Override + public boolean isAnimated() { + return animated; + } +} diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapText.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapText.java index 6b35a18..edaa71e 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapText.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapText.java @@ -7,6 +7,7 @@ import com.beardedhen.androidbootstrap.font.AwesomeTypefaceSpan; import com.beardedhen.androidbootstrap.font.FontAwesome; import com.beardedhen.androidbootstrap.font.IconSet; +import com.beardedhen.androidbootstrap.font.MaterialIcons; import com.beardedhen.androidbootstrap.font.Typicon; import java.io.Serializable; @@ -83,6 +84,18 @@ public Builder addTypicon(@Typicon.Icon CharSequence iconCode) { return this; } + /** + * Appends a Typicon to the BootstrapText under construction + * + * @return the updated builder instance + */ + public Builder addMaterialIcon( CharSequence iconCode) { + IconSet iconSet = TypefaceProvider.retrieveRegisteredIconSet(MaterialIcons.FONT_PATH, editMode); + sb.append(iconSet.unicodeForKey(iconCode.toString().replaceAll("\\-", "_"))); + fontIndicesMap.put(sb.length(), iconSet); + return this; + } + /** * Appends a font icon to the BootstrapText under construction * diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/IconResolver.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/IconResolver.java index 9137089..27bf7d3 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/IconResolver.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/IconResolver.java @@ -4,6 +4,7 @@ import com.beardedhen.androidbootstrap.font.FontAwesome; import com.beardedhen.androidbootstrap.font.IconSet; +import com.beardedhen.androidbootstrap.font.MaterialIcons; import com.beardedhen.androidbootstrap.font.Typicon; import static com.beardedhen.androidbootstrap.TypefaceProvider.getRegisteredIconSets; @@ -16,6 +17,7 @@ class IconResolver { private static final String REGEX_FONT_AWESOME = "(fa_|fa-)[a-z_0-9]+"; private static final String REGEX_TYPICONS = "(ty_|ty-)[a-z_0-9]+"; + private static final String REGEX_MATERIAL_ICONS = "(md_)[a-z_0-9]+"; /** * Resolves markdown to produce a BootstrapText instance. e.g. "{fa_android}" would be replaced @@ -74,6 +76,14 @@ else if (iconCode.matches(REGEX_TYPICONS)) { builder.addIcon(iconCode, retrieveRegisteredIconSet(Typicon.FONT_PATH, false)); } } + else if(iconCode.matches(REGEX_MATERIAL_ICONS)){ + if (editMode) { + builder.addText("?"); + } + else { + builder.addIcon(iconCode, retrieveRegisteredIconSet(MaterialIcons.FONT_PATH, false)); + } + } else { if (editMode) { builder.addText("?"); @@ -104,7 +114,7 @@ private static IconSet resolveIconSet(String iconCode) { for (IconSet set : getRegisteredIconSets()) { - if (set.fontPath().equals(FontAwesome.FONT_PATH) || set.fontPath().equals(Typicon.FONT_PATH)) { + if (set.fontPath().equals(FontAwesome.FONT_PATH) || set.fontPath().equals(Typicon.FONT_PATH) || set.fontPath().equals(MaterialIcons.FONT_PATH)) { continue; // already checked previously, ignore } diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java index 9a42c5b..40fb1a3 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java @@ -5,6 +5,7 @@ import com.beardedhen.androidbootstrap.font.FontAwesome; import com.beardedhen.androidbootstrap.font.IconSet; +import com.beardedhen.androidbootstrap.font.MaterialIcons; import com.beardedhen.androidbootstrap.font.Typicon; import java.util.Collection; @@ -44,9 +45,11 @@ public static Typeface getTypeface(Context context, IconSet iconSet) { public static void registerDefaultIconSets() { final FontAwesome fontAwesome = new FontAwesome(); final Typicon typicon = new Typicon(); + final MaterialIcons materialIcons = new MaterialIcons(); REGISTERED_ICON_SETS.put(fontAwesome.fontPath(), fontAwesome); REGISTERED_ICON_SETS.put(typicon.fontPath(), typicon); + REGISTERED_ICON_SETS.put(materialIcons.fontPath(), materialIcons); } /** diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapBrand.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapBrand.java index b2e68e9..bb9fc93 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapBrand.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapBrand.java @@ -102,5 +102,4 @@ public static DefaultBootstrapBrand fromAttributeValue(int attrValue) { return color; } - } diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/ProgressView.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/ProgressView.java index d4eff98..8c0b53e 100644 --- a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/ProgressView.java +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/view/ProgressView.java @@ -15,14 +15,14 @@ public interface ProgressView { /** * Updates the amount of progress displayed to the user. * - * @param progress an integer between 0-100 + * @param progress a positive integer */ - void setProgress(@IntRange(from=0,to=100) int progress); + void setProgress(int progress); /** - * @return the amount of progress displayed to the user (0-100) + * @return the amount of progress displayed to the user */ - @IntRange(from=0,to=100)int getProgress(); + int getProgress(); /** * Sets whether the view should display a striped pattern. @@ -50,4 +50,15 @@ public interface ProgressView { */ boolean isAnimated(); + /** + * @return int maxProgress. Returns the maxProgress value + */ + int getMaxProgress(); + + + /** + * Used for settings the maxprogress. Also check if Cumulative progress is smaller than the max before asigning, see {@link #checkCumulativeSmallerThanMax}. + * @param maxProgress the maxProgress value + */ + void setMaxProgress(int maxProgress); } diff --git a/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/MaterialIcons.java b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/MaterialIcons.java new file mode 100644 index 0000000..dd4d88a --- /dev/null +++ b/AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/MaterialIcons.java @@ -0,0 +1,2843 @@ +package com.beardedhen.androidbootstrap.font; + +import com.beardedhen.androidbootstrap.font.IconSet; + +import java.util.HashMap; +import java.util.Map; + +/** + * Maps Googles Meterial Design Icon Codes to unicode characters, allowing its use in AwesomeTextView. + * See the link for icons + * . Please note that icon codes use underscores rather than hyphens in this + * library. All icons are prefixed with md_ EG: md_build. + * + * Most of this class is auto genarated by the project here. + */ +public class MaterialIcons implements IconSet { + + + public static final String FONT_PATH = "MaterialIcons-Regular.ttf"; + + private static final Map ICON_MAP = new HashMap<>(); + private static final Map ATTR_MAP = new HashMap<>(); + + + @Override + public CharSequence unicodeForKey(CharSequence key) { + return ICON_MAP.get(key); + } + + @Override + public CharSequence iconCodeForAttrIndex(int index) { + return ATTR_MAP.get(index); + } + + @Override + public CharSequence fontPath() { + return FONT_PATH; + } + + //The following class is auto generated by the tool available TODO: add link + // Auto-generated Map from 2016-05-25 + + + public static final String MD_3D_ROTATION = "md_3d_rotation"; + public static final String MD_AC_UNIT = "md_ac_unit"; + public static final String MD_ACCESS_ALARM = "md_access_alarm"; + public static final String MD_ACCESS_ALARMS = "md_access_alarms"; + public static final String MD_ACCESS_TIME = "md_access_time"; + public static final String MD_ACCESSIBILITY = "md_accessibility"; + public static final String MD_ACCESSIBLE = "md_accessible"; + public static final String MD_ACCOUNT_BALANCE = "md_account_balance"; + public static final String MD_ACCOUNT_BALANCE_WALLET = "md_account_balance_wallet"; + public static final String MD_ACCOUNT_BOX = "md_account_box"; + public static final String MD_ACCOUNT_CIRCLE = "md_account_circle"; + public static final String MD_ADB = "md_adb"; + public static final String MD_ADD = "md_add"; + public static final String MD_ADD_A_PHOTO = "md_add_a_photo"; + public static final String MD_ADD_ALARM = "md_add_alarm"; + public static final String MD_ADD_ALERT = "md_add_alert"; + public static final String MD_ADD_BOX = "md_add_box"; + public static final String MD_ADD_CIRCLE = "md_add_circle"; + public static final String MD_ADD_CIRCLE_OUTLINE = "md_add_circle_outline"; + public static final String MD_ADD_LOCATION = "md_add_location"; + public static final String MD_ADD_SHOPPING_CART = "md_add_shopping_cart"; + public static final String MD_ADD_TO_PHOTOS = "md_add_to_photos"; + public static final String MD_ADD_TO_QUEUE = "md_add_to_queue"; + public static final String MD_ADJUST = "md_adjust"; + public static final String MD_AIRLINE_SEAT_FLAT = "md_airline_seat_flat"; + public static final String MD_AIRLINE_SEAT_FLAT_ANGLED = "md_airline_seat_flat_angled"; + public static final String MD_AIRLINE_SEAT_INDIVIDUAL_SUITE = "md_airline_seat_individual_suite"; + public static final String MD_AIRLINE_SEAT_LEGROOM_EXTRA = "md_airline_seat_legroom_extra"; + public static final String MD_AIRLINE_SEAT_LEGROOM_NORMAL = "md_airline_seat_legroom_normal"; + public static final String MD_AIRLINE_SEAT_LEGROOM_REDUCED = "md_airline_seat_legroom_reduced"; + public static final String MD_AIRLINE_SEAT_RECLINE_EXTRA = "md_airline_seat_recline_extra"; + public static final String MD_AIRLINE_SEAT_RECLINE_NORMAL = "md_airline_seat_recline_normal"; + public static final String MD_AIRPLANEMODE_ACTIVE = "md_airplanemode_active"; + public static final String MD_AIRPLANEMODE_INACTIVE = "md_airplanemode_inactive"; + public static final String MD_AIRPLAY = "md_airplay"; + public static final String MD_AIRPORT_SHUTTLE = "md_airport_shuttle"; + public static final String MD_ALARM = "md_alarm"; + public static final String MD_ALARM_ADD = "md_alarm_add"; + public static final String MD_ALARM_OFF = "md_alarm_off"; + public static final String MD_ALARM_ON = "md_alarm_on"; + public static final String MD_ALBUM = "md_album"; + public static final String MD_ALL_INCLUSIVE = "md_all_inclusive"; + public static final String MD_ALL_OUT = "md_all_out"; + public static final String MD_ANDROID = "md_android"; + public static final String MD_ANNOUNCEMENT = "md_announcement"; + public static final String MD_APPS = "md_apps"; + public static final String MD_ARCHIVE = "md_archive"; + public static final String MD_ARROW_BACK = "md_arrow_back"; + public static final String MD_ARROW_DOWNWARD = "md_arrow_downward"; + public static final String MD_ARROW_DROP_DOWN = "md_arrow_drop_down"; + public static final String MD_ARROW_DROP_DOWN_CIRCLE = "md_arrow_drop_down_circle"; + public static final String MD_ARROW_DROP_UP = "md_arrow_drop_up"; + public static final String MD_ARROW_FORWARD = "md_arrow_forward"; + public static final String MD_ARROW_UPWARD = "md_arrow_upward"; + public static final String MD_ART_TRACK = "md_art_track"; + public static final String MD_ASPECT_RATIO = "md_aspect_ratio"; + public static final String MD_ASSESSMENT = "md_assessment"; + public static final String MD_ASSIGNMENT = "md_assignment"; + public static final String MD_ASSIGNMENT_IND = "md_assignment_ind"; + public static final String MD_ASSIGNMENT_LATE = "md_assignment_late"; + public static final String MD_ASSIGNMENT_RETURN = "md_assignment_return"; + public static final String MD_ASSIGNMENT_RETURNED = "md_assignment_returned"; + public static final String MD_ASSIGNMENT_TURNED_IN = "md_assignment_turned_in"; + public static final String MD_ASSISTANT = "md_assistant"; + public static final String MD_ASSISTANT_PHOTO = "md_assistant_photo"; + public static final String MD_ATTACH_FILE = "md_attach_file"; + public static final String MD_ATTACH_MONEY = "md_attach_money"; + public static final String MD_ATTACHMENT = "md_attachment"; + public static final String MD_AUDIOTRACK = "md_audiotrack"; + public static final String MD_AUTORENEW = "md_autorenew"; + public static final String MD_AV_TIMER = "md_av_timer"; + public static final String MD_BACKSPACE = "md_backspace"; + public static final String MD_BACKUP = "md_backup"; + public static final String MD_BATTERY_ALERT = "md_battery_alert"; + public static final String MD_BATTERY_CHARGING_FULL = "md_battery_charging_full"; + public static final String MD_BATTERY_FULL = "md_battery_full"; + public static final String MD_BATTERY_STD = "md_battery_std"; + public static final String MD_BATTERY_UNKNOWN = "md_battery_unknown"; + public static final String MD_BEACH_ACCESS = "md_beach_access"; + public static final String MD_BEENHERE = "md_beenhere"; + public static final String MD_BLOCK = "md_block"; + public static final String MD_BLUETOOTH = "md_bluetooth"; + public static final String MD_BLUETOOTH_AUDIO = "md_bluetooth_audio"; + public static final String MD_BLUETOOTH_CONNECTED = "md_bluetooth_connected"; + public static final String MD_BLUETOOTH_DISABLED = "md_bluetooth_disabled"; + public static final String MD_BLUETOOTH_SEARCHING = "md_bluetooth_searching"; + public static final String MD_BLUR_CIRCULAR = "md_blur_circular"; + public static final String MD_BLUR_LINEAR = "md_blur_linear"; + public static final String MD_BLUR_OFF = "md_blur_off"; + public static final String MD_BLUR_ON = "md_blur_on"; + public static final String MD_BOOK = "md_book"; + public static final String MD_BOOKMARK = "md_bookmark"; + public static final String MD_BOOKMARK_BORDER = "md_bookmark_border"; + public static final String MD_BORDER_ALL = "md_border_all"; + public static final String MD_BORDER_BOTTOM = "md_border_bottom"; + public static final String MD_BORDER_CLEAR = "md_border_clear"; + public static final String MD_BORDER_COLOR = "md_border_color"; + public static final String MD_BORDER_HORIZONTAL = "md_border_horizontal"; + public static final String MD_BORDER_INNER = "md_border_inner"; + public static final String MD_BORDER_LEFT = "md_border_left"; + public static final String MD_BORDER_OUTER = "md_border_outer"; + public static final String MD_BORDER_RIGHT = "md_border_right"; + public static final String MD_BORDER_STYLE = "md_border_style"; + public static final String MD_BORDER_TOP = "md_border_top"; + public static final String MD_BORDER_VERTICAL = "md_border_vertical"; + public static final String MD_BRANDING_WATERMARK = "md_branding_watermark"; + public static final String MD_BRIGHTNESS_1 = "md_brightness_1"; + public static final String MD_BRIGHTNESS_2 = "md_brightness_2"; + public static final String MD_BRIGHTNESS_3 = "md_brightness_3"; + public static final String MD_BRIGHTNESS_4 = "md_brightness_4"; + public static final String MD_BRIGHTNESS_5 = "md_brightness_5"; + public static final String MD_BRIGHTNESS_6 = "md_brightness_6"; + public static final String MD_BRIGHTNESS_7 = "md_brightness_7"; + public static final String MD_BRIGHTNESS_AUTO = "md_brightness_auto"; + public static final String MD_BRIGHTNESS_HIGH = "md_brightness_high"; + public static final String MD_BRIGHTNESS_LOW = "md_brightness_low"; + public static final String MD_BRIGHTNESS_MEDIUM = "md_brightness_medium"; + public static final String MD_BROKEN_IMAGE = "md_broken_image"; + public static final String MD_BRUSH = "md_brush"; + public static final String MD_BUBBLE_CHART = "md_bubble_chart"; + public static final String MD_BUG_REPORT = "md_bug_report"; + public static final String MD_BUILD = "md_build"; + public static final String MD_BURST_MODE = "md_burst_mode"; + public static final String MD_BUSINESS = "md_business"; + public static final String MD_BUSINESS_CENTER = "md_business_center"; + public static final String MD_CACHED = "md_cached"; + public static final String MD_CAKE = "md_cake"; + public static final String MD_CALL = "md_call"; + public static final String MD_CALL_END = "md_call_end"; + public static final String MD_CALL_MADE = "md_call_made"; + public static final String MD_CALL_MERGE = "md_call_merge"; + public static final String MD_CALL_MISSED = "md_call_missed"; + public static final String MD_CALL_MISSED_OUTGOING = "md_call_missed_outgoing"; + public static final String MD_CALL_RECEIVED = "md_call_received"; + public static final String MD_CALL_SPLIT = "md_call_split"; + public static final String MD_CALL_TO_ACTION = "md_call_to_action"; + public static final String MD_CAMERA = "md_camera"; + public static final String MD_CAMERA_ALT = "md_camera_alt"; + public static final String MD_CAMERA_ENHANCE = "md_camera_enhance"; + public static final String MD_CAMERA_FRONT = "md_camera_front"; + public static final String MD_CAMERA_REAR = "md_camera_rear"; + public static final String MD_CAMERA_ROLL = "md_camera_roll"; + public static final String MD_CANCEL = "md_cancel"; + public static final String MD_CARD_GIFTCARD = "md_card_giftcard"; + public static final String MD_CARD_MEMBERSHIP = "md_card_membership"; + public static final String MD_CARD_TRAVEL = "md_card_travel"; + public static final String MD_CASINO = "md_casino"; + public static final String MD_CAST = "md_cast"; + public static final String MD_CAST_CONNECTED = "md_cast_connected"; + public static final String MD_CENTER_FOCUS_STRONG = "md_center_focus_strong"; + public static final String MD_CENTER_FOCUS_WEAK = "md_center_focus_weak"; + public static final String MD_CHANGE_HISTORY = "md_change_history"; + public static final String MD_CHAT = "md_chat"; + public static final String MD_CHAT_BUBBLE = "md_chat_bubble"; + public static final String MD_CHAT_BUBBLE_OUTLINE = "md_chat_bubble_outline"; + public static final String MD_CHECK = "md_check"; + public static final String MD_CHECK_BOX = "md_check_box"; + public static final String MD_CHECK_BOX_OUTLINE_BLANK = "md_check_box_outline_blank"; + public static final String MD_CHECK_CIRCLE = "md_check_circle"; + public static final String MD_CHEVRON_LEFT = "md_chevron_left"; + public static final String MD_CHEVRON_RIGHT = "md_chevron_right"; + public static final String MD_CHILD_CARE = "md_child_care"; + public static final String MD_CHILD_FRIENDLY = "md_child_friendly"; + public static final String MD_CHROME_READER_MODE = "md_chrome_reader_mode"; + public static final String MD_CLASS = "md_class"; + public static final String MD_CLEAR = "md_clear"; + public static final String MD_CLEAR_ALL = "md_clear_all"; + public static final String MD_CLOSE = "md_close"; + public static final String MD_CLOSED_CAPTION = "md_closed_caption"; + public static final String MD_CLOUD = "md_cloud"; + public static final String MD_CLOUD_CIRCLE = "md_cloud_circle"; + public static final String MD_CLOUD_DONE = "md_cloud_done"; + public static final String MD_CLOUD_DOWNLOAD = "md_cloud_download"; + public static final String MD_CLOUD_OFF = "md_cloud_off"; + public static final String MD_CLOUD_QUEUE = "md_cloud_queue"; + public static final String MD_CLOUD_UPLOAD = "md_cloud_upload"; + public static final String MD_CODE = "md_code"; + public static final String MD_COLLECTIONS = "md_collections"; + public static final String MD_COLLECTIONS_BOOKMARK = "md_collections_bookmark"; + public static final String MD_COLOR_LENS = "md_color_lens"; + public static final String MD_COLORIZE = "md_colorize"; + public static final String MD_COMMENT = "md_comment"; + public static final String MD_COMPARE = "md_compare"; + public static final String MD_COMPARE_ARROWS = "md_compare_arrows"; + public static final String MD_COMPUTER = "md_computer"; + public static final String MD_CONFIRMATION_NUMBER = "md_confirmation_number"; + public static final String MD_CONTACT_MAIL = "md_contact_mail"; + public static final String MD_CONTACT_PHONE = "md_contact_phone"; + public static final String MD_CONTACTS = "md_contacts"; + public static final String MD_CONTENT_COPY = "md_content_copy"; + public static final String MD_CONTENT_CUT = "md_content_cut"; + public static final String MD_CONTENT_PASTE = "md_content_paste"; + public static final String MD_CONTROL_POINT = "md_control_point"; + public static final String MD_CONTROL_POINT_DUPLICATE = "md_control_point_duplicate"; + public static final String MD_COPYRIGHT = "md_copyright"; + public static final String MD_CREATE = "md_create"; + public static final String MD_CREATE_NEW_FOLDER = "md_create_new_folder"; + public static final String MD_CREDIT_CARD = "md_credit_card"; + public static final String MD_CROP = "md_crop"; + public static final String MD_CROP_16_9 = "md_crop_16_9"; + public static final String MD_CROP_3_2 = "md_crop_3_2"; + public static final String MD_CROP_5_4 = "md_crop_5_4"; + public static final String MD_CROP_7_5 = "md_crop_7_5"; + public static final String MD_CROP_DIN = "md_crop_din"; + public static final String MD_CROP_FREE = "md_crop_free"; + public static final String MD_CROP_LANDSCAPE = "md_crop_landscape"; + public static final String MD_CROP_ORIGINAL = "md_crop_original"; + public static final String MD_CROP_PORTRAIT = "md_crop_portrait"; + public static final String MD_CROP_ROTATE = "md_crop_rotate"; + public static final String MD_CROP_SQUARE = "md_crop_square"; + public static final String MD_DASHBOARD = "md_dashboard"; + public static final String MD_DATA_USAGE = "md_data_usage"; + public static final String MD_DATE_RANGE = "md_date_range"; + public static final String MD_DEHAZE = "md_dehaze"; + public static final String MD_DELETE = "md_delete"; + public static final String MD_DELETE_FOREVER = "md_delete_forever"; + public static final String MD_DELETE_SWEEP = "md_delete_sweep"; + public static final String MD_DESCRIPTION = "md_description"; + public static final String MD_DESKTOP_MAC = "md_desktop_mac"; + public static final String MD_DESKTOP_WINDOWS = "md_desktop_windows"; + public static final String MD_DETAILS = "md_details"; + public static final String MD_DEVELOPER_BOARD = "md_developer_board"; + public static final String MD_DEVELOPER_MODE = "md_developer_mode"; + public static final String MD_DEVICE_HUB = "md_device_hub"; + public static final String MD_DEVICES = "md_devices"; + public static final String MD_DEVICES_OTHER = "md_devices_other"; + public static final String MD_DIALER_SIP = "md_dialer_sip"; + public static final String MD_DIALPAD = "md_dialpad"; + public static final String MD_DIRECTIONS = "md_directions"; + public static final String MD_DIRECTIONS_BIKE = "md_directions_bike"; + public static final String MD_DIRECTIONS_BOAT = "md_directions_boat"; + public static final String MD_DIRECTIONS_BUS = "md_directions_bus"; + public static final String MD_DIRECTIONS_CAR = "md_directions_car"; + public static final String MD_DIRECTIONS_RAILWAY = "md_directions_railway"; + public static final String MD_DIRECTIONS_RUN = "md_directions_run"; + public static final String MD_DIRECTIONS_SUBWAY = "md_directions_subway"; + public static final String MD_DIRECTIONS_TRANSIT = "md_directions_transit"; + public static final String MD_DIRECTIONS_WALK = "md_directions_walk"; + public static final String MD_DISC_FULL = "md_disc_full"; + public static final String MD_DNS = "md_dns"; + public static final String MD_DO_NOT_DISTURB = "md_do_not_disturb"; + public static final String MD_DO_NOT_DISTURB_ALT = "md_do_not_disturb_alt"; + public static final String MD_DO_NOT_DISTURB_OFF = "md_do_not_disturb_off"; + public static final String MD_DO_NOT_DISTURB_ON = "md_do_not_disturb_on"; + public static final String MD_DOCK = "md_dock"; + public static final String MD_DOMAIN = "md_domain"; + public static final String MD_DONE = "md_done"; + public static final String MD_DONE_ALL = "md_done_all"; + public static final String MD_DONUT_LARGE = "md_donut_large"; + public static final String MD_DONUT_SMALL = "md_donut_small"; + public static final String MD_DRAFTS = "md_drafts"; + public static final String MD_DRAG_HANDLE = "md_drag_handle"; + public static final String MD_DRIVE_ETA = "md_drive_eta"; + public static final String MD_DVR = "md_dvr"; + public static final String MD_EDIT = "md_edit"; + public static final String MD_EDIT_LOCATION = "md_edit_location"; + public static final String MD_EJECT = "md_eject"; + public static final String MD_EMAIL = "md_email"; + public static final String MD_ENHANCED_ENCRYPTION = "md_enhanced_encryption"; + public static final String MD_EQUALIZER = "md_equalizer"; + public static final String MD_ERROR = "md_error"; + public static final String MD_ERROR_OUTLINE = "md_error_outline"; + public static final String MD_EURO_SYMBOL = "md_euro_symbol"; + public static final String MD_EV_STATION = "md_ev_station"; + public static final String MD_EVENT = "md_event"; + public static final String MD_EVENT_AVAILABLE = "md_event_available"; + public static final String MD_EVENT_BUSY = "md_event_busy"; + public static final String MD_EVENT_NOTE = "md_event_note"; + public static final String MD_EVENT_SEAT = "md_event_seat"; + public static final String MD_EXIT_TO_APP = "md_exit_to_app"; + public static final String MD_EXPAND_LESS = "md_expand_less"; + public static final String MD_EXPAND_MORE = "md_expand_more"; + public static final String MD_EXPLICIT = "md_explicit"; + public static final String MD_EXPLORE = "md_explore"; + public static final String MD_EXPOSURE = "md_exposure"; + public static final String MD_EXPOSURE_NEG_1 = "md_exposure_neg_1"; + public static final String MD_EXPOSURE_NEG_2 = "md_exposure_neg_2"; + public static final String MD_EXPOSURE_PLUS_1 = "md_exposure_plus_1"; + public static final String MD_EXPOSURE_PLUS_2 = "md_exposure_plus_2"; + public static final String MD_EXPOSURE_ZERO = "md_exposure_zero"; + public static final String MD_EXTENSION = "md_extension"; + public static final String MD_FACE = "md_face"; + public static final String MD_FAST_FORWARD = "md_fast_forward"; + public static final String MD_FAST_REWIND = "md_fast_rewind"; + public static final String MD_FAVORITE = "md_favorite"; + public static final String MD_FAVORITE_BORDER = "md_favorite_border"; + public static final String MD_FEATURED_PLAY_LIST = "md_featured_play_list"; + public static final String MD_FEATURED_VIDEO = "md_featured_video"; + public static final String MD_FEEDBACK = "md_feedback"; + public static final String MD_FIBER_DVR = "md_fiber_dvr"; + public static final String MD_FIBER_MANUAL_RECORD = "md_fiber_manual_record"; + public static final String MD_FIBER_NEW = "md_fiber_new"; + public static final String MD_FIBER_PIN = "md_fiber_pin"; + public static final String MD_FIBER_SMART_RECORD = "md_fiber_smart_record"; + public static final String MD_FILE_DOWNLOAD = "md_file_download"; + public static final String MD_FILE_UPLOAD = "md_file_upload"; + public static final String MD_FILTER = "md_filter"; + public static final String MD_FILTER_1 = "md_filter_1"; + public static final String MD_FILTER_2 = "md_filter_2"; + public static final String MD_FILTER_3 = "md_filter_3"; + public static final String MD_FILTER_4 = "md_filter_4"; + public static final String MD_FILTER_5 = "md_filter_5"; + public static final String MD_FILTER_6 = "md_filter_6"; + public static final String MD_FILTER_7 = "md_filter_7"; + public static final String MD_FILTER_8 = "md_filter_8"; + public static final String MD_FILTER_9 = "md_filter_9"; + public static final String MD_FILTER_9_PLUS = "md_filter_9_plus"; + public static final String MD_FILTER_B_AND_W = "md_filter_b_and_w"; + public static final String MD_FILTER_CENTER_FOCUS = "md_filter_center_focus"; + public static final String MD_FILTER_DRAMA = "md_filter_drama"; + public static final String MD_FILTER_FRAMES = "md_filter_frames"; + public static final String MD_FILTER_HDR = "md_filter_hdr"; + public static final String MD_FILTER_LIST = "md_filter_list"; + public static final String MD_FILTER_NONE = "md_filter_none"; + public static final String MD_FILTER_TILT_SHIFT = "md_filter_tilt_shift"; + public static final String MD_FILTER_VINTAGE = "md_filter_vintage"; + public static final String MD_FIND_IN_PAGE = "md_find_in_page"; + public static final String MD_FIND_REPLACE = "md_find_replace"; + public static final String MD_FINGERPRINT = "md_fingerprint"; + public static final String MD_FIRST_PAGE = "md_first_page"; + public static final String MD_FITNESS_CENTER = "md_fitness_center"; + public static final String MD_FLAG = "md_flag"; + public static final String MD_FLARE = "md_flare"; + public static final String MD_FLASH_AUTO = "md_flash_auto"; + public static final String MD_FLASH_OFF = "md_flash_off"; + public static final String MD_FLASH_ON = "md_flash_on"; + public static final String MD_FLIGHT = "md_flight"; + public static final String MD_FLIGHT_LAND = "md_flight_land"; + public static final String MD_FLIGHT_TAKEOFF = "md_flight_takeoff"; + public static final String MD_FLIP = "md_flip"; + public static final String MD_FLIP_TO_BACK = "md_flip_to_back"; + public static final String MD_FLIP_TO_FRONT = "md_flip_to_front"; + public static final String MD_FOLDER = "md_folder"; + public static final String MD_FOLDER_OPEN = "md_folder_open"; + public static final String MD_FOLDER_SHARED = "md_folder_shared"; + public static final String MD_FOLDER_SPECIAL = "md_folder_special"; + public static final String MD_FONT_DOWNLOAD = "md_font_download"; + public static final String MD_FORMAT_ALIGN_CENTER = "md_format_align_center"; + public static final String MD_FORMAT_ALIGN_JUSTIFY = "md_format_align_justify"; + public static final String MD_FORMAT_ALIGN_LEFT = "md_format_align_left"; + public static final String MD_FORMAT_ALIGN_RIGHT = "md_format_align_right"; + public static final String MD_FORMAT_BOLD = "md_format_bold"; + public static final String MD_FORMAT_CLEAR = "md_format_clear"; + public static final String MD_FORMAT_COLOR_FILL = "md_format_color_fill"; + public static final String MD_FORMAT_COLOR_RESET = "md_format_color_reset"; + public static final String MD_FORMAT_COLOR_TEXT = "md_format_color_text"; + public static final String MD_FORMAT_INDENT_DECREASE = "md_format_indent_decrease"; + public static final String MD_FORMAT_INDENT_INCREASE = "md_format_indent_increase"; + public static final String MD_FORMAT_ITALIC = "md_format_italic"; + public static final String MD_FORMAT_LINE_SPACING = "md_format_line_spacing"; + public static final String MD_FORMAT_LIST_BULLETED = "md_format_list_bulleted"; + public static final String MD_FORMAT_LIST_NUMBERED = "md_format_list_numbered"; + public static final String MD_FORMAT_PAINT = "md_format_paint"; + public static final String MD_FORMAT_QUOTE = "md_format_quote"; + public static final String MD_FORMAT_SHAPES = "md_format_shapes"; + public static final String MD_FORMAT_SIZE = "md_format_size"; + public static final String MD_FORMAT_STRIKETHROUGH = "md_format_strikethrough"; + public static final String MD_FORMAT_TEXTDIRECTION_L_TO_R = "md_format_textdirection_l_to_r"; + public static final String MD_FORMAT_TEXTDIRECTION_R_TO_L = "md_format_textdirection_r_to_l"; + public static final String MD_FORMAT_UNDERLINED = "md_format_underlined"; + public static final String MD_FORUM = "md_forum"; + public static final String MD_FORWARD = "md_forward"; + public static final String MD_FORWARD_10 = "md_forward_10"; + public static final String MD_FORWARD_30 = "md_forward_30"; + public static final String MD_FORWARD_5 = "md_forward_5"; + public static final String MD_FREE_BREAKFAST = "md_free_breakfast"; + public static final String MD_FULLSCREEN = "md_fullscreen"; + public static final String MD_FULLSCREEN_EXIT = "md_fullscreen_exit"; + public static final String MD_FUNCTIONS = "md_functions"; + public static final String MD_G_TRANSLATE = "md_g_translate"; + public static final String MD_GAMEPAD = "md_gamepad"; + public static final String MD_GAMES = "md_games"; + public static final String MD_GAVEL = "md_gavel"; + public static final String MD_GESTURE = "md_gesture"; + public static final String MD_GET_APP = "md_get_app"; + public static final String MD_GIF = "md_gif"; + public static final String MD_GOLF_COURSE = "md_golf_course"; + public static final String MD_GPS_FIXED = "md_gps_fixed"; + public static final String MD_GPS_NOT_FIXED = "md_gps_not_fixed"; + public static final String MD_GPS_OFF = "md_gps_off"; + public static final String MD_GRADE = "md_grade"; + public static final String MD_GRADIENT = "md_gradient"; + public static final String MD_GRAIN = "md_grain"; + public static final String MD_GRAPHIC_EQ = "md_graphic_eq"; + public static final String MD_GRID_OFF = "md_grid_off"; + public static final String MD_GRID_ON = "md_grid_on"; + public static final String MD_GROUP = "md_group"; + public static final String MD_GROUP_ADD = "md_group_add"; + public static final String MD_GROUP_WORK = "md_group_work"; + public static final String MD_HD = "md_hd"; + public static final String MD_HDR_OFF = "md_hdr_off"; + public static final String MD_HDR_ON = "md_hdr_on"; + public static final String MD_HDR_STRONG = "md_hdr_strong"; + public static final String MD_HDR_WEAK = "md_hdr_weak"; + public static final String MD_HEADSET = "md_headset"; + public static final String MD_HEADSET_MIC = "md_headset_mic"; + public static final String MD_HEALING = "md_healing"; + public static final String MD_HEARING = "md_hearing"; + public static final String MD_HELP = "md_help"; + public static final String MD_HELP_OUTLINE = "md_help_outline"; + public static final String MD_HIGH_QUALITY = "md_high_quality"; + public static final String MD_HIGHLIGHT = "md_highlight"; + public static final String MD_HIGHLIGHT_OFF = "md_highlight_off"; + public static final String MD_HISTORY = "md_history"; + public static final String MD_HOME = "md_home"; + public static final String MD_HOT_TUB = "md_hot_tub"; + public static final String MD_HOTEL = "md_hotel"; + public static final String MD_HOURGLASS_EMPTY = "md_hourglass_empty"; + public static final String MD_HOURGLASS_FULL = "md_hourglass_full"; + public static final String MD_HTTP = "md_http"; + public static final String MD_HTTPS = "md_https"; + public static final String MD_IMAGE = "md_image"; + public static final String MD_IMAGE_ASPECT_RATIO = "md_image_aspect_ratio"; + public static final String MD_IMPORT_CONTACTS = "md_import_contacts"; + public static final String MD_IMPORT_EXPORT = "md_import_export"; + public static final String MD_IMPORTANT_DEVICES = "md_important_devices"; + public static final String MD_INBOX = "md_inbox"; + public static final String MD_INDETERMINATE_CHECK_BOX = "md_indeterminate_check_box"; + public static final String MD_INFO = "md_info"; + public static final String MD_INFO_OUTLINE = "md_info_outline"; + public static final String MD_INPUT = "md_input"; + public static final String MD_INSERT_CHART = "md_insert_chart"; + public static final String MD_INSERT_COMMENT = "md_insert_comment"; + public static final String MD_INSERT_DRIVE_FILE = "md_insert_drive_file"; + public static final String MD_INSERT_EMOTICON = "md_insert_emoticon"; + public static final String MD_INSERT_INVITATION = "md_insert_invitation"; + public static final String MD_INSERT_LINK = "md_insert_link"; + public static final String MD_INSERT_PHOTO = "md_insert_photo"; + public static final String MD_INVERT_COLORS = "md_invert_colors"; + public static final String MD_INVERT_COLORS_OFF = "md_invert_colors_off"; + public static final String MD_ISO = "md_iso"; + public static final String MD_KEYBOARD = "md_keyboard"; + public static final String MD_KEYBOARD_ARROW_DOWN = "md_keyboard_arrow_down"; + public static final String MD_KEYBOARD_ARROW_LEFT = "md_keyboard_arrow_left"; + public static final String MD_KEYBOARD_ARROW_RIGHT = "md_keyboard_arrow_right"; + public static final String MD_KEYBOARD_ARROW_UP = "md_keyboard_arrow_up"; + public static final String MD_KEYBOARD_BACKSPACE = "md_keyboard_backspace"; + public static final String MD_KEYBOARD_CAPSLOCK = "md_keyboard_capslock"; + public static final String MD_KEYBOARD_HIDE = "md_keyboard_hide"; + public static final String MD_KEYBOARD_RETURN = "md_keyboard_return"; + public static final String MD_KEYBOARD_TAB = "md_keyboard_tab"; + public static final String MD_KEYBOARD_VOICE = "md_keyboard_voice"; + public static final String MD_KITCHEN = "md_kitchen"; + public static final String MD_LABEL = "md_label"; + public static final String MD_LABEL_OUTLINE = "md_label_outline"; + public static final String MD_LANDSCAPE = "md_landscape"; + public static final String MD_LANGUAGE = "md_language"; + public static final String MD_LAPTOP = "md_laptop"; + public static final String MD_LAPTOP_CHROMEBOOK = "md_laptop_chromebook"; + public static final String MD_LAPTOP_MAC = "md_laptop_mac"; + public static final String MD_LAPTOP_WINDOWS = "md_laptop_windows"; + public static final String MD_LAST_PAGE = "md_last_page"; + public static final String MD_LAUNCH = "md_launch"; + public static final String MD_LAYERS = "md_layers"; + public static final String MD_LAYERS_CLEAR = "md_layers_clear"; + public static final String MD_LEAK_ADD = "md_leak_add"; + public static final String MD_LEAK_REMOVE = "md_leak_remove"; + public static final String MD_LENS = "md_lens"; + public static final String MD_LIBRARY_ADD = "md_library_add"; + public static final String MD_LIBRARY_BOOKS = "md_library_books"; + public static final String MD_LIBRARY_MUSIC = "md_library_music"; + public static final String MD_LIGHTBULB_OUTLINE = "md_lightbulb_outline"; + public static final String MD_LINE_STYLE = "md_line_style"; + public static final String MD_LINE_WEIGHT = "md_line_weight"; + public static final String MD_LINEAR_SCALE = "md_linear_scale"; + public static final String MD_LINK = "md_link"; + public static final String MD_LINKED_CAMERA = "md_linked_camera"; + public static final String MD_LIST = "md_list"; + public static final String MD_LIVE_HELP = "md_live_help"; + public static final String MD_LIVE_TV = "md_live_tv"; + public static final String MD_LOCAL_ACTIVITY = "md_local_activity"; + public static final String MD_LOCAL_AIRPORT = "md_local_airport"; + public static final String MD_LOCAL_ATM = "md_local_atm"; + public static final String MD_LOCAL_BAR = "md_local_bar"; + public static final String MD_LOCAL_CAFE = "md_local_cafe"; + public static final String MD_LOCAL_CAR_WASH = "md_local_car_wash"; + public static final String MD_LOCAL_CONVENIENCE_STORE = "md_local_convenience_store"; + public static final String MD_LOCAL_DINING = "md_local_dining"; + public static final String MD_LOCAL_DRINK = "md_local_drink"; + public static final String MD_LOCAL_FLORIST = "md_local_florist"; + public static final String MD_LOCAL_GAS_STATION = "md_local_gas_station"; + public static final String MD_LOCAL_GROCERY_STORE = "md_local_grocery_store"; + public static final String MD_LOCAL_HOSPITAL = "md_local_hospital"; + public static final String MD_LOCAL_HOTEL = "md_local_hotel"; + public static final String MD_LOCAL_LAUNDRY_SERVICE = "md_local_laundry_service"; + public static final String MD_LOCAL_LIBRARY = "md_local_library"; + public static final String MD_LOCAL_MALL = "md_local_mall"; + public static final String MD_LOCAL_MOVIES = "md_local_movies"; + public static final String MD_LOCAL_OFFER = "md_local_offer"; + public static final String MD_LOCAL_PARKING = "md_local_parking"; + public static final String MD_LOCAL_PHARMACY = "md_local_pharmacy"; + public static final String MD_LOCAL_PHONE = "md_local_phone"; + public static final String MD_LOCAL_PIZZA = "md_local_pizza"; + public static final String MD_LOCAL_PLAY = "md_local_play"; + public static final String MD_LOCAL_POST_OFFICE = "md_local_post_office"; + public static final String MD_LOCAL_PRINTSHOP = "md_local_printshop"; + public static final String MD_LOCAL_SEE = "md_local_see"; + public static final String MD_LOCAL_SHIPPING = "md_local_shipping"; + public static final String MD_LOCAL_TAXI = "md_local_taxi"; + public static final String MD_LOCATION_CITY = "md_location_city"; + public static final String MD_LOCATION_DISABLED = "md_location_disabled"; + public static final String MD_LOCATION_OFF = "md_location_off"; + public static final String MD_LOCATION_ON = "md_location_on"; + public static final String MD_LOCATION_SEARCHING = "md_location_searching"; + public static final String MD_LOCK = "md_lock"; + public static final String MD_LOCK_OPEN = "md_lock_open"; + public static final String MD_LOCK_OUTLINE = "md_lock_outline"; + public static final String MD_LOOKS = "md_looks"; + public static final String MD_LOOKS_3 = "md_looks_3"; + public static final String MD_LOOKS_4 = "md_looks_4"; + public static final String MD_LOOKS_5 = "md_looks_5"; + public static final String MD_LOOKS_6 = "md_looks_6"; + public static final String MD_LOOKS_ONE = "md_looks_one"; + public static final String MD_LOOKS_TWO = "md_looks_two"; + public static final String MD_LOOP = "md_loop"; + public static final String MD_LOUPE = "md_loupe"; + public static final String MD_LOW_PRIORITY = "md_low_priority"; + public static final String MD_LOYALTY = "md_loyalty"; + public static final String MD_MAIL = "md_mail"; + public static final String MD_MAIL_OUTLINE = "md_mail_outline"; + public static final String MD_MAP = "md_map"; + public static final String MD_MARKUNREAD = "md_markunread"; + public static final String MD_MARKUNREAD_MAILBOX = "md_markunread_mailbox"; + public static final String MD_MEMORY = "md_memory"; + public static final String MD_MENU = "md_menu"; + public static final String MD_MERGE_TYPE = "md_merge_type"; + public static final String MD_MESSAGE = "md_message"; + public static final String MD_MIC = "md_mic"; + public static final String MD_MIC_NONE = "md_mic_none"; + public static final String MD_MIC_OFF = "md_mic_off"; + public static final String MD_MMS = "md_mms"; + public static final String MD_MODE_COMMENT = "md_mode_comment"; + public static final String MD_MODE_EDIT = "md_mode_edit"; + public static final String MD_MONETIZATION_ON = "md_monetization_on"; + public static final String MD_MONEY_OFF = "md_money_off"; + public static final String MD_MONOCHROME_PHOTOS = "md_monochrome_photos"; + public static final String MD_MOOD = "md_mood"; + public static final String MD_MOOD_BAD = "md_mood_bad"; + public static final String MD_MORE = "md_more"; + public static final String MD_MORE_HORIZ = "md_more_horiz"; + public static final String MD_MORE_VERT = "md_more_vert"; + public static final String MD_MOTORCYCLE = "md_motorcycle"; + public static final String MD_MOUSE = "md_mouse"; + public static final String MD_MOVE_TO_INBOX = "md_move_to_inbox"; + public static final String MD_MOVIE = "md_movie"; + public static final String MD_MOVIE_CREATION = "md_movie_creation"; + public static final String MD_MOVIE_FILTER = "md_movie_filter"; + public static final String MD_MULTILINE_CHART = "md_multiline_chart"; + public static final String MD_MUSIC_NOTE = "md_music_note"; + public static final String MD_MUSIC_VIDEO = "md_music_video"; + public static final String MD_MY_LOCATION = "md_my_location"; + public static final String MD_NATURE = "md_nature"; + public static final String MD_NATURE_PEOPLE = "md_nature_people"; + public static final String MD_NAVIGATE_BEFORE = "md_navigate_before"; + public static final String MD_NAVIGATE_NEXT = "md_navigate_next"; + public static final String MD_NAVIGATION = "md_navigation"; + public static final String MD_NEAR_ME = "md_near_me"; + public static final String MD_NETWORK_CELL = "md_network_cell"; + public static final String MD_NETWORK_CHECK = "md_network_check"; + public static final String MD_NETWORK_LOCKED = "md_network_locked"; + public static final String MD_NETWORK_WIFI = "md_network_wifi"; + public static final String MD_NEW_RELEASES = "md_new_releases"; + public static final String MD_NEXT_WEEK = "md_next_week"; + public static final String MD_NFC = "md_nfc"; + public static final String MD_NO_ENCRYPTION = "md_no_encryption"; + public static final String MD_NO_SIM = "md_no_sim"; + public static final String MD_NOT_INTERESTED = "md_not_interested"; + public static final String MD_NOTE = "md_note"; + public static final String MD_NOTE_ADD = "md_note_add"; + public static final String MD_NOTIFICATIONS = "md_notifications"; + public static final String MD_NOTIFICATIONS_ACTIVE = "md_notifications_active"; + public static final String MD_NOTIFICATIONS_NONE = "md_notifications_none"; + public static final String MD_NOTIFICATIONS_OFF = "md_notifications_off"; + public static final String MD_NOTIFICATIONS_PAUSED = "md_notifications_paused"; + public static final String MD_OFFLINE_PIN = "md_offline_pin"; + public static final String MD_ONDEMAND_VIDEO = "md_ondemand_video"; + public static final String MD_OPACITY = "md_opacity"; + public static final String MD_OPEN_IN_BROWSER = "md_open_in_browser"; + public static final String MD_OPEN_IN_NEW = "md_open_in_new"; + public static final String MD_OPEN_WITH = "md_open_with"; + public static final String MD_PAGES = "md_pages"; + public static final String MD_PAGEVIEW = "md_pageview"; + public static final String MD_PALETTE = "md_palette"; + public static final String MD_PAN_TOOL = "md_pan_tool"; + public static final String MD_PANORAMA = "md_panorama"; + public static final String MD_PANORAMA_FISH_EYE = "md_panorama_fish_eye"; + public static final String MD_PANORAMA_HORIZONTAL = "md_panorama_horizontal"; + public static final String MD_PANORAMA_VERTICAL = "md_panorama_vertical"; + public static final String MD_PANORAMA_WIDE_ANGLE = "md_panorama_wide_angle"; + public static final String MD_PARTY_MODE = "md_party_mode"; + public static final String MD_PAUSE = "md_pause"; + public static final String MD_PAUSE_CIRCLE_FILLED = "md_pause_circle_filled"; + public static final String MD_PAUSE_CIRCLE_OUTLINE = "md_pause_circle_outline"; + public static final String MD_PAYMENT = "md_payment"; + public static final String MD_PEOPLE = "md_people"; + public static final String MD_PEOPLE_OUTLINE = "md_people_outline"; + public static final String MD_PERM_CAMERA_MIC = "md_perm_camera_mic"; + public static final String MD_PERM_CONTACT_CALENDAR = "md_perm_contact_calendar"; + public static final String MD_PERM_DATA_SETTING = "md_perm_data_setting"; + public static final String MD_PERM_DEVICE_INFORMATION = "md_perm_device_information"; + public static final String MD_PERM_IDENTITY = "md_perm_identity"; + public static final String MD_PERM_MEDIA = "md_perm_media"; + public static final String MD_PERM_PHONE_MSG = "md_perm_phone_msg"; + public static final String MD_PERM_SCAN_WIFI = "md_perm_scan_wifi"; + public static final String MD_PERSON = "md_person"; + public static final String MD_PERSON_ADD = "md_person_add"; + public static final String MD_PERSON_OUTLINE = "md_person_outline"; + public static final String MD_PERSON_PIN = "md_person_pin"; + public static final String MD_PERSON_PIN_CIRCLE = "md_person_pin_circle"; + public static final String MD_PERSONAL_VIDEO = "md_personal_video"; + public static final String MD_PETS = "md_pets"; + public static final String MD_PHONE = "md_phone"; + public static final String MD_PHONE_ANDROID = "md_phone_android"; + public static final String MD_PHONE_BLUETOOTH_SPEAKER = "md_phone_bluetooth_speaker"; + public static final String MD_PHONE_FORWARDED = "md_phone_forwarded"; + public static final String MD_PHONE_IN_TALK = "md_phone_in_talk"; + public static final String MD_PHONE_IPHONE = "md_phone_iphone"; + public static final String MD_PHONE_LOCKED = "md_phone_locked"; + public static final String MD_PHONE_MISSED = "md_phone_missed"; + public static final String MD_PHONE_PAUSED = "md_phone_paused"; + public static final String MD_PHONELINK = "md_phonelink"; + public static final String MD_PHONELINK_ERASE = "md_phonelink_erase"; + public static final String MD_PHONELINK_LOCK = "md_phonelink_lock"; + public static final String MD_PHONELINK_OFF = "md_phonelink_off"; + public static final String MD_PHONELINK_RING = "md_phonelink_ring"; + public static final String MD_PHONELINK_SETUP = "md_phonelink_setup"; + public static final String MD_PHOTO = "md_photo"; + public static final String MD_PHOTO_ALBUM = "md_photo_album"; + public static final String MD_PHOTO_CAMERA = "md_photo_camera"; + public static final String MD_PHOTO_FILTER = "md_photo_filter"; + public static final String MD_PHOTO_LIBRARY = "md_photo_library"; + public static final String MD_PHOTO_SIZE_SELECT_ACTUAL = "md_photo_size_select_actual"; + public static final String MD_PHOTO_SIZE_SELECT_LARGE = "md_photo_size_select_large"; + public static final String MD_PHOTO_SIZE_SELECT_SMALL = "md_photo_size_select_small"; + public static final String MD_PICTURE_AS_PDF = "md_picture_as_pdf"; + public static final String MD_PICTURE_IN_PICTURE = "md_picture_in_picture"; + public static final String MD_PICTURE_IN_PICTURE_ALT = "md_picture_in_picture_alt"; + public static final String MD_PIE_CHART = "md_pie_chart"; + public static final String MD_PIE_CHART_OUTLINED = "md_pie_chart_outlined"; + public static final String MD_PIN_DROP = "md_pin_drop"; + public static final String MD_PLACE = "md_place"; + public static final String MD_PLAY_ARROW = "md_play_arrow"; + public static final String MD_PLAY_CIRCLE_FILLED = "md_play_circle_filled"; + public static final String MD_PLAY_CIRCLE_OUTLINE = "md_play_circle_outline"; + public static final String MD_PLAY_FOR_WORK = "md_play_for_work"; + public static final String MD_PLAYLIST_ADD = "md_playlist_add"; + public static final String MD_PLAYLIST_ADD_CHECK = "md_playlist_add_check"; + public static final String MD_PLAYLIST_PLAY = "md_playlist_play"; + public static final String MD_PLUS_ONE = "md_plus_one"; + public static final String MD_POLL = "md_poll"; + public static final String MD_POLYMER = "md_polymer"; + public static final String MD_POOL = "md_pool"; + public static final String MD_PORTABLE_WIFI_OFF = "md_portable_wifi_off"; + public static final String MD_PORTRAIT = "md_portrait"; + public static final String MD_POWER = "md_power"; + public static final String MD_POWER_INPUT = "md_power_input"; + public static final String MD_POWER_SETTINGS_NEW = "md_power_settings_new"; + public static final String MD_PREGNANT_WOMAN = "md_pregnant_woman"; + public static final String MD_PRESENT_TO_ALL = "md_present_to_all"; + public static final String MD_PRINT = "md_print"; + public static final String MD_PRIORITY_HIGH = "md_priority_high"; + public static final String MD_PUBLIC = "md_public"; + public static final String MD_PUBLISH = "md_publish"; + public static final String MD_QUERY_BUILDER = "md_query_builder"; + public static final String MD_QUESTION_ANSWER = "md_question_answer"; + public static final String MD_QUEUE = "md_queue"; + public static final String MD_QUEUE_MUSIC = "md_queue_music"; + public static final String MD_QUEUE_PLAY_NEXT = "md_queue_play_next"; + public static final String MD_RADIO = "md_radio"; + public static final String MD_RADIO_BUTTON_CHECKED = "md_radio_button_checked"; + public static final String MD_RADIO_BUTTON_UNCHECKED = "md_radio_button_unchecked"; + public static final String MD_RATE_REVIEW = "md_rate_review"; + public static final String MD_RECEIPT = "md_receipt"; + public static final String MD_RECENT_ACTORS = "md_recent_actors"; + public static final String MD_RECORD_VOICE_OVER = "md_record_voice_over"; + public static final String MD_REDEEM = "md_redeem"; + public static final String MD_REDO = "md_redo"; + public static final String MD_REFRESH = "md_refresh"; + public static final String MD_REMOVE = "md_remove"; + public static final String MD_REMOVE_CIRCLE = "md_remove_circle"; + public static final String MD_REMOVE_CIRCLE_OUTLINE = "md_remove_circle_outline"; + public static final String MD_REMOVE_FROM_QUEUE = "md_remove_from_queue"; + public static final String MD_REMOVE_RED_EYE = "md_remove_red_eye"; + public static final String MD_REMOVE_SHOPPING_CART = "md_remove_shopping_cart"; + public static final String MD_REORDER = "md_reorder"; + public static final String MD_REPEAT = "md_repeat"; + public static final String MD_REPEAT_ONE = "md_repeat_one"; + public static final String MD_REPLAY = "md_replay"; + public static final String MD_REPLAY_10 = "md_replay_10"; + public static final String MD_REPLAY_30 = "md_replay_30"; + public static final String MD_REPLAY_5 = "md_replay_5"; + public static final String MD_REPLY = "md_reply"; + public static final String MD_REPLY_ALL = "md_reply_all"; + public static final String MD_REPORT = "md_report"; + public static final String MD_REPORT_PROBLEM = "md_report_problem"; + public static final String MD_RESTAURANT = "md_restaurant"; + public static final String MD_RESTAURANT_MENU = "md_restaurant_menu"; + public static final String MD_RESTORE = "md_restore"; + public static final String MD_RESTORE_PAGE = "md_restore_page"; + public static final String MD_RING_VOLUME = "md_ring_volume"; + public static final String MD_ROOM = "md_room"; + public static final String MD_ROOM_SERVICE = "md_room_service"; + public static final String MD_ROTATE_90_DEGREES_CCW = "md_rotate_90_degrees_ccw"; + public static final String MD_ROTATE_LEFT = "md_rotate_left"; + public static final String MD_ROTATE_RIGHT = "md_rotate_right"; + public static final String MD_ROUNDED_CORNER = "md_rounded_corner"; + public static final String MD_ROUTER = "md_router"; + public static final String MD_ROWING = "md_rowing"; + public static final String MD_RSS_FEED = "md_rss_feed"; + public static final String MD_RV_HOOKUP = "md_rv_hookup"; + public static final String MD_SATELLITE = "md_satellite"; + public static final String MD_SAVE = "md_save"; + public static final String MD_SCANNER = "md_scanner"; + public static final String MD_SCHEDULE = "md_schedule"; + public static final String MD_SCHOOL = "md_school"; + public static final String MD_SCREEN_LOCK_LANDSCAPE = "md_screen_lock_landscape"; + public static final String MD_SCREEN_LOCK_PORTRAIT = "md_screen_lock_portrait"; + public static final String MD_SCREEN_LOCK_ROTATION = "md_screen_lock_rotation"; + public static final String MD_SCREEN_ROTATION = "md_screen_rotation"; + public static final String MD_SCREEN_SHARE = "md_screen_share"; + public static final String MD_SD_CARD = "md_sd_card"; + public static final String MD_SD_STORAGE = "md_sd_storage"; + public static final String MD_SEARCH = "md_search"; + public static final String MD_SECURITY = "md_security"; + public static final String MD_SELECT_ALL = "md_select_all"; + public static final String MD_SEND = "md_send"; + public static final String MD_SENTIMENT_DISSATISFIED = "md_sentiment_dissatisfied"; + public static final String MD_SENTIMENT_NEUTRAL = "md_sentiment_neutral"; + public static final String MD_SENTIMENT_SATISFIED = "md_sentiment_satisfied"; + public static final String MD_SENTIMENT_VERY_DISSATISFIED = "md_sentiment_very_dissatisfied"; + public static final String MD_SENTIMENT_VERY_SATISFIED = "md_sentiment_very_satisfied"; + public static final String MD_SETTINGS = "md_settings"; + public static final String MD_SETTINGS_APPLICATIONS = "md_settings_applications"; + public static final String MD_SETTINGS_BACKUP_RESTORE = "md_settings_backup_restore"; + public static final String MD_SETTINGS_BLUETOOTH = "md_settings_bluetooth"; + public static final String MD_SETTINGS_BRIGHTNESS = "md_settings_brightness"; + public static final String MD_SETTINGS_CELL = "md_settings_cell"; + public static final String MD_SETTINGS_ETHERNET = "md_settings_ethernet"; + public static final String MD_SETTINGS_INPUT_ANTENNA = "md_settings_input_antenna"; + public static final String MD_SETTINGS_INPUT_COMPONENT = "md_settings_input_component"; + public static final String MD_SETTINGS_INPUT_COMPOSITE = "md_settings_input_composite"; + public static final String MD_SETTINGS_INPUT_HDMI = "md_settings_input_hdmi"; + public static final String MD_SETTINGS_INPUT_SVIDEO = "md_settings_input_svideo"; + public static final String MD_SETTINGS_OVERSCAN = "md_settings_overscan"; + public static final String MD_SETTINGS_PHONE = "md_settings_phone"; + public static final String MD_SETTINGS_POWER = "md_settings_power"; + public static final String MD_SETTINGS_REMOTE = "md_settings_remote"; + public static final String MD_SETTINGS_SYSTEM_DAYDREAM = "md_settings_system_daydream"; + public static final String MD_SETTINGS_VOICE = "md_settings_voice"; + public static final String MD_SHARE = "md_share"; + public static final String MD_SHOP = "md_shop"; + public static final String MD_SHOP_TWO = "md_shop_two"; + public static final String MD_SHOPPING_BASKET = "md_shopping_basket"; + public static final String MD_SHOPPING_CART = "md_shopping_cart"; + public static final String MD_SHORT_TEXT = "md_short_text"; + public static final String MD_SHOW_CHART = "md_show_chart"; + public static final String MD_SHUFFLE = "md_shuffle"; + public static final String MD_SIGNAL_CELLULAR_4_BAR = "md_signal_cellular_4_bar"; + public static final String MD_SIGNAL_CELLULAR_CONNECTED_NO_INTERNET_4_BAR = "md_signal_cellular_connected_no_internet_4_bar"; + public static final String MD_SIGNAL_CELLULAR_NO_SIM = "md_signal_cellular_no_sim"; + public static final String MD_SIGNAL_CELLULAR_NULL = "md_signal_cellular_null"; + public static final String MD_SIGNAL_CELLULAR_OFF = "md_signal_cellular_off"; + public static final String MD_SIGNAL_WIFI_4_BAR = "md_signal_wifi_4_bar"; + public static final String MD_SIGNAL_WIFI_4_BAR_LOCK = "md_signal_wifi_4_bar_lock"; + public static final String MD_SIGNAL_WIFI_OFF = "md_signal_wifi_off"; + public static final String MD_SIM_CARD = "md_sim_card"; + public static final String MD_SIM_CARD_ALERT = "md_sim_card_alert"; + public static final String MD_SKIP_NEXT = "md_skip_next"; + public static final String MD_SKIP_PREVIOUS = "md_skip_previous"; + public static final String MD_SLIDESHOW = "md_slideshow"; + public static final String MD_SLOW_MOTION_VIDEO = "md_slow_motion_video"; + public static final String MD_SMARTPHONE = "md_smartphone"; + public static final String MD_SMOKE_FREE = "md_smoke_free"; + public static final String MD_SMOKING_ROOMS = "md_smoking_rooms"; + public static final String MD_SMS = "md_sms"; + public static final String MD_SMS_FAILED = "md_sms_failed"; + public static final String MD_SNOOZE = "md_snooze"; + public static final String MD_SORT = "md_sort"; + public static final String MD_SORT_BY_ALPHA = "md_sort_by_alpha"; + public static final String MD_SPA = "md_spa"; + public static final String MD_SPACE_BAR = "md_space_bar"; + public static final String MD_SPEAKER = "md_speaker"; + public static final String MD_SPEAKER_GROUP = "md_speaker_group"; + public static final String MD_SPEAKER_NOTES = "md_speaker_notes"; + public static final String MD_SPEAKER_NOTES_OFF = "md_speaker_notes_off"; + public static final String MD_SPEAKER_PHONE = "md_speaker_phone"; + public static final String MD_SPELLCHECK = "md_spellcheck"; + public static final String MD_STAR = "md_star"; + public static final String MD_STAR_BORDER = "md_star_border"; + public static final String MD_STAR_HALF = "md_star_half"; + public static final String MD_STARS = "md_stars"; + public static final String MD_STAY_CURRENT_LANDSCAPE = "md_stay_current_landscape"; + public static final String MD_STAY_CURRENT_PORTRAIT = "md_stay_current_portrait"; + public static final String MD_STAY_PRIMARY_LANDSCAPE = "md_stay_primary_landscape"; + public static final String MD_STAY_PRIMARY_PORTRAIT = "md_stay_primary_portrait"; + public static final String MD_STOP = "md_stop"; + public static final String MD_STOP_SCREEN_SHARE = "md_stop_screen_share"; + public static final String MD_STORAGE = "md_storage"; + public static final String MD_STORE = "md_store"; + public static final String MD_STORE_MALL_DIRECTORY = "md_store_mall_directory"; + public static final String MD_STRAIGHTEN = "md_straighten"; + public static final String MD_STREETVIEW = "md_streetview"; + public static final String MD_STRIKETHROUGH_S = "md_strikethrough_s"; + public static final String MD_STYLE = "md_style"; + public static final String MD_SUBDIRECTORY_ARROW_LEFT = "md_subdirectory_arrow_left"; + public static final String MD_SUBDIRECTORY_ARROW_RIGHT = "md_subdirectory_arrow_right"; + public static final String MD_SUBJECT = "md_subject"; + public static final String MD_SUBSCRIPTIONS = "md_subscriptions"; + public static final String MD_SUBTITLES = "md_subtitles"; + public static final String MD_SUBWAY = "md_subway"; + public static final String MD_SUPERVISOR_ACCOUNT = "md_supervisor_account"; + public static final String MD_SURROUND_SOUND = "md_surround_sound"; + public static final String MD_SWAP_CALLS = "md_swap_calls"; + public static final String MD_SWAP_HORIZ = "md_swap_horiz"; + public static final String MD_SWAP_VERT = "md_swap_vert"; + public static final String MD_SWAP_VERTICAL_CIRCLE = "md_swap_vertical_circle"; + public static final String MD_SWITCH_CAMERA = "md_switch_camera"; + public static final String MD_SWITCH_VIDEO = "md_switch_video"; + public static final String MD_SYNC = "md_sync"; + public static final String MD_SYNC_DISABLED = "md_sync_disabled"; + public static final String MD_SYNC_PROBLEM = "md_sync_problem"; + public static final String MD_SYSTEM_UPDATE = "md_system_update"; + public static final String MD_SYSTEM_UPDATE_ALT = "md_system_update_alt"; + public static final String MD_TAB = "md_tab"; + public static final String MD_TAB_UNSELECTED = "md_tab_unselected"; + public static final String MD_TABLET = "md_tablet"; + public static final String MD_TABLET_ANDROID = "md_tablet_android"; + public static final String MD_TABLET_MAC = "md_tablet_mac"; + public static final String MD_TAG_FACES = "md_tag_faces"; + public static final String MD_TAP_AND_PLAY = "md_tap_and_play"; + public static final String MD_TERRAIN = "md_terrain"; + public static final String MD_TEXT_FIELDS = "md_text_fields"; + public static final String MD_TEXT_FORMAT = "md_text_format"; + public static final String MD_TEXTSMS = "md_textsms"; + public static final String MD_TEXTURE = "md_texture"; + public static final String MD_THEATERS = "md_theaters"; + public static final String MD_THUMB_DOWN = "md_thumb_down"; + public static final String MD_THUMB_UP = "md_thumb_up"; + public static final String MD_THUMBS_UP_DOWN = "md_thumbs_up_down"; + public static final String MD_TIME_TO_LEAVE = "md_time_to_leave"; + public static final String MD_TIMELAPSE = "md_timelapse"; + public static final String MD_TIMELINE = "md_timeline"; + public static final String MD_TIMER = "md_timer"; + public static final String MD_TIMER_10 = "md_timer_10"; + public static final String MD_TIMER_3 = "md_timer_3"; + public static final String MD_TIMER_OFF = "md_timer_off"; + public static final String MD_TITLE = "md_title"; + public static final String MD_TOC = "md_toc"; + public static final String MD_TODAY = "md_today"; + public static final String MD_TOLL = "md_toll"; + public static final String MD_TONALITY = "md_tonality"; + public static final String MD_TOUCH_APP = "md_touch_app"; + public static final String MD_TOYS = "md_toys"; + public static final String MD_TRACK_CHANGES = "md_track_changes"; + public static final String MD_TRAFFIC = "md_traffic"; + public static final String MD_TRAIN = "md_train"; + public static final String MD_TRAM = "md_tram"; + public static final String MD_TRANSFER_WITHIN_A_STATION = "md_transfer_within_a_station"; + public static final String MD_TRANSFORM = "md_transform"; + public static final String MD_TRANSLATE = "md_translate"; + public static final String MD_TRENDING_DOWN = "md_trending_down"; + public static final String MD_TRENDING_FLAT = "md_trending_flat"; + public static final String MD_TRENDING_UP = "md_trending_up"; + public static final String MD_TUNE = "md_tune"; + public static final String MD_TURNED_IN = "md_turned_in"; + public static final String MD_TURNED_IN_NOT = "md_turned_in_not"; + public static final String MD_TV = "md_tv"; + public static final String MD_UNARCHIVE = "md_unarchive"; + public static final String MD_UNDO = "md_undo"; + public static final String MD_UNFOLD_LESS = "md_unfold_less"; + public static final String MD_UNFOLD_MORE = "md_unfold_more"; + public static final String MD_UPDATE = "md_update"; + public static final String MD_USB = "md_usb"; + public static final String MD_VERIFIED_USER = "md_verified_user"; + public static final String MD_VERTICAL_ALIGN_BOTTOM = "md_vertical_align_bottom"; + public static final String MD_VERTICAL_ALIGN_CENTER = "md_vertical_align_center"; + public static final String MD_VERTICAL_ALIGN_TOP = "md_vertical_align_top"; + public static final String MD_VIBRATION = "md_vibration"; + public static final String MD_VIDEO_CALL = "md_video_call"; + public static final String MD_VIDEO_LABEL = "md_video_label"; + public static final String MD_VIDEO_LIBRARY = "md_video_library"; + public static final String MD_VIDEOCAM = "md_videocam"; + public static final String MD_VIDEOCAM_OFF = "md_videocam_off"; + public static final String MD_VIDEOGAME_ASSET = "md_videogame_asset"; + public static final String MD_VIEW_AGENDA = "md_view_agenda"; + public static final String MD_VIEW_ARRAY = "md_view_array"; + public static final String MD_VIEW_CAROUSEL = "md_view_carousel"; + public static final String MD_VIEW_COLUMN = "md_view_column"; + public static final String MD_VIEW_COMFY = "md_view_comfy"; + public static final String MD_VIEW_COMPACT = "md_view_compact"; + public static final String MD_VIEW_DAY = "md_view_day"; + public static final String MD_VIEW_HEADLINE = "md_view_headline"; + public static final String MD_VIEW_LIST = "md_view_list"; + public static final String MD_VIEW_MODULE = "md_view_module"; + public static final String MD_VIEW_QUILT = "md_view_quilt"; + public static final String MD_VIEW_STREAM = "md_view_stream"; + public static final String MD_VIEW_WEEK = "md_view_week"; + public static final String MD_VIGNETTE = "md_vignette"; + public static final String MD_VISIBILITY = "md_visibility"; + public static final String MD_VISIBILITY_OFF = "md_visibility_off"; + public static final String MD_VOICE_CHAT = "md_voice_chat"; + public static final String MD_VOICEMAIL = "md_voicemail"; + public static final String MD_VOLUME_DOWN = "md_volume_down"; + public static final String MD_VOLUME_MUTE = "md_volume_mute"; + public static final String MD_VOLUME_OFF = "md_volume_off"; + public static final String MD_VOLUME_UP = "md_volume_up"; + public static final String MD_VPN_KEY = "md_vpn_key"; + public static final String MD_VPN_LOCK = "md_vpn_lock"; + public static final String MD_WALLPAPER = "md_wallpaper"; + public static final String MD_WARNING = "md_warning"; + public static final String MD_WATCH = "md_watch"; + public static final String MD_WATCH_LATER = "md_watch_later"; + public static final String MD_WB_AUTO = "md_wb_auto"; + public static final String MD_WB_CLOUDY = "md_wb_cloudy"; + public static final String MD_WB_INCANDESCENT = "md_wb_incandescent"; + public static final String MD_WB_IRIDESCENT = "md_wb_iridescent"; + public static final String MD_WB_SUNNY = "md_wb_sunny"; + public static final String MD_WC = "md_wc"; + public static final String MD_WEB = "md_web"; + public static final String MD_WEB_ASSET = "md_web_asset"; + public static final String MD_WEEKEND = "md_weekend"; + public static final String MD_WHATSHOT = "md_whatshot"; + public static final String MD_WIDGETS = "md_widgets"; + public static final String MD_WIFI = "md_wifi"; + public static final String MD_WIFI_LOCK = "md_wifi_lock"; + public static final String MD_WIFI_TETHERING = "md_wifi_tethering"; + public static final String MD_WORK = "md_work"; + public static final String MD_WRAP_TEXT = "md_wrap_text"; + public static final String MD_YOUTUBE_SEARCHED_FOR = "md_youtube_searched_for"; + public static final String MD_ZOOM_IN = "md_zoom_in"; + public static final String MD_ZOOM_OUT = "md_zoom_out"; + public static final String MD_ZOOM_OUT_MAP = "md_zoom_out_map"; + + static { + ICON_MAP.put(MD_3D_ROTATION, "\ue84d"); + ICON_MAP.put(MD_AC_UNIT, "\ueb3b"); + ICON_MAP.put(MD_ACCESS_ALARM, "\ue190"); + ICON_MAP.put(MD_ACCESS_ALARMS, "\ue191"); + ICON_MAP.put(MD_ACCESS_TIME, "\ue192"); + ICON_MAP.put(MD_ACCESSIBILITY, "\ue84e"); + ICON_MAP.put(MD_ACCESSIBLE, "\ue914"); + ICON_MAP.put(MD_ACCOUNT_BALANCE, "\ue84f"); + ICON_MAP.put(MD_ACCOUNT_BALANCE_WALLET, "\ue850"); + ICON_MAP.put(MD_ACCOUNT_BOX, "\ue851"); + ICON_MAP.put(MD_ACCOUNT_CIRCLE, "\ue853"); + ICON_MAP.put(MD_ADB, "\ue60e"); + ICON_MAP.put(MD_ADD, "\ue145"); + ICON_MAP.put(MD_ADD_A_PHOTO, "\ue439"); + ICON_MAP.put(MD_ADD_ALARM, "\ue193"); + ICON_MAP.put(MD_ADD_ALERT, "\ue003"); + ICON_MAP.put(MD_ADD_BOX, "\ue146"); + ICON_MAP.put(MD_ADD_CIRCLE, "\ue147"); + ICON_MAP.put(MD_ADD_CIRCLE_OUTLINE, "\ue148"); + ICON_MAP.put(MD_ADD_LOCATION, "\ue567"); + ICON_MAP.put(MD_ADD_SHOPPING_CART, "\ue854"); + ICON_MAP.put(MD_ADD_TO_PHOTOS, "\ue39d"); + ICON_MAP.put(MD_ADD_TO_QUEUE, "\ue05c"); + ICON_MAP.put(MD_ADJUST, "\ue39e"); + ICON_MAP.put(MD_AIRLINE_SEAT_FLAT, "\ue630"); + ICON_MAP.put(MD_AIRLINE_SEAT_FLAT_ANGLED, "\ue631"); + ICON_MAP.put(MD_AIRLINE_SEAT_INDIVIDUAL_SUITE, "\ue632"); + ICON_MAP.put(MD_AIRLINE_SEAT_LEGROOM_EXTRA, "\ue633"); + ICON_MAP.put(MD_AIRLINE_SEAT_LEGROOM_NORMAL, "\ue634"); + ICON_MAP.put(MD_AIRLINE_SEAT_LEGROOM_REDUCED, "\ue635"); + ICON_MAP.put(MD_AIRLINE_SEAT_RECLINE_EXTRA, "\ue636"); + ICON_MAP.put(MD_AIRLINE_SEAT_RECLINE_NORMAL, "\ue637"); + ICON_MAP.put(MD_AIRPLANEMODE_ACTIVE, "\ue195"); + ICON_MAP.put(MD_AIRPLANEMODE_INACTIVE, "\ue194"); + ICON_MAP.put(MD_AIRPLAY, "\ue055"); + ICON_MAP.put(MD_AIRPORT_SHUTTLE, "\ueb3c"); + ICON_MAP.put(MD_ALARM, "\ue855"); + ICON_MAP.put(MD_ALARM_ADD, "\ue856"); + ICON_MAP.put(MD_ALARM_OFF, "\ue857"); + ICON_MAP.put(MD_ALARM_ON, "\ue858"); + ICON_MAP.put(MD_ALBUM, "\ue019"); + ICON_MAP.put(MD_ALL_INCLUSIVE, "\ueb3d"); + ICON_MAP.put(MD_ALL_OUT, "\ue90b"); + ICON_MAP.put(MD_ANDROID, "\ue859"); + ICON_MAP.put(MD_ANNOUNCEMENT, "\ue85a"); + ICON_MAP.put(MD_APPS, "\ue5c3"); + ICON_MAP.put(MD_ARCHIVE, "\ue149"); + ICON_MAP.put(MD_ARROW_BACK, "\ue5c4"); + ICON_MAP.put(MD_ARROW_DOWNWARD, "\ue5db"); + ICON_MAP.put(MD_ARROW_DROP_DOWN, "\ue5c5"); + ICON_MAP.put(MD_ARROW_DROP_DOWN_CIRCLE, "\ue5c6"); + ICON_MAP.put(MD_ARROW_DROP_UP, "\ue5c7"); + ICON_MAP.put(MD_ARROW_FORWARD, "\ue5c8"); + ICON_MAP.put(MD_ARROW_UPWARD, "\ue5d8"); + ICON_MAP.put(MD_ART_TRACK, "\ue060"); + ICON_MAP.put(MD_ASPECT_RATIO, "\ue85b"); + ICON_MAP.put(MD_ASSESSMENT, "\ue85c"); + ICON_MAP.put(MD_ASSIGNMENT, "\ue85d"); + ICON_MAP.put(MD_ASSIGNMENT_IND, "\ue85e"); + ICON_MAP.put(MD_ASSIGNMENT_LATE, "\ue85f"); + ICON_MAP.put(MD_ASSIGNMENT_RETURN, "\ue860"); + ICON_MAP.put(MD_ASSIGNMENT_RETURNED, "\ue861"); + ICON_MAP.put(MD_ASSIGNMENT_TURNED_IN, "\ue862"); + ICON_MAP.put(MD_ASSISTANT, "\ue39f"); + ICON_MAP.put(MD_ASSISTANT_PHOTO, "\ue3a0"); + ICON_MAP.put(MD_ATTACH_FILE, "\ue226"); + ICON_MAP.put(MD_ATTACH_MONEY, "\ue227"); + ICON_MAP.put(MD_ATTACHMENT, "\ue2bc"); + ICON_MAP.put(MD_AUDIOTRACK, "\ue3a1"); + ICON_MAP.put(MD_AUTORENEW, "\ue863"); + ICON_MAP.put(MD_AV_TIMER, "\ue01b"); + ICON_MAP.put(MD_BACKSPACE, "\ue14a"); + ICON_MAP.put(MD_BACKUP, "\ue864"); + ICON_MAP.put(MD_BATTERY_ALERT, "\ue19c"); + ICON_MAP.put(MD_BATTERY_CHARGING_FULL, "\ue1a3"); + ICON_MAP.put(MD_BATTERY_FULL, "\ue1a4"); + ICON_MAP.put(MD_BATTERY_STD, "\ue1a5"); + ICON_MAP.put(MD_BATTERY_UNKNOWN, "\ue1a6"); + ICON_MAP.put(MD_BEACH_ACCESS, "\ueb3e"); + ICON_MAP.put(MD_BEENHERE, "\ue52d"); + ICON_MAP.put(MD_BLOCK, "\ue14b"); + ICON_MAP.put(MD_BLUETOOTH, "\ue1a7"); + ICON_MAP.put(MD_BLUETOOTH_AUDIO, "\ue60f"); + ICON_MAP.put(MD_BLUETOOTH_CONNECTED, "\ue1a8"); + ICON_MAP.put(MD_BLUETOOTH_DISABLED, "\ue1a9"); + ICON_MAP.put(MD_BLUETOOTH_SEARCHING, "\ue1aa"); + ICON_MAP.put(MD_BLUR_CIRCULAR, "\ue3a2"); + ICON_MAP.put(MD_BLUR_LINEAR, "\ue3a3"); + ICON_MAP.put(MD_BLUR_OFF, "\ue3a4"); + ICON_MAP.put(MD_BLUR_ON, "\ue3a5"); + ICON_MAP.put(MD_BOOK, "\ue865"); + ICON_MAP.put(MD_BOOKMARK, "\ue866"); + ICON_MAP.put(MD_BOOKMARK_BORDER, "\ue867"); + ICON_MAP.put(MD_BORDER_ALL, "\ue228"); + ICON_MAP.put(MD_BORDER_BOTTOM, "\ue229"); + ICON_MAP.put(MD_BORDER_CLEAR, "\ue22a"); + ICON_MAP.put(MD_BORDER_COLOR, "\ue22b"); + ICON_MAP.put(MD_BORDER_HORIZONTAL, "\ue22c"); + ICON_MAP.put(MD_BORDER_INNER, "\ue22d"); + ICON_MAP.put(MD_BORDER_LEFT, "\ue22e"); + ICON_MAP.put(MD_BORDER_OUTER, "\ue22f"); + ICON_MAP.put(MD_BORDER_RIGHT, "\ue230"); + ICON_MAP.put(MD_BORDER_STYLE, "\ue231"); + ICON_MAP.put(MD_BORDER_TOP, "\ue232"); + ICON_MAP.put(MD_BORDER_VERTICAL, "\ue233"); + ICON_MAP.put(MD_BRANDING_WATERMARK, "\ue06b"); + ICON_MAP.put(MD_BRIGHTNESS_1, "\ue3a6"); + ICON_MAP.put(MD_BRIGHTNESS_2, "\ue3a7"); + ICON_MAP.put(MD_BRIGHTNESS_3, "\ue3a8"); + ICON_MAP.put(MD_BRIGHTNESS_4, "\ue3a9"); + ICON_MAP.put(MD_BRIGHTNESS_5, "\ue3aa"); + ICON_MAP.put(MD_BRIGHTNESS_6, "\ue3ab"); + ICON_MAP.put(MD_BRIGHTNESS_7, "\ue3ac"); + ICON_MAP.put(MD_BRIGHTNESS_AUTO, "\ue1ab"); + ICON_MAP.put(MD_BRIGHTNESS_HIGH, "\ue1ac"); + ICON_MAP.put(MD_BRIGHTNESS_LOW, "\ue1ad"); + ICON_MAP.put(MD_BRIGHTNESS_MEDIUM, "\ue1ae"); + ICON_MAP.put(MD_BROKEN_IMAGE, "\ue3ad"); + ICON_MAP.put(MD_BRUSH, "\ue3ae"); + ICON_MAP.put(MD_BUBBLE_CHART, "\ue6dd"); + ICON_MAP.put(MD_BUG_REPORT, "\ue868"); + ICON_MAP.put(MD_BUILD, "\ue869"); + ICON_MAP.put(MD_BURST_MODE, "\ue43c"); + ICON_MAP.put(MD_BUSINESS, "\ue0af"); + ICON_MAP.put(MD_BUSINESS_CENTER, "\ueb3f"); + ICON_MAP.put(MD_CACHED, "\ue86a"); + ICON_MAP.put(MD_CAKE, "\ue7e9"); + ICON_MAP.put(MD_CALL, "\ue0b0"); + ICON_MAP.put(MD_CALL_END, "\ue0b1"); + ICON_MAP.put(MD_CALL_MADE, "\ue0b2"); + ICON_MAP.put(MD_CALL_MERGE, "\ue0b3"); + ICON_MAP.put(MD_CALL_MISSED, "\ue0b4"); + ICON_MAP.put(MD_CALL_MISSED_OUTGOING, "\ue0e4"); + ICON_MAP.put(MD_CALL_RECEIVED, "\ue0b5"); + ICON_MAP.put(MD_CALL_SPLIT, "\ue0b6"); + ICON_MAP.put(MD_CALL_TO_ACTION, "\ue06c"); + ICON_MAP.put(MD_CAMERA, "\ue3af"); + ICON_MAP.put(MD_CAMERA_ALT, "\ue3b0"); + ICON_MAP.put(MD_CAMERA_ENHANCE, "\ue8fc"); + ICON_MAP.put(MD_CAMERA_FRONT, "\ue3b1"); + ICON_MAP.put(MD_CAMERA_REAR, "\ue3b2"); + ICON_MAP.put(MD_CAMERA_ROLL, "\ue3b3"); + ICON_MAP.put(MD_CANCEL, "\ue5c9"); + ICON_MAP.put(MD_CARD_GIFTCARD, "\ue8f6"); + ICON_MAP.put(MD_CARD_MEMBERSHIP, "\ue8f7"); + ICON_MAP.put(MD_CARD_TRAVEL, "\ue8f8"); + ICON_MAP.put(MD_CASINO, "\ueb40"); + ICON_MAP.put(MD_CAST, "\ue307"); + ICON_MAP.put(MD_CAST_CONNECTED, "\ue308"); + ICON_MAP.put(MD_CENTER_FOCUS_STRONG, "\ue3b4"); + ICON_MAP.put(MD_CENTER_FOCUS_WEAK, "\ue3b5"); + ICON_MAP.put(MD_CHANGE_HISTORY, "\ue86b"); + ICON_MAP.put(MD_CHAT, "\ue0b7"); + ICON_MAP.put(MD_CHAT_BUBBLE, "\ue0ca"); + ICON_MAP.put(MD_CHAT_BUBBLE_OUTLINE, "\ue0cb"); + ICON_MAP.put(MD_CHECK, "\ue5ca"); + ICON_MAP.put(MD_CHECK_BOX, "\ue834"); + ICON_MAP.put(MD_CHECK_BOX_OUTLINE_BLANK, "\ue835"); + ICON_MAP.put(MD_CHECK_CIRCLE, "\ue86c"); + ICON_MAP.put(MD_CHEVRON_LEFT, "\ue5cb"); + ICON_MAP.put(MD_CHEVRON_RIGHT, "\ue5cc"); + ICON_MAP.put(MD_CHILD_CARE, "\ueb41"); + ICON_MAP.put(MD_CHILD_FRIENDLY, "\ueb42"); + ICON_MAP.put(MD_CHROME_READER_MODE, "\ue86d"); + ICON_MAP.put(MD_CLASS, "\ue86e"); + ICON_MAP.put(MD_CLEAR, "\ue14c"); + ICON_MAP.put(MD_CLEAR_ALL, "\ue0b8"); + ICON_MAP.put(MD_CLOSE, "\ue5cd"); + ICON_MAP.put(MD_CLOSED_CAPTION, "\ue01c"); + ICON_MAP.put(MD_CLOUD, "\ue2bd"); + ICON_MAP.put(MD_CLOUD_CIRCLE, "\ue2be"); + ICON_MAP.put(MD_CLOUD_DONE, "\ue2bf"); + ICON_MAP.put(MD_CLOUD_DOWNLOAD, "\ue2c0"); + ICON_MAP.put(MD_CLOUD_OFF, "\ue2c1"); + ICON_MAP.put(MD_CLOUD_QUEUE, "\ue2c2"); + ICON_MAP.put(MD_CLOUD_UPLOAD, "\ue2c3"); + ICON_MAP.put(MD_CODE, "\ue86f"); + ICON_MAP.put(MD_COLLECTIONS, "\ue3b6"); + ICON_MAP.put(MD_COLLECTIONS_BOOKMARK, "\ue431"); + ICON_MAP.put(MD_COLOR_LENS, "\ue3b7"); + ICON_MAP.put(MD_COLORIZE, "\ue3b8"); + ICON_MAP.put(MD_COMMENT, "\ue0b9"); + ICON_MAP.put(MD_COMPARE, "\ue3b9"); + ICON_MAP.put(MD_COMPARE_ARROWS, "\ue915"); + ICON_MAP.put(MD_COMPUTER, "\ue30a"); + ICON_MAP.put(MD_CONFIRMATION_NUMBER, "\ue638"); + ICON_MAP.put(MD_CONTACT_MAIL, "\ue0d0"); + ICON_MAP.put(MD_CONTACT_PHONE, "\ue0cf"); + ICON_MAP.put(MD_CONTACTS, "\ue0ba"); + ICON_MAP.put(MD_CONTENT_COPY, "\ue14d"); + ICON_MAP.put(MD_CONTENT_CUT, "\ue14e"); + ICON_MAP.put(MD_CONTENT_PASTE, "\ue14f"); + ICON_MAP.put(MD_CONTROL_POINT, "\ue3ba"); + ICON_MAP.put(MD_CONTROL_POINT_DUPLICATE, "\ue3bb"); + ICON_MAP.put(MD_COPYRIGHT, "\ue90c"); + ICON_MAP.put(MD_CREATE, "\ue150"); + ICON_MAP.put(MD_CREATE_NEW_FOLDER, "\ue2cc"); + ICON_MAP.put(MD_CREDIT_CARD, "\ue870"); + ICON_MAP.put(MD_CROP, "\ue3be"); + ICON_MAP.put(MD_CROP_16_9, "\ue3bc"); + ICON_MAP.put(MD_CROP_3_2, "\ue3bd"); + ICON_MAP.put(MD_CROP_5_4, "\ue3bf"); + ICON_MAP.put(MD_CROP_7_5, "\ue3c0"); + ICON_MAP.put(MD_CROP_DIN, "\ue3c1"); + ICON_MAP.put(MD_CROP_FREE, "\ue3c2"); + ICON_MAP.put(MD_CROP_LANDSCAPE, "\ue3c3"); + ICON_MAP.put(MD_CROP_ORIGINAL, "\ue3c4"); + ICON_MAP.put(MD_CROP_PORTRAIT, "\ue3c5"); + ICON_MAP.put(MD_CROP_ROTATE, "\ue437"); + ICON_MAP.put(MD_CROP_SQUARE, "\ue3c6"); + ICON_MAP.put(MD_DASHBOARD, "\ue871"); + ICON_MAP.put(MD_DATA_USAGE, "\ue1af"); + ICON_MAP.put(MD_DATE_RANGE, "\ue916"); + ICON_MAP.put(MD_DEHAZE, "\ue3c7"); + ICON_MAP.put(MD_DELETE, "\ue872"); + ICON_MAP.put(MD_DELETE_FOREVER, "\ue92b"); + ICON_MAP.put(MD_DELETE_SWEEP, "\ue16c"); + ICON_MAP.put(MD_DESCRIPTION, "\ue873"); + ICON_MAP.put(MD_DESKTOP_MAC, "\ue30b"); + ICON_MAP.put(MD_DESKTOP_WINDOWS, "\ue30c"); + ICON_MAP.put(MD_DETAILS, "\ue3c8"); + ICON_MAP.put(MD_DEVELOPER_BOARD, "\ue30d"); + ICON_MAP.put(MD_DEVELOPER_MODE, "\ue1b0"); + ICON_MAP.put(MD_DEVICE_HUB, "\ue335"); + ICON_MAP.put(MD_DEVICES, "\ue1b1"); + ICON_MAP.put(MD_DEVICES_OTHER, "\ue337"); + ICON_MAP.put(MD_DIALER_SIP, "\ue0bb"); + ICON_MAP.put(MD_DIALPAD, "\ue0bc"); + ICON_MAP.put(MD_DIRECTIONS, "\ue52e"); + ICON_MAP.put(MD_DIRECTIONS_BIKE, "\ue52f"); + ICON_MAP.put(MD_DIRECTIONS_BOAT, "\ue532"); + ICON_MAP.put(MD_DIRECTIONS_BUS, "\ue530"); + ICON_MAP.put(MD_DIRECTIONS_CAR, "\ue531"); + ICON_MAP.put(MD_DIRECTIONS_RAILWAY, "\ue534"); + ICON_MAP.put(MD_DIRECTIONS_RUN, "\ue566"); + ICON_MAP.put(MD_DIRECTIONS_SUBWAY, "\ue533"); + ICON_MAP.put(MD_DIRECTIONS_TRANSIT, "\ue535"); + ICON_MAP.put(MD_DIRECTIONS_WALK, "\ue536"); + ICON_MAP.put(MD_DISC_FULL, "\ue610"); + ICON_MAP.put(MD_DNS, "\ue875"); + ICON_MAP.put(MD_DO_NOT_DISTURB, "\ue612"); + ICON_MAP.put(MD_DO_NOT_DISTURB_ALT, "\ue611"); + ICON_MAP.put(MD_DO_NOT_DISTURB_OFF, "\ue643"); + ICON_MAP.put(MD_DO_NOT_DISTURB_ON, "\ue644"); + ICON_MAP.put(MD_DOCK, "\ue30e"); + ICON_MAP.put(MD_DOMAIN, "\ue7ee"); + ICON_MAP.put(MD_DONE, "\ue876"); + ICON_MAP.put(MD_DONE_ALL, "\ue877"); + ICON_MAP.put(MD_DONUT_LARGE, "\ue917"); + ICON_MAP.put(MD_DONUT_SMALL, "\ue918"); + ICON_MAP.put(MD_DRAFTS, "\ue151"); + ICON_MAP.put(MD_DRAG_HANDLE, "\ue25d"); + ICON_MAP.put(MD_DRIVE_ETA, "\ue613"); + ICON_MAP.put(MD_DVR, "\ue1b2"); + ICON_MAP.put(MD_EDIT, "\ue3c9"); + ICON_MAP.put(MD_EDIT_LOCATION, "\ue568"); + ICON_MAP.put(MD_EJECT, "\ue8fb"); + ICON_MAP.put(MD_EMAIL, "\ue0be"); + ICON_MAP.put(MD_ENHANCED_ENCRYPTION, "\ue63f"); + ICON_MAP.put(MD_EQUALIZER, "\ue01d"); + ICON_MAP.put(MD_ERROR, "\ue000"); + ICON_MAP.put(MD_ERROR_OUTLINE, "\ue001"); + ICON_MAP.put(MD_EURO_SYMBOL, "\ue926"); + ICON_MAP.put(MD_EV_STATION, "\ue56d"); + ICON_MAP.put(MD_EVENT, "\ue878"); + ICON_MAP.put(MD_EVENT_AVAILABLE, "\ue614"); + ICON_MAP.put(MD_EVENT_BUSY, "\ue615"); + ICON_MAP.put(MD_EVENT_NOTE, "\ue616"); + ICON_MAP.put(MD_EVENT_SEAT, "\ue903"); + ICON_MAP.put(MD_EXIT_TO_APP, "\ue879"); + ICON_MAP.put(MD_EXPAND_LESS, "\ue5ce"); + ICON_MAP.put(MD_EXPAND_MORE, "\ue5cf"); + ICON_MAP.put(MD_EXPLICIT, "\ue01e"); + ICON_MAP.put(MD_EXPLORE, "\ue87a"); + ICON_MAP.put(MD_EXPOSURE, "\ue3ca"); + ICON_MAP.put(MD_EXPOSURE_NEG_1, "\ue3cb"); + ICON_MAP.put(MD_EXPOSURE_NEG_2, "\ue3cc"); + ICON_MAP.put(MD_EXPOSURE_PLUS_1, "\ue3cd"); + ICON_MAP.put(MD_EXPOSURE_PLUS_2, "\ue3ce"); + ICON_MAP.put(MD_EXPOSURE_ZERO, "\ue3cf"); + ICON_MAP.put(MD_EXTENSION, "\ue87b"); + ICON_MAP.put(MD_FACE, "\ue87c"); + ICON_MAP.put(MD_FAST_FORWARD, "\ue01f"); + ICON_MAP.put(MD_FAST_REWIND, "\ue020"); + ICON_MAP.put(MD_FAVORITE, "\ue87d"); + ICON_MAP.put(MD_FAVORITE_BORDER, "\ue87e"); + ICON_MAP.put(MD_FEATURED_PLAY_LIST, "\ue06d"); + ICON_MAP.put(MD_FEATURED_VIDEO, "\ue06e"); + ICON_MAP.put(MD_FEEDBACK, "\ue87f"); + ICON_MAP.put(MD_FIBER_DVR, "\ue05d"); + ICON_MAP.put(MD_FIBER_MANUAL_RECORD, "\ue061"); + ICON_MAP.put(MD_FIBER_NEW, "\ue05e"); + ICON_MAP.put(MD_FIBER_PIN, "\ue06a"); + ICON_MAP.put(MD_FIBER_SMART_RECORD, "\ue062"); + ICON_MAP.put(MD_FILE_DOWNLOAD, "\ue2c4"); + ICON_MAP.put(MD_FILE_UPLOAD, "\ue2c6"); + ICON_MAP.put(MD_FILTER, "\ue3d3"); + ICON_MAP.put(MD_FILTER_1, "\ue3d0"); + ICON_MAP.put(MD_FILTER_2, "\ue3d1"); + ICON_MAP.put(MD_FILTER_3, "\ue3d2"); + ICON_MAP.put(MD_FILTER_4, "\ue3d4"); + ICON_MAP.put(MD_FILTER_5, "\ue3d5"); + ICON_MAP.put(MD_FILTER_6, "\ue3d6"); + ICON_MAP.put(MD_FILTER_7, "\ue3d7"); + ICON_MAP.put(MD_FILTER_8, "\ue3d8"); + ICON_MAP.put(MD_FILTER_9, "\ue3d9"); + ICON_MAP.put(MD_FILTER_9_PLUS, "\ue3da"); + ICON_MAP.put(MD_FILTER_B_AND_W, "\ue3db"); + ICON_MAP.put(MD_FILTER_CENTER_FOCUS, "\ue3dc"); + ICON_MAP.put(MD_FILTER_DRAMA, "\ue3dd"); + ICON_MAP.put(MD_FILTER_FRAMES, "\ue3de"); + ICON_MAP.put(MD_FILTER_HDR, "\ue3df"); + ICON_MAP.put(MD_FILTER_LIST, "\ue152"); + ICON_MAP.put(MD_FILTER_NONE, "\ue3e0"); + ICON_MAP.put(MD_FILTER_TILT_SHIFT, "\ue3e2"); + ICON_MAP.put(MD_FILTER_VINTAGE, "\ue3e3"); + ICON_MAP.put(MD_FIND_IN_PAGE, "\ue880"); + ICON_MAP.put(MD_FIND_REPLACE, "\ue881"); + ICON_MAP.put(MD_FINGERPRINT, "\ue90d"); + ICON_MAP.put(MD_FIRST_PAGE, "\ue5dc"); + ICON_MAP.put(MD_FITNESS_CENTER, "\ueb43"); + ICON_MAP.put(MD_FLAG, "\ue153"); + ICON_MAP.put(MD_FLARE, "\ue3e4"); + ICON_MAP.put(MD_FLASH_AUTO, "\ue3e5"); + ICON_MAP.put(MD_FLASH_OFF, "\ue3e6"); + ICON_MAP.put(MD_FLASH_ON, "\ue3e7"); + ICON_MAP.put(MD_FLIGHT, "\ue539"); + ICON_MAP.put(MD_FLIGHT_LAND, "\ue904"); + ICON_MAP.put(MD_FLIGHT_TAKEOFF, "\ue905"); + ICON_MAP.put(MD_FLIP, "\ue3e8"); + ICON_MAP.put(MD_FLIP_TO_BACK, "\ue882"); + ICON_MAP.put(MD_FLIP_TO_FRONT, "\ue883"); + ICON_MAP.put(MD_FOLDER, "\ue2c7"); + ICON_MAP.put(MD_FOLDER_OPEN, "\ue2c8"); + ICON_MAP.put(MD_FOLDER_SHARED, "\ue2c9"); + ICON_MAP.put(MD_FOLDER_SPECIAL, "\ue617"); + ICON_MAP.put(MD_FONT_DOWNLOAD, "\ue167"); + ICON_MAP.put(MD_FORMAT_ALIGN_CENTER, "\ue234"); + ICON_MAP.put(MD_FORMAT_ALIGN_JUSTIFY, "\ue235"); + ICON_MAP.put(MD_FORMAT_ALIGN_LEFT, "\ue236"); + ICON_MAP.put(MD_FORMAT_ALIGN_RIGHT, "\ue237"); + ICON_MAP.put(MD_FORMAT_BOLD, "\ue238"); + ICON_MAP.put(MD_FORMAT_CLEAR, "\ue239"); + ICON_MAP.put(MD_FORMAT_COLOR_FILL, "\ue23a"); + ICON_MAP.put(MD_FORMAT_COLOR_RESET, "\ue23b"); + ICON_MAP.put(MD_FORMAT_COLOR_TEXT, "\ue23c"); + ICON_MAP.put(MD_FORMAT_INDENT_DECREASE, "\ue23d"); + ICON_MAP.put(MD_FORMAT_INDENT_INCREASE, "\ue23e"); + ICON_MAP.put(MD_FORMAT_ITALIC, "\ue23f"); + ICON_MAP.put(MD_FORMAT_LINE_SPACING, "\ue240"); + ICON_MAP.put(MD_FORMAT_LIST_BULLETED, "\ue241"); + ICON_MAP.put(MD_FORMAT_LIST_NUMBERED, "\ue242"); + ICON_MAP.put(MD_FORMAT_PAINT, "\ue243"); + ICON_MAP.put(MD_FORMAT_QUOTE, "\ue244"); + ICON_MAP.put(MD_FORMAT_SHAPES, "\ue25e"); + ICON_MAP.put(MD_FORMAT_SIZE, "\ue245"); + ICON_MAP.put(MD_FORMAT_STRIKETHROUGH, "\ue246"); + ICON_MAP.put(MD_FORMAT_TEXTDIRECTION_L_TO_R, "\ue247"); + ICON_MAP.put(MD_FORMAT_TEXTDIRECTION_R_TO_L, "\ue248"); + ICON_MAP.put(MD_FORMAT_UNDERLINED, "\ue249"); + ICON_MAP.put(MD_FORUM, "\ue0bf"); + ICON_MAP.put(MD_FORWARD, "\ue154"); + ICON_MAP.put(MD_FORWARD_10, "\ue056"); + ICON_MAP.put(MD_FORWARD_30, "\ue057"); + ICON_MAP.put(MD_FORWARD_5, "\ue058"); + ICON_MAP.put(MD_FREE_BREAKFAST, "\ueb44"); + ICON_MAP.put(MD_FULLSCREEN, "\ue5d0"); + ICON_MAP.put(MD_FULLSCREEN_EXIT, "\ue5d1"); + ICON_MAP.put(MD_FUNCTIONS, "\ue24a"); + ICON_MAP.put(MD_G_TRANSLATE, "\ue927"); + ICON_MAP.put(MD_GAMEPAD, "\ue30f"); + ICON_MAP.put(MD_GAMES, "\ue021"); + ICON_MAP.put(MD_GAVEL, "\ue90e"); + ICON_MAP.put(MD_GESTURE, "\ue155"); + ICON_MAP.put(MD_GET_APP, "\ue884"); + ICON_MAP.put(MD_GIF, "\ue908"); + ICON_MAP.put(MD_GOLF_COURSE, "\ueb45"); + ICON_MAP.put(MD_GPS_FIXED, "\ue1b3"); + ICON_MAP.put(MD_GPS_NOT_FIXED, "\ue1b4"); + ICON_MAP.put(MD_GPS_OFF, "\ue1b5"); + ICON_MAP.put(MD_GRADE, "\ue885"); + ICON_MAP.put(MD_GRADIENT, "\ue3e9"); + ICON_MAP.put(MD_GRAIN, "\ue3ea"); + ICON_MAP.put(MD_GRAPHIC_EQ, "\ue1b8"); + ICON_MAP.put(MD_GRID_OFF, "\ue3eb"); + ICON_MAP.put(MD_GRID_ON, "\ue3ec"); + ICON_MAP.put(MD_GROUP, "\ue7ef"); + ICON_MAP.put(MD_GROUP_ADD, "\ue7f0"); + ICON_MAP.put(MD_GROUP_WORK, "\ue886"); + ICON_MAP.put(MD_HD, "\ue052"); + ICON_MAP.put(MD_HDR_OFF, "\ue3ed"); + ICON_MAP.put(MD_HDR_ON, "\ue3ee"); + ICON_MAP.put(MD_HDR_STRONG, "\ue3f1"); + ICON_MAP.put(MD_HDR_WEAK, "\ue3f2"); + ICON_MAP.put(MD_HEADSET, "\ue310"); + ICON_MAP.put(MD_HEADSET_MIC, "\ue311"); + ICON_MAP.put(MD_HEALING, "\ue3f3"); + ICON_MAP.put(MD_HEARING, "\ue023"); + ICON_MAP.put(MD_HELP, "\ue887"); + ICON_MAP.put(MD_HELP_OUTLINE, "\ue8fd"); + ICON_MAP.put(MD_HIGH_QUALITY, "\ue024"); + ICON_MAP.put(MD_HIGHLIGHT, "\ue25f"); + ICON_MAP.put(MD_HIGHLIGHT_OFF, "\ue888"); + ICON_MAP.put(MD_HISTORY, "\ue889"); + ICON_MAP.put(MD_HOME, "\ue88a"); + ICON_MAP.put(MD_HOT_TUB, "\ueb46"); + ICON_MAP.put(MD_HOTEL, "\ue53a"); + ICON_MAP.put(MD_HOURGLASS_EMPTY, "\ue88b"); + ICON_MAP.put(MD_HOURGLASS_FULL, "\ue88c"); + ICON_MAP.put(MD_HTTP, "\ue902"); + ICON_MAP.put(MD_HTTPS, "\ue88d"); + ICON_MAP.put(MD_IMAGE, "\ue3f4"); + ICON_MAP.put(MD_IMAGE_ASPECT_RATIO, "\ue3f5"); + ICON_MAP.put(MD_IMPORT_CONTACTS, "\ue0e0"); + ICON_MAP.put(MD_IMPORT_EXPORT, "\ue0c3"); + ICON_MAP.put(MD_IMPORTANT_DEVICES, "\ue912"); + ICON_MAP.put(MD_INBOX, "\ue156"); + ICON_MAP.put(MD_INDETERMINATE_CHECK_BOX, "\ue909"); + ICON_MAP.put(MD_INFO, "\ue88e"); + ICON_MAP.put(MD_INFO_OUTLINE, "\ue88f"); + ICON_MAP.put(MD_INPUT, "\ue890"); + ICON_MAP.put(MD_INSERT_CHART, "\ue24b"); + ICON_MAP.put(MD_INSERT_COMMENT, "\ue24c"); + ICON_MAP.put(MD_INSERT_DRIVE_FILE, "\ue24d"); + ICON_MAP.put(MD_INSERT_EMOTICON, "\ue24e"); + ICON_MAP.put(MD_INSERT_INVITATION, "\ue24f"); + ICON_MAP.put(MD_INSERT_LINK, "\ue250"); + ICON_MAP.put(MD_INSERT_PHOTO, "\ue251"); + ICON_MAP.put(MD_INVERT_COLORS, "\ue891"); + ICON_MAP.put(MD_INVERT_COLORS_OFF, "\ue0c4"); + ICON_MAP.put(MD_ISO, "\ue3f6"); + ICON_MAP.put(MD_KEYBOARD, "\ue312"); + ICON_MAP.put(MD_KEYBOARD_ARROW_DOWN, "\ue313"); + ICON_MAP.put(MD_KEYBOARD_ARROW_LEFT, "\ue314"); + ICON_MAP.put(MD_KEYBOARD_ARROW_RIGHT, "\ue315"); + ICON_MAP.put(MD_KEYBOARD_ARROW_UP, "\ue316"); + ICON_MAP.put(MD_KEYBOARD_BACKSPACE, "\ue317"); + ICON_MAP.put(MD_KEYBOARD_CAPSLOCK, "\ue318"); + ICON_MAP.put(MD_KEYBOARD_HIDE, "\ue31a"); + ICON_MAP.put(MD_KEYBOARD_RETURN, "\ue31b"); + ICON_MAP.put(MD_KEYBOARD_TAB, "\ue31c"); + ICON_MAP.put(MD_KEYBOARD_VOICE, "\ue31d"); + ICON_MAP.put(MD_KITCHEN, "\ueb47"); + ICON_MAP.put(MD_LABEL, "\ue892"); + ICON_MAP.put(MD_LABEL_OUTLINE, "\ue893"); + ICON_MAP.put(MD_LANDSCAPE, "\ue3f7"); + ICON_MAP.put(MD_LANGUAGE, "\ue894"); + ICON_MAP.put(MD_LAPTOP, "\ue31e"); + ICON_MAP.put(MD_LAPTOP_CHROMEBOOK, "\ue31f"); + ICON_MAP.put(MD_LAPTOP_MAC, "\ue320"); + ICON_MAP.put(MD_LAPTOP_WINDOWS, "\ue321"); + ICON_MAP.put(MD_LAST_PAGE, "\ue5dd"); + ICON_MAP.put(MD_LAUNCH, "\ue895"); + ICON_MAP.put(MD_LAYERS, "\ue53b"); + ICON_MAP.put(MD_LAYERS_CLEAR, "\ue53c"); + ICON_MAP.put(MD_LEAK_ADD, "\ue3f8"); + ICON_MAP.put(MD_LEAK_REMOVE, "\ue3f9"); + ICON_MAP.put(MD_LENS, "\ue3fa"); + ICON_MAP.put(MD_LIBRARY_ADD, "\ue02e"); + ICON_MAP.put(MD_LIBRARY_BOOKS, "\ue02f"); + ICON_MAP.put(MD_LIBRARY_MUSIC, "\ue030"); + ICON_MAP.put(MD_LIGHTBULB_OUTLINE, "\ue90f"); + ICON_MAP.put(MD_LINE_STYLE, "\ue919"); + ICON_MAP.put(MD_LINE_WEIGHT, "\ue91a"); + ICON_MAP.put(MD_LINEAR_SCALE, "\ue260"); + ICON_MAP.put(MD_LINK, "\ue157"); + ICON_MAP.put(MD_LINKED_CAMERA, "\ue438"); + ICON_MAP.put(MD_LIST, "\ue896"); + ICON_MAP.put(MD_LIVE_HELP, "\ue0c6"); + ICON_MAP.put(MD_LIVE_TV, "\ue639"); + ICON_MAP.put(MD_LOCAL_ACTIVITY, "\ue53f"); + ICON_MAP.put(MD_LOCAL_AIRPORT, "\ue53d"); + ICON_MAP.put(MD_LOCAL_ATM, "\ue53e"); + ICON_MAP.put(MD_LOCAL_BAR, "\ue540"); + ICON_MAP.put(MD_LOCAL_CAFE, "\ue541"); + ICON_MAP.put(MD_LOCAL_CAR_WASH, "\ue542"); + ICON_MAP.put(MD_LOCAL_CONVENIENCE_STORE, "\ue543"); + ICON_MAP.put(MD_LOCAL_DINING, "\ue556"); + ICON_MAP.put(MD_LOCAL_DRINK, "\ue544"); + ICON_MAP.put(MD_LOCAL_FLORIST, "\ue545"); + ICON_MAP.put(MD_LOCAL_GAS_STATION, "\ue546"); + ICON_MAP.put(MD_LOCAL_GROCERY_STORE, "\ue547"); + ICON_MAP.put(MD_LOCAL_HOSPITAL, "\ue548"); + ICON_MAP.put(MD_LOCAL_HOTEL, "\ue549"); + ICON_MAP.put(MD_LOCAL_LAUNDRY_SERVICE, "\ue54a"); + ICON_MAP.put(MD_LOCAL_LIBRARY, "\ue54b"); + ICON_MAP.put(MD_LOCAL_MALL, "\ue54c"); + ICON_MAP.put(MD_LOCAL_MOVIES, "\ue54d"); + ICON_MAP.put(MD_LOCAL_OFFER, "\ue54e"); + ICON_MAP.put(MD_LOCAL_PARKING, "\ue54f"); + ICON_MAP.put(MD_LOCAL_PHARMACY, "\ue550"); + ICON_MAP.put(MD_LOCAL_PHONE, "\ue551"); + ICON_MAP.put(MD_LOCAL_PIZZA, "\ue552"); + ICON_MAP.put(MD_LOCAL_PLAY, "\ue553"); + ICON_MAP.put(MD_LOCAL_POST_OFFICE, "\ue554"); + ICON_MAP.put(MD_LOCAL_PRINTSHOP, "\ue555"); + ICON_MAP.put(MD_LOCAL_SEE, "\ue557"); + ICON_MAP.put(MD_LOCAL_SHIPPING, "\ue558"); + ICON_MAP.put(MD_LOCAL_TAXI, "\ue559"); + ICON_MAP.put(MD_LOCATION_CITY, "\ue7f1"); + ICON_MAP.put(MD_LOCATION_DISABLED, "\ue1b6"); + ICON_MAP.put(MD_LOCATION_OFF, "\ue0c7"); + ICON_MAP.put(MD_LOCATION_ON, "\ue0c8"); + ICON_MAP.put(MD_LOCATION_SEARCHING, "\ue1b7"); + ICON_MAP.put(MD_LOCK, "\ue897"); + ICON_MAP.put(MD_LOCK_OPEN, "\ue898"); + ICON_MAP.put(MD_LOCK_OUTLINE, "\ue899"); + ICON_MAP.put(MD_LOOKS, "\ue3fc"); + ICON_MAP.put(MD_LOOKS_3, "\ue3fb"); + ICON_MAP.put(MD_LOOKS_4, "\ue3fd"); + ICON_MAP.put(MD_LOOKS_5, "\ue3fe"); + ICON_MAP.put(MD_LOOKS_6, "\ue3ff"); + ICON_MAP.put(MD_LOOKS_ONE, "\ue400"); + ICON_MAP.put(MD_LOOKS_TWO, "\ue401"); + ICON_MAP.put(MD_LOOP, "\ue028"); + ICON_MAP.put(MD_LOUPE, "\ue402"); + ICON_MAP.put(MD_LOW_PRIORITY, "\ue16d"); + ICON_MAP.put(MD_LOYALTY, "\ue89a"); + ICON_MAP.put(MD_MAIL, "\ue158"); + ICON_MAP.put(MD_MAIL_OUTLINE, "\ue0e1"); + ICON_MAP.put(MD_MAP, "\ue55b"); + ICON_MAP.put(MD_MARKUNREAD, "\ue159"); + ICON_MAP.put(MD_MARKUNREAD_MAILBOX, "\ue89b"); + ICON_MAP.put(MD_MEMORY, "\ue322"); + ICON_MAP.put(MD_MENU, "\ue5d2"); + ICON_MAP.put(MD_MERGE_TYPE, "\ue252"); + ICON_MAP.put(MD_MESSAGE, "\ue0c9"); + ICON_MAP.put(MD_MIC, "\ue029"); + ICON_MAP.put(MD_MIC_NONE, "\ue02a"); + ICON_MAP.put(MD_MIC_OFF, "\ue02b"); + ICON_MAP.put(MD_MMS, "\ue618"); + ICON_MAP.put(MD_MODE_COMMENT, "\ue253"); + ICON_MAP.put(MD_MODE_EDIT, "\ue254"); + ICON_MAP.put(MD_MONETIZATION_ON, "\ue263"); + ICON_MAP.put(MD_MONEY_OFF, "\ue25c"); + ICON_MAP.put(MD_MONOCHROME_PHOTOS, "\ue403"); + ICON_MAP.put(MD_MOOD, "\ue7f2"); + ICON_MAP.put(MD_MOOD_BAD, "\ue7f3"); + ICON_MAP.put(MD_MORE, "\ue619"); + ICON_MAP.put(MD_MORE_HORIZ, "\ue5d3"); + ICON_MAP.put(MD_MORE_VERT, "\ue5d4"); + ICON_MAP.put(MD_MOTORCYCLE, "\ue91b"); + ICON_MAP.put(MD_MOUSE, "\ue323"); + ICON_MAP.put(MD_MOVE_TO_INBOX, "\ue168"); + ICON_MAP.put(MD_MOVIE, "\ue02c"); + ICON_MAP.put(MD_MOVIE_CREATION, "\ue404"); + ICON_MAP.put(MD_MOVIE_FILTER, "\ue43a"); + ICON_MAP.put(MD_MULTILINE_CHART, "\ue6df"); + ICON_MAP.put(MD_MUSIC_NOTE, "\ue405"); + ICON_MAP.put(MD_MUSIC_VIDEO, "\ue063"); + ICON_MAP.put(MD_MY_LOCATION, "\ue55c"); + ICON_MAP.put(MD_NATURE, "\ue406"); + ICON_MAP.put(MD_NATURE_PEOPLE, "\ue407"); + ICON_MAP.put(MD_NAVIGATE_BEFORE, "\ue408"); + ICON_MAP.put(MD_NAVIGATE_NEXT, "\ue409"); + ICON_MAP.put(MD_NAVIGATION, "\ue55d"); + ICON_MAP.put(MD_NEAR_ME, "\ue569"); + ICON_MAP.put(MD_NETWORK_CELL, "\ue1b9"); + ICON_MAP.put(MD_NETWORK_CHECK, "\ue640"); + ICON_MAP.put(MD_NETWORK_LOCKED, "\ue61a"); + ICON_MAP.put(MD_NETWORK_WIFI, "\ue1ba"); + ICON_MAP.put(MD_NEW_RELEASES, "\ue031"); + ICON_MAP.put(MD_NEXT_WEEK, "\ue16a"); + ICON_MAP.put(MD_NFC, "\ue1bb"); + ICON_MAP.put(MD_NO_ENCRYPTION, "\ue641"); + ICON_MAP.put(MD_NO_SIM, "\ue0cc"); + ICON_MAP.put(MD_NOT_INTERESTED, "\ue033"); + ICON_MAP.put(MD_NOTE, "\ue06f"); + ICON_MAP.put(MD_NOTE_ADD, "\ue89c"); + ICON_MAP.put(MD_NOTIFICATIONS, "\ue7f4"); + ICON_MAP.put(MD_NOTIFICATIONS_ACTIVE, "\ue7f7"); + ICON_MAP.put(MD_NOTIFICATIONS_NONE, "\ue7f5"); + ICON_MAP.put(MD_NOTIFICATIONS_OFF, "\ue7f6"); + ICON_MAP.put(MD_NOTIFICATIONS_PAUSED, "\ue7f8"); + ICON_MAP.put(MD_OFFLINE_PIN, "\ue90a"); + ICON_MAP.put(MD_ONDEMAND_VIDEO, "\ue63a"); + ICON_MAP.put(MD_OPACITY, "\ue91c"); + ICON_MAP.put(MD_OPEN_IN_BROWSER, "\ue89d"); + ICON_MAP.put(MD_OPEN_IN_NEW, "\ue89e"); + ICON_MAP.put(MD_OPEN_WITH, "\ue89f"); + ICON_MAP.put(MD_PAGES, "\ue7f9"); + ICON_MAP.put(MD_PAGEVIEW, "\ue8a0"); + ICON_MAP.put(MD_PALETTE, "\ue40a"); + ICON_MAP.put(MD_PAN_TOOL, "\ue925"); + ICON_MAP.put(MD_PANORAMA, "\ue40b"); + ICON_MAP.put(MD_PANORAMA_FISH_EYE, "\ue40c"); + ICON_MAP.put(MD_PANORAMA_HORIZONTAL, "\ue40d"); + ICON_MAP.put(MD_PANORAMA_VERTICAL, "\ue40e"); + ICON_MAP.put(MD_PANORAMA_WIDE_ANGLE, "\ue40f"); + ICON_MAP.put(MD_PARTY_MODE, "\ue7fa"); + ICON_MAP.put(MD_PAUSE, "\ue034"); + ICON_MAP.put(MD_PAUSE_CIRCLE_FILLED, "\ue035"); + ICON_MAP.put(MD_PAUSE_CIRCLE_OUTLINE, "\ue036"); + ICON_MAP.put(MD_PAYMENT, "\ue8a1"); + ICON_MAP.put(MD_PEOPLE, "\ue7fb"); + ICON_MAP.put(MD_PEOPLE_OUTLINE, "\ue7fc"); + ICON_MAP.put(MD_PERM_CAMERA_MIC, "\ue8a2"); + ICON_MAP.put(MD_PERM_CONTACT_CALENDAR, "\ue8a3"); + ICON_MAP.put(MD_PERM_DATA_SETTING, "\ue8a4"); + ICON_MAP.put(MD_PERM_DEVICE_INFORMATION, "\ue8a5"); + ICON_MAP.put(MD_PERM_IDENTITY, "\ue8a6"); + ICON_MAP.put(MD_PERM_MEDIA, "\ue8a7"); + ICON_MAP.put(MD_PERM_PHONE_MSG, "\ue8a8"); + ICON_MAP.put(MD_PERM_SCAN_WIFI, "\ue8a9"); + ICON_MAP.put(MD_PERSON, "\ue7fd"); + ICON_MAP.put(MD_PERSON_ADD, "\ue7fe"); + ICON_MAP.put(MD_PERSON_OUTLINE, "\ue7ff"); + ICON_MAP.put(MD_PERSON_PIN, "\ue55a"); + ICON_MAP.put(MD_PERSON_PIN_CIRCLE, "\ue56a"); + ICON_MAP.put(MD_PERSONAL_VIDEO, "\ue63b"); + ICON_MAP.put(MD_PETS, "\ue91d"); + ICON_MAP.put(MD_PHONE, "\ue0cd"); + ICON_MAP.put(MD_PHONE_ANDROID, "\ue324"); + ICON_MAP.put(MD_PHONE_BLUETOOTH_SPEAKER, "\ue61b"); + ICON_MAP.put(MD_PHONE_FORWARDED, "\ue61c"); + ICON_MAP.put(MD_PHONE_IN_TALK, "\ue61d"); + ICON_MAP.put(MD_PHONE_IPHONE, "\ue325"); + ICON_MAP.put(MD_PHONE_LOCKED, "\ue61e"); + ICON_MAP.put(MD_PHONE_MISSED, "\ue61f"); + ICON_MAP.put(MD_PHONE_PAUSED, "\ue620"); + ICON_MAP.put(MD_PHONELINK, "\ue326"); + ICON_MAP.put(MD_PHONELINK_ERASE, "\ue0db"); + ICON_MAP.put(MD_PHONELINK_LOCK, "\ue0dc"); + ICON_MAP.put(MD_PHONELINK_OFF, "\ue327"); + ICON_MAP.put(MD_PHONELINK_RING, "\ue0dd"); + ICON_MAP.put(MD_PHONELINK_SETUP, "\ue0de"); + ICON_MAP.put(MD_PHOTO, "\ue410"); + ICON_MAP.put(MD_PHOTO_ALBUM, "\ue411"); + ICON_MAP.put(MD_PHOTO_CAMERA, "\ue412"); + ICON_MAP.put(MD_PHOTO_FILTER, "\ue43b"); + ICON_MAP.put(MD_PHOTO_LIBRARY, "\ue413"); + ICON_MAP.put(MD_PHOTO_SIZE_SELECT_ACTUAL, "\ue432"); + ICON_MAP.put(MD_PHOTO_SIZE_SELECT_LARGE, "\ue433"); + ICON_MAP.put(MD_PHOTO_SIZE_SELECT_SMALL, "\ue434"); + ICON_MAP.put(MD_PICTURE_AS_PDF, "\ue415"); + ICON_MAP.put(MD_PICTURE_IN_PICTURE, "\ue8aa"); + ICON_MAP.put(MD_PICTURE_IN_PICTURE_ALT, "\ue911"); + ICON_MAP.put(MD_PIE_CHART, "\ue6c4"); + ICON_MAP.put(MD_PIE_CHART_OUTLINED, "\ue6c5"); + ICON_MAP.put(MD_PIN_DROP, "\ue55e"); + ICON_MAP.put(MD_PLACE, "\ue55f"); + ICON_MAP.put(MD_PLAY_ARROW, "\ue037"); + ICON_MAP.put(MD_PLAY_CIRCLE_FILLED, "\ue038"); + ICON_MAP.put(MD_PLAY_CIRCLE_OUTLINE, "\ue039"); + ICON_MAP.put(MD_PLAY_FOR_WORK, "\ue906"); + ICON_MAP.put(MD_PLAYLIST_ADD, "\ue03b"); + ICON_MAP.put(MD_PLAYLIST_ADD_CHECK, "\ue065"); + ICON_MAP.put(MD_PLAYLIST_PLAY, "\ue05f"); + ICON_MAP.put(MD_PLUS_ONE, "\ue800"); + ICON_MAP.put(MD_POLL, "\ue801"); + ICON_MAP.put(MD_POLYMER, "\ue8ab"); + ICON_MAP.put(MD_POOL, "\ueb48"); + ICON_MAP.put(MD_PORTABLE_WIFI_OFF, "\ue0ce"); + ICON_MAP.put(MD_PORTRAIT, "\ue416"); + ICON_MAP.put(MD_POWER, "\ue63c"); + ICON_MAP.put(MD_POWER_INPUT, "\ue336"); + ICON_MAP.put(MD_POWER_SETTINGS_NEW, "\ue8ac"); + ICON_MAP.put(MD_PREGNANT_WOMAN, "\ue91e"); + ICON_MAP.put(MD_PRESENT_TO_ALL, "\ue0df"); + ICON_MAP.put(MD_PRINT, "\ue8ad"); + ICON_MAP.put(MD_PRIORITY_HIGH, "\ue645"); + ICON_MAP.put(MD_PUBLIC, "\ue80b"); + ICON_MAP.put(MD_PUBLISH, "\ue255"); + ICON_MAP.put(MD_QUERY_BUILDER, "\ue8ae"); + ICON_MAP.put(MD_QUESTION_ANSWER, "\ue8af"); + ICON_MAP.put(MD_QUEUE, "\ue03c"); + ICON_MAP.put(MD_QUEUE_MUSIC, "\ue03d"); + ICON_MAP.put(MD_QUEUE_PLAY_NEXT, "\ue066"); + ICON_MAP.put(MD_RADIO, "\ue03e"); + ICON_MAP.put(MD_RADIO_BUTTON_CHECKED, "\ue837"); + ICON_MAP.put(MD_RADIO_BUTTON_UNCHECKED, "\ue836"); + ICON_MAP.put(MD_RATE_REVIEW, "\ue560"); + ICON_MAP.put(MD_RECEIPT, "\ue8b0"); + ICON_MAP.put(MD_RECENT_ACTORS, "\ue03f"); + ICON_MAP.put(MD_RECORD_VOICE_OVER, "\ue91f"); + ICON_MAP.put(MD_REDEEM, "\ue8b1"); + ICON_MAP.put(MD_REDO, "\ue15a"); + ICON_MAP.put(MD_REFRESH, "\ue5d5"); + ICON_MAP.put(MD_REMOVE, "\ue15b"); + ICON_MAP.put(MD_REMOVE_CIRCLE, "\ue15c"); + ICON_MAP.put(MD_REMOVE_CIRCLE_OUTLINE, "\ue15d"); + ICON_MAP.put(MD_REMOVE_FROM_QUEUE, "\ue067"); + ICON_MAP.put(MD_REMOVE_RED_EYE, "\ue417"); + ICON_MAP.put(MD_REMOVE_SHOPPING_CART, "\ue928"); + ICON_MAP.put(MD_REORDER, "\ue8fe"); + ICON_MAP.put(MD_REPEAT, "\ue040"); + ICON_MAP.put(MD_REPEAT_ONE, "\ue041"); + ICON_MAP.put(MD_REPLAY, "\ue042"); + ICON_MAP.put(MD_REPLAY_10, "\ue059"); + ICON_MAP.put(MD_REPLAY_30, "\ue05a"); + ICON_MAP.put(MD_REPLAY_5, "\ue05b"); + ICON_MAP.put(MD_REPLY, "\ue15e"); + ICON_MAP.put(MD_REPLY_ALL, "\ue15f"); + ICON_MAP.put(MD_REPORT, "\ue160"); + ICON_MAP.put(MD_REPORT_PROBLEM, "\ue8b2"); + ICON_MAP.put(MD_RESTAURANT, "\ue56c"); + ICON_MAP.put(MD_RESTAURANT_MENU, "\ue561"); + ICON_MAP.put(MD_RESTORE, "\ue8b3"); + ICON_MAP.put(MD_RESTORE_PAGE, "\ue929"); + ICON_MAP.put(MD_RING_VOLUME, "\ue0d1"); + ICON_MAP.put(MD_ROOM, "\ue8b4"); + ICON_MAP.put(MD_ROOM_SERVICE, "\ueb49"); + ICON_MAP.put(MD_ROTATE_90_DEGREES_CCW, "\ue418"); + ICON_MAP.put(MD_ROTATE_LEFT, "\ue419"); + ICON_MAP.put(MD_ROTATE_RIGHT, "\ue41a"); + ICON_MAP.put(MD_ROUNDED_CORNER, "\ue920"); + ICON_MAP.put(MD_ROUTER, "\ue328"); + ICON_MAP.put(MD_ROWING, "\ue921"); + ICON_MAP.put(MD_RSS_FEED, "\ue0e5"); + ICON_MAP.put(MD_RV_HOOKUP, "\ue642"); + ICON_MAP.put(MD_SATELLITE, "\ue562"); + ICON_MAP.put(MD_SAVE, "\ue161"); + ICON_MAP.put(MD_SCANNER, "\ue329"); + ICON_MAP.put(MD_SCHEDULE, "\ue8b5"); + ICON_MAP.put(MD_SCHOOL, "\ue80c"); + ICON_MAP.put(MD_SCREEN_LOCK_LANDSCAPE, "\ue1be"); + ICON_MAP.put(MD_SCREEN_LOCK_PORTRAIT, "\ue1bf"); + ICON_MAP.put(MD_SCREEN_LOCK_ROTATION, "\ue1c0"); + ICON_MAP.put(MD_SCREEN_ROTATION, "\ue1c1"); + ICON_MAP.put(MD_SCREEN_SHARE, "\ue0e2"); + ICON_MAP.put(MD_SD_CARD, "\ue623"); + ICON_MAP.put(MD_SD_STORAGE, "\ue1c2"); + ICON_MAP.put(MD_SEARCH, "\ue8b6"); + ICON_MAP.put(MD_SECURITY, "\ue32a"); + ICON_MAP.put(MD_SELECT_ALL, "\ue162"); + ICON_MAP.put(MD_SEND, "\ue163"); + ICON_MAP.put(MD_SENTIMENT_DISSATISFIED, "\ue811"); + ICON_MAP.put(MD_SENTIMENT_NEUTRAL, "\ue812"); + ICON_MAP.put(MD_SENTIMENT_SATISFIED, "\ue813"); + ICON_MAP.put(MD_SENTIMENT_VERY_DISSATISFIED, "\ue814"); + ICON_MAP.put(MD_SENTIMENT_VERY_SATISFIED, "\ue815"); + ICON_MAP.put(MD_SETTINGS, "\ue8b8"); + ICON_MAP.put(MD_SETTINGS_APPLICATIONS, "\ue8b9"); + ICON_MAP.put(MD_SETTINGS_BACKUP_RESTORE, "\ue8ba"); + ICON_MAP.put(MD_SETTINGS_BLUETOOTH, "\ue8bb"); + ICON_MAP.put(MD_SETTINGS_BRIGHTNESS, "\ue8bd"); + ICON_MAP.put(MD_SETTINGS_CELL, "\ue8bc"); + ICON_MAP.put(MD_SETTINGS_ETHERNET, "\ue8be"); + ICON_MAP.put(MD_SETTINGS_INPUT_ANTENNA, "\ue8bf"); + ICON_MAP.put(MD_SETTINGS_INPUT_COMPONENT, "\ue8c0"); + ICON_MAP.put(MD_SETTINGS_INPUT_COMPOSITE, "\ue8c1"); + ICON_MAP.put(MD_SETTINGS_INPUT_HDMI, "\ue8c2"); + ICON_MAP.put(MD_SETTINGS_INPUT_SVIDEO, "\ue8c3"); + ICON_MAP.put(MD_SETTINGS_OVERSCAN, "\ue8c4"); + ICON_MAP.put(MD_SETTINGS_PHONE, "\ue8c5"); + ICON_MAP.put(MD_SETTINGS_POWER, "\ue8c6"); + ICON_MAP.put(MD_SETTINGS_REMOTE, "\ue8c7"); + ICON_MAP.put(MD_SETTINGS_SYSTEM_DAYDREAM, "\ue1c3"); + ICON_MAP.put(MD_SETTINGS_VOICE, "\ue8c8"); + ICON_MAP.put(MD_SHARE, "\ue80d"); + ICON_MAP.put(MD_SHOP, "\ue8c9"); + ICON_MAP.put(MD_SHOP_TWO, "\ue8ca"); + ICON_MAP.put(MD_SHOPPING_BASKET, "\ue8cb"); + ICON_MAP.put(MD_SHOPPING_CART, "\ue8cc"); + ICON_MAP.put(MD_SHORT_TEXT, "\ue261"); + ICON_MAP.put(MD_SHOW_CHART, "\ue6e1"); + ICON_MAP.put(MD_SHUFFLE, "\ue043"); + ICON_MAP.put(MD_SIGNAL_CELLULAR_4_BAR, "\ue1c8"); + ICON_MAP.put(MD_SIGNAL_CELLULAR_CONNECTED_NO_INTERNET_4_BAR, "\ue1cd"); + ICON_MAP.put(MD_SIGNAL_CELLULAR_NO_SIM, "\ue1ce"); + ICON_MAP.put(MD_SIGNAL_CELLULAR_NULL, "\ue1cf"); + ICON_MAP.put(MD_SIGNAL_CELLULAR_OFF, "\ue1d0"); + ICON_MAP.put(MD_SIGNAL_WIFI_4_BAR, "\ue1d8"); + ICON_MAP.put(MD_SIGNAL_WIFI_4_BAR_LOCK, "\ue1d9"); + ICON_MAP.put(MD_SIGNAL_WIFI_OFF, "\ue1da"); + ICON_MAP.put(MD_SIM_CARD, "\ue32b"); + ICON_MAP.put(MD_SIM_CARD_ALERT, "\ue624"); + ICON_MAP.put(MD_SKIP_NEXT, "\ue044"); + ICON_MAP.put(MD_SKIP_PREVIOUS, "\ue045"); + ICON_MAP.put(MD_SLIDESHOW, "\ue41b"); + ICON_MAP.put(MD_SLOW_MOTION_VIDEO, "\ue068"); + ICON_MAP.put(MD_SMARTPHONE, "\ue32c"); + ICON_MAP.put(MD_SMOKE_FREE, "\ueb4a"); + ICON_MAP.put(MD_SMOKING_ROOMS, "\ueb4b"); + ICON_MAP.put(MD_SMS, "\ue625"); + ICON_MAP.put(MD_SMS_FAILED, "\ue626"); + ICON_MAP.put(MD_SNOOZE, "\ue046"); + ICON_MAP.put(MD_SORT, "\ue164"); + ICON_MAP.put(MD_SORT_BY_ALPHA, "\ue053"); + ICON_MAP.put(MD_SPA, "\ueb4c"); + ICON_MAP.put(MD_SPACE_BAR, "\ue256"); + ICON_MAP.put(MD_SPEAKER, "\ue32d"); + ICON_MAP.put(MD_SPEAKER_GROUP, "\ue32e"); + ICON_MAP.put(MD_SPEAKER_NOTES, "\ue8cd"); + ICON_MAP.put(MD_SPEAKER_NOTES_OFF, "\ue92a"); + ICON_MAP.put(MD_SPEAKER_PHONE, "\ue0d2"); + ICON_MAP.put(MD_SPELLCHECK, "\ue8ce"); + ICON_MAP.put(MD_STAR, "\ue838"); + ICON_MAP.put(MD_STAR_BORDER, "\ue83a"); + ICON_MAP.put(MD_STAR_HALF, "\ue839"); + ICON_MAP.put(MD_STARS, "\ue8d0"); + ICON_MAP.put(MD_STAY_CURRENT_LANDSCAPE, "\ue0d3"); + ICON_MAP.put(MD_STAY_CURRENT_PORTRAIT, "\ue0d4"); + ICON_MAP.put(MD_STAY_PRIMARY_LANDSCAPE, "\ue0d5"); + ICON_MAP.put(MD_STAY_PRIMARY_PORTRAIT, "\ue0d6"); + ICON_MAP.put(MD_STOP, "\ue047"); + ICON_MAP.put(MD_STOP_SCREEN_SHARE, "\ue0e3"); + ICON_MAP.put(MD_STORAGE, "\ue1db"); + ICON_MAP.put(MD_STORE, "\ue8d1"); + ICON_MAP.put(MD_STORE_MALL_DIRECTORY, "\ue563"); + ICON_MAP.put(MD_STRAIGHTEN, "\ue41c"); + ICON_MAP.put(MD_STREETVIEW, "\ue56e"); + ICON_MAP.put(MD_STRIKETHROUGH_S, "\ue257"); + ICON_MAP.put(MD_STYLE, "\ue41d"); + ICON_MAP.put(MD_SUBDIRECTORY_ARROW_LEFT, "\ue5d9"); + ICON_MAP.put(MD_SUBDIRECTORY_ARROW_RIGHT, "\ue5da"); + ICON_MAP.put(MD_SUBJECT, "\ue8d2"); + ICON_MAP.put(MD_SUBSCRIPTIONS, "\ue064"); + ICON_MAP.put(MD_SUBTITLES, "\ue048"); + ICON_MAP.put(MD_SUBWAY, "\ue56f"); + ICON_MAP.put(MD_SUPERVISOR_ACCOUNT, "\ue8d3"); + ICON_MAP.put(MD_SURROUND_SOUND, "\ue049"); + ICON_MAP.put(MD_SWAP_CALLS, "\ue0d7"); + ICON_MAP.put(MD_SWAP_HORIZ, "\ue8d4"); + ICON_MAP.put(MD_SWAP_VERT, "\ue8d5"); + ICON_MAP.put(MD_SWAP_VERTICAL_CIRCLE, "\ue8d6"); + ICON_MAP.put(MD_SWITCH_CAMERA, "\ue41e"); + ICON_MAP.put(MD_SWITCH_VIDEO, "\ue41f"); + ICON_MAP.put(MD_SYNC, "\ue627"); + ICON_MAP.put(MD_SYNC_DISABLED, "\ue628"); + ICON_MAP.put(MD_SYNC_PROBLEM, "\ue629"); + ICON_MAP.put(MD_SYSTEM_UPDATE, "\ue62a"); + ICON_MAP.put(MD_SYSTEM_UPDATE_ALT, "\ue8d7"); + ICON_MAP.put(MD_TAB, "\ue8d8"); + ICON_MAP.put(MD_TAB_UNSELECTED, "\ue8d9"); + ICON_MAP.put(MD_TABLET, "\ue32f"); + ICON_MAP.put(MD_TABLET_ANDROID, "\ue330"); + ICON_MAP.put(MD_TABLET_MAC, "\ue331"); + ICON_MAP.put(MD_TAG_FACES, "\ue420"); + ICON_MAP.put(MD_TAP_AND_PLAY, "\ue62b"); + ICON_MAP.put(MD_TERRAIN, "\ue564"); + ICON_MAP.put(MD_TEXT_FIELDS, "\ue262"); + ICON_MAP.put(MD_TEXT_FORMAT, "\ue165"); + ICON_MAP.put(MD_TEXTSMS, "\ue0d8"); + ICON_MAP.put(MD_TEXTURE, "\ue421"); + ICON_MAP.put(MD_THEATERS, "\ue8da"); + ICON_MAP.put(MD_THUMB_DOWN, "\ue8db"); + ICON_MAP.put(MD_THUMB_UP, "\ue8dc"); + ICON_MAP.put(MD_THUMBS_UP_DOWN, "\ue8dd"); + ICON_MAP.put(MD_TIME_TO_LEAVE, "\ue62c"); + ICON_MAP.put(MD_TIMELAPSE, "\ue422"); + ICON_MAP.put(MD_TIMELINE, "\ue922"); + ICON_MAP.put(MD_TIMER, "\ue425"); + ICON_MAP.put(MD_TIMER_10, "\ue423"); + ICON_MAP.put(MD_TIMER_3, "\ue424"); + ICON_MAP.put(MD_TIMER_OFF, "\ue426"); + ICON_MAP.put(MD_TITLE, "\ue264"); + ICON_MAP.put(MD_TOC, "\ue8de"); + ICON_MAP.put(MD_TODAY, "\ue8df"); + ICON_MAP.put(MD_TOLL, "\ue8e0"); + ICON_MAP.put(MD_TONALITY, "\ue427"); + ICON_MAP.put(MD_TOUCH_APP, "\ue913"); + ICON_MAP.put(MD_TOYS, "\ue332"); + ICON_MAP.put(MD_TRACK_CHANGES, "\ue8e1"); + ICON_MAP.put(MD_TRAFFIC, "\ue565"); + ICON_MAP.put(MD_TRAIN, "\ue570"); + ICON_MAP.put(MD_TRAM, "\ue571"); + ICON_MAP.put(MD_TRANSFER_WITHIN_A_STATION, "\ue572"); + ICON_MAP.put(MD_TRANSFORM, "\ue428"); + ICON_MAP.put(MD_TRANSLATE, "\ue8e2"); + ICON_MAP.put(MD_TRENDING_DOWN, "\ue8e3"); + ICON_MAP.put(MD_TRENDING_FLAT, "\ue8e4"); + ICON_MAP.put(MD_TRENDING_UP, "\ue8e5"); + ICON_MAP.put(MD_TUNE, "\ue429"); + ICON_MAP.put(MD_TURNED_IN, "\ue8e6"); + ICON_MAP.put(MD_TURNED_IN_NOT, "\ue8e7"); + ICON_MAP.put(MD_TV, "\ue333"); + ICON_MAP.put(MD_UNARCHIVE, "\ue169"); + ICON_MAP.put(MD_UNDO, "\ue166"); + ICON_MAP.put(MD_UNFOLD_LESS, "\ue5d6"); + ICON_MAP.put(MD_UNFOLD_MORE, "\ue5d7"); + ICON_MAP.put(MD_UPDATE, "\ue923"); + ICON_MAP.put(MD_USB, "\ue1e0"); + ICON_MAP.put(MD_VERIFIED_USER, "\ue8e8"); + ICON_MAP.put(MD_VERTICAL_ALIGN_BOTTOM, "\ue258"); + ICON_MAP.put(MD_VERTICAL_ALIGN_CENTER, "\ue259"); + ICON_MAP.put(MD_VERTICAL_ALIGN_TOP, "\ue25a"); + ICON_MAP.put(MD_VIBRATION, "\ue62d"); + ICON_MAP.put(MD_VIDEO_CALL, "\ue070"); + ICON_MAP.put(MD_VIDEO_LABEL, "\ue071"); + ICON_MAP.put(MD_VIDEO_LIBRARY, "\ue04a"); + ICON_MAP.put(MD_VIDEOCAM, "\ue04b"); + ICON_MAP.put(MD_VIDEOCAM_OFF, "\ue04c"); + ICON_MAP.put(MD_VIDEOGAME_ASSET, "\ue338"); + ICON_MAP.put(MD_VIEW_AGENDA, "\ue8e9"); + ICON_MAP.put(MD_VIEW_ARRAY, "\ue8ea"); + ICON_MAP.put(MD_VIEW_CAROUSEL, "\ue8eb"); + ICON_MAP.put(MD_VIEW_COLUMN, "\ue8ec"); + ICON_MAP.put(MD_VIEW_COMFY, "\ue42a"); + ICON_MAP.put(MD_VIEW_COMPACT, "\ue42b"); + ICON_MAP.put(MD_VIEW_DAY, "\ue8ed"); + ICON_MAP.put(MD_VIEW_HEADLINE, "\ue8ee"); + ICON_MAP.put(MD_VIEW_LIST, "\ue8ef"); + ICON_MAP.put(MD_VIEW_MODULE, "\ue8f0"); + ICON_MAP.put(MD_VIEW_QUILT, "\ue8f1"); + ICON_MAP.put(MD_VIEW_STREAM, "\ue8f2"); + ICON_MAP.put(MD_VIEW_WEEK, "\ue8f3"); + ICON_MAP.put(MD_VIGNETTE, "\ue435"); + ICON_MAP.put(MD_VISIBILITY, "\ue8f4"); + ICON_MAP.put(MD_VISIBILITY_OFF, "\ue8f5"); + ICON_MAP.put(MD_VOICE_CHAT, "\ue62e"); + ICON_MAP.put(MD_VOICEMAIL, "\ue0d9"); + ICON_MAP.put(MD_VOLUME_DOWN, "\ue04d"); + ICON_MAP.put(MD_VOLUME_MUTE, "\ue04e"); + ICON_MAP.put(MD_VOLUME_OFF, "\ue04f"); + ICON_MAP.put(MD_VOLUME_UP, "\ue050"); + ICON_MAP.put(MD_VPN_KEY, "\ue0da"); + ICON_MAP.put(MD_VPN_LOCK, "\ue62f"); + ICON_MAP.put(MD_WALLPAPER, "\ue1bc"); + ICON_MAP.put(MD_WARNING, "\ue002"); + ICON_MAP.put(MD_WATCH, "\ue334"); + ICON_MAP.put(MD_WATCH_LATER, "\ue924"); + ICON_MAP.put(MD_WB_AUTO, "\ue42c"); + ICON_MAP.put(MD_WB_CLOUDY, "\ue42d"); + ICON_MAP.put(MD_WB_INCANDESCENT, "\ue42e"); + ICON_MAP.put(MD_WB_IRIDESCENT, "\ue436"); + ICON_MAP.put(MD_WB_SUNNY, "\ue430"); + ICON_MAP.put(MD_WC, "\ue63d"); + ICON_MAP.put(MD_WEB, "\ue051"); + ICON_MAP.put(MD_WEB_ASSET, "\ue069"); + ICON_MAP.put(MD_WEEKEND, "\ue16b"); + ICON_MAP.put(MD_WHATSHOT, "\ue80e"); + ICON_MAP.put(MD_WIDGETS, "\ue1bd"); + ICON_MAP.put(MD_WIFI, "\ue63e"); + ICON_MAP.put(MD_WIFI_LOCK, "\ue1e1"); + ICON_MAP.put(MD_WIFI_TETHERING, "\ue1e2"); + ICON_MAP.put(MD_WORK, "\ue8f9"); + ICON_MAP.put(MD_WRAP_TEXT, "\ue25b"); + ICON_MAP.put(MD_YOUTUBE_SEARCHED_FOR, "\ue8fa"); + ICON_MAP.put(MD_ZOOM_IN, "\ue8ff"); + ICON_MAP.put(MD_ZOOM_OUT, "\ue900"); + ICON_MAP.put(MD_ZOOM_OUT_MAP, "\ue56b"); + ATTR_MAP.put(0, MD_3D_ROTATION); + ATTR_MAP.put(1, MD_AC_UNIT); + ATTR_MAP.put(2, MD_ACCESS_ALARM); + ATTR_MAP.put(3, MD_ACCESS_ALARMS); + ATTR_MAP.put(4, MD_ACCESS_TIME); + ATTR_MAP.put(5, MD_ACCESSIBILITY); + ATTR_MAP.put(6, MD_ACCESSIBLE); + ATTR_MAP.put(7, MD_ACCOUNT_BALANCE); + ATTR_MAP.put(8, MD_ACCOUNT_BALANCE_WALLET); + ATTR_MAP.put(9, MD_ACCOUNT_BOX); + ATTR_MAP.put(10, MD_ACCOUNT_CIRCLE); + ATTR_MAP.put(11, MD_ADB); + ATTR_MAP.put(12, MD_ADD); + ATTR_MAP.put(13, MD_ADD_A_PHOTO); + ATTR_MAP.put(14, MD_ADD_ALARM); + ATTR_MAP.put(15, MD_ADD_ALERT); + ATTR_MAP.put(16, MD_ADD_BOX); + ATTR_MAP.put(17, MD_ADD_CIRCLE); + ATTR_MAP.put(18, MD_ADD_CIRCLE_OUTLINE); + ATTR_MAP.put(19, MD_ADD_LOCATION); + ATTR_MAP.put(20, MD_ADD_SHOPPING_CART); + ATTR_MAP.put(21, MD_ADD_TO_PHOTOS); + ATTR_MAP.put(22, MD_ADD_TO_QUEUE); + ATTR_MAP.put(23, MD_ADJUST); + ATTR_MAP.put(24, MD_AIRLINE_SEAT_FLAT); + ATTR_MAP.put(25, MD_AIRLINE_SEAT_FLAT_ANGLED); + ATTR_MAP.put(26, MD_AIRLINE_SEAT_INDIVIDUAL_SUITE); + ATTR_MAP.put(27, MD_AIRLINE_SEAT_LEGROOM_EXTRA); + ATTR_MAP.put(28, MD_AIRLINE_SEAT_LEGROOM_NORMAL); + ATTR_MAP.put(29, MD_AIRLINE_SEAT_LEGROOM_REDUCED); + ATTR_MAP.put(30, MD_AIRLINE_SEAT_RECLINE_EXTRA); + ATTR_MAP.put(31, MD_AIRLINE_SEAT_RECLINE_NORMAL); + ATTR_MAP.put(32, MD_AIRPLANEMODE_ACTIVE); + ATTR_MAP.put(33, MD_AIRPLANEMODE_INACTIVE); + ATTR_MAP.put(34, MD_AIRPLAY); + ATTR_MAP.put(35, MD_AIRPORT_SHUTTLE); + ATTR_MAP.put(36, MD_ALARM); + ATTR_MAP.put(37, MD_ALARM_ADD); + ATTR_MAP.put(38, MD_ALARM_OFF); + ATTR_MAP.put(39, MD_ALARM_ON); + ATTR_MAP.put(40, MD_ALBUM); + ATTR_MAP.put(41, MD_ALL_INCLUSIVE); + ATTR_MAP.put(42, MD_ALL_OUT); + ATTR_MAP.put(43, MD_ANDROID); + ATTR_MAP.put(44, MD_ANNOUNCEMENT); + ATTR_MAP.put(45, MD_APPS); + ATTR_MAP.put(46, MD_ARCHIVE); + ATTR_MAP.put(47, MD_ARROW_BACK); + ATTR_MAP.put(48, MD_ARROW_DOWNWARD); + ATTR_MAP.put(49, MD_ARROW_DROP_DOWN); + ATTR_MAP.put(50, MD_ARROW_DROP_DOWN_CIRCLE); + ATTR_MAP.put(51, MD_ARROW_DROP_UP); + ATTR_MAP.put(52, MD_ARROW_FORWARD); + ATTR_MAP.put(53, MD_ARROW_UPWARD); + ATTR_MAP.put(54, MD_ART_TRACK); + ATTR_MAP.put(55, MD_ASPECT_RATIO); + ATTR_MAP.put(56, MD_ASSESSMENT); + ATTR_MAP.put(57, MD_ASSIGNMENT); + ATTR_MAP.put(58, MD_ASSIGNMENT_IND); + ATTR_MAP.put(59, MD_ASSIGNMENT_LATE); + ATTR_MAP.put(60, MD_ASSIGNMENT_RETURN); + ATTR_MAP.put(61, MD_ASSIGNMENT_RETURNED); + ATTR_MAP.put(62, MD_ASSIGNMENT_TURNED_IN); + ATTR_MAP.put(63, MD_ASSISTANT); + ATTR_MAP.put(64, MD_ASSISTANT_PHOTO); + ATTR_MAP.put(65, MD_ATTACH_FILE); + ATTR_MAP.put(66, MD_ATTACH_MONEY); + ATTR_MAP.put(67, MD_ATTACHMENT); + ATTR_MAP.put(68, MD_AUDIOTRACK); + ATTR_MAP.put(69, MD_AUTORENEW); + ATTR_MAP.put(70, MD_AV_TIMER); + ATTR_MAP.put(71, MD_BACKSPACE); + ATTR_MAP.put(72, MD_BACKUP); + ATTR_MAP.put(73, MD_BATTERY_ALERT); + ATTR_MAP.put(74, MD_BATTERY_CHARGING_FULL); + ATTR_MAP.put(75, MD_BATTERY_FULL); + ATTR_MAP.put(76, MD_BATTERY_STD); + ATTR_MAP.put(77, MD_BATTERY_UNKNOWN); + ATTR_MAP.put(78, MD_BEACH_ACCESS); + ATTR_MAP.put(79, MD_BEENHERE); + ATTR_MAP.put(80, MD_BLOCK); + ATTR_MAP.put(81, MD_BLUETOOTH); + ATTR_MAP.put(82, MD_BLUETOOTH_AUDIO); + ATTR_MAP.put(83, MD_BLUETOOTH_CONNECTED); + ATTR_MAP.put(84, MD_BLUETOOTH_DISABLED); + ATTR_MAP.put(85, MD_BLUETOOTH_SEARCHING); + ATTR_MAP.put(86, MD_BLUR_CIRCULAR); + ATTR_MAP.put(87, MD_BLUR_LINEAR); + ATTR_MAP.put(88, MD_BLUR_OFF); + ATTR_MAP.put(89, MD_BLUR_ON); + ATTR_MAP.put(90, MD_BOOK); + ATTR_MAP.put(91, MD_BOOKMARK); + ATTR_MAP.put(92, MD_BOOKMARK_BORDER); + ATTR_MAP.put(93, MD_BORDER_ALL); + ATTR_MAP.put(94, MD_BORDER_BOTTOM); + ATTR_MAP.put(95, MD_BORDER_CLEAR); + ATTR_MAP.put(96, MD_BORDER_COLOR); + ATTR_MAP.put(97, MD_BORDER_HORIZONTAL); + ATTR_MAP.put(98, MD_BORDER_INNER); + ATTR_MAP.put(99, MD_BORDER_LEFT); + ATTR_MAP.put(100, MD_BORDER_OUTER); + ATTR_MAP.put(101, MD_BORDER_RIGHT); + ATTR_MAP.put(102, MD_BORDER_STYLE); + ATTR_MAP.put(103, MD_BORDER_TOP); + ATTR_MAP.put(104, MD_BORDER_VERTICAL); + ATTR_MAP.put(105, MD_BRANDING_WATERMARK); + ATTR_MAP.put(106, MD_BRIGHTNESS_1); + ATTR_MAP.put(107, MD_BRIGHTNESS_2); + ATTR_MAP.put(108, MD_BRIGHTNESS_3); + ATTR_MAP.put(109, MD_BRIGHTNESS_4); + ATTR_MAP.put(110, MD_BRIGHTNESS_5); + ATTR_MAP.put(111, MD_BRIGHTNESS_6); + ATTR_MAP.put(112, MD_BRIGHTNESS_7); + ATTR_MAP.put(113, MD_BRIGHTNESS_AUTO); + ATTR_MAP.put(114, MD_BRIGHTNESS_HIGH); + ATTR_MAP.put(115, MD_BRIGHTNESS_LOW); + ATTR_MAP.put(116, MD_BRIGHTNESS_MEDIUM); + ATTR_MAP.put(117, MD_BROKEN_IMAGE); + ATTR_MAP.put(118, MD_BRUSH); + ATTR_MAP.put(119, MD_BUBBLE_CHART); + ATTR_MAP.put(120, MD_BUG_REPORT); + ATTR_MAP.put(121, MD_BUILD); + ATTR_MAP.put(122, MD_BURST_MODE); + ATTR_MAP.put(123, MD_BUSINESS); + ATTR_MAP.put(124, MD_BUSINESS_CENTER); + ATTR_MAP.put(125, MD_CACHED); + ATTR_MAP.put(126, MD_CAKE); + ATTR_MAP.put(127, MD_CALL); + ATTR_MAP.put(128, MD_CALL_END); + ATTR_MAP.put(129, MD_CALL_MADE); + ATTR_MAP.put(130, MD_CALL_MERGE); + ATTR_MAP.put(131, MD_CALL_MISSED); + ATTR_MAP.put(132, MD_CALL_MISSED_OUTGOING); + ATTR_MAP.put(133, MD_CALL_RECEIVED); + ATTR_MAP.put(134, MD_CALL_SPLIT); + ATTR_MAP.put(135, MD_CALL_TO_ACTION); + ATTR_MAP.put(136, MD_CAMERA); + ATTR_MAP.put(137, MD_CAMERA_ALT); + ATTR_MAP.put(138, MD_CAMERA_ENHANCE); + ATTR_MAP.put(139, MD_CAMERA_FRONT); + ATTR_MAP.put(140, MD_CAMERA_REAR); + ATTR_MAP.put(141, MD_CAMERA_ROLL); + ATTR_MAP.put(142, MD_CANCEL); + ATTR_MAP.put(143, MD_CARD_GIFTCARD); + ATTR_MAP.put(144, MD_CARD_MEMBERSHIP); + ATTR_MAP.put(145, MD_CARD_TRAVEL); + ATTR_MAP.put(146, MD_CASINO); + ATTR_MAP.put(147, MD_CAST); + ATTR_MAP.put(148, MD_CAST_CONNECTED); + ATTR_MAP.put(149, MD_CENTER_FOCUS_STRONG); + ATTR_MAP.put(150, MD_CENTER_FOCUS_WEAK); + ATTR_MAP.put(151, MD_CHANGE_HISTORY); + ATTR_MAP.put(152, MD_CHAT); + ATTR_MAP.put(153, MD_CHAT_BUBBLE); + ATTR_MAP.put(154, MD_CHAT_BUBBLE_OUTLINE); + ATTR_MAP.put(155, MD_CHECK); + ATTR_MAP.put(156, MD_CHECK_BOX); + ATTR_MAP.put(157, MD_CHECK_BOX_OUTLINE_BLANK); + ATTR_MAP.put(158, MD_CHECK_CIRCLE); + ATTR_MAP.put(159, MD_CHEVRON_LEFT); + ATTR_MAP.put(160, MD_CHEVRON_RIGHT); + ATTR_MAP.put(161, MD_CHILD_CARE); + ATTR_MAP.put(162, MD_CHILD_FRIENDLY); + ATTR_MAP.put(163, MD_CHROME_READER_MODE); + ATTR_MAP.put(164, MD_CLASS); + ATTR_MAP.put(165, MD_CLEAR); + ATTR_MAP.put(166, MD_CLEAR_ALL); + ATTR_MAP.put(167, MD_CLOSE); + ATTR_MAP.put(168, MD_CLOSED_CAPTION); + ATTR_MAP.put(169, MD_CLOUD); + ATTR_MAP.put(170, MD_CLOUD_CIRCLE); + ATTR_MAP.put(171, MD_CLOUD_DONE); + ATTR_MAP.put(172, MD_CLOUD_DOWNLOAD); + ATTR_MAP.put(173, MD_CLOUD_OFF); + ATTR_MAP.put(174, MD_CLOUD_QUEUE); + ATTR_MAP.put(175, MD_CLOUD_UPLOAD); + ATTR_MAP.put(176, MD_CODE); + ATTR_MAP.put(177, MD_COLLECTIONS); + ATTR_MAP.put(178, MD_COLLECTIONS_BOOKMARK); + ATTR_MAP.put(179, MD_COLOR_LENS); + ATTR_MAP.put(180, MD_COLORIZE); + ATTR_MAP.put(181, MD_COMMENT); + ATTR_MAP.put(182, MD_COMPARE); + ATTR_MAP.put(183, MD_COMPARE_ARROWS); + ATTR_MAP.put(184, MD_COMPUTER); + ATTR_MAP.put(185, MD_CONFIRMATION_NUMBER); + ATTR_MAP.put(186, MD_CONTACT_MAIL); + ATTR_MAP.put(187, MD_CONTACT_PHONE); + ATTR_MAP.put(188, MD_CONTACTS); + ATTR_MAP.put(189, MD_CONTENT_COPY); + ATTR_MAP.put(190, MD_CONTENT_CUT); + ATTR_MAP.put(191, MD_CONTENT_PASTE); + ATTR_MAP.put(192, MD_CONTROL_POINT); + ATTR_MAP.put(193, MD_CONTROL_POINT_DUPLICATE); + ATTR_MAP.put(194, MD_COPYRIGHT); + ATTR_MAP.put(195, MD_CREATE); + ATTR_MAP.put(196, MD_CREATE_NEW_FOLDER); + ATTR_MAP.put(197, MD_CREDIT_CARD); + ATTR_MAP.put(198, MD_CROP); + ATTR_MAP.put(199, MD_CROP_16_9); + ATTR_MAP.put(200, MD_CROP_3_2); + ATTR_MAP.put(201, MD_CROP_5_4); + ATTR_MAP.put(202, MD_CROP_7_5); + ATTR_MAP.put(203, MD_CROP_DIN); + ATTR_MAP.put(204, MD_CROP_FREE); + ATTR_MAP.put(205, MD_CROP_LANDSCAPE); + ATTR_MAP.put(206, MD_CROP_ORIGINAL); + ATTR_MAP.put(207, MD_CROP_PORTRAIT); + ATTR_MAP.put(208, MD_CROP_ROTATE); + ATTR_MAP.put(209, MD_CROP_SQUARE); + ATTR_MAP.put(210, MD_DASHBOARD); + ATTR_MAP.put(211, MD_DATA_USAGE); + ATTR_MAP.put(212, MD_DATE_RANGE); + ATTR_MAP.put(213, MD_DEHAZE); + ATTR_MAP.put(214, MD_DELETE); + ATTR_MAP.put(215, MD_DELETE_FOREVER); + ATTR_MAP.put(216, MD_DELETE_SWEEP); + ATTR_MAP.put(217, MD_DESCRIPTION); + ATTR_MAP.put(218, MD_DESKTOP_MAC); + ATTR_MAP.put(219, MD_DESKTOP_WINDOWS); + ATTR_MAP.put(220, MD_DETAILS); + ATTR_MAP.put(221, MD_DEVELOPER_BOARD); + ATTR_MAP.put(222, MD_DEVELOPER_MODE); + ATTR_MAP.put(223, MD_DEVICE_HUB); + ATTR_MAP.put(224, MD_DEVICES); + ATTR_MAP.put(225, MD_DEVICES_OTHER); + ATTR_MAP.put(226, MD_DIALER_SIP); + ATTR_MAP.put(227, MD_DIALPAD); + ATTR_MAP.put(228, MD_DIRECTIONS); + ATTR_MAP.put(229, MD_DIRECTIONS_BIKE); + ATTR_MAP.put(230, MD_DIRECTIONS_BOAT); + ATTR_MAP.put(231, MD_DIRECTIONS_BUS); + ATTR_MAP.put(232, MD_DIRECTIONS_CAR); + ATTR_MAP.put(233, MD_DIRECTIONS_RAILWAY); + ATTR_MAP.put(234, MD_DIRECTIONS_RUN); + ATTR_MAP.put(235, MD_DIRECTIONS_SUBWAY); + ATTR_MAP.put(236, MD_DIRECTIONS_TRANSIT); + ATTR_MAP.put(237, MD_DIRECTIONS_WALK); + ATTR_MAP.put(238, MD_DISC_FULL); + ATTR_MAP.put(239, MD_DNS); + ATTR_MAP.put(240, MD_DO_NOT_DISTURB); + ATTR_MAP.put(241, MD_DO_NOT_DISTURB_ALT); + ATTR_MAP.put(242, MD_DO_NOT_DISTURB_OFF); + ATTR_MAP.put(243, MD_DO_NOT_DISTURB_ON); + ATTR_MAP.put(244, MD_DOCK); + ATTR_MAP.put(245, MD_DOMAIN); + ATTR_MAP.put(246, MD_DONE); + ATTR_MAP.put(247, MD_DONE_ALL); + ATTR_MAP.put(248, MD_DONUT_LARGE); + ATTR_MAP.put(249, MD_DONUT_SMALL); + ATTR_MAP.put(250, MD_DRAFTS); + ATTR_MAP.put(251, MD_DRAG_HANDLE); + ATTR_MAP.put(252, MD_DRIVE_ETA); + ATTR_MAP.put(253, MD_DVR); + ATTR_MAP.put(254, MD_EDIT); + ATTR_MAP.put(255, MD_EDIT_LOCATION); + ATTR_MAP.put(256, MD_EJECT); + ATTR_MAP.put(257, MD_EMAIL); + ATTR_MAP.put(258, MD_ENHANCED_ENCRYPTION); + ATTR_MAP.put(259, MD_EQUALIZER); + ATTR_MAP.put(260, MD_ERROR); + ATTR_MAP.put(261, MD_ERROR_OUTLINE); + ATTR_MAP.put(262, MD_EURO_SYMBOL); + ATTR_MAP.put(263, MD_EV_STATION); + ATTR_MAP.put(264, MD_EVENT); + ATTR_MAP.put(265, MD_EVENT_AVAILABLE); + ATTR_MAP.put(266, MD_EVENT_BUSY); + ATTR_MAP.put(267, MD_EVENT_NOTE); + ATTR_MAP.put(268, MD_EVENT_SEAT); + ATTR_MAP.put(269, MD_EXIT_TO_APP); + ATTR_MAP.put(270, MD_EXPAND_LESS); + ATTR_MAP.put(271, MD_EXPAND_MORE); + ATTR_MAP.put(272, MD_EXPLICIT); + ATTR_MAP.put(273, MD_EXPLORE); + ATTR_MAP.put(274, MD_EXPOSURE); + ATTR_MAP.put(275, MD_EXPOSURE_NEG_1); + ATTR_MAP.put(276, MD_EXPOSURE_NEG_2); + ATTR_MAP.put(277, MD_EXPOSURE_PLUS_1); + ATTR_MAP.put(278, MD_EXPOSURE_PLUS_2); + ATTR_MAP.put(279, MD_EXPOSURE_ZERO); + ATTR_MAP.put(280, MD_EXTENSION); + ATTR_MAP.put(281, MD_FACE); + ATTR_MAP.put(282, MD_FAST_FORWARD); + ATTR_MAP.put(283, MD_FAST_REWIND); + ATTR_MAP.put(284, MD_FAVORITE); + ATTR_MAP.put(285, MD_FAVORITE_BORDER); + ATTR_MAP.put(286, MD_FEATURED_PLAY_LIST); + ATTR_MAP.put(287, MD_FEATURED_VIDEO); + ATTR_MAP.put(288, MD_FEEDBACK); + ATTR_MAP.put(289, MD_FIBER_DVR); + ATTR_MAP.put(290, MD_FIBER_MANUAL_RECORD); + ATTR_MAP.put(291, MD_FIBER_NEW); + ATTR_MAP.put(292, MD_FIBER_PIN); + ATTR_MAP.put(293, MD_FIBER_SMART_RECORD); + ATTR_MAP.put(294, MD_FILE_DOWNLOAD); + ATTR_MAP.put(295, MD_FILE_UPLOAD); + ATTR_MAP.put(296, MD_FILTER); + ATTR_MAP.put(297, MD_FILTER_1); + ATTR_MAP.put(298, MD_FILTER_2); + ATTR_MAP.put(299, MD_FILTER_3); + ATTR_MAP.put(300, MD_FILTER_4); + ATTR_MAP.put(301, MD_FILTER_5); + ATTR_MAP.put(302, MD_FILTER_6); + ATTR_MAP.put(303, MD_FILTER_7); + ATTR_MAP.put(304, MD_FILTER_8); + ATTR_MAP.put(305, MD_FILTER_9); + ATTR_MAP.put(306, MD_FILTER_9_PLUS); + ATTR_MAP.put(307, MD_FILTER_B_AND_W); + ATTR_MAP.put(308, MD_FILTER_CENTER_FOCUS); + ATTR_MAP.put(309, MD_FILTER_DRAMA); + ATTR_MAP.put(310, MD_FILTER_FRAMES); + ATTR_MAP.put(311, MD_FILTER_HDR); + ATTR_MAP.put(312, MD_FILTER_LIST); + ATTR_MAP.put(313, MD_FILTER_NONE); + ATTR_MAP.put(314, MD_FILTER_TILT_SHIFT); + ATTR_MAP.put(315, MD_FILTER_VINTAGE); + ATTR_MAP.put(316, MD_FIND_IN_PAGE); + ATTR_MAP.put(317, MD_FIND_REPLACE); + ATTR_MAP.put(318, MD_FINGERPRINT); + ATTR_MAP.put(319, MD_FIRST_PAGE); + ATTR_MAP.put(320, MD_FITNESS_CENTER); + ATTR_MAP.put(321, MD_FLAG); + ATTR_MAP.put(322, MD_FLARE); + ATTR_MAP.put(323, MD_FLASH_AUTO); + ATTR_MAP.put(324, MD_FLASH_OFF); + ATTR_MAP.put(325, MD_FLASH_ON); + ATTR_MAP.put(326, MD_FLIGHT); + ATTR_MAP.put(327, MD_FLIGHT_LAND); + ATTR_MAP.put(328, MD_FLIGHT_TAKEOFF); + ATTR_MAP.put(329, MD_FLIP); + ATTR_MAP.put(330, MD_FLIP_TO_BACK); + ATTR_MAP.put(331, MD_FLIP_TO_FRONT); + ATTR_MAP.put(332, MD_FOLDER); + ATTR_MAP.put(333, MD_FOLDER_OPEN); + ATTR_MAP.put(334, MD_FOLDER_SHARED); + ATTR_MAP.put(335, MD_FOLDER_SPECIAL); + ATTR_MAP.put(336, MD_FONT_DOWNLOAD); + ATTR_MAP.put(337, MD_FORMAT_ALIGN_CENTER); + ATTR_MAP.put(338, MD_FORMAT_ALIGN_JUSTIFY); + ATTR_MAP.put(339, MD_FORMAT_ALIGN_LEFT); + ATTR_MAP.put(340, MD_FORMAT_ALIGN_RIGHT); + ATTR_MAP.put(341, MD_FORMAT_BOLD); + ATTR_MAP.put(342, MD_FORMAT_CLEAR); + ATTR_MAP.put(343, MD_FORMAT_COLOR_FILL); + ATTR_MAP.put(344, MD_FORMAT_COLOR_RESET); + ATTR_MAP.put(345, MD_FORMAT_COLOR_TEXT); + ATTR_MAP.put(346, MD_FORMAT_INDENT_DECREASE); + ATTR_MAP.put(347, MD_FORMAT_INDENT_INCREASE); + ATTR_MAP.put(348, MD_FORMAT_ITALIC); + ATTR_MAP.put(349, MD_FORMAT_LINE_SPACING); + ATTR_MAP.put(350, MD_FORMAT_LIST_BULLETED); + ATTR_MAP.put(351, MD_FORMAT_LIST_NUMBERED); + ATTR_MAP.put(352, MD_FORMAT_PAINT); + ATTR_MAP.put(353, MD_FORMAT_QUOTE); + ATTR_MAP.put(354, MD_FORMAT_SHAPES); + ATTR_MAP.put(355, MD_FORMAT_SIZE); + ATTR_MAP.put(356, MD_FORMAT_STRIKETHROUGH); + ATTR_MAP.put(357, MD_FORMAT_TEXTDIRECTION_L_TO_R); + ATTR_MAP.put(358, MD_FORMAT_TEXTDIRECTION_R_TO_L); + ATTR_MAP.put(359, MD_FORMAT_UNDERLINED); + ATTR_MAP.put(360, MD_FORUM); + ATTR_MAP.put(361, MD_FORWARD); + ATTR_MAP.put(362, MD_FORWARD_10); + ATTR_MAP.put(363, MD_FORWARD_30); + ATTR_MAP.put(364, MD_FORWARD_5); + ATTR_MAP.put(365, MD_FREE_BREAKFAST); + ATTR_MAP.put(366, MD_FULLSCREEN); + ATTR_MAP.put(367, MD_FULLSCREEN_EXIT); + ATTR_MAP.put(368, MD_FUNCTIONS); + ATTR_MAP.put(369, MD_G_TRANSLATE); + ATTR_MAP.put(370, MD_GAMEPAD); + ATTR_MAP.put(371, MD_GAMES); + ATTR_MAP.put(372, MD_GAVEL); + ATTR_MAP.put(373, MD_GESTURE); + ATTR_MAP.put(374, MD_GET_APP); + ATTR_MAP.put(375, MD_GIF); + ATTR_MAP.put(376, MD_GOLF_COURSE); + ATTR_MAP.put(377, MD_GPS_FIXED); + ATTR_MAP.put(378, MD_GPS_NOT_FIXED); + ATTR_MAP.put(379, MD_GPS_OFF); + ATTR_MAP.put(380, MD_GRADE); + ATTR_MAP.put(381, MD_GRADIENT); + ATTR_MAP.put(382, MD_GRAIN); + ATTR_MAP.put(383, MD_GRAPHIC_EQ); + ATTR_MAP.put(384, MD_GRID_OFF); + ATTR_MAP.put(385, MD_GRID_ON); + ATTR_MAP.put(386, MD_GROUP); + ATTR_MAP.put(387, MD_GROUP_ADD); + ATTR_MAP.put(388, MD_GROUP_WORK); + ATTR_MAP.put(389, MD_HD); + ATTR_MAP.put(390, MD_HDR_OFF); + ATTR_MAP.put(391, MD_HDR_ON); + ATTR_MAP.put(392, MD_HDR_STRONG); + ATTR_MAP.put(393, MD_HDR_WEAK); + ATTR_MAP.put(394, MD_HEADSET); + ATTR_MAP.put(395, MD_HEADSET_MIC); + ATTR_MAP.put(396, MD_HEALING); + ATTR_MAP.put(397, MD_HEARING); + ATTR_MAP.put(398, MD_HELP); + ATTR_MAP.put(399, MD_HELP_OUTLINE); + ATTR_MAP.put(400, MD_HIGH_QUALITY); + ATTR_MAP.put(401, MD_HIGHLIGHT); + ATTR_MAP.put(402, MD_HIGHLIGHT_OFF); + ATTR_MAP.put(403, MD_HISTORY); + ATTR_MAP.put(404, MD_HOME); + ATTR_MAP.put(405, MD_HOT_TUB); + ATTR_MAP.put(406, MD_HOTEL); + ATTR_MAP.put(407, MD_HOURGLASS_EMPTY); + ATTR_MAP.put(408, MD_HOURGLASS_FULL); + ATTR_MAP.put(409, MD_HTTP); + ATTR_MAP.put(410, MD_HTTPS); + ATTR_MAP.put(411, MD_IMAGE); + ATTR_MAP.put(412, MD_IMAGE_ASPECT_RATIO); + ATTR_MAP.put(413, MD_IMPORT_CONTACTS); + ATTR_MAP.put(414, MD_IMPORT_EXPORT); + ATTR_MAP.put(415, MD_IMPORTANT_DEVICES); + ATTR_MAP.put(416, MD_INBOX); + ATTR_MAP.put(417, MD_INDETERMINATE_CHECK_BOX); + ATTR_MAP.put(418, MD_INFO); + ATTR_MAP.put(419, MD_INFO_OUTLINE); + ATTR_MAP.put(420, MD_INPUT); + ATTR_MAP.put(421, MD_INSERT_CHART); + ATTR_MAP.put(422, MD_INSERT_COMMENT); + ATTR_MAP.put(423, MD_INSERT_DRIVE_FILE); + ATTR_MAP.put(424, MD_INSERT_EMOTICON); + ATTR_MAP.put(425, MD_INSERT_INVITATION); + ATTR_MAP.put(426, MD_INSERT_LINK); + ATTR_MAP.put(427, MD_INSERT_PHOTO); + ATTR_MAP.put(428, MD_INVERT_COLORS); + ATTR_MAP.put(429, MD_INVERT_COLORS_OFF); + ATTR_MAP.put(430, MD_ISO); + ATTR_MAP.put(431, MD_KEYBOARD); + ATTR_MAP.put(432, MD_KEYBOARD_ARROW_DOWN); + ATTR_MAP.put(433, MD_KEYBOARD_ARROW_LEFT); + ATTR_MAP.put(434, MD_KEYBOARD_ARROW_RIGHT); + ATTR_MAP.put(435, MD_KEYBOARD_ARROW_UP); + ATTR_MAP.put(436, MD_KEYBOARD_BACKSPACE); + ATTR_MAP.put(437, MD_KEYBOARD_CAPSLOCK); + ATTR_MAP.put(438, MD_KEYBOARD_HIDE); + ATTR_MAP.put(439, MD_KEYBOARD_RETURN); + ATTR_MAP.put(440, MD_KEYBOARD_TAB); + ATTR_MAP.put(441, MD_KEYBOARD_VOICE); + ATTR_MAP.put(442, MD_KITCHEN); + ATTR_MAP.put(443, MD_LABEL); + ATTR_MAP.put(444, MD_LABEL_OUTLINE); + ATTR_MAP.put(445, MD_LANDSCAPE); + ATTR_MAP.put(446, MD_LANGUAGE); + ATTR_MAP.put(447, MD_LAPTOP); + ATTR_MAP.put(448, MD_LAPTOP_CHROMEBOOK); + ATTR_MAP.put(449, MD_LAPTOP_MAC); + ATTR_MAP.put(450, MD_LAPTOP_WINDOWS); + ATTR_MAP.put(451, MD_LAST_PAGE); + ATTR_MAP.put(452, MD_LAUNCH); + ATTR_MAP.put(453, MD_LAYERS); + ATTR_MAP.put(454, MD_LAYERS_CLEAR); + ATTR_MAP.put(455, MD_LEAK_ADD); + ATTR_MAP.put(456, MD_LEAK_REMOVE); + ATTR_MAP.put(457, MD_LENS); + ATTR_MAP.put(458, MD_LIBRARY_ADD); + ATTR_MAP.put(459, MD_LIBRARY_BOOKS); + ATTR_MAP.put(460, MD_LIBRARY_MUSIC); + ATTR_MAP.put(461, MD_LIGHTBULB_OUTLINE); + ATTR_MAP.put(462, MD_LINE_STYLE); + ATTR_MAP.put(463, MD_LINE_WEIGHT); + ATTR_MAP.put(464, MD_LINEAR_SCALE); + ATTR_MAP.put(465, MD_LINK); + ATTR_MAP.put(466, MD_LINKED_CAMERA); + ATTR_MAP.put(467, MD_LIST); + ATTR_MAP.put(468, MD_LIVE_HELP); + ATTR_MAP.put(469, MD_LIVE_TV); + ATTR_MAP.put(470, MD_LOCAL_ACTIVITY); + ATTR_MAP.put(471, MD_LOCAL_AIRPORT); + ATTR_MAP.put(472, MD_LOCAL_ATM); + ATTR_MAP.put(473, MD_LOCAL_BAR); + ATTR_MAP.put(474, MD_LOCAL_CAFE); + ATTR_MAP.put(475, MD_LOCAL_CAR_WASH); + ATTR_MAP.put(476, MD_LOCAL_CONVENIENCE_STORE); + ATTR_MAP.put(477, MD_LOCAL_DINING); + ATTR_MAP.put(478, MD_LOCAL_DRINK); + ATTR_MAP.put(479, MD_LOCAL_FLORIST); + ATTR_MAP.put(480, MD_LOCAL_GAS_STATION); + ATTR_MAP.put(481, MD_LOCAL_GROCERY_STORE); + ATTR_MAP.put(482, MD_LOCAL_HOSPITAL); + ATTR_MAP.put(483, MD_LOCAL_HOTEL); + ATTR_MAP.put(484, MD_LOCAL_LAUNDRY_SERVICE); + ATTR_MAP.put(485, MD_LOCAL_LIBRARY); + ATTR_MAP.put(486, MD_LOCAL_MALL); + ATTR_MAP.put(487, MD_LOCAL_MOVIES); + ATTR_MAP.put(488, MD_LOCAL_OFFER); + ATTR_MAP.put(489, MD_LOCAL_PARKING); + ATTR_MAP.put(490, MD_LOCAL_PHARMACY); + ATTR_MAP.put(491, MD_LOCAL_PHONE); + ATTR_MAP.put(492, MD_LOCAL_PIZZA); + ATTR_MAP.put(493, MD_LOCAL_PLAY); + ATTR_MAP.put(494, MD_LOCAL_POST_OFFICE); + ATTR_MAP.put(495, MD_LOCAL_PRINTSHOP); + ATTR_MAP.put(496, MD_LOCAL_SEE); + ATTR_MAP.put(497, MD_LOCAL_SHIPPING); + ATTR_MAP.put(498, MD_LOCAL_TAXI); + ATTR_MAP.put(499, MD_LOCATION_CITY); + ATTR_MAP.put(500, MD_LOCATION_DISABLED); + ATTR_MAP.put(501, MD_LOCATION_OFF); + ATTR_MAP.put(502, MD_LOCATION_ON); + ATTR_MAP.put(503, MD_LOCATION_SEARCHING); + ATTR_MAP.put(504, MD_LOCK); + ATTR_MAP.put(505, MD_LOCK_OPEN); + ATTR_MAP.put(506, MD_LOCK_OUTLINE); + ATTR_MAP.put(507, MD_LOOKS); + ATTR_MAP.put(508, MD_LOOKS_3); + ATTR_MAP.put(509, MD_LOOKS_4); + ATTR_MAP.put(510, MD_LOOKS_5); + ATTR_MAP.put(511, MD_LOOKS_6); + ATTR_MAP.put(512, MD_LOOKS_ONE); + ATTR_MAP.put(513, MD_LOOKS_TWO); + ATTR_MAP.put(514, MD_LOOP); + ATTR_MAP.put(515, MD_LOUPE); + ATTR_MAP.put(516, MD_LOW_PRIORITY); + ATTR_MAP.put(517, MD_LOYALTY); + ATTR_MAP.put(518, MD_MAIL); + ATTR_MAP.put(519, MD_MAIL_OUTLINE); + ATTR_MAP.put(520, MD_MAP); + ATTR_MAP.put(521, MD_MARKUNREAD); + ATTR_MAP.put(522, MD_MARKUNREAD_MAILBOX); + ATTR_MAP.put(523, MD_MEMORY); + ATTR_MAP.put(524, MD_MENU); + ATTR_MAP.put(525, MD_MERGE_TYPE); + ATTR_MAP.put(526, MD_MESSAGE); + ATTR_MAP.put(527, MD_MIC); + ATTR_MAP.put(528, MD_MIC_NONE); + ATTR_MAP.put(529, MD_MIC_OFF); + ATTR_MAP.put(530, MD_MMS); + ATTR_MAP.put(531, MD_MODE_COMMENT); + ATTR_MAP.put(532, MD_MODE_EDIT); + ATTR_MAP.put(533, MD_MONETIZATION_ON); + ATTR_MAP.put(534, MD_MONEY_OFF); + ATTR_MAP.put(535, MD_MONOCHROME_PHOTOS); + ATTR_MAP.put(536, MD_MOOD); + ATTR_MAP.put(537, MD_MOOD_BAD); + ATTR_MAP.put(538, MD_MORE); + ATTR_MAP.put(539, MD_MORE_HORIZ); + ATTR_MAP.put(540, MD_MORE_VERT); + ATTR_MAP.put(541, MD_MOTORCYCLE); + ATTR_MAP.put(542, MD_MOUSE); + ATTR_MAP.put(543, MD_MOVE_TO_INBOX); + ATTR_MAP.put(544, MD_MOVIE); + ATTR_MAP.put(545, MD_MOVIE_CREATION); + ATTR_MAP.put(546, MD_MOVIE_FILTER); + ATTR_MAP.put(547, MD_MULTILINE_CHART); + ATTR_MAP.put(548, MD_MUSIC_NOTE); + ATTR_MAP.put(549, MD_MUSIC_VIDEO); + ATTR_MAP.put(550, MD_MY_LOCATION); + ATTR_MAP.put(551, MD_NATURE); + ATTR_MAP.put(552, MD_NATURE_PEOPLE); + ATTR_MAP.put(553, MD_NAVIGATE_BEFORE); + ATTR_MAP.put(554, MD_NAVIGATE_NEXT); + ATTR_MAP.put(555, MD_NAVIGATION); + ATTR_MAP.put(556, MD_NEAR_ME); + ATTR_MAP.put(557, MD_NETWORK_CELL); + ATTR_MAP.put(558, MD_NETWORK_CHECK); + ATTR_MAP.put(559, MD_NETWORK_LOCKED); + ATTR_MAP.put(560, MD_NETWORK_WIFI); + ATTR_MAP.put(561, MD_NEW_RELEASES); + ATTR_MAP.put(562, MD_NEXT_WEEK); + ATTR_MAP.put(563, MD_NFC); + ATTR_MAP.put(564, MD_NO_ENCRYPTION); + ATTR_MAP.put(565, MD_NO_SIM); + ATTR_MAP.put(566, MD_NOT_INTERESTED); + ATTR_MAP.put(567, MD_NOTE); + ATTR_MAP.put(568, MD_NOTE_ADD); + ATTR_MAP.put(569, MD_NOTIFICATIONS); + ATTR_MAP.put(570, MD_NOTIFICATIONS_ACTIVE); + ATTR_MAP.put(571, MD_NOTIFICATIONS_NONE); + ATTR_MAP.put(572, MD_NOTIFICATIONS_OFF); + ATTR_MAP.put(573, MD_NOTIFICATIONS_PAUSED); + ATTR_MAP.put(574, MD_OFFLINE_PIN); + ATTR_MAP.put(575, MD_ONDEMAND_VIDEO); + ATTR_MAP.put(576, MD_OPACITY); + ATTR_MAP.put(577, MD_OPEN_IN_BROWSER); + ATTR_MAP.put(578, MD_OPEN_IN_NEW); + ATTR_MAP.put(579, MD_OPEN_WITH); + ATTR_MAP.put(580, MD_PAGES); + ATTR_MAP.put(581, MD_PAGEVIEW); + ATTR_MAP.put(582, MD_PALETTE); + ATTR_MAP.put(583, MD_PAN_TOOL); + ATTR_MAP.put(584, MD_PANORAMA); + ATTR_MAP.put(585, MD_PANORAMA_FISH_EYE); + ATTR_MAP.put(586, MD_PANORAMA_HORIZONTAL); + ATTR_MAP.put(587, MD_PANORAMA_VERTICAL); + ATTR_MAP.put(588, MD_PANORAMA_WIDE_ANGLE); + ATTR_MAP.put(589, MD_PARTY_MODE); + ATTR_MAP.put(590, MD_PAUSE); + ATTR_MAP.put(591, MD_PAUSE_CIRCLE_FILLED); + ATTR_MAP.put(592, MD_PAUSE_CIRCLE_OUTLINE); + ATTR_MAP.put(593, MD_PAYMENT); + ATTR_MAP.put(594, MD_PEOPLE); + ATTR_MAP.put(595, MD_PEOPLE_OUTLINE); + ATTR_MAP.put(596, MD_PERM_CAMERA_MIC); + ATTR_MAP.put(597, MD_PERM_CONTACT_CALENDAR); + ATTR_MAP.put(598, MD_PERM_DATA_SETTING); + ATTR_MAP.put(599, MD_PERM_DEVICE_INFORMATION); + ATTR_MAP.put(600, MD_PERM_IDENTITY); + ATTR_MAP.put(601, MD_PERM_MEDIA); + ATTR_MAP.put(602, MD_PERM_PHONE_MSG); + ATTR_MAP.put(603, MD_PERM_SCAN_WIFI); + ATTR_MAP.put(604, MD_PERSON); + ATTR_MAP.put(605, MD_PERSON_ADD); + ATTR_MAP.put(606, MD_PERSON_OUTLINE); + ATTR_MAP.put(607, MD_PERSON_PIN); + ATTR_MAP.put(608, MD_PERSON_PIN_CIRCLE); + ATTR_MAP.put(609, MD_PERSONAL_VIDEO); + ATTR_MAP.put(610, MD_PETS); + ATTR_MAP.put(611, MD_PHONE); + ATTR_MAP.put(612, MD_PHONE_ANDROID); + ATTR_MAP.put(613, MD_PHONE_BLUETOOTH_SPEAKER); + ATTR_MAP.put(614, MD_PHONE_FORWARDED); + ATTR_MAP.put(615, MD_PHONE_IN_TALK); + ATTR_MAP.put(616, MD_PHONE_IPHONE); + ATTR_MAP.put(617, MD_PHONE_LOCKED); + ATTR_MAP.put(618, MD_PHONE_MISSED); + ATTR_MAP.put(619, MD_PHONE_PAUSED); + ATTR_MAP.put(620, MD_PHONELINK); + ATTR_MAP.put(621, MD_PHONELINK_ERASE); + ATTR_MAP.put(622, MD_PHONELINK_LOCK); + ATTR_MAP.put(623, MD_PHONELINK_OFF); + ATTR_MAP.put(624, MD_PHONELINK_RING); + ATTR_MAP.put(625, MD_PHONELINK_SETUP); + ATTR_MAP.put(626, MD_PHOTO); + ATTR_MAP.put(627, MD_PHOTO_ALBUM); + ATTR_MAP.put(628, MD_PHOTO_CAMERA); + ATTR_MAP.put(629, MD_PHOTO_FILTER); + ATTR_MAP.put(630, MD_PHOTO_LIBRARY); + ATTR_MAP.put(631, MD_PHOTO_SIZE_SELECT_ACTUAL); + ATTR_MAP.put(632, MD_PHOTO_SIZE_SELECT_LARGE); + ATTR_MAP.put(633, MD_PHOTO_SIZE_SELECT_SMALL); + ATTR_MAP.put(634, MD_PICTURE_AS_PDF); + ATTR_MAP.put(635, MD_PICTURE_IN_PICTURE); + ATTR_MAP.put(636, MD_PICTURE_IN_PICTURE_ALT); + ATTR_MAP.put(637, MD_PIE_CHART); + ATTR_MAP.put(638, MD_PIE_CHART_OUTLINED); + ATTR_MAP.put(639, MD_PIN_DROP); + ATTR_MAP.put(640, MD_PLACE); + ATTR_MAP.put(641, MD_PLAY_ARROW); + ATTR_MAP.put(642, MD_PLAY_CIRCLE_FILLED); + ATTR_MAP.put(643, MD_PLAY_CIRCLE_OUTLINE); + ATTR_MAP.put(644, MD_PLAY_FOR_WORK); + ATTR_MAP.put(645, MD_PLAYLIST_ADD); + ATTR_MAP.put(646, MD_PLAYLIST_ADD_CHECK); + ATTR_MAP.put(647, MD_PLAYLIST_PLAY); + ATTR_MAP.put(648, MD_PLUS_ONE); + ATTR_MAP.put(649, MD_POLL); + ATTR_MAP.put(650, MD_POLYMER); + ATTR_MAP.put(651, MD_POOL); + ATTR_MAP.put(652, MD_PORTABLE_WIFI_OFF); + ATTR_MAP.put(653, MD_PORTRAIT); + ATTR_MAP.put(654, MD_POWER); + ATTR_MAP.put(655, MD_POWER_INPUT); + ATTR_MAP.put(656, MD_POWER_SETTINGS_NEW); + ATTR_MAP.put(657, MD_PREGNANT_WOMAN); + ATTR_MAP.put(658, MD_PRESENT_TO_ALL); + ATTR_MAP.put(659, MD_PRINT); + ATTR_MAP.put(660, MD_PRIORITY_HIGH); + ATTR_MAP.put(661, MD_PUBLIC); + ATTR_MAP.put(662, MD_PUBLISH); + ATTR_MAP.put(663, MD_QUERY_BUILDER); + ATTR_MAP.put(664, MD_QUESTION_ANSWER); + ATTR_MAP.put(665, MD_QUEUE); + ATTR_MAP.put(666, MD_QUEUE_MUSIC); + ATTR_MAP.put(667, MD_QUEUE_PLAY_NEXT); + ATTR_MAP.put(668, MD_RADIO); + ATTR_MAP.put(669, MD_RADIO_BUTTON_CHECKED); + ATTR_MAP.put(670, MD_RADIO_BUTTON_UNCHECKED); + ATTR_MAP.put(671, MD_RATE_REVIEW); + ATTR_MAP.put(672, MD_RECEIPT); + ATTR_MAP.put(673, MD_RECENT_ACTORS); + ATTR_MAP.put(674, MD_RECORD_VOICE_OVER); + ATTR_MAP.put(675, MD_REDEEM); + ATTR_MAP.put(676, MD_REDO); + ATTR_MAP.put(677, MD_REFRESH); + ATTR_MAP.put(678, MD_REMOVE); + ATTR_MAP.put(679, MD_REMOVE_CIRCLE); + ATTR_MAP.put(680, MD_REMOVE_CIRCLE_OUTLINE); + ATTR_MAP.put(681, MD_REMOVE_FROM_QUEUE); + ATTR_MAP.put(682, MD_REMOVE_RED_EYE); + ATTR_MAP.put(683, MD_REMOVE_SHOPPING_CART); + ATTR_MAP.put(684, MD_REORDER); + ATTR_MAP.put(685, MD_REPEAT); + ATTR_MAP.put(686, MD_REPEAT_ONE); + ATTR_MAP.put(687, MD_REPLAY); + ATTR_MAP.put(688, MD_REPLAY_10); + ATTR_MAP.put(689, MD_REPLAY_30); + ATTR_MAP.put(690, MD_REPLAY_5); + ATTR_MAP.put(691, MD_REPLY); + ATTR_MAP.put(692, MD_REPLY_ALL); + ATTR_MAP.put(693, MD_REPORT); + ATTR_MAP.put(694, MD_REPORT_PROBLEM); + ATTR_MAP.put(695, MD_RESTAURANT); + ATTR_MAP.put(696, MD_RESTAURANT_MENU); + ATTR_MAP.put(697, MD_RESTORE); + ATTR_MAP.put(698, MD_RESTORE_PAGE); + ATTR_MAP.put(699, MD_RING_VOLUME); + ATTR_MAP.put(700, MD_ROOM); + ATTR_MAP.put(701, MD_ROOM_SERVICE); + ATTR_MAP.put(702, MD_ROTATE_90_DEGREES_CCW); + ATTR_MAP.put(703, MD_ROTATE_LEFT); + ATTR_MAP.put(704, MD_ROTATE_RIGHT); + ATTR_MAP.put(705, MD_ROUNDED_CORNER); + ATTR_MAP.put(706, MD_ROUTER); + ATTR_MAP.put(707, MD_ROWING); + ATTR_MAP.put(708, MD_RSS_FEED); + ATTR_MAP.put(709, MD_RV_HOOKUP); + ATTR_MAP.put(710, MD_SATELLITE); + ATTR_MAP.put(711, MD_SAVE); + ATTR_MAP.put(712, MD_SCANNER); + ATTR_MAP.put(713, MD_SCHEDULE); + ATTR_MAP.put(714, MD_SCHOOL); + ATTR_MAP.put(715, MD_SCREEN_LOCK_LANDSCAPE); + ATTR_MAP.put(716, MD_SCREEN_LOCK_PORTRAIT); + ATTR_MAP.put(717, MD_SCREEN_LOCK_ROTATION); + ATTR_MAP.put(718, MD_SCREEN_ROTATION); + ATTR_MAP.put(719, MD_SCREEN_SHARE); + ATTR_MAP.put(720, MD_SD_CARD); + ATTR_MAP.put(721, MD_SD_STORAGE); + ATTR_MAP.put(722, MD_SEARCH); + ATTR_MAP.put(723, MD_SECURITY); + ATTR_MAP.put(724, MD_SELECT_ALL); + ATTR_MAP.put(725, MD_SEND); + ATTR_MAP.put(726, MD_SENTIMENT_DISSATISFIED); + ATTR_MAP.put(727, MD_SENTIMENT_NEUTRAL); + ATTR_MAP.put(728, MD_SENTIMENT_SATISFIED); + ATTR_MAP.put(729, MD_SENTIMENT_VERY_DISSATISFIED); + ATTR_MAP.put(730, MD_SENTIMENT_VERY_SATISFIED); + ATTR_MAP.put(731, MD_SETTINGS); + ATTR_MAP.put(732, MD_SETTINGS_APPLICATIONS); + ATTR_MAP.put(733, MD_SETTINGS_BACKUP_RESTORE); + ATTR_MAP.put(734, MD_SETTINGS_BLUETOOTH); + ATTR_MAP.put(735, MD_SETTINGS_BRIGHTNESS); + ATTR_MAP.put(736, MD_SETTINGS_CELL); + ATTR_MAP.put(737, MD_SETTINGS_ETHERNET); + ATTR_MAP.put(738, MD_SETTINGS_INPUT_ANTENNA); + ATTR_MAP.put(739, MD_SETTINGS_INPUT_COMPONENT); + ATTR_MAP.put(740, MD_SETTINGS_INPUT_COMPOSITE); + ATTR_MAP.put(741, MD_SETTINGS_INPUT_HDMI); + ATTR_MAP.put(742, MD_SETTINGS_INPUT_SVIDEO); + ATTR_MAP.put(743, MD_SETTINGS_OVERSCAN); + ATTR_MAP.put(744, MD_SETTINGS_PHONE); + ATTR_MAP.put(745, MD_SETTINGS_POWER); + ATTR_MAP.put(746, MD_SETTINGS_REMOTE); + ATTR_MAP.put(747, MD_SETTINGS_SYSTEM_DAYDREAM); + ATTR_MAP.put(748, MD_SETTINGS_VOICE); + ATTR_MAP.put(749, MD_SHARE); + ATTR_MAP.put(750, MD_SHOP); + ATTR_MAP.put(751, MD_SHOP_TWO); + ATTR_MAP.put(752, MD_SHOPPING_BASKET); + ATTR_MAP.put(753, MD_SHOPPING_CART); + ATTR_MAP.put(754, MD_SHORT_TEXT); + ATTR_MAP.put(755, MD_SHOW_CHART); + ATTR_MAP.put(756, MD_SHUFFLE); + ATTR_MAP.put(757, MD_SIGNAL_CELLULAR_4_BAR); + ATTR_MAP.put(758, MD_SIGNAL_CELLULAR_CONNECTED_NO_INTERNET_4_BAR); + ATTR_MAP.put(759, MD_SIGNAL_CELLULAR_NO_SIM); + ATTR_MAP.put(760, MD_SIGNAL_CELLULAR_NULL); + ATTR_MAP.put(761, MD_SIGNAL_CELLULAR_OFF); + ATTR_MAP.put(762, MD_SIGNAL_WIFI_4_BAR); + ATTR_MAP.put(763, MD_SIGNAL_WIFI_4_BAR_LOCK); + ATTR_MAP.put(764, MD_SIGNAL_WIFI_OFF); + ATTR_MAP.put(765, MD_SIM_CARD); + ATTR_MAP.put(766, MD_SIM_CARD_ALERT); + ATTR_MAP.put(767, MD_SKIP_NEXT); + ATTR_MAP.put(768, MD_SKIP_PREVIOUS); + ATTR_MAP.put(769, MD_SLIDESHOW); + ATTR_MAP.put(770, MD_SLOW_MOTION_VIDEO); + ATTR_MAP.put(771, MD_SMARTPHONE); + ATTR_MAP.put(772, MD_SMOKE_FREE); + ATTR_MAP.put(773, MD_SMOKING_ROOMS); + ATTR_MAP.put(774, MD_SMS); + ATTR_MAP.put(775, MD_SMS_FAILED); + ATTR_MAP.put(776, MD_SNOOZE); + ATTR_MAP.put(777, MD_SORT); + ATTR_MAP.put(778, MD_SORT_BY_ALPHA); + ATTR_MAP.put(779, MD_SPA); + ATTR_MAP.put(780, MD_SPACE_BAR); + ATTR_MAP.put(781, MD_SPEAKER); + ATTR_MAP.put(782, MD_SPEAKER_GROUP); + ATTR_MAP.put(783, MD_SPEAKER_NOTES); + ATTR_MAP.put(784, MD_SPEAKER_NOTES_OFF); + ATTR_MAP.put(785, MD_SPEAKER_PHONE); + ATTR_MAP.put(786, MD_SPELLCHECK); + ATTR_MAP.put(787, MD_STAR); + ATTR_MAP.put(788, MD_STAR_BORDER); + ATTR_MAP.put(789, MD_STAR_HALF); + ATTR_MAP.put(790, MD_STARS); + ATTR_MAP.put(791, MD_STAY_CURRENT_LANDSCAPE); + ATTR_MAP.put(792, MD_STAY_CURRENT_PORTRAIT); + ATTR_MAP.put(793, MD_STAY_PRIMARY_LANDSCAPE); + ATTR_MAP.put(794, MD_STAY_PRIMARY_PORTRAIT); + ATTR_MAP.put(795, MD_STOP); + ATTR_MAP.put(796, MD_STOP_SCREEN_SHARE); + ATTR_MAP.put(797, MD_STORAGE); + ATTR_MAP.put(798, MD_STORE); + ATTR_MAP.put(799, MD_STORE_MALL_DIRECTORY); + ATTR_MAP.put(800, MD_STRAIGHTEN); + ATTR_MAP.put(801, MD_STREETVIEW); + ATTR_MAP.put(802, MD_STRIKETHROUGH_S); + ATTR_MAP.put(803, MD_STYLE); + ATTR_MAP.put(804, MD_SUBDIRECTORY_ARROW_LEFT); + ATTR_MAP.put(805, MD_SUBDIRECTORY_ARROW_RIGHT); + ATTR_MAP.put(806, MD_SUBJECT); + ATTR_MAP.put(807, MD_SUBSCRIPTIONS); + ATTR_MAP.put(808, MD_SUBTITLES); + ATTR_MAP.put(809, MD_SUBWAY); + ATTR_MAP.put(810, MD_SUPERVISOR_ACCOUNT); + ATTR_MAP.put(811, MD_SURROUND_SOUND); + ATTR_MAP.put(812, MD_SWAP_CALLS); + ATTR_MAP.put(813, MD_SWAP_HORIZ); + ATTR_MAP.put(814, MD_SWAP_VERT); + ATTR_MAP.put(815, MD_SWAP_VERTICAL_CIRCLE); + ATTR_MAP.put(816, MD_SWITCH_CAMERA); + ATTR_MAP.put(817, MD_SWITCH_VIDEO); + ATTR_MAP.put(818, MD_SYNC); + ATTR_MAP.put(819, MD_SYNC_DISABLED); + ATTR_MAP.put(820, MD_SYNC_PROBLEM); + ATTR_MAP.put(821, MD_SYSTEM_UPDATE); + ATTR_MAP.put(822, MD_SYSTEM_UPDATE_ALT); + ATTR_MAP.put(823, MD_TAB); + ATTR_MAP.put(824, MD_TAB_UNSELECTED); + ATTR_MAP.put(825, MD_TABLET); + ATTR_MAP.put(826, MD_TABLET_ANDROID); + ATTR_MAP.put(827, MD_TABLET_MAC); + ATTR_MAP.put(828, MD_TAG_FACES); + ATTR_MAP.put(829, MD_TAP_AND_PLAY); + ATTR_MAP.put(830, MD_TERRAIN); + ATTR_MAP.put(831, MD_TEXT_FIELDS); + ATTR_MAP.put(832, MD_TEXT_FORMAT); + ATTR_MAP.put(833, MD_TEXTSMS); + ATTR_MAP.put(834, MD_TEXTURE); + ATTR_MAP.put(835, MD_THEATERS); + ATTR_MAP.put(836, MD_THUMB_DOWN); + ATTR_MAP.put(837, MD_THUMB_UP); + ATTR_MAP.put(838, MD_THUMBS_UP_DOWN); + ATTR_MAP.put(839, MD_TIME_TO_LEAVE); + ATTR_MAP.put(840, MD_TIMELAPSE); + ATTR_MAP.put(841, MD_TIMELINE); + ATTR_MAP.put(842, MD_TIMER); + ATTR_MAP.put(843, MD_TIMER_10); + ATTR_MAP.put(844, MD_TIMER_3); + ATTR_MAP.put(845, MD_TIMER_OFF); + ATTR_MAP.put(846, MD_TITLE); + ATTR_MAP.put(847, MD_TOC); + ATTR_MAP.put(848, MD_TODAY); + ATTR_MAP.put(849, MD_TOLL); + ATTR_MAP.put(850, MD_TONALITY); + ATTR_MAP.put(851, MD_TOUCH_APP); + ATTR_MAP.put(852, MD_TOYS); + ATTR_MAP.put(853, MD_TRACK_CHANGES); + ATTR_MAP.put(854, MD_TRAFFIC); + ATTR_MAP.put(855, MD_TRAIN); + ATTR_MAP.put(856, MD_TRAM); + ATTR_MAP.put(857, MD_TRANSFER_WITHIN_A_STATION); + ATTR_MAP.put(858, MD_TRANSFORM); + ATTR_MAP.put(859, MD_TRANSLATE); + ATTR_MAP.put(860, MD_TRENDING_DOWN); + ATTR_MAP.put(861, MD_TRENDING_FLAT); + ATTR_MAP.put(862, MD_TRENDING_UP); + ATTR_MAP.put(863, MD_TUNE); + ATTR_MAP.put(864, MD_TURNED_IN); + ATTR_MAP.put(865, MD_TURNED_IN_NOT); + ATTR_MAP.put(866, MD_TV); + ATTR_MAP.put(867, MD_UNARCHIVE); + ATTR_MAP.put(868, MD_UNDO); + ATTR_MAP.put(869, MD_UNFOLD_LESS); + ATTR_MAP.put(870, MD_UNFOLD_MORE); + ATTR_MAP.put(871, MD_UPDATE); + ATTR_MAP.put(872, MD_USB); + ATTR_MAP.put(873, MD_VERIFIED_USER); + ATTR_MAP.put(874, MD_VERTICAL_ALIGN_BOTTOM); + ATTR_MAP.put(875, MD_VERTICAL_ALIGN_CENTER); + ATTR_MAP.put(876, MD_VERTICAL_ALIGN_TOP); + ATTR_MAP.put(877, MD_VIBRATION); + ATTR_MAP.put(878, MD_VIDEO_CALL); + ATTR_MAP.put(879, MD_VIDEO_LABEL); + ATTR_MAP.put(880, MD_VIDEO_LIBRARY); + ATTR_MAP.put(881, MD_VIDEOCAM); + ATTR_MAP.put(882, MD_VIDEOCAM_OFF); + ATTR_MAP.put(883, MD_VIDEOGAME_ASSET); + ATTR_MAP.put(884, MD_VIEW_AGENDA); + ATTR_MAP.put(885, MD_VIEW_ARRAY); + ATTR_MAP.put(886, MD_VIEW_CAROUSEL); + ATTR_MAP.put(887, MD_VIEW_COLUMN); + ATTR_MAP.put(888, MD_VIEW_COMFY); + ATTR_MAP.put(889, MD_VIEW_COMPACT); + ATTR_MAP.put(890, MD_VIEW_DAY); + ATTR_MAP.put(891, MD_VIEW_HEADLINE); + ATTR_MAP.put(892, MD_VIEW_LIST); + ATTR_MAP.put(893, MD_VIEW_MODULE); + ATTR_MAP.put(894, MD_VIEW_QUILT); + ATTR_MAP.put(895, MD_VIEW_STREAM); + ATTR_MAP.put(896, MD_VIEW_WEEK); + ATTR_MAP.put(897, MD_VIGNETTE); + ATTR_MAP.put(898, MD_VISIBILITY); + ATTR_MAP.put(899, MD_VISIBILITY_OFF); + ATTR_MAP.put(900, MD_VOICE_CHAT); + ATTR_MAP.put(901, MD_VOICEMAIL); + ATTR_MAP.put(902, MD_VOLUME_DOWN); + ATTR_MAP.put(903, MD_VOLUME_MUTE); + ATTR_MAP.put(904, MD_VOLUME_OFF); + ATTR_MAP.put(905, MD_VOLUME_UP); + ATTR_MAP.put(906, MD_VPN_KEY); + ATTR_MAP.put(907, MD_VPN_LOCK); + ATTR_MAP.put(908, MD_WALLPAPER); + ATTR_MAP.put(909, MD_WARNING); + ATTR_MAP.put(910, MD_WATCH); + ATTR_MAP.put(911, MD_WATCH_LATER); + ATTR_MAP.put(912, MD_WB_AUTO); + ATTR_MAP.put(913, MD_WB_CLOUDY); + ATTR_MAP.put(914, MD_WB_INCANDESCENT); + ATTR_MAP.put(915, MD_WB_IRIDESCENT); + ATTR_MAP.put(916, MD_WB_SUNNY); + ATTR_MAP.put(917, MD_WC); + ATTR_MAP.put(918, MD_WEB); + ATTR_MAP.put(919, MD_WEB_ASSET); + ATTR_MAP.put(920, MD_WEEKEND); + ATTR_MAP.put(921, MD_WHATSHOT); + ATTR_MAP.put(922, MD_WIDGETS); + ATTR_MAP.put(923, MD_WIFI); + ATTR_MAP.put(924, MD_WIFI_LOCK); + ATTR_MAP.put(925, MD_WIFI_TETHERING); + ATTR_MAP.put(926, MD_WORK); + ATTR_MAP.put(927, MD_WRAP_TEXT); + ATTR_MAP.put(928, MD_YOUTUBE_SEARCHED_FOR); + ATTR_MAP.put(929, MD_ZOOM_IN); + ATTR_MAP.put(930, MD_ZOOM_OUT); + ATTR_MAP.put(931, MD_ZOOM_OUT_MAP); + } +} \ No newline at end of file diff --git a/AndroidBootstrap/src/main/res/values/attrs.xml b/AndroidBootstrap/src/main/res/values/attrs.xml index 59f56d5..962b1bc 100644 --- a/AndroidBootstrap/src/main/res/values/attrs.xml +++ b/AndroidBootstrap/src/main/res/values/attrs.xml @@ -61,6 +61,8 @@ + + @@ -90,12 +92,20 @@ - + + + + + + + + + diff --git a/AndroidBootstrap/src/main/res/values/attrs_materialIcon.xml b/AndroidBootstrap/src/main/res/values/attrs_materialIcon.xml new file mode 100644 index 0000000..e3bbaa3 --- /dev/null +++ b/AndroidBootstrap/src/main/res/values/attrs_materialIcon.xml @@ -0,0 +1,937 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AndroidBootstrap/src/main/res/values/dimens.xml b/AndroidBootstrap/src/main/res/values/dimens.xml index 8cc4671..4468c42 100644 --- a/AndroidBootstrap/src/main/res/values/dimens.xml +++ b/AndroidBootstrap/src/main/res/values/dimens.xml @@ -66,7 +66,9 @@ 3dp - 14dp + 20dp 16dp + 17sp + diff --git a/README.md b/README.md index 5b777a0..e25da30 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,35 @@ Displays progress in a bar from 0-100, and animates updates to the current progr ``` BootstrapProgressBar +### BootstrapProgressBarGroup +Allows BootstrapProgressBars to be group together to have the effect of stacked progress bar. + ```xml + + + + + + + +``` +BootstrapProgressBarGroup + ###BootstrapLabel Displays non-clickable text in a widget similar to the BootstrapButton, sizable using H1-H6 elements. ```xml diff --git a/build.gradle b/build.gradle index 97caee5..d2f88c2 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:2.0.0' + classpath 'com.android.tools.build:gradle:2.1.0' } } diff --git a/gradlew b/gradlew index 91a7e26..9d82f78 100755 --- a/gradlew +++ b/gradlew @@ -42,11 +42,6 @@ case "`uname`" in ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" @@ -61,9 +56,9 @@ while [ -h "$PRG" ] ; do fi done SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- +cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" -cd "$SAVED" >&- +cd "$SAVED" >/dev/null CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -114,6 +109,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` diff --git a/images/bootstrap_progress_bar_group.png b/images/bootstrap_progress_bar_group.png new file mode 100644 index 0000000..5d21584 Binary files /dev/null and b/images/bootstrap_progress_bar_group.png differ diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index 3c4fe06..2b21de2 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -68,6 +68,11 @@ android:name=".BootstrapAlertExample" android:label="BootstrapAlertExample" /> + + diff --git a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/AwesomeTextViewExample.java b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/AwesomeTextViewExample.java index a25970d..691128b 100644 --- a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/AwesomeTextViewExample.java +++ b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/AwesomeTextViewExample.java @@ -4,6 +4,7 @@ import com.beardedhen.androidbootstrap.AwesomeTextView; import com.beardedhen.androidbootstrap.BootstrapText; +import com.beardedhen.androidbootstrap.font.MaterialIcons; import butterknife.Bind; import butterknife.OnClick; @@ -52,6 +53,7 @@ private void setupFontAwesomeText() { mixAndMatch.setBootstrapText(new BootstrapText.Builder(this) .addFontAwesomeIcon(FA_ANCHOR) .addTypicon(TY_CODE) + .addMaterialIcon(MaterialIcons.MD_PHOTO) .build()); } diff --git a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonExample.java b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonExample.java index e94cd1e..26cdd50 100644 --- a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonExample.java +++ b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonExample.java @@ -1,6 +1,7 @@ package com.fractalwrench.androidbootstrap.sample; import android.os.Bundle; +import android.util.Log; import com.beardedhen.androidbootstrap.BootstrapButton; import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand; diff --git a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonGroupExample.java b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonGroupExample.java index 87c64a1..8b74109 100644 --- a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonGroupExample.java +++ b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonGroupExample.java @@ -1,6 +1,8 @@ package com.fractalwrench.androidbootstrap.sample; +import android.os.Bundle; import android.widget.LinearLayout; +import android.widget.TextView; import com.beardedhen.androidbootstrap.BootstrapButton; import com.beardedhen.androidbootstrap.BootstrapButtonGroup; @@ -25,6 +27,43 @@ public class BootstrapButtonGroupExample extends BaseActivity { @Bind(R.id.bbutton_group_brand_change) BootstrapButtonGroup brandChange; @Bind(R.id.bbutton_group_child_change) BootstrapButtonGroup childChange; + @Bind(R.id.bbutton_group_checked_text) TextView checkedText; + + @Bind(R.id.bbutton_group_checked1) BootstrapButton radioButton1; + @Bind(R.id.bbutton_group_checked2) BootstrapButton radioButton2; + @Bind(R.id.bbutton_group_checked3) BootstrapButton radioButton3; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + radioButton1.setOnCheckedChangedListener(new BootstrapButton.OnCheckedChangedListener() { + @Override + public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked) { + if (isChecked) { + checkedText.setText("radio, button 1 checked"); + } + } + }); + + radioButton2.setOnCheckedChangedListener(new BootstrapButton.OnCheckedChangedListener() { + @Override + public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked) { + if (isChecked) { + checkedText.setText("radio, button 2 checked"); + } + } + }); + + radioButton3.setOnCheckedChangedListener(new BootstrapButton.OnCheckedChangedListener() { + @Override + public void OnCheckedChanged(BootstrapButton bootstrapButton, boolean isChecked) { + if (isChecked) { + checkedText.setText("radio, button 3 checked"); + } + } + }); + } + @OnClick(R.id.bbutton_group_orientation_change_btn) void onOrientationChangeExampleClicked() { boolean isHorizontal = orientationChange.getOrientation() == LinearLayout.HORIZONTAL; int newOrientation = isHorizontal ? LinearLayout.VERTICAL : LinearLayout.HORIZONTAL; diff --git a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarExample.java b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarExample.java index 23c9c13..a23e475 100644 --- a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarExample.java +++ b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarExample.java @@ -57,19 +57,19 @@ public ChangeState next() { @Bind(R.id.example_size_change) BootstrapProgressBar sizeExample; @OnClick(R.id.example_progress_default_btn) void onDefaultClicked() { - defaultExample.setProgress(randomProgress(defaultExample.getProgress())); + defaultExample.setProgress(randomProgress(defaultExample.getProgress(), 100)); } @OnClick(R.id.example_progress_animated_btn) void onAnimatedClicked() { - animatedExample.setProgress(randomProgress(animatedExample.getProgress())); + animatedExample.setProgress(randomProgress(animatedExample.getProgress(), 100)); } @OnClick(R.id.example_progress_striped_btn) void onStripedClicked() { - stripedExample.setProgress(randomProgress(stripedExample.getProgress())); + stripedExample.setProgress(randomProgress(stripedExample.getProgress(), 200)); } @OnClick(R.id.example_progress_striped_animated_btn) void onStripedAnimClicked() { - stripedAnimExample.setProgress(randomProgress(stripedAnimExample.getProgress())); + stripedAnimExample.setProgress(randomProgress(stripedAnimExample.getProgress(), 100)); } @OnClick(R.id.example_progress_change_type_btn) void onAlterProgressBarParameters() { @@ -128,15 +128,15 @@ public ChangeState next() { sizeExample.setBootstrapSize(size); } - private int randomProgress(int currentProgress) { + private int randomProgress(int currentProgress, int maxProgress) { if (random == null) { random = new Random(); } int prog = currentProgress + random.nextInt(20); - if (prog > 100) { - prog -= 100; + if (prog > maxProgress) { + prog -= maxProgress; } return prog; diff --git a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarGroupExample.java b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarGroupExample.java new file mode 100644 index 0000000..352f3aa --- /dev/null +++ b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapProgressBarGroupExample.java @@ -0,0 +1,73 @@ +package com.fractalwrench.androidbootstrap.sample; + +import com.beardedhen.androidbootstrap.BootstrapProgressBar; +import com.beardedhen.androidbootstrap.BootstrapProgressBarGroup; +import com.beardedhen.androidbootstrap.api.attributes.BootstrapBrand; +import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand; +import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize; + +import java.util.Random; + +import butterknife.Bind; +import butterknife.OnClick; + +public class BootstrapProgressBarGroupExample extends BaseActivity { + + @Bind(R.id.example_progress_bar_group_add_group) + BootstrapProgressBarGroup groupAdd; + + @Bind(R.id.example_progress_bar_group_round_group) + BootstrapProgressBarGroup groupRound; + + @Bind(R.id.example_progress_bar_group_progress_1) + BootstrapProgressBar bootstrapProgressBar1; + + @Bind(R.id.example_progress_bar_group_progress_2) + BootstrapProgressBar bootstrapProgressBar2; + + boolean rounded = false; + + @Override + protected int getContentLayoutId() { + return R.layout.example_bootstrap_progress_bar_group; + } + + @OnClick(R.id.example_progress_bar_group_add) + void addToGroup(){ + Random rand = new Random(); + BootstrapProgressBar bar = new BootstrapProgressBar(this); + bar.setProgress(10); + int brand = 5; + while (brand == 5) { + brand = rand.nextInt(7); + } + bar.setBootstrapBrand(DefaultBootstrapBrand.fromAttributeValue(brand)); + + if(groupAdd.getCumulativeProgress() + 10 <= 100) { + groupAdd.addView(bar); + }else{ + groupAdd.removeViews(2, groupAdd.getChildCount() - 3); + } + } + + @OnClick(R.id.example_progress_bar_group_round) + void onRoundClick(){ + rounded = !rounded; + groupRound.setRounded(rounded); + } + + @OnClick(R.id.example_progress_bar_group_progress) + void onClickProgressChange(){ + Random rand = new Random(); + int progress = rand.nextInt(30) + 10; + switch(rand.nextInt(2)){ + case 0: + bootstrapProgressBar1.setProgress(progress); + break; + case 1: + bootstrapProgressBar2.setProgress(progress); + break; + } + + } +} diff --git a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/HomeActivity.java b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/HomeActivity.java index 88f259f..5e7dfd9 100644 --- a/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/HomeActivity.java +++ b/sample/src/main/java/com/fractalwrench/androidbootstrap/sample/HomeActivity.java @@ -4,6 +4,8 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; +import com.beardedhen.androidbootstrap.BootstrapProgressBarGroup; + import butterknife.ButterKnife; import butterknife.OnClick; @@ -31,6 +33,10 @@ public class HomeActivity extends AppCompatActivity { startActivity(new Intent(this, BootstrapProgressBarExample.class)); } + @OnClick(R.id.example_bootstrap_progress_group) void onBootstrapProgressGroupExampleClicked() { + startActivity(new Intent(this, BootstrapProgressBarGroupExample.class)); + } + @OnClick(R.id.example_bootstrap_btn_group) void onBootstrapButtonGroupExampleClicked() { startActivity(new Intent(this, BootstrapButtonGroupExample.class)); } diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml index 304ab5a..5225429 100644 --- a/sample/src/main/res/layout/activity_main.xml +++ b/sample/src/main/res/layout/activity_main.xml @@ -37,6 +37,12 @@ android:text="BootstrapProgressBar" /> +