@ -44,8 +45,9 @@ class Poller(private val configFactory: ConfigFactoryProtocol, debounceTimer: Ti
// region Settings
companionobject{
privateconstvalretryInterval:Long=2*1000
privateconstvalmaxInterval:Long=15*1000
privateconstvalRETRY_INTERVAL_MS:Long=2*1000
privateconstvalMAX_RETRY_INTERVAL_MS:Long=15*1000
privateconstvalNEXT_RETRY_MULTIPLIER:Float=1.2f// If we fail to poll we multiply our current retry interval by this (up to the above max) then try again
}
// endregion
@ -54,7 +56,7 @@ class Poller(private val configFactory: ConfigFactoryProtocol, debounceTimer: Ti
if(hasStarted){return}
Log.d(TAG,"Started polling.")
hasStarted=true
setUpPolling(retryInterval)
setUpPolling(RETRY_INTERVAL_MS)
}
funstopIfNeeded(){
@ -67,9 +69,11 @@ class Poller(private val configFactory: ConfigFactoryProtocol, debounceTimer: Ti
Log.d(TAG,"Retrieving user profile.")
SnodeAPI.getSwarm(userPublicKey).bind{
usedSnodes.clear()
deferred<Unit,Exception>().also{
pollNextSnode(userProfileOnly=true,it)
deferred<Unit,Exception>().also{exception->
pollNextSnode(userProfileOnly=true,exception)
}.promise
}.fail{exception->
Log.e(TAG,"Failed to retrieve user profile.",exception)
}
}
// endregion
@ -84,14 +88,14 @@ class Poller(private val configFactory: ConfigFactoryProtocol, debounceTimer: Ti
<stringname="accountIdErrorInvalid">معرف الحساب هذا غير صالح. يرجى التحقق والمحاولة مرة أخرى.</string>
<stringname="accountIdOrOnsEnter">أدخل معرف الحساب أو ONS</string>
<stringname="accountIdOrOnsInvite">دعوة باستخدام معرف الحساب أو ONS</string>
<stringname="accountIdShare">Hey, I\'ve been using {app_name} to chat with complete privacy and security. Come join me! My Account ID is\n\n{account_id}\n\nDownload it at {session_download_url}</string>
<stringname="accountIdShare">مرحبًا، لقد كنت أستخدم {app_name} للدردشة مع خصوصية وأمان كاملين. انضم إليّ! معرف حسابي هو\n\n{account_id}\n\nقم بتحميله من {session_download_url}</string>
<stringname="accountIdYours">معرف حسابك</string>
<stringname="accountIdYoursDescription">هذا معرف الحساب الخاص بك. يمكن للمستخدمين الآخرين مسحه ضوئيا لبدء محادثة معك.</string>
<stringname="blockDescription">هل أنت متيقِّن من حظر <b>{name}؟</b> المستخدمين المحظورين لايمكنهم إرسال طلبات الرسائل، دعوات المجموعات أو الإتصال بك.</string>
<stringname="disappearingMessagesFollowSettingOff">لن تختفي الرسائل التي ترسلها بعد الآن. هل أنت متأكد أنك تريد إيقاف <b>إيقاف</b> الرسائل المختفية؟</string>
<stringname="disappearingMessagesFollowSettingOn">تعيين رسائلك لتختفي <b>{time} </b> بعد أن تكون <b>{disappearing_messages_type} </b>؟</string>
<stringname="disappearingMessagesLegacy">{name} يستخدم عميل قديم. قد لا تعمل الرسائل المختفية على النحو المتوقع.</string>
<stringname="disappearingMessagesOnlyAdmins">فقط المسؤولين يمكنهم تغيير هذا الإعداد.</string>
<stringname="disappearingMessagesOnlyAdmins">يمكن لمشرفين المجموعة فقط تغيير هذا الإعداد.</string>
<stringname="giphyWarningDescription">{app_name} سيتصل بمنصة Giphy لتقديم نتائج البحث. لن يكون لديك حماية كاملة للبيانات الوصفية عند إرسال الصور المتحركة (GIFs).</string>
<stringname="groupAddMemberMaximum">تضم المجموعات بحد أقصى 100 عضو</string>
@ -397,7 +397,7 @@
<stringname="groupInviteFailedTwo">فشل دعوة {name} و {other_name} إلى {group_name}</string>
<stringname="groupInviteFailedUser">فشل دعوة {name} إلى {group_name}</string>
<stringname="groupInviteSent">تم إرسال الدعوة</string>
<stringname="groupInviteSuccessful">الدعوة إلى المجموعة ناجحة</string>
<stringname="groupInviteSuccessful">تمت دعوة المجموعة بنجاح</string>
<stringname="groupInviteVersion">يجب أن يمتلك المستخدمون الإصدار الأحدث لتلقي الدعوات</string>
<stringname="groupInviteYou"><b>أنت</b> تمت دعوتك للانضمام إلى المجموعة.</string>
<stringname="groupNameEnter">أدخل اسم المجموعة</string>
<stringname="groupNameEnterPlease">الرجاء إدخال اسم للمجموعة.</string>
<stringname="groupNameEnterShorter">الرجاء إدخال اسم مجموعة أقصر.</string>
<stringname="groupNameNew">أسم المجموعة الآن \'{group_name}.</string>
<stringname="groupNameNew">اسم المجموعة الآن \'{group_name}.</string>
<stringname="groupNameUpdated">تم تحديث اسم المجموعة.</string>
<stringname="groupNoMessages">ليس لديك رسائل من <b>{group_name}</b>. أرسل رسالة لبدء المحادثة!</string>
<stringname="groupPromotedYou"><b>أنت</b> تم ترقيتك إلى مشرف.</string>
@ -464,7 +464,7 @@
<stringname="helpReportABug">الإبلاغ عن خطأ</string>
<stringname="helpReportABugDescription">شارك بعض التفاصيل لمساعدتنا في حل مشكلتك. صدّر السجلات الخاصة بك، ثم قم بتحميل الملف عبر مكتب المساعدة الخاص بـ {app_name}.</string>
<stringname="messageErrorOld">تلقينا رسالة مشفرة باستخدام إصدار قديم من {app_name} لم يعد مدعومًا. يرجى مطالبة المرسل بتحديث إلى أحدث إصدار وإعادة إرسال الرسالة.</string>
<stringname="messageErrorOriginal">لم يتم العثور على الرسالة الأصلية</string>
<stringname="onboardingAccountCreated">تم إنشاء الحساب</string>
@ -680,8 +680,8 @@
<stringname="passwordCurrentIncorrect">كلمة المرور الحالية غير صحيحة.</string>
<stringname="passwordDescription">يتطلب كلمة السر لفتح {app_name}.</string>
<stringname="passwordEnter">أدخل كلمة السر</string>
<stringname="passwordEnterCurrent">يرجى إدخال كلمة السر الحالية</string>
<stringname="passwordEnterNew">يرجى إدخال كلمة السر الجديدة</string>
<stringname="passwordEnterCurrent">الرجاء إدخال كلمة السر الحالية</string>
<stringname="passwordEnterNew">الرجاء إدخال كلمة السر الجديدة</string>
<stringname="passwordError">كلمة المرور يجب ان تحتوي فقط على الاحرف, الارقام و الرموز</string>
<stringname="passwordErrorLength">كلمة المرور يجب ان تكون بين 6 و 64 عنصر</string>
<stringname="passwordErrorMatch">كلمتا المرور لا تتطابقان</string>
@ -715,9 +715,9 @@
<stringname="permissionsStorageSaveDenied">{app_name} يحتاج إذن الوصول إلى التخزين لحفظ الصور ومقاطع الفيديو، ولكن تم رفضه نهائيًا. يرجى الانتقال إلى إعدادات التطبيق، واختيار \"الأذونات\"، وتفعيل \"التخزين\".</string>
<stringname="permissionsStorageSend">{app_name} يحتاج إذن الوصول إلى التخزين لإرسال الصور ومقاطع الفيديو.</string>
<stringname="qrNotAccountId">رمز QR هذا لا يحتوي على معرف حساب</string>
<stringname="qrNotAccountId">رمز QR هذا لا يحتوي على مُعرف حساب</string>
<stringname="qrNotRecoveryPassword">رمز QR هذا لا يحتوي على عبارة استرداد</string>
<stringname="qrScan">امسح رمز الاستجابة السريعة</string>
<stringname="qrScan">امسح رمز الاستجابة السريعة QR</string>
<stringname="qrView">عرض QR</string>
<stringname="qrYoursDescription">يمكن للأصدقاء إرسال رسائل إليك عن طريق مسح رمز QR الخاص بك.</string>
<stringname="quit">انهاء {app_name}</string>
@ -752,7 +752,7 @@
<stringname="recoveryPasswordHidePermanently">إخفاء كلمة مرور الاسترداد بشكل دائم</string>
<stringname="recoveryPasswordHidePermanentlyDescription1">بدون كلمة المرور الاستردادية، لا يمكنك تحميل حسابك على الأجهزة الجديدة. \n\nنوصيك بشدة بحفظ كلمة المرور الاستردادية في مكان آمن قبل المتابعة.</string>
<stringname="recoveryPasswordHidePermanentlyDescription2">هل أنت متأكد من أنك تريد إخفاء كلمة مرور الاسترداد الخاصة بك على هذا الجهاز نهائيًا؟ لا يمكن التراجع عن هذا.</string>
<stringname="recoveryPasswordHideRecoveryPassword">إخفاء كلمة المرور للاسترجاع</string>
<stringname="recoveryPasswordHideRecoveryPassword">إخفاء كلمة مرور الاسترداد</string>
<stringname="recoveryPasswordHideRecoveryPasswordDescription">إخفاء كلمة المرور الخاصة بالاسترداد على هذا الجهاز بشكل دائم.</string>
<stringname="recoveryPasswordRestoreDescription">أدخل كلمة مرور الاسترجاع لتحميل حسابك. إذا لم تقم بحفظها، يمكنك العثور عليها في إعدادات التطبيق.</string>
<stringname="recoveryPasswordView">عرض كلمة المرور</string>
@ -778,17 +778,17 @@
<stringname="search">بحث</string>
<stringname="searchContacts">ابحث في جهات الاتصال</string>
<stringname="searchConversation">بحث عن محادثة</string>
<stringname="groupCreateErrorNoMembers">Please pick at least one other group member.</string>
<stringname="groupDelete">Delete Group</string>
<stringname="groupDeleteDescription">Are you sure you want to delete <b>{group_name}</b>? This will remove all members and delete all group content.</string>
<stringname="groupDeleteDescriptionMember">Are you sure you want to delete <b>{group_name}</b>?</string>
<stringname="groupDeletedMemberDescription">{group_name} has been deleted by a group admin. You will not be able to send any more messages.</string>
<stringname="groupDescriptionEnter">Enter a group description</string>