package com.kuxhausen.huemore;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.graphics.Shader;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import android.view.View;
import java.util.Locale;
public class Helpers {
/**
* from http://stackoverflow.com/questions/4336286/tiled-drawable-sometimes-stretches/9500334#9500334
*/
public static void fixBackgroundRepeat(View view) {
Drawable bg = view.getBackground();
if (bg != null) {
if (bg instanceof BitmapDrawable) {
BitmapDrawable bmp = (BitmapDrawable) bg;
bmp.mutate(); // make sure that we aren't sharing state anymore
bmp.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
}
}
}
public static void applyLocalizationPreference(Activity a) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(a);
boolean useSystemLang =
prefs.getBoolean(a.getString(R.string.preference_use_system_language), false);
String localLangOverride =
prefs.getString(a.getString(R.string.preference_user_selected_locale_lang), null);
if (!useSystemLang && !TextUtils.isEmpty(localLangOverride)) {
Locale loc = new Locale(localLangOverride);
Locale.setDefault(loc);
Configuration config = new Configuration();
config.locale = loc;
a.getBaseContext().getResources()
.updateConfiguration(config, a.getBaseContext().getResources().getDisplayMetrics());
}
}
public static boolean isDebugVersion() {
return BuildConfig.BUILD_TYPE.equals("debug");
}
}