package me.ccrama.redditslide;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.support.v4.content.ContextCompat;
import me.ccrama.redditslide.Activities.Slide;
/**
* Created by ccrama on 7/9/2015.
*/
public class ColorPreferences {
public final static String FONT_STYLE = "THEME";
private final Context context;
public ColorPreferences(Context context) {
this.context = context;
}
public static int[] getColors(Context context, int c) {
if (c == ContextCompat.getColor(context, R.color.md_red_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_red_100),
ContextCompat.getColor(context, R.color.md_red_200),
ContextCompat.getColor(context, R.color.md_red_300),
ContextCompat.getColor(context, R.color.md_red_400),
ContextCompat.getColor(context, R.color.md_red_500),
ContextCompat.getColor(context, R.color.md_red_600),
ContextCompat.getColor(context, R.color.md_red_700),
ContextCompat.getColor(context, R.color.md_red_800),
ContextCompat.getColor(context, R.color.md_red_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_pink_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_pink_100),
ContextCompat.getColor(context, R.color.md_pink_200),
ContextCompat.getColor(context, R.color.md_pink_300),
ContextCompat.getColor(context, R.color.md_pink_400),
ContextCompat.getColor(context, R.color.md_pink_500),
ContextCompat.getColor(context, R.color.md_pink_600),
ContextCompat.getColor(context, R.color.md_pink_700),
ContextCompat.getColor(context, R.color.md_pink_800),
ContextCompat.getColor(context, R.color.md_pink_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_purple_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_purple_100),
ContextCompat.getColor(context, R.color.md_purple_200),
ContextCompat.getColor(context, R.color.md_purple_300),
ContextCompat.getColor(context, R.color.md_purple_400),
ContextCompat.getColor(context, R.color.md_purple_500),
ContextCompat.getColor(context, R.color.md_purple_600),
ContextCompat.getColor(context, R.color.md_purple_700),
ContextCompat.getColor(context, R.color.md_purple_800),
ContextCompat.getColor(context, R.color.md_purple_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_deep_purple_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_deep_purple_100),
ContextCompat.getColor(context, R.color.md_deep_purple_200),
ContextCompat.getColor(context, R.color.md_deep_purple_300),
ContextCompat.getColor(context, R.color.md_deep_purple_400),
ContextCompat.getColor(context, R.color.md_deep_purple_500),
ContextCompat.getColor(context, R.color.md_deep_purple_600),
ContextCompat.getColor(context, R.color.md_deep_purple_700),
ContextCompat.getColor(context, R.color.md_deep_purple_800),
ContextCompat.getColor(context, R.color.md_deep_purple_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_indigo_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_indigo_100),
ContextCompat.getColor(context, R.color.md_indigo_200),
ContextCompat.getColor(context, R.color.md_indigo_300),
ContextCompat.getColor(context, R.color.md_indigo_400),
ContextCompat.getColor(context, R.color.md_indigo_500),
ContextCompat.getColor(context, R.color.md_indigo_600),
ContextCompat.getColor(context, R.color.md_indigo_700),
ContextCompat.getColor(context, R.color.md_indigo_800),
ContextCompat.getColor(context, R.color.md_indigo_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_blue_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_blue_100),
ContextCompat.getColor(context, R.color.md_blue_200),
ContextCompat.getColor(context, R.color.md_blue_300),
ContextCompat.getColor(context, R.color.md_blue_400),
ContextCompat.getColor(context, R.color.md_blue_500),
ContextCompat.getColor(context, R.color.md_blue_600),
ContextCompat.getColor(context, R.color.md_blue_700),
ContextCompat.getColor(context, R.color.md_blue_800),
ContextCompat.getColor(context, R.color.md_blue_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_light_blue_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_light_blue_100),
ContextCompat.getColor(context, R.color.md_light_blue_200),
ContextCompat.getColor(context, R.color.md_light_blue_300),
ContextCompat.getColor(context, R.color.md_light_blue_400),
ContextCompat.getColor(context, R.color.md_light_blue_500),
ContextCompat.getColor(context, R.color.md_light_blue_600),
ContextCompat.getColor(context, R.color.md_light_blue_700),
ContextCompat.getColor(context, R.color.md_light_blue_800),
ContextCompat.getColor(context, R.color.md_light_blue_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_cyan_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_cyan_100),
ContextCompat.getColor(context, R.color.md_cyan_200),
ContextCompat.getColor(context, R.color.md_cyan_300),
ContextCompat.getColor(context, R.color.md_cyan_400),
ContextCompat.getColor(context, R.color.md_cyan_500),
ContextCompat.getColor(context, R.color.md_cyan_600),
ContextCompat.getColor(context, R.color.md_cyan_700),
ContextCompat.getColor(context, R.color.md_cyan_800),
ContextCompat.getColor(context, R.color.md_cyan_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_teal_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_teal_100),
ContextCompat.getColor(context, R.color.md_teal_200),
ContextCompat.getColor(context, R.color.md_teal_300),
ContextCompat.getColor(context, R.color.md_teal_400),
ContextCompat.getColor(context, R.color.md_teal_500),
ContextCompat.getColor(context, R.color.md_teal_600),
ContextCompat.getColor(context, R.color.md_teal_700),
ContextCompat.getColor(context, R.color.md_teal_800),
ContextCompat.getColor(context, R.color.md_teal_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_green_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_green_100),
ContextCompat.getColor(context, R.color.md_green_200),
ContextCompat.getColor(context, R.color.md_green_300),
ContextCompat.getColor(context, R.color.md_green_400),
ContextCompat.getColor(context, R.color.md_green_500),
ContextCompat.getColor(context, R.color.md_green_600),
ContextCompat.getColor(context, R.color.md_green_700),
ContextCompat.getColor(context, R.color.md_green_800),
ContextCompat.getColor(context, R.color.md_green_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_light_green_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_light_green_100),
// ContextCompat.getColor(context, R.color.md_light_green_200),
ContextCompat.getColor(context, R.color.md_light_green_300),
ContextCompat.getColor(context, R.color.md_light_green_400),
ContextCompat.getColor(context, R.color.md_light_green_500),
ContextCompat.getColor(context, R.color.md_light_green_600),
ContextCompat.getColor(context, R.color.md_light_green_700),
ContextCompat.getColor(context, R.color.md_light_green_800),
ContextCompat.getColor(context, R.color.md_light_green_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_lime_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_lime_100),
// ContextCompat.getColor(context, R.color.md_lime_200),
ContextCompat.getColor(context, R.color.md_lime_300),
ContextCompat.getColor(context, R.color.md_lime_400),
ContextCompat.getColor(context, R.color.md_lime_500),
ContextCompat.getColor(context, R.color.md_lime_600),
ContextCompat.getColor(context, R.color.md_lime_700),
ContextCompat.getColor(context, R.color.md_lime_800),
ContextCompat.getColor(context, R.color.md_lime_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_yellow_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_yellow_100),
//ContextCompat.getColor(context, R.color.md_yellow_200),
// ContextCompat.getColor(context, R.color.md_yellow_300),
ContextCompat.getColor(context, R.color.md_yellow_400),
ContextCompat.getColor(context, R.color.md_yellow_500),
ContextCompat.getColor(context, R.color.md_yellow_600),
ContextCompat.getColor(context, R.color.md_yellow_700),
ContextCompat.getColor(context, R.color.md_yellow_800),
ContextCompat.getColor(context, R.color.md_yellow_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_amber_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_amber_100),
// ContextCompat.getColor(context, R.color.md_amber_200),
ContextCompat.getColor(context, R.color.md_amber_300),
ContextCompat.getColor(context, R.color.md_amber_400),
ContextCompat.getColor(context, R.color.md_amber_500),
ContextCompat.getColor(context, R.color.md_amber_600),
ContextCompat.getColor(context, R.color.md_amber_700),
ContextCompat.getColor(context, R.color.md_amber_800),
ContextCompat.getColor(context, R.color.md_amber_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_orange_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_orange_100),
// ContextCompat.getColor(context, R.color.md_orange_200),
ContextCompat.getColor(context, R.color.md_orange_300),
ContextCompat.getColor(context, R.color.md_orange_400),
ContextCompat.getColor(context, R.color.md_orange_500),
ContextCompat.getColor(context, R.color.md_orange_600),
ContextCompat.getColor(context, R.color.md_orange_700),
ContextCompat.getColor(context, R.color.md_orange_800),
ContextCompat.getColor(context, R.color.md_orange_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_deep_orange_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_deep_orange_100),
ContextCompat.getColor(context, R.color.md_deep_orange_200),
ContextCompat.getColor(context, R.color.md_deep_orange_300),
ContextCompat.getColor(context, R.color.md_deep_orange_400),
ContextCompat.getColor(context, R.color.md_deep_orange_500),
ContextCompat.getColor(context, R.color.md_deep_orange_600),
ContextCompat.getColor(context, R.color.md_deep_orange_700),
ContextCompat.getColor(context, R.color.md_deep_orange_800),
ContextCompat.getColor(context, R.color.md_deep_orange_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_brown_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_brown_100),
ContextCompat.getColor(context, R.color.md_brown_200),
ContextCompat.getColor(context, R.color.md_brown_300),
ContextCompat.getColor(context, R.color.md_brown_400),
ContextCompat.getColor(context, R.color.md_brown_500),
ContextCompat.getColor(context, R.color.md_brown_600),
ContextCompat.getColor(context, R.color.md_brown_700),
ContextCompat.getColor(context, R.color.md_brown_800),
ContextCompat.getColor(context, R.color.md_brown_900)
};
} else if (c == ContextCompat.getColor(context, R.color.md_grey_500)) {
return new int[]{
// ContextCompat.getColor(context, R.color.md_grey_100),
// ContextCompat.getColor(context, R.color.md_grey_200),
// ContextCompat.getColor(context, R.color.md_grey_300),
ContextCompat.getColor(context, R.color.md_grey_400),
ContextCompat.getColor(context, R.color.md_grey_500),
ContextCompat.getColor(context, R.color.md_grey_600),
ContextCompat.getColor(context, R.color.md_grey_700),
ContextCompat.getColor(context, R.color.md_grey_800),
ContextCompat.getColor(context, R.color.md_grey_900),
Color.parseColor("#000000")
};
} else {
return new int[]{
// ContextCompat.getColor(context, R.color.md_blue_grey_100),
// ContextCompat.getColor(context, R.color.md_blue_grey_200),
Color.parseColor("#5C94C8"),
ContextCompat.getColor(context, R.color.md_blue_grey_300),
ContextCompat.getColor(context, R.color.md_blue_grey_400),
ContextCompat.getColor(context, R.color.md_blue_grey_500),
ContextCompat.getColor(context, R.color.md_blue_grey_600),
ContextCompat.getColor(context, R.color.md_blue_grey_700),
ContextCompat.getColor(context, R.color.md_blue_grey_800),
ContextCompat.getColor(context, R.color.md_blue_grey_900)
};
}
}
public static String getIconName(Context context, int c) {
String result = Slide.class.getPackage().getName() + ".Slide";
if (c == ContextCompat.getColor(context, R.color.md_red_200)
|| c == ContextCompat.getColor(context, R.color.md_red_300)
|| c == ContextCompat.getColor(context, R.color.md_red_400)
|| c == ContextCompat.getColor(context, R.color.md_red_500)
|| c == ContextCompat.getColor(context, R.color.md_red_600)
|| c == ContextCompat.getColor(context, R.color.md_red_700)
|| c == ContextCompat.getColor(context, R.color.md_red_800)
|| c == ContextCompat.getColor(context, R.color.md_red_900)) {
result += "Red";
} else if (c == ContextCompat.getColor(context, R.color.md_pink_200)
|| c == ContextCompat.getColor(context, R.color.md_pink_300)
|| c == ContextCompat.getColor(context, R.color.md_pink_400)
|| c == ContextCompat.getColor(context, R.color.md_pink_500)
|| c == ContextCompat.getColor(context, R.color.md_pink_600)
|| c == ContextCompat.getColor(context, R.color.md_pink_700)
|| c == ContextCompat.getColor(context, R.color.md_pink_800)
|| c == ContextCompat.getColor(context, R.color.md_pink_900)) {
result += "Pink";
} else if (c == ContextCompat.getColor(context, R.color.md_purple_200) || c == ContextCompat
.getColor(context, R.color.md_purple_300) || c == ContextCompat.getColor(context,
R.color.md_purple_400) || c == ContextCompat.getColor(context,
R.color.md_purple_500) || c == ContextCompat.getColor(context,
R.color.md_purple_600) || c == ContextCompat.getColor(context,
R.color.md_purple_700) || c == ContextCompat.getColor(context,
R.color.md_purple_800) || c == ContextCompat.getColor(context,
R.color.md_purple_900)) {
result += "Purple";
} else if (c == ContextCompat.getColor(context, R.color.md_deep_purple_200)
|| c == ContextCompat.getColor(context, R.color.md_deep_purple_300)
|| c == ContextCompat.getColor(context, R.color.md_deep_purple_400)
|| c == ContextCompat.getColor(context, R.color.md_deep_purple_500)
|| c == ContextCompat.getColor(context, R.color.md_deep_purple_600)
|| c == ContextCompat.getColor(context, R.color.md_deep_purple_700)
|| c == ContextCompat.getColor(context, R.color.md_deep_purple_800)
|| c == ContextCompat.getColor(context, R.color.md_deep_purple_900)) {
result += "DeepPurple";
} else if (c == ContextCompat.getColor(context, R.color.md_indigo_200) || c == ContextCompat
.getColor(context, R.color.md_indigo_300) || c == ContextCompat.getColor(context,
R.color.md_indigo_400) || c == ContextCompat.getColor(context,
R.color.md_indigo_500) || c == ContextCompat.getColor(context,
R.color.md_indigo_600) || c == ContextCompat.getColor(context,
R.color.md_indigo_700) || c == ContextCompat.getColor(context,
R.color.md_indigo_800) || c == ContextCompat.getColor(context,
R.color.md_indigo_900)) {
result += "Indigo";
} else if (c == ContextCompat.getColor(context, R.color.md_blue_200)
|| c == ContextCompat.getColor(context, R.color.md_blue_300)
|| c == ContextCompat.getColor(context, R.color.md_blue_400)
|| c == ContextCompat.getColor(context, R.color.md_blue_500)
|| c == ContextCompat.getColor(context, R.color.md_blue_600)
|| c == ContextCompat.getColor(context, R.color.md_blue_700)
|| c == ContextCompat.getColor(context, R.color.md_blue_800)
|| c == ContextCompat.getColor(context, R.color.md_blue_900)) {
result += "Blue";
} else if (c == ContextCompat.getColor(context, R.color.md_light_blue_200)
|| c == ContextCompat.getColor(context, R.color.md_light_blue_300)
|| c == ContextCompat.getColor(context, R.color.md_light_blue_400)
|| c == ContextCompat.getColor(context, R.color.md_light_blue_500)
|| c == ContextCompat.getColor(context, R.color.md_light_blue_600)
|| c == ContextCompat.getColor(context, R.color.md_light_blue_700)
|| c == ContextCompat.getColor(context, R.color.md_light_blue_800)
|| c == ContextCompat.getColor(context, R.color.md_light_blue_900)) {
result += "LightBlue";
} else if (c == ContextCompat.getColor(context, R.color.md_cyan_200)
|| c == ContextCompat.getColor(context, R.color.md_cyan_300)
|| c == ContextCompat.getColor(context, R.color.md_cyan_400)
|| c == ContextCompat.getColor(context, R.color.md_cyan_500)
|| c == ContextCompat.getColor(context, R.color.md_cyan_600)
|| c == ContextCompat.getColor(context, R.color.md_cyan_700)
|| c == ContextCompat.getColor(context, R.color.md_cyan_800)
|| c == ContextCompat.getColor(context, R.color.md_cyan_900)) {
result += "Cyan";
} else if (c == ContextCompat.getColor(context, R.color.md_teal_200)
|| c == ContextCompat.getColor(context, R.color.md_teal_300)
|| c == ContextCompat.getColor(context, R.color.md_teal_400)
|| c == ContextCompat.getColor(context, R.color.md_teal_500)
|| c == ContextCompat.getColor(context, R.color.md_teal_600)
|| c == ContextCompat.getColor(context, R.color.md_teal_700)
|| c == ContextCompat.getColor(context, R.color.md_teal_800)
|| c == ContextCompat.getColor(context, R.color.md_teal_900)) {
result += "Teal";
} else if (c == ContextCompat.getColor(context, R.color.md_green_200)
|| c == ContextCompat.getColor(context, R.color.md_green_300)
|| c == ContextCompat.getColor(context, R.color.md_green_400)
|| c == ContextCompat.getColor(context, R.color.md_green_500)
|| c == ContextCompat.getColor(context, R.color.md_green_600)
|| c == ContextCompat.getColor(context, R.color.md_green_700)
|| c == ContextCompat.getColor(context, R.color.md_green_800)
|| c == ContextCompat.getColor(context, R.color.md_green_900)) {
result += "Green";
} else if (c == ContextCompat.getColor(context, R.color.md_light_green_200)
|| c == ContextCompat.getColor(context, R.color.md_light_green_300)
|| c == ContextCompat.getColor(context, R.color.md_light_green_400)
|| c == ContextCompat.getColor(context, R.color.md_light_green_500)
|| c == ContextCompat.getColor(context, R.color.md_light_green_600)
|| c == ContextCompat.getColor(context, R.color.md_light_green_700)
|| c == ContextCompat.getColor(context, R.color.md_light_green_800)
|| c == ContextCompat.getColor(context, R.color.md_light_green_900)) {
result += "LightGreen";
} else if (c == ContextCompat.getColor(context, R.color.md_lime_200)
|| c == ContextCompat.getColor(context, R.color.md_lime_300)
|| c == ContextCompat.getColor(context, R.color.md_lime_400)
|| c == ContextCompat.getColor(context, R.color.md_lime_500)
|| c == ContextCompat.getColor(context, R.color.md_lime_600)
|| c == ContextCompat.getColor(context, R.color.md_lime_700)
|| c == ContextCompat.getColor(context, R.color.md_lime_800)
|| c == ContextCompat.getColor(context, R.color.md_lime_900)) {
result += "Lime";
} else if (c == ContextCompat.getColor(context, R.color.md_yellow_400) || c == ContextCompat
.getColor(context, R.color.md_yellow_500) || c == ContextCompat.getColor(context,
R.color.md_yellow_600) || c == ContextCompat.getColor(context,
R.color.md_yellow_700) || c == ContextCompat.getColor(context,
R.color.md_yellow_800) || c == ContextCompat.getColor(context,
R.color.md_yellow_900)) {
result += "Yellow";
} else if (c == ContextCompat.getColor(context, R.color.md_amber_200)
|| c == ContextCompat.getColor(context, R.color.md_amber_300)
|| c == ContextCompat.getColor(context, R.color.md_amber_400)
|| c == ContextCompat.getColor(context, R.color.md_amber_500)
|| c == ContextCompat.getColor(context, R.color.md_amber_600)
|| c == ContextCompat.getColor(context, R.color.md_amber_700)
|| c == ContextCompat.getColor(context, R.color.md_amber_800)
|| c == ContextCompat.getColor(context, R.color.md_amber_900)) {
result += "Amber";
} else if (c == ContextCompat.getColor(context, R.color.md_orange_200) || c == ContextCompat
.getColor(context, R.color.md_orange_300) || c == ContextCompat.getColor(context,
R.color.md_orange_400) || c == ContextCompat.getColor(context,
R.color.md_orange_500) || c == ContextCompat.getColor(context,
R.color.md_orange_600) || c == ContextCompat.getColor(context,
R.color.md_orange_700) || c == ContextCompat.getColor(context,
R.color.md_orange_800) || c == ContextCompat.getColor(context,
R.color.md_orange_900)) {
result += "Orange";
} else if (c == ContextCompat.getColor(context, R.color.md_deep_orange_200)
|| c == ContextCompat.getColor(context, R.color.md_deep_orange_300)
|| c == ContextCompat.getColor(context, R.color.md_deep_orange_400)
|| c == ContextCompat.getColor(context, R.color.md_deep_orange_500)
|| c == ContextCompat.getColor(context, R.color.md_deep_orange_600)
|| c == ContextCompat.getColor(context, R.color.md_deep_orange_700)
|| c == ContextCompat.getColor(context, R.color.md_deep_orange_800)
|| c == ContextCompat.getColor(context, R.color.md_deep_orange_900)) {
result += "DeepOrange";
} else if (c == ContextCompat.getColor(context, R.color.md_brown_200)
|| c == ContextCompat.getColor(context, R.color.md_brown_300)
|| c == ContextCompat.getColor(context, R.color.md_brown_400)
|| c == ContextCompat.getColor(context, R.color.md_brown_500)
|| c == ContextCompat.getColor(context, R.color.md_brown_600)
|| c == ContextCompat.getColor(context, R.color.md_brown_700)
|| c == ContextCompat.getColor(context, R.color.md_brown_800)
|| c == ContextCompat.getColor(context, R.color.md_brown_900)) {
result += "Brown";
} else if (c == ContextCompat.getColor(context, R.color.md_grey_300)
|| c == ContextCompat.getColor(context, R.color.md_grey_400)
|| c == ContextCompat.getColor(context, R.color.md_grey_500)
|| c == ContextCompat.getColor(context, R.color.md_grey_600)
|| c == ContextCompat.getColor(context, R.color.md_grey_700)
|| c == ContextCompat.getColor(context, R.color.md_grey_800)
|| c == ContextCompat.getColor(context, R.color.md_grey_900)) {
result += "Grey";
} else if (c == ContextCompat.getColor(context, R.color.md_blue_grey_200)
|| c == ContextCompat.getColor(context, R.color.md_blue_grey_300)
|| c == ContextCompat.getColor(context, R.color.md_blue_grey_400)
|| c == ContextCompat.getColor(context, R.color.md_blue_grey_500)
|| c == ContextCompat.getColor(context, R.color.md_blue_grey_600)
|| c == ContextCompat.getColor(context, R.color.md_blue_grey_700)
|| c == ContextCompat.getColor(context, R.color.md_blue_grey_800)
|| c == ContextCompat.getColor(context, R.color.md_blue_grey_900)) {
result += "BlueGrey";
} else {
result += "Default";
}
return result;
}
public static int[] getBaseColors(Context context) {
return new int[]{
ContextCompat.getColor(context, R.color.md_red_500),
ContextCompat.getColor(context, R.color.md_pink_500),
ContextCompat.getColor(context, R.color.md_purple_500),
ContextCompat.getColor(context, R.color.md_deep_purple_500),
ContextCompat.getColor(context, R.color.md_indigo_500),
ContextCompat.getColor(context, R.color.md_blue_500),
ContextCompat.getColor(context, R.color.md_light_blue_500),
ContextCompat.getColor(context, R.color.md_cyan_500),
ContextCompat.getColor(context, R.color.md_teal_500),
ContextCompat.getColor(context, R.color.md_green_500),
ContextCompat.getColor(context, R.color.md_light_green_500),
ContextCompat.getColor(context, R.color.md_lime_500),
ContextCompat.getColor(context, R.color.md_yellow_500),
ContextCompat.getColor(context, R.color.md_amber_500),
ContextCompat.getColor(context, R.color.md_orange_500),
ContextCompat.getColor(context, R.color.md_deep_orange_500),
ContextCompat.getColor(context, R.color.md_brown_500),
ContextCompat.getColor(context, R.color.md_blue_grey_500),
ContextCompat.getColor(context, R.color.md_grey_500)
};
}
protected SharedPreferences open() {
return context.getSharedPreferences("prefs", Context.MODE_PRIVATE);
}
protected SharedPreferences.Editor edit() {
return open().edit();
}
public Theme getFontStyle() {
try {
if (SettingValues.isNight()) {
return getColoredTheme(SettingValues.nightTheme, open().getString(FONT_STYLE, Theme.dark_amber.name()), Theme.valueOf(open().getString(FONT_STYLE, Theme.dark_amber.name())));
}
return Theme.valueOf(open().getString(FONT_STYLE, Theme.dark_amber.name()));
} catch (Exception e) {
return Theme.dark_amber;
}
}
public Theme getFontStyleSubreddit(String s) {
try {
return Theme.valueOf(open().getString(s, getFontStyle().name()));
} catch (Exception e) {
return Theme.dark_amber;
}
}
public void setFontStyle(Theme style) {
edit().putString(FONT_STYLE, style.name()).apply();
}
public int getThemeSubreddit(String s) {
int back = getFontStyle().getThemeType();
String str = open().getString(s.toLowerCase(), getFontStyle().getTitle());
if (Theme.valueOf(str).getThemeType() != back) {
String[] names = str.split("_");
String name = names[names.length - 1];
for (Theme theme : Theme.values()) {
if (theme.toString().contains(name) && theme.getThemeType() == back) {
setFontStyle(theme, s);
return theme.baseId;
}
}
} else {
return Theme.valueOf(str).baseId;
}
return getFontStyle().baseId;
}
public Theme getThemeSubreddit(String s, boolean b) {
if(s == null){
s = "Promoted";
}
int back = getFontStyle().getThemeType();
String str = open().getString(s.toLowerCase(), getFontStyle().getTitle());
try {
if (Theme.valueOf(str).getThemeType() != back) {
String[] names = str.split("_");
String name = names[names.length - 1];
for (Theme theme : Theme.values()) {
if (theme.toString().contains(name) && theme.getThemeType() == back) {
setFontStyle(theme, s);
return theme;
}
}
} else {
return Theme.valueOf(str);
}
} catch (Exception ignored) {
}
return getFontStyle();
}
public int getDarkThemeSubreddit(String s) {
return getColoredTheme(4, open().getString(s.toLowerCase(), getFontStyle().getTitle()), getFontStyle()).baseId;
}
private Theme getColoredTheme(int i, String base, Theme defaultTheme) {
try {
if (Theme.valueOf(base).getThemeType() != i) {
String[] names = base.split("_");
String name = names[names.length - 1];
for (Theme theme : Theme.values()) {
if (theme.toString().contains(name) && theme.getThemeType() == i) {
return theme;
}
}
} else {
return Theme.valueOf(base);
}
} catch (Exception ignored) {
}
return defaultTheme;
}
public void setFontStyle(Theme style, String s) {
edit().putString(s.toLowerCase(), style.name()).commit();
}
public void removeFontStyle(String subreddit) {
edit().remove(subreddit).commit();
}
public int getColor(String s) {
return ContextCompat.getColor(context, getThemeSubreddit(s, true).getColor());
}
public enum Theme {
dark_white(R.style.white_dark, "dark_white", R.color.md_blue_grey_200, 0),
light_white(R.style.white_light, "light_white", R.color.md_blue_grey_200, 1),
amoled_white(R.style.white_amoled, "amoled_white", R.color.md_blue_grey_200, 2),
blue_white(R.style.white_blue, "blue_white", R.color.md_blue_grey_200, 3),
amoled_light_white(R.style.white_AMOLED_lighter, "amoled_light_white", R.color.md_blue_grey_200, 4),
dark_pink(R.style.pink_dark, "dark_pink", R.color.md_pink_A200, 0),
light_pink(R.style.pink_light, "light_pink", R.color.md_pink_A200, 1),
amoled_pink(R.style.pink_amoled, "amoled_pink", R.color.md_pink_A200, 2),
blue_pink(R.style.pink_blue, "blue_pink", R.color.md_pink_A200, 3),
amoled_light_pink(R.style.pink_AMOLED_lighter, "amoled_light_pink", R.color.md_pink_A200, 4),
dark_deeporange(R.style.deeporange_dark, "dark_deeporange", R.color.md_deep_orange_A400, 0),
light_deeporange(R.style.deeporange_LIGHT, "light_deeporange", R.color.md_deep_orange_A400, 1),
amoled_deeporange(R.style.deeporange_AMOLED, "amoled_deeporange", R.color.md_deep_orange_A400, 2),
blue_deeporange(R.style.deeporange_blue, "blue_deeporange", R.color.md_deep_orange_A400, 3),
amoled_light_deeporange(R.style.deeporange_AMOLED_lighter, "amoled_light_deeporange", R.color.md_deep_orange_A400, 4),
dark_amber(R.style.amber_dark, "dark_amber", R.color.md_amber_A400, 0),
light_amber(R.style.amber_LIGHT, "light_amber", R.color.md_amber_A400, 1),
amoled_amber(R.style.amber_AMOLED, "amoled_amber", R.color.md_amber_A400, 2),
blue_amber(R.style.amber_blue, "blue_amber", R.color.md_amber_A400, 3),
amoled_light_amber(R.style.amber_AMOLED_lighter, "amoled_light_amber", R.color.md_amber_A400, 4),
dark_yellow(R.style.yellow_dark, "dark_yellow", R.color.md_yellow_A400, 0),
light_yellow(R.style.yellow_LIGHT, "light_yellow", R.color.md_yellow_A400, 1),
amoled_yellow(R.style.yellow_AMOLED, "amoled_yellow", R.color.md_yellow_A400, 2),
blue_yellow(R.style.yellow_blue, "blue_yellow", R.color.md_yellow_A400, 3),
amoled_light_yellow(R.style.yellow_AMOLED_lighter, "amoled_light_yellow", R.color.md_yellow_A400, 4),
dark_lime(R.style.lime_dark, "dark_lime", R.color.md_lime_A400, 0),
light_lime(R.style.lime_LIGHT, "light_lime", R.color.md_lime_A400, 1),
amoled_lime(R.style.lime_AMOLED, "amoled_lime", R.color.md_lime_A400, 2),
blue_lime(R.style.lime_blue, "blue_lime", R.color.md_lime_A400, 3),
amoled_light_lime(R.style.lime_AMOLED_lighter, "amoled_light_lime", R.color.md_lime_A400, 4),
dark_green(R.style.green_dark, "dark_green", R.color.md_green_A400, 0),
light_green(R.style.green_LIGHT, "light_green", R.color.md_green_A400, 1),
amoled_green(R.style.green_AMOLED, "amoled_green", R.color.md_green_A400, 2),
blue_green(R.style.green_blue, "blue_green", R.color.md_green_A400, 3),
amoled_light_green(R.style.green_AMOLED_lighter, "amoled_light_green", R.color.md_green_A400, 4),
dark_teal(R.style.teal_dark, "dark_teal", R.color.md_teal_A700, 0),
light_teal(R.style.teal_light, "light_teal", R.color.md_teal_A700, 1),
amoled_teal(R.style.teal_amoled, "amoled_teal", R.color.md_teal_A700, 2),
blue_teal(R.style.teal_blue, "blue_teal", R.color.md_teal_A700, 3),
amoled_light_teal(R.style.teal_AMOLED_lighter, "amoled_light_teal", R.color.md_teal_A700, 4),
dark_cyan(R.style.cyan_dark, "dark_cyan", R.color.md_cyan_A400, 0),
light_cyan(R.style.cyan_LIGHT, "light_cyan", R.color.md_cyan_A400, 1),
amoled_cyan(R.style.cyan_AMOLED, "amoled_cyan", R.color.md_cyan_A400, 2),
blue_cyan(R.style.cyan_blue, "blue_cyan", R.color.md_cyan_A400, 3),
amoled_light_cyan(R.style.cyan_AMOLED_lighter, "amoled_light_cyan", R.color.md_cyan_A400, 4),
dark_lightblue(R.style.lightblue_dark, "dark_lightblue", R.color.md_light_blue_A400, 0),
light_lightblue(R.style.lightblue_LIGHT, "light_lightblue", R.color.md_light_blue_A400, 1),
amoled_lightblue(R.style.lightblue_AMOLED, "amoled_lightblue", R.color.md_light_blue_A400, 2),
blue_lightblue(R.style.lightblue_blue, "blue_lightblue", R.color.md_light_blue_A400, 3),
amoled_light_lightblue(R.style.lightblue_AMOLED_lighter, "amoled_light_lightblue", R.color.md_light_blue_A400, 4),
dark_blue(R.style.blue_dark, "dark_blue", R.color.md_blue_A400, 0),
light_blue(R.style.blue_LIGHT, "light_blue", R.color.md_blue_A400, 1),
amoled_blue(R.style.blue_AMOLED, "amoled_blue", R.color.md_blue_A400, 2),
blue_blue(R.style.blue_blue, "blue_blue", R.color.md_blue_A400, 3),
amoled_light_blue(R.style.blue_AMOLED_lighter, "amoled_light_blue", R.color.md_blue_A400, 4),
dark_indigo(R.style.indigo_dark, "dark_indigo", R.color.md_indigo_A400, 0),
light_indigo(R.style.indigo_LIGHT, "light_indigo", R.color.md_indigo_A400, 1),
amoled_indigo(R.style.indigo_AMOLED, "amoled_indigo", R.color.md_indigo_A400, 2),
blue_indigo(R.style.indigo_blue, "blue_indigo", R.color.md_indigo_A400, 3),
amoled_light_indigo(R.style.indigo_AMOLED_lighter, "amoled_light_indigo", R.color.md_indigo_A400, 4),
sepia_white(R.style.white_sepia, "sepia_white", R.color.md_blue_grey_200, 5),
sepia_pink(R.style.pink_sepia, "sepia_pink", R.color.md_pink_A200, 5),
sepia_deeporange(R.style.deeporange_sepia, "sepia_deeporange", R.color.md_deep_orange_A400, 5),
sepia_amber(R.style.amber_sepia, "sepia_amber", R.color.md_amber_A400, 5),
sepia_yellow(R.style.yellow_sepia, "sepia_yellow", R.color.md_yellow_A400, 5),
sepia_lime(R.style.lime_sepia, "sepia_lime", R.color.md_lime_A400, 5),
sepia_green(R.style.green_sepia, "sepia_green", R.color.md_green_A400, 5),
sepia_teal(R.style.teal_sepia, "sepia_teal", R.color.md_teal_A700, 5),
sepia_cyan(R.style.cyan_sepia, "sepia_cyan", R.color.md_cyan_A400, 5),
sepia_lightblue(R.style.lightblue_sepia, "sepia_lightblue", R.color.md_light_blue_A400, 5),
sepia_blue(R.style.blue_sepia, "sepia_blue", R.color.md_blue_A400, 5),
sepia_indigo(R.style.indigo_sepia, "sepia_indigo", R.color.md_indigo_A400, 5),
night_red_white(R.style.white_night_red, "night_red_white", R.color.md_blue_grey_200, 6),
night_red_pink(R.style.pink_night_red, "night_red_pink", R.color.md_pink_A200, 6),
night_red_deeporange(R.style.deeporange_night_red, "night_red_deeporange", R.color.md_deep_orange_A400, 6),
night_red_amber(R.style.amber_night_red, "night_red_amber", R.color.md_amber_A400, 6),
night_red_yellow(R.style.yellow_night_red, "night_red_yellow", R.color.md_yellow_A400, 6),
night_red_lime(R.style.lime_night_red, "night_red_lime", R.color.md_lime_A400, 6),
night_red_green(R.style.green_night_red, "night_red_green", R.color.md_green_A400, 6),
night_red_teal(R.style.teal_night_red, "night_red_teal", R.color.md_teal_A700, 6),
night_red_cyan(R.style.cyan_night_red, "night_red_cyan", R.color.md_cyan_A400, 6),
night_red_lightblue(R.style.lightblue_night_red, "night_red_lightblue", R.color.md_light_blue_A400, 6),
night_red_blue(R.style.blue_night_red, "night_red_blue", R.color.md_blue_A400, 6),
night_red_indigo(R.style.indigo_night_red, "night_red_indigo", R.color.md_indigo_A400, 6),
pixel_white(R.style.white_pixel, "pixel_white", R.color.md_blue_grey_200, 7),
pixel_pink(R.style.pink_pixel, "pixel_pink", R.color.md_pink_A200, 7),
pixel_deeporange(R.style.deeporange_pixel, "pixel_deeporange", R.color.md_deep_orange_A400, 7),
pixel_amber(R.style.amber_pixel, "pixel_amber", R.color.md_amber_A400, 7),
pixel_yellow(R.style.yellow_pixel, "pixel_yellow", R.color.md_yellow_A400, 7),
pixel_lime(R.style.lime_pixel, "pixel_lime", R.color.md_lime_A400, 7),
pixel_green(R.style.green_pixel, "pixel_green", R.color.md_green_A400, 7),
pixel_teal(R.style.teal_pixel, "pixel_teal", R.color.md_teal_A700, 7),
pixel_cyan(R.style.cyan_pixel, "pixel_cyan", R.color.md_cyan_A400, 7),
pixel_lightblue(R.style.lightblue_pixel, "pixel_lightblue", R.color.md_light_blue_A400, 7),
pixel_blue(R.style.blue_pixel, "pixel_blue", R.color.md_blue_A400, 7),
pixel_indigo(R.style.indigo_pixel, "pixel_indigo", R.color.md_indigo_A400, 7);
private int baseId;
private String title;
private int themeType;
private int color;
Theme(int baseId, String title, int color, int themetype) {
this.baseId = baseId;
this.color = color;
this.themeType = themetype;
this.title = title;
}
public int getBaseId() {
return baseId;
}
public int getThemeType() {
return themeType;
}
public String getTitle() {
return title;
}
public int getColor() {
return color;
}
}
}