/** * Get a BuildConfig string value */ public String bcstr(String fieldName, String defaultValue) { Object field = getBuildConfigValue(fieldName); if (field != null && field instanceof String) { return (String) field; } return defaultValue; }
/** * Get a BuildConfig bool value */ public Boolean bcbool(String fieldName, Boolean defaultValue) { Object field = getBuildConfigValue(fieldName); if (field != null && field instanceof Boolean) { return (Boolean) field; } return defaultValue; }
/** * Get a BuildConfig string value */ public Integer bcint(String fieldName, int defaultValue) { Object field = getBuildConfigValue(fieldName); if (field != null && field instanceof Integer) { return (Integer) field; } return defaultValue; }
private void loadLangs(Context context, @Nullable AttributeSet attrs) { setDefaultValue(SYSTEM_LANGUAGE_CODE); // Fetch readable details ContextUtils contextUtils = new ContextUtils(context); List<String> languages = new ArrayList<>(); Object bcof = contextUtils.getBuildConfigValue("DETECTED_ANDROID_LOCALES"); if (bcof instanceof String[]) { for (String langId : (String[]) bcof) { Locale locale = contextUtils.getLocaleByAndroidCode(langId); languages.add(summarizeLocale(locale, langId) + ";" + langId); } } // Sort languages naturally Collections.sort(languages); // Show in UI String[] entries = new String[languages.size() + 2]; String[] entryval = new String[languages.size() + 2]; for (int i = 0; i < languages.size(); i++) { entries[i + 2] = languages.get(i).split(";")[0]; entryval[i + 2] = languages.get(i).split(";")[1]; } entryval[0] = SYSTEM_LANGUAGE_CODE; entries[0] = _systemLanguageName + " » " + summarizeLocale(context.getResources().getConfiguration().locale, ""); entryval[1] = _defaultLanguageCode; entries[1] = summarizeLocale(contextUtils.getLocaleByAndroidCode(_defaultLanguageCode), _defaultLanguageCode); setEntries(entries); setEntryValues(entryval); }