// Path: app/src/main/java/com/icecream/snorlax/common/Strings.java
// @SuppressWarnings({"unused", "FieldCanBeLocal", "WeakerAccess"})
// public final class Strings {
// 
// 	public static final String EMPTY = "";
// 	public static final String DOT = ".";
// 	public static final String COLON = ":";
// 	public static final String SPACE = " ";
// 
// 	public static String nullToEmpty(String string) {
// 		return (string == null) ? EMPTY : string;
// 	}
// 
// 	public static String emptyToNull(String string) {
// 		return isNullOrEmpty(string) ? null : string;
// 	}
// 
// 	public static boolean isNullOrEmpty(String string) {
// 		return isNull(string) || isEmpty(string);
// 	}
// 
// 	public static boolean isNull(String string) {
// 		return string == null;
// 	}
// 
// 	public static boolean isEmpty(String string) {
// 		return string.trim().length() == 0;
// 	}
// 
// 	public static String valueOrDefault(String string, String defaultString) {
// 		return isNullOrEmpty(string) ? defaultString : string;
// 	}
// 
// 	public static String truncateAt(String string, int length) {
// 		return (string.length() > length) ? string.substring(0, length) : string;
// 	}
// 
// 	public static String padEnd(String string, int minLength, char padChar) {
// 		if (string.length() >= minLength) {
// 			return string;
// 		}
// 		StringBuilder sb = new StringBuilder(minLength);
// 		sb.append(string);
// 		for (int i = string.length(); i < minLength; i++) {
// 			sb.append(padChar);
// 		}
// 		return sb.toString();
// 	}
// 
// 	public static String padStart(String string, int minLength, char padChar) {
// 		if (string.length() >= minLength) {
// 			return string;
// 		}
// 		StringBuilder sb = new StringBuilder(minLength);
// 		for (int i = string.length(); i < minLength; i++) {
// 			sb.append(padChar);
// 		}
// 		sb.append(string);
// 		return sb.toString();
// 	}
// 
// 	public static String capitalize(String[] string) {
// 		if (string == null) {
// 			return null;
// 		}
// 		StringBuilder builder = new StringBuilder();
// 		for (String sub : string) {
// 			builder
// 				.append(capitalize(sub))
// 				.append(" ");
// 		}
// 		return builder.toString().trim();
// 	}
// 
// 	public static String capitalize(String string) {
// 		if (isNullOrEmpty(string) || string.trim().length() < 2) {
// 			return string;
// 		}
// 		return String.valueOf(string.charAt(0)).toUpperCase(Locale.US) + string.substring(1).toLowerCase(Locale.US);
// 	}
// 
// 	private Strings() {
// 		throw new AssertionError("No instances");
// 	}
// }
// 
// Path: app/src/main/java/com/icecream/snorlax/module/pokemon/PokemonType.java
// public enum PokemonType {
// 	NONE,
// 	GRASS,
// 	FIRE,
// 	WATER,
// 	BUG,
// 	ELECTRIC,
// 	POISON,
// 	FAIRY,
// 	NORMAL,
// 	PSYCHIC,
// 	FIGHTING,
// 	DRAGON,
// 	FLYING,
// 	ICE,
// 	ROCK,
// 	GROUND,
// 	GHOST,
// 	STEEL,
// 	DARK;
// 
// 	@Override
// 	public String toString() {
// 		return Strings.capitalize(name().split("_"));
// 	}
// }


import java.util.Locale;
import javax.inject.Inject;
import javax.inject.Singleton;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Typeface;
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.DrawableRes;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.NotificationCompat;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.StyleSpan;
import android.view.View;
import com.icecream.snorlax.R;
import com.icecream.snorlax.common.Strings;
import com.icecream.snorlax.module.context.pokemongo.PokemonGo;
import com.icecream.snorlax.module.context.snorlax.Snorlax;
import com.icecream.snorlax.module.pokemon.PokemonType;

			hideIcon(notification);

			mNotificationManager.notify(NOTIFICATION_ID, notification);
		});
	}

	@DrawableRes
	private int getPokemonResourceId(int pokemonNumber) {
		return mResources.getIdentifier("pokemon_" + Strings.padStart(String.valueOf(pokemonNumber), 3, '0'), "drawable", mContext.getPackageName());
	}

	private int getLargeIconWidth() {
		return mResources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width);
	}

	private int getLargeIconHeight() {
		return mResources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height);
	}

	private Spannable getBoldSpannable(String text) {
		Spannable spannable = new SpannableString(text);
		spannable.setSpan(new StyleSpan(Typeface.BOLD), 0, spannable.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
		return spannable;
	}

	@SuppressWarnings("StringBufferReplaceableByString")
	private String getFooter(String type1, String type2, String pokemonClass) {
		return new StringBuilder()
			.append(type1)
// Path: app/src/main/java/com/icecream/snorlax/common/Strings.java
// @SuppressWarnings({"unused", "FieldCanBeLocal", "WeakerAccess"})
// public final class Strings {
// 
// 	public static final String EMPTY = "";
// 	public static final String DOT = ".";
// 	public static final String COLON = ":";
// 	public static final String SPACE = " ";
// 
// 	public static String nullToEmpty(String string) {
// 		return (string == null) ? EMPTY : string;
// 	}
// 
// 	public static String emptyToNull(String string) {
// 		return isNullOrEmpty(string) ? null : string;
// 	}
// 
// 	public static boolean isNullOrEmpty(String string) {
// 		return isNull(string) || isEmpty(string);
// 	}
// 
// 	public static boolean isNull(String string) {
// 		return string == null;
// 	}
// 
// 	public static boolean isEmpty(String string) {
// 		return string.trim().length() == 0;
// 	}
// 
// 	public static String valueOrDefault(String string, String defaultString) {
// 		return isNullOrEmpty(string) ? defaultString : string;
// 	}
// 
// 	public static String truncateAt(String string, int length) {
// 		return (string.length() > length) ? string.substring(0, length) : string;
// 	}
// 
// 	public static String padEnd(String string, int minLength, char padChar) {
// 		if (string.length() >= minLength) {
// 			return string;
// 		}
// 		StringBuilder sb = new StringBuilder(minLength);
// 		sb.append(string);
// 		for (int i = string.length(); i < minLength; i++) {
// 			sb.append(padChar);
// 		}
// 		return sb.toString();
// 	}
// 
// 	public static String padStart(String string, int minLength, char padChar) {
// 		if (string.length() >= minLength) {
// 			return string;
// 		}
// 		StringBuilder sb = new StringBuilder(minLength);
// 		for (int i = string.length(); i < minLength; i++) {
// 			sb.append(padChar);
// 		}
// 		sb.append(string);
// 		return sb.toString();
// 	}
// 
// 	public static String capitalize(String[] string) {
// 		if (string == null) {
// 			return null;
// 		}
// 		StringBuilder builder = new StringBuilder();
// 		for (String sub : string) {
// 			builder
// 				.append(capitalize(sub))
// 				.append(" ");
// 		}
// 		return builder.toString().trim();
// 	}
// 
// 	public static String capitalize(String string) {
// 		if (isNullOrEmpty(string) || string.trim().length() < 2) {
// 			return string;
// 		}
// 		return String.valueOf(string.charAt(0)).toUpperCase(Locale.US) + string.substring(1).toLowerCase(Locale.US);
// 	}
// 
// 	private Strings() {
// 		throw new AssertionError("No instances");
// 	}
// }
// 
// Path: app/src/main/java/com/icecream/snorlax/module/pokemon/PokemonType.java
// public enum PokemonType {
// 	NONE,
// 	GRASS,
// 	FIRE,
// 	WATER,
// 	BUG,
// 	ELECTRIC,
// 	POISON,
// 	FAIRY,
// 	NORMAL,
// 	PSYCHIC,
// 	FIGHTING,
// 	DRAGON,
// 	FLYING,
// 	ICE,
// 	ROCK,
// 	GROUND,
// 	GHOST,
// 	STEEL,
// 	DARK;
// 
// 	@Override
// 	public String toString() {
// 		return Strings.capitalize(name().split("_"));
// 	}
// }


// Path: app/src/main/java/com/icecream/snorlax/module/feature/encounter/EncounterNotification.java
import java.util.Locale;
import javax.inject.Inject;
import javax.inject.Singleton;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Typeface;
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.DrawableRes;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.NotificationCompat;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.StyleSpan;
import android.view.View;
import com.icecream.snorlax.R;
import com.icecream.snorlax.common.Strings;
import com.icecream.snorlax.module.context.pokemongo.PokemonGo;
import com.icecream.snorlax.module.context.snorlax.Snorlax;
import com.icecream.snorlax.module.pokemon.PokemonType;


			hideIcon(notification);

			mNotificationManager.notify(NOTIFICATION_ID, notification);
		});
	}

	@DrawableRes
	private int getPokemonResourceId(int pokemonNumber) {
		return mResources.getIdentifier("pokemon_" + Strings.padStart(String.valueOf(pokemonNumber), 3, '0'), "drawable", mContext.getPackageName());
	}

	private int getLargeIconWidth() {
		return mResources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width);
	}

	private int getLargeIconHeight() {
		return mResources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height);
	}

	private Spannable getBoldSpannable(String text) {
		Spannable spannable = new SpannableString(text);
		spannable.setSpan(new StyleSpan(Typeface.BOLD), 0, spannable.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
		return spannable;
	}

	@SuppressWarnings("StringBufferReplaceableByString")
	private String getFooter(String type1, String type2, String pokemonClass) {
		return new StringBuilder()
			.append(type1)
			.append(type2.equalsIgnoreCase(PokemonType.NONE.toString()) ? Strings.EMPTY : String.format(Locale.US, "/%s", type2))