Skip to content

Commit

Permalink
Fixes #1635
Browse files Browse the repository at this point in the history
  • Loading branch information
mtotschnig committed Jan 27, 2025
1 parent 042b75c commit 68674aa
Show file tree
Hide file tree
Showing 49 changed files with 66 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2347,7 +2347,7 @@ abstract class BaseMyExpenses : LaunchActivity(), OnDialogResultListener, Contri
if (sealedDebt) {
resIds.add(R.string.object_sealed_debt)
}
showSnackBar(TextUtils.concatResStrings(this, " ", *resIds.toIntArray()))
showSnackBar(TextUtils.concatResStrings(this, *resIds.toIntArray()))
}

private fun doReset() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ class BudgetActivity : DistributionBaseActivity<BudgetViewModel2>(), OnDialogRes
if (maxLong != null && maxLong <= 0) {
showSnackBar(
concatResStrings(
this, " ",
this,
if (category.level == 1) R.string.budget_exceeded_error_1_2 else R.string.sub_budget_exceeded_error_1_2,
if (category.level == 1) R.string.budget_exceeded_error_2 else R.string.sub_budget_exceeded_error_2
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ class PreferenceActivity : SyncBackendSetupActivity(), ContribIFace {

getKey(PrefKey.SYNC_FREQUCENCY) ->
for (account in GenericAccountService.getAccounts(this)) {
GenericAccountService.addPeriodicSync(account, prefHandler)
GenericAccountService.configureAutomaticAndPeriod(account, prefHandler)
}

getKey(PrefKey.PROTECTION_LEGACY), getKey(PrefKey.PROTECTION_DEVICE_LOCK_SCREEN) -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ class ContribDialogFragment : BaseDialogFragment(), View.OnClickListener,
binding.githubExtraInfo.isVisible = true
binding.githubExtraInfo.text = concatResStrings(
requireActivity(),
" ", R.string.professional_key_fallback_info, R.string.eu_vat_info
R.string.professional_key_fallback_info, R.string.eu_vat_info
)
binding.githubSponsors.isVisible = true
binding.githubSponsors.text = HtmlCompat.fromHtml(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,6 @@ class TemplatesList : SortableListFragment(), LoaderManager.LoaderCallbacks<Curs
.msg(
concatResStrings(
requireContext(),
" ",
R.string.warning_plan_instance_delete,
R.string.continue_confirmation
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ class PreferenceDataFragment: BasePreferenceFragment() {
getString(R.string.information),
TextUtils.concatResStrings(
requireContext(),
" ",
R.string.home_currency_change_warning,
R.string.continue_confirmation
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import org.totschnig.myexpenses.R
import org.totschnig.myexpenses.model.ContribFeature
import org.totschnig.myexpenses.preference.PrefKey
import org.totschnig.myexpenses.sync.BackendService
import org.totschnig.myexpenses.util.TextUtils
import org.totschnig.myexpenses.util.localizedQuote

@Keep
Expand Down Expand Up @@ -34,5 +35,7 @@ class PreferencesSyncFragment : BasePreferenceFragment() {
R.string.pref_sync_now_all_summary,
preferenceActivity.localizedQuote(getString(R.string.menu_sync_now))
)
requirePreference<Preference>(PrefKey.SYNC_FREQUCENCY).summary =
TextUtils.concatResStrings(requireContext(), R.string.pref_sync_frequency_summary, R.string.pref_sync_frequency_summary_0)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class PreferencesWebUiFragment : BasePreferenceFragment() {
)
putString(
ConfirmationDialogFragment.KEY_MESSAGE,
TextUtils.concatResStrings(requireContext(), " ", R.string.wifi_not_connected, R.string.continue_confirmation)
TextUtils.concatResStrings(requireContext(), R.string.wifi_not_connected, R.string.continue_confirmation)
)
putInt(
ConfirmationDialogFragment.KEY_COMMAND_POSITIVE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ abstract class NotifyingBaseWorker(context: Context, workerParameters: WorkerPar
private val notificationTitle: String
get() = TextUtils.concatResStrings(
wrappedContext,
" ",
R.string.app_name,
notificationTitleResId
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,16 +274,25 @@ class GenericAccountService : Service() {
}

private fun activateSync(account: Account, prefHandler: PrefHandler) {
ContentResolver.setSyncAutomatically(account, TransactionProvider.AUTHORITY, true)
ContentResolver.setIsSyncable(account, TransactionProvider.AUTHORITY, 1)
addPeriodicSync(account, prefHandler)
configureAutomaticAndPeriod(account, prefHandler)
}

fun addPeriodicSync(account: Account, prefHandler: PrefHandler) {
ContentResolver.addPeriodicSync(
account, TransactionProvider.AUTHORITY, Bundle.EMPTY,
getSyncFrequency(prefHandler)
)
fun configureAutomaticAndPeriod(account: Account, prefHandler: PrefHandler) {
val pollFrequency = getSyncFrequency(prefHandler)
ContentResolver.setSyncAutomatically(account, TransactionProvider.AUTHORITY, pollFrequency > 0)
if (pollFrequency > 0) {
ContentResolver.addPeriodicSync(
account, TransactionProvider.AUTHORITY, Bundle.EMPTY,
pollFrequency
)
} else {
ContentResolver.removePeriodicSync(
account,
TransactionProvider.AUTHORITY,
Bundle.EMPTY
)
}
}

private fun getSyncFrequency(prefHandler: PrefHandler) =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ class SyncAdapter @JvmOverloads constructor(
if (getBooleanSetting(provider, PrefKey.SYNC_WIFI_ONLY, false) &&
!isConnectedWifi(context)
) {
val message = concatResStrings(context, " ", R.string.wifi_not_connected, R.string.synchronization_postponed)
val message = concatResStrings(context, R.string.wifi_not_connected, R.string.synchronization_postponed)
log().i(message)
if (extras.getBoolean(ContentResolver.SYNC_EXTRAS_MANUAL)) {
maybeNotifyUser(notificationTitle, message, account)
Expand Down Expand Up @@ -144,7 +144,6 @@ class SyncAdapter @JvmOverloads constructor(
appendToNotification(
concatResStrings(
context,
" ",
R.string.sync_io_error_cannot_connect,
R.string.sync_error_will_try_again_later
), account, true
Expand Down Expand Up @@ -751,7 +750,7 @@ class SyncAdapter @JvmOverloads constructor(
}

private val notificationTitle: String
get() = concatResStrings(context, " ", R.string.app_name, R.string.synchronization)
get() = concatResStrings(context, R.string.app_name, R.string.synchronization)

@Throws(RemoteException::class)
private fun getLocalChanges(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

public class ContribUtils {
public static void showContribNotification(Context context, ContribFeature feature) {
String notifTitle = TextUtils.concatResStrings(context, " ", R.string.app_name,
String notifTitle = TextUtils.concatResStrings(context, R.string.app_name,
feature.getLabelResId());
CharSequence content = android.text.TextUtils.concat(
feature.getLimitReachedWarning(context), " ",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ object TextUtils {
fun <E : Enum<E>> joinEnum(enumClass: Class<E>): String =
EnumSet.allOf(enumClass).joinToString(",") { "'${it.name}'" }

@JvmStatic
fun concatResStrings(ctx: Context, vararg resIds: Int): String =
concatResStrings(ctx, " ", *resIds)

@JvmStatic
fun concatResStrings(ctx: Context, separator: String, vararg resIds: Int): String =
resIds.joinToString(separator) { ctx.getString(it) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ abstract class AbstractSyncBackendViewModel(application: Application) :
) {
throw Exception(
TextUtils.concatResStrings(
getApplication(), " ",
getApplication(),
R.string.link_account_failure_2, R.string.link_account_failure_3
)
+ "(" + TextUtils.concatResStrings(
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-ar/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,7 @@
<string name="menu_sync_unlink">أوقف المزامنة</string>
<string name="menu_sync_link">إبدأ المزامنة</string>
<string name="menu_sync_download">تحميل و منزامنة</string>
<string name="pref_sync_frequency_summary">كم مرة يجب مزامنة البيانات (بالساعات)</string>
<string name="pref_sync_frequency_summary">كم مرة يجب مزامنة البيانات (بالساعات).</string>
<string name="dialog_confirm_sync_unlink">إذا قمت بإلغاء ربط هذا الحساب بـ%s، فستفقد حالة المزامنة. يتطلب ربطهما مرةً أخرى لاحقاً، مزامنةً كاملةً ليتم تنفيذها مرةً أخرى.</string>
<string name="dialog_sync_link">يوجد حساب بمعرف فريد عالمي %s في قاعدة البيانات المحلية والواجهة الخلفية البعيدة. عند ربط كليهما، عليك أن تقرر، في البداية، ما إذا كنت تريد تحميل البيانات المحلية إلى الواجهة الخلفية البعيدة أو تنزيل البيانات البعيدة إلى قاعدة البيانات المحلية.</string>
<string name="dialog_command_sync_link_remote">التنزيل عن بعد</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-bg/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@
<string name="menu_sync_unlink">Спри синхронизирането</string>
<string name="menu_sync_link">Започни синхронизиране</string>
<string name="menu_sync_download">Зареждане и синхронизиране</string>
<string name="pref_sync_frequency_summary">Колко често да се синхронизират данните (в часове)</string>
<string name="pref_sync_frequency_summary">Колко често да се синхронизират данните (в часове).</string>
<string name="dialog_confirm_sync_unlink">Ако развържете тази сметка от %s, ще се загуби състоянието на синхронизиране. При последващо ново свързване ще трябва да се извърши пълно синхронизиране.</string>
<string name="dialog_sync_link">Сметката %s съществува и в локалната и в отдалечената бази от данни. Когато ги свържете ще трябва да решите дали първоначално да се пренесат локалните данни в отдалечената база или да се заредят данните от отдалечената в локалната.</string>
<string name="dialog_command_sync_link_remote">Зареди от отдалечената</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-ca/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@
<string name="validate_error_webdav_404">L\'URL no existeix al servidor.</string>
<string name="url_not_valid">ULR invàlida</string>
<string name="menu_sync_download">Descarrega i sincronitza</string>
<string name="pref_sync_frequency_summary">Cada quant s\'han de sincronitzar les dades (en hores)</string>
<string name="pref_sync_frequency_summary">Cada quant s\'han de sincronitzar les dades (en hores).</string>
<string name="dialog_command_sync_link_remote">Descarrega del remot</string>
<string name="dialog_confirm_sync_link_local">Les dades remotes d\'aquest compte s\'eliminaran. Assegureu-vos que no hi ha connectats altres dispostius.</string>
<string name="progress_dialog_checking_sync_backend">Verificant sistema de servei</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-cs/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@
<string name="menu_sync_unlink">Zastavit synchronizaci</string>
<string name="menu_sync_link">Zahájit synchronizaci</string>
<string name="menu_sync_download">Stáhnout a synchronizovat</string>
<string name="pref_sync_frequency_summary">Jak často by mělo docházet k synchronizaci dat (v řádu hodin)</string>
<string name="pref_sync_frequency_summary">Jak často by mělo docházet k synchronizaci dat (v řádu hodin).</string>
<string name="dialog_confirm_sync_unlink">Pokud tento účet odpojíte od %s, stav synchronizace bude ztracen. Jejich pozdější propojení vyžaduje opětovné provedení celé synchronizace.</string>
<string name="dialog_sync_link">Účet s UUID %s existuje jak v místní databázi, tak ve vzdáleném backendu. Když oba propojíte, budete se muset rozhodnout, zda zpočátku nahrát místní data do vzdáleného backendu nebo stáhnout vzdálená data do místní databáze.</string>
<string name="dialog_command_sync_link_remote">Stáhnout ze vzdáleného zdroje</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-da/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@
<string name="url_not_valid">Ugyldigt URL</string>
<string name="menu_sync_unlink">Stop synkronisering</string>
<string name="menu_sync_download">Hent og synkronisér</string>
<string name="pref_sync_frequency_summary">Hvor ofte data skal synkroniseres (i timer)</string>
<string name="pref_sync_frequency_summary">Hvor ofte data skal synkroniseres (i timer).</string>
<string name="dialog_confirm_sync_remove_backend">Den eksterne backend %s fjernes. Dette påvirker ikke data, der er gemt lokalt eller eksternt, men synkroniseringsstatus går tabt.</string>
<string name="transaction_deleted">Transaktion blev slettet</string>
<string name="date_format_minute">Minut</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@
<string name="menu_sync_unlink">Synchronisierung stoppen</string>
<string name="menu_sync_link">Synchronisierung starten</string>
<string name="menu_sync_download">Herunterladen und synchronisieren</string>
<string name="pref_sync_frequency_summary">Wie oft sollten die Daten synchronisiert werden (in Stunden)</string>
<string name="pref_sync_frequency_summary">Wie oft sollten die Daten synchronisiert werden (in Stunden).</string>
<string name="dialog_confirm_sync_unlink">Wenn Sie dieses Konto von %s entkoppeln, geht der Status der Synchronisierung verloren. Wenn Sie die Verknüpfung später wiederherstellen, erfordert dies eine erneute vollständige Synchronisierung.</string>
<string name="dialog_sync_link">Ein Konto mit UUID %s existiert sowohl in der lokalen Datenbank als auch auf dem entfernten Backend. Wenn Sie beide verknüpfen, müssen Sie entscheiden, ob zunächst lokale Daten auf das Backend hochgeladen werden sollen, oder entfernte Daten in die lokale Datenbank geschrieben werden sollen.</string>
<string name="dialog_command_sync_link_remote">Herunterladen von Entfernt</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-el/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@
<string name="menu_sync_unlink">Διακοπή συγχρονισμού</string>
<string name="menu_sync_link">Έναρξη συγχρονισμού</string>
<string name="menu_sync_download">Λήψη και συγχρονισμός</string>
<string name="pref_sync_frequency_summary">Πόσο συχνά πρέπει να συγχρονίζονται τα δεδομένα (σε ώρες)</string>
<string name="pref_sync_frequency_summary">Πόσο συχνά πρέπει να συγχρονίζονται τα δεδομένα (σε ώρες).</string>
<string name="dialog_confirm_sync_unlink">Αν αποσυνδέσετε αυτόν τον λογαριασμό από το %s, η κατάσταση συγχρονισμού θα χαθεί. Η σύνδεσή τους ξανά αργότερα, απαιτεί ένα πλήρη συγχρονισμό να εκτελεστεί ξανά.</string>
<string name="dialog_command_sync_link_remote">Λήψη από απομακρυσμένο</string>
<string name="dialog_command_sync_link_local">Μεταφόρτωση από τοπικό</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,7 @@
<string name="menu_sync_unlink">Parar sincronización</string>
<string name="menu_sync_link">Comenzar sincronización</string>
<string name="menu_sync_download">Descargar y sincronizar</string>
<string name="pref_sync_frequency_summary">Cada cuánto se debería sincronizar los datos (en horas)</string>
<string name="pref_sync_frequency_summary">Cada cuánto se debería sincronizar los datos (en horas).</string>
<string name="dialog_confirm_sync_unlink">Si desliga esta cuenta de %s, el estado de sincronización será interrumpido. Si la vuelve a unir más adelante, requerirá una sincronización completa de nuevo.</string>
<string name="dialog_sync_link">La cuenta con UUID %s existe tanto en la base de datos local como en el servicio remoto. Cuando una las dos, necesitará decidir si, inicialmente, quiere subir los datos locales al servicio remoto o descargar los datos remotos en la base de datos local.</string>
<string name="dialog_command_sync_link_remote">Descargar desde el servicio remoto</string>
Expand Down
3 changes: 1 addition & 2 deletions myExpenses/src/main/res/values-eu/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -494,8 +494,7 @@
<string name="menu_sync_unlink">Gelditu sinkronizazioa</string>
<string name="menu_sync_link">Hasi sinkronizazioa</string>
<string name="menu_sync_download">Deskargatu eta sinkronizatu</string>
<string name="pref_sync_frequency_summary">Zenbat orduetan behin sinkronizatu behar litzateke datuak
</string>
<string name="pref_sync_frequency_summary">Zenbat orduetan behin sinkronizatu behar litzateke datuak.</string>
<string name="dialog_confirm_sync_unlink">Kontu hau %s-(e)tik desestekatzen baduzu, sinkronizazioaren egoera galdu egingo da. Beraiek aurrerago berriro estekatzeko sinkronizazio oso bat exekutatu beharko da berriro.</string>
<string name="dialog_sync_link">%s UUIDa duen kontu bat datu-base lokalean eta urruneko atzealdekoan dago. Biak estekatzen dituzunean, erabaki beharko duzu hasieran datu lokalak urruneko atzealdekora kargatu edo urruneko datuak datu-base lokalera deskargatu nahi dituzun.</string>
<string name="dialog_command_sync_link_remote">Deskargatu urruneko helbidetik</string>
Expand Down
2 changes: 1 addition & 1 deletion myExpenses/src/main/res/values-fa/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@
<string name="menu_sync_unlink">همگام‌سازی را متوقف کن</string>
<string name="menu_sync_link">همگام‌سازی را شروع کن</string>
<string name="menu_sync_download">بارگیری و همگام‌سازی</string>
<string name="pref_sync_frequency_summary">چند بار داده‌ها باید همگام‌سازی شوند (در ساعت)</string>
<string name="pref_sync_frequency_summary">چند بار داده‌ها باید همگام‌سازی شوند (در ساعت).</string>
<string name="dialog_confirm_sync_link_remote">داده‌های محلی این حساب حذف خواهند شد.</string>
<string name="warning_trial_limit_reached">دورهٔ امتحانی تست کردن ویژگی %s تمام شده‌است.</string>
<string name="template">قالب</string>
Expand Down
Loading

0 comments on commit 68674aa

Please sign in to comment.