package com.wangdaye.mysplash.common.utils;
import android.content.Context;
import com.wangdaye.mysplash.Mysplash;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common.data.api.PhotoApi;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* Value utils.
*
* An utils class to handle some values.
*
* */
public class ValueUtils {
public static String getOrderName(Context c, String key) {
switch (key) {
case PhotoApi.ORDER_BY_LATEST:
return c.getResources().getStringArray(R.array.photo_orders)[0];
case PhotoApi.ORDER_BY_OLDEST:
return c.getResources().getStringArray(R.array.photo_orders)[1];
case PhotoApi.ORDER_BY_POPULAR:
return c.getResources().getStringArray(R.array.photo_orders)[2];
case "random":
return c.getResources().getStringArray(R.array.photo_orders)[3];
default:
return null;
}
}
public static String getCollectionName(Context c, String key) {
switch (key) {
case "all":
return c.getResources().getStringArray(R.array.collection_types)[0];
case "curated":
return c.getResources().getStringArray(R.array.collection_types)[1];
case "featured":
return c.getResources().getStringArray(R.array.collection_types)[2];
default:
return null;
}
}
public static String getScaleName(Context c, String key) {
switch (key) {
case "compact":
return c.getResources().getStringArray(R.array.download_types)[0];
case "raw":
return c.getResources().getStringArray(R.array.download_types)[1];
default:
return null;
}
}
public static String getBackToTopName(Context c, String key) {
switch (key) {
case "all":
return c.getResources().getStringArray(R.array.back_to_top_types)[0];
case "home":
return c.getResources().getStringArray(R.array.back_to_top_types)[1];
case "none":
return c.getResources().getStringArray(R.array.back_to_top_types)[2];
default:
return null;
}
}
public static String getSaturationAnimationDurationName(Context c, String key) {
switch (key) {
case "300":
return c.getResources().getStringArray(R.array.saturation_animation_durations)[0];
case "1000":
return c.getResources().getStringArray(R.array.saturation_animation_durations)[1];
case "2000":
return c.getResources().getStringArray(R.array.saturation_animation_durations)[2];
default:
return null;
}
}
public static String getLanguageName(Context c, String key) {
switch (key) {
case "follow_system":
return c.getResources().getStringArray(R.array.languages)[0];
case "english":
return c.getResources().getStringArray(R.array.languages)[1];
case "chinese":
return c.getResources().getStringArray(R.array.languages)[2];
case "italian":
return c.getResources().getStringArray(R.array.languages)[3];
case "turkish":
return c.getResources().getStringArray(R.array.languages)[4];
case "german":
return c.getResources().getStringArray(R.array.languages)[5];
case "russian":
return c.getResources().getStringArray(R.array.languages)[6];
case "spanish":
return c.getResources().getStringArray(R.array.languages)[7];
case "japanese":
return c.getResources().getStringArray(R.array.languages)[8];
default:
return null;
}
}
public static String getToolbarTitleByCategory(Context context, int id) {
switch (id) {
case Mysplash.CATEGORY_BUILDINGS_ID:
return context.getString(R.string.action_category_buildings);
case Mysplash.CATEGORY_FOOD_DRINK_ID:
return context.getString(R.string.action_category_food_drink);
case Mysplash.CATEGORY_NATURE_ID:
return context.getString(R.string.action_category_nature);
case Mysplash.CATEGORY_OBJECTS_ID:
return context.getString(R.string.action_category_objects);
case Mysplash.CATEGORY_PEOPLE_ID:
return context.getString(R.string.action_category_people);
case Mysplash.CATEGORY_TECHNOLOGY_ID:
return context.getString(R.string.action_category_technology);
default:
return context.getString(R.string.app_name);
}
}
public static List<Integer> getPageListByCategory(int id) {
switch (id) {
case Mysplash.CATEGORY_TOTAL_NEW:
return getPageList(Mysplash.TOTAL_NEW_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
case Mysplash.CATEGORY_TOTAL_FEATURED:
return getPageList(Mysplash.TOTAL_FEATURED_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
case Mysplash.CATEGORY_BUILDINGS_ID:
return getPageList(Mysplash.BUILDING_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
case Mysplash.CATEGORY_FOOD_DRINK_ID:
return getPageList(Mysplash.FOOD_DRINK_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
case Mysplash.CATEGORY_NATURE_ID:
return getPageList(Mysplash.NATURE_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
case Mysplash.CATEGORY_OBJECTS_ID:
return getPageList(Mysplash.OBJECTS_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
case Mysplash.CATEGORY_PEOPLE_ID:
return getPageList(Mysplash.PEOPLE_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
case Mysplash.CATEGORY_TECHNOLOGY_ID:
return getPageList(Mysplash.TECHNOLOGY_PHOTOS_COUNT / Mysplash.DEFAULT_PER_PAGE);
default:
return getPageList(0);
}
}
private static int getRandomInt(int max) {
return new Random().nextInt(max);
}
private static List<Integer> getPageList(int max) {
List<Integer> oldList = new ArrayList<>();
for (int i = 0; i < max; i ++) {
oldList.add(i);
}
List<Integer> newList = new ArrayList<>();
for (int i = 0; i < max; i ++) {
newList.add(oldList.get(getRandomInt(oldList.size())));
}
return newList;
}
}