Add option to change primary DB download URL
This commit is contained in:
parent
9834bb4449
commit
ab5d19e777
|
@ -44,7 +44,7 @@ dependencies {
|
|||
implementation 'org.conscrypt:conscrypt-android:2.4.0'
|
||||
//noinspection GradleDependency: 3.12.* is the latest version compatible with Android <5
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.12.12'
|
||||
implementation 'com.gitlab.xynngh:LibPhoneNumberInfo:fd60ad9583'
|
||||
implementation 'com.gitlab.xynngh:LibPhoneNumberInfo:5b0b9fcbee'
|
||||
implementation 'org.apache.commons:commons-csv:1.8'
|
||||
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
|
|
|
@ -2,6 +2,7 @@ package dummydomain.yetanothercallblocker;
|
|||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.text.TextUtils;
|
||||
|
||||
public class GenericSettings {
|
||||
|
||||
|
@ -53,6 +54,12 @@ public class GenericSettings {
|
|||
return pref.getString(key, defValue);
|
||||
}
|
||||
|
||||
public String getNonEmptyString(String key, String defValue) {
|
||||
String value = getString(key);
|
||||
if (TextUtils.isEmpty(value)) value = defValue;
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setString(String key, String value) {
|
||||
pref.edit().putString(key, value).apply();
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import dummydomain.yetanothercallblocker.data.CountryHelper;
|
||||
import dummydomain.yetanothercallblocker.sia.model.database.DbManager;
|
||||
|
||||
public class Settings extends GenericSettings {
|
||||
|
||||
|
@ -27,6 +28,7 @@ public class Settings extends GenericSettings {
|
|||
public static final String PREF_LAST_UPDATE_CHECK_TIME = "lastUpdateCheckTime";
|
||||
public static final String PREF_COUNTRY_CODE_OVERRIDE = "countryCodeOverride";
|
||||
public static final String PREF_COUNTRY_CODE_FOR_REVIEWS_OVERRIDE = "countryCodeForReviewsOverride";
|
||||
public static final String PREF_DATABASE_DOWNLOAD_URL = "databaseDownloadUrl";
|
||||
public static final String PREF_SAVE_CRASHES_TO_EXTERNAL_STORAGE = "saveCrashesToExternalStorage";
|
||||
public static final String PREF_SAVE_LOGCAT_ON_CRASH = "saveLogcatOnCrash";
|
||||
|
||||
|
@ -207,6 +209,14 @@ public class Settings extends GenericSettings {
|
|||
setString(PREF_COUNTRY_CODE_FOR_REVIEWS_OVERRIDE, code);
|
||||
}
|
||||
|
||||
public String getDatabaseDownloadUrl() {
|
||||
return getNonEmptyString(PREF_DATABASE_DOWNLOAD_URL, DbManager.DEFAULT_URL);
|
||||
}
|
||||
|
||||
public void setDatabaseDownloadUrl(String url) {
|
||||
setString(PREF_DATABASE_DOWNLOAD_URL, url);
|
||||
}
|
||||
|
||||
public String getCountryCode() {
|
||||
String override = getCountryCodeOverride();
|
||||
if (!TextUtils.isEmpty(override)) return override.toUpperCase();
|
||||
|
|
|
@ -88,7 +88,7 @@ public class TaskService extends IntentService {
|
|||
|
||||
postStickyEvent(sticky);
|
||||
try {
|
||||
YacbHolder.getDbManager().downloadMainDb();
|
||||
YacbHolder.getDbManager().downloadMainDb(App.getSettings().getDatabaseDownloadUrl());
|
||||
YacbHolder.getCommunityDatabase().reload();
|
||||
YacbHolder.getFeaturedDatabase().reload();
|
||||
YacbHolder.getSiaMetadata().reload();
|
||||
|
|
|
@ -109,6 +109,7 @@
|
|||
<string name="country_code_for_reviews_override">Код страны для отзывов</string>
|
||||
<string name="country_code_for_reviews_override_summary">Код страны, используемый для запроса онлайн-отзывов. Предназначен для представления страны звонящего. Оставьте пустым для автоопределения</string>
|
||||
<string name="country_code_incorrect_format">Некорректный формат кода страны. Значение не обновлено</string>
|
||||
<string name="database_download_url">URL для загрузки основной базы</string>
|
||||
<string name="settings_category_debugging">Отладка</string>
|
||||
<string name="save_crashes_to_external_storage">Сохранять отчёты в общее хранилище</string>
|
||||
<string name="save_crashes_to_external_storage_summary">Сохранять отчёты об ошибках и логи в общее хранилище. В противном случае отчёты сохраняются в личную папку приложения. Отчёты могут содержать конфиденциальные данные (номера телефонов, имена контактов). Другие приложения с разрешением на доступ к хранилищу могут иметь доступ к этим данным в общем хранилище</string>
|
||||
|
|
|
@ -124,6 +124,7 @@
|
|||
<string name="country_code_for_reviews_override">Country code for reviews</string>
|
||||
<string name="country_code_for_reviews_override_summary">Country code used in requests for online reviews. Meant to represent the country of the caller. Leave empty for auto-detection</string>
|
||||
<string name="country_code_incorrect_format">Incorrect country code format. Value is not updated</string>
|
||||
<string name="database_download_url">Primary DB download URL</string>
|
||||
<string name="settings_category_debugging">Debugging</string>
|
||||
<string name="save_crashes_to_external_storage">Save reports to public storage</string>
|
||||
<string name="save_crashes_to_external_storage_summary">Save crash reports and logs to public storage, otherwise crash reports are saved to a private app folder. The reports may contain sensitive data (phone numbers, contact names). Other apps with storage permission may have access to this data in public storage</string>
|
||||
|
|
|
@ -88,6 +88,9 @@
|
|||
app:summary="@string/country_code_for_reviews_override_summary"
|
||||
app:title="@string/country_code_for_reviews_override" />
|
||||
</PreferenceCategory>
|
||||
<EditTextPreference
|
||||
app:key="databaseDownloadUrl"
|
||||
app:title="@string/database_download_url" />
|
||||
<PreferenceCategory
|
||||
app:key="categoryDebugging"
|
||||
app:title="@string/settings_category_debugging">
|
||||
|
|
Loading…
Reference in New Issue