diff --git a/build.gradle b/build.gradle
index 5a0508d5a..14f3cade4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -90,7 +90,7 @@ android {
defaultConfig {
versionCode 594
- versionName "1.13.3"
+ versionName "1.13.4"
applicationId "com.b44t.messenger"
multiDexEnabled true
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 4fa1283fd..6d5dcb680 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -6,6 +6,7 @@
لغو
بله
خیر
+ انتخاب
روشن
خاموش
پیشفرض
@@ -14,6 +15,8 @@
خودکار
سختگیرانه
بازکردن
+ پیوستن
+ پیوستن مجدد
حذف
درباره
به روز رسانی
@@ -103,7 +106,9 @@
دوربین
موقعیت مکانی
گالری
+ تصاویر و فیلمها
پوشه
+ فایلها
ناشناس
سبز
@@ -206,6 +211,17 @@
فایل در \"%1$s\" ذخیره شد
+ گفتگوی تصویری
+ دعوت کردن %1$sبه گفتگوی تصویری
+ این عمل، به نرم افزار یا مرورگر سازگار برای هردوطرف مکالمه نیاز دارد.
+ %1$sبه تماس تصویری دعوت شد.
+ شما به تماس تصویری دعوت شدهاید.
+ این تماس تصویری در مرورگر شما باز خواهد شد.
+ برای پیوستن ضربه بزنید.
+ برای باز کردن ضربه بزنید.
+ دعوت به مکالمه تصویری.
+ شما به مکالمه تصویری دعوت شده اید برای پیوستن%1$s را بزنید.
+
مطمئن هستید میخواهید این گروه را ترک کنید؟
@@ -217,6 +233,7 @@
- پاک کردن %d گفتگو از اینجا و سرور؟
پیامها به %1$sهدایت شوند؟
+ انتقال پیامها به %1$d چت؟
ضمیمه صادر شود؟ صادر کردن ضمیمه باعث میشود دیگر نرمافزارهای روی دستگاه شما بتوانند به آن دسترسی داشته باشند. \n\nادامه میدهید؟
مخاطب مسدود شود؟ شما دیگر پیامی از این مخاطب دریافت نخواهید کرد.
رفع مسدودیت مخاطب؟ دوباره قادر خواهید بود پیامهای ارسال شده توسط این مخاطب را دریافت کنید.
@@ -325,6 +342,8 @@
SMTP port
امنیت SMTP
روش تایید هویت
+
+ بررسی %1$s
با تنظیمات ساده شده ادامه میدهید؟
آدرس ایمیل وارد شده از تنظیمات ساده پشتیبانی میکند(OAuth 2.0).\n\nIn مرحله بعد، لطفا به دلتاچت اجازه دهید که به عنوان نرمافزار ایمیل شما عمل نماید\n\n سرور دلتاچت وجود ندارد دادههای شما در دستگاه خودتان باقی میماند.
بررسی تاییدیه
@@ -338,7 +357,7 @@
امکان ورود با\"%1$s\"وجود ندارد. لطفا صحت ایمیل و رمز عبور را بررسی کنید.
- بازخورد از %1$s: %2$s\n\n برخی ارائه دهندگان ایمیل اطلاعات اضافی در صندوق ورودی شما قرار میدهند. میتوانید این موارد را در صفحه وب بررسی کنید. اگر به مشکلی برخوردید به ارائه دهندگان ایمیل یا دوستان خود مراجعه کنید.
+ بازخورد از %1$s: %2$s\n\n برخی ارائه دهندگان ایمیل، اطلاعات بیشتری درمورد ابن مشکل برایتان ارسال میکنند. میتوانید صندوق ورودی خود را از طریق وب سایت ایمیل یا نرمافزار همیشگی خود بررسی کنید. . اگر به مشکلی برخوردید به ارائه دهندگان ایمیل یا دوستان خود مراجعه کنید.
پذیرش تاییدیههای نادرست
تنظیمات استفاده شده:
@@ -449,9 +468,9 @@
پاک کردن پیامها از دستگاه
پاک کردن پیامها از سرور
- آیا میخواهید %1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانه هم میشود\n\n• پیامها جدای از اینکه دیده شده باشند یا نه پاک میشوند. \"پیام های ذخیره شده\" شامل این پاک کردن محلی نمیشوند.
+ آیا میخواهید %1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانهها هم میشود\n\n• پیامها جدای از اینکه دیده شده باشند یا نه پاک میشوند. \"پیام های ذخیره شده\" شامل این پاک کردن محلی نمیشوند.
- آیا میخواهید%1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانه هم میشود\n\n• همچنین ایمیلهای مربوط به \"نمایش ایمیلهای معمولی\" باشند نیز از سرور پاک میشوند.
+ آیا میخواهید%1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانه هم میشود\n\n• همچنین ایمیلهای مربوط به \"نمایش ایمیلهای معمولی\" نیز از سرور پاک میشوند.
متوجه هستم، همه پیامها حذف شوند
یک بار
بعد از 1 ساعت
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 3891538b5..de5f2888b 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -701,7 +701,7 @@
Achtergrondmeldingen
Zet een achtergrondverbinding op naar je server en negeert alle accu-optimalisaties.
- Om een achtergrondverbinding naar je server op te zetten, dien je alle accu-optimalisaties te negeren in de volgende stap.\n\nDelta Chat gebruikt weinig systeembronnen en verhoogt je accuverbruik nauwelijks.
+ Om een achtergrondverbinding naar je server op te zetten, dien je in de volgende stap alle accu-optimalisaties te negeren.\n\nDelta Chat gebruikt weinig systeembronnen en verhoogt nauwelijks je accuverbruik.
Betrouwbare achtergrondverbinding
Vereist een permanente melding
diff --git a/src/com/b44t/messenger/DcEventCenter.java b/src/com/b44t/messenger/DcEventCenter.java
index 39c8cc84f..034cffac5 100644
--- a/src/com/b44t/messenger/DcEventCenter.java
+++ b/src/com/b44t/messenger/DcEventCenter.java
@@ -10,7 +10,7 @@ public class DcEventCenter {
private final Object LOCK = new Object();
public interface DcEventDelegate {
- void handleEvent(int eventId, Object data1, Object data2);
+ void handleEvent(DcEvent event);
default boolean runOnMain() {
return true;
}
@@ -54,9 +54,9 @@ public class DcEventCenter {
}
}
- public void sendToObservers(int eventId, Object data1, Object data2) {
+ public void sendToObservers(DcEvent event) {
synchronized (LOCK) {
- ArrayList idObservers = allObservers.get(eventId);
+ ArrayList idObservers = allObservers.get(event.getId());
if (idObservers != null) {
for (DcEventDelegate observer : idObservers) {
// using try/catch blocks as under some circumstances eg. getContext() may return NULL -
@@ -65,7 +65,7 @@ public class DcEventCenter {
if(observer.runOnMain()) {
Util.runOnMain(() -> {
try {
- observer.handleEvent(eventId, data1, data2);
+ observer.handleEvent(event);
}
catch(Exception e) {
e.printStackTrace();
@@ -74,7 +74,7 @@ public class DcEventCenter {
} else {
Util.runOnBackground(() -> {
try {
- observer.handleEvent(eventId, data1, data2);
+ observer.handleEvent(event);
}
catch (Exception e) {
e.printStackTrace();
diff --git a/src/org/thoughtcrime/securesms/BlockedAndShareContactsActivity.java b/src/org/thoughtcrime/securesms/BlockedAndShareContactsActivity.java
index b9dd1e477..d5769a609 100644
--- a/src/org/thoughtcrime/securesms/BlockedAndShareContactsActivity.java
+++ b/src/org/thoughtcrime/securesms/BlockedAndShareContactsActivity.java
@@ -16,6 +16,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import org.thoughtcrime.securesms.connect.ApplicationDcContext;
@@ -130,8 +131,8 @@ public class BlockedAndShareContactsActivity extends PassphraseRequiredActionBar
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId==DcContext.DC_EVENT_CONTACTS_CHANGED) {
+ public void handleEvent(DcEvent event) {
+ if (event.getId()==DcContext.DC_EVENT_CONTACTS_CHANGED) {
restartLoader();
}
}
diff --git a/src/org/thoughtcrime/securesms/ContactSelectionListFragment.java b/src/org/thoughtcrime/securesms/ContactSelectionListFragment.java
index 020d970a5..48998d685 100644
--- a/src/org/thoughtcrime/securesms/ContactSelectionListFragment.java
+++ b/src/org/thoughtcrime/securesms/ContactSelectionListFragment.java
@@ -47,6 +47,7 @@ import android.widget.Toast;
import com.b44t.messenger.DcContact;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import org.thoughtcrime.securesms.components.RecyclerViewFastScroller;
@@ -426,8 +427,8 @@ public class ContactSelectionListFragment extends Fragment
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId==DcContext.DC_EVENT_CONTACTS_CHANGED) {
+ public void handleEvent(DcEvent event) {
+ if (event.getId()==DcContext.DC_EVENT_CONTACTS_CHANGED) {
getLoaderManager().restartLoader(0, null, ContactSelectionListFragment.this);
}
}
diff --git a/src/org/thoughtcrime/securesms/ConversationActivity.java b/src/org/thoughtcrime/securesms/ConversationActivity.java
index 61c90560d..63d769154 100644
--- a/src/org/thoughtcrime/securesms/ConversationActivity.java
+++ b/src/org/thoughtcrime/securesms/ConversationActivity.java
@@ -63,6 +63,7 @@ import androidx.core.view.WindowCompat;
import com.b44t.messenger.DcChat;
import com.b44t.messenger.DcContact;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.b44t.messenger.DcMsg;
@@ -1449,9 +1450,10 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId == DcContext.DC_EVENT_CHAT_MODIFIED
- || eventId == DcContext.DC_EVENT_CHAT_EPHEMERAL_TIMER_MODIFIED
+ public void handleEvent(DcEvent event) {
+ int eventId = event.getId();
+ if ((eventId == DcContext.DC_EVENT_CHAT_MODIFIED && event.getData1Int() == chatId)
+ || (eventId == DcContext.DC_EVENT_CHAT_EPHEMERAL_TIMER_MODIFIED && event.getData1Int() == chatId)
|| eventId == DcContext.DC_EVENT_CONTACTS_CHANGED) {
dcChat = dcContext.getChat(chatId);
titleView.setTitle(glideRequests, dcChat);
diff --git a/src/org/thoughtcrime/securesms/ConversationFragment.java b/src/org/thoughtcrime/securesms/ConversationFragment.java
index 635a54e75..5706e2ed5 100644
--- a/src/org/thoughtcrime/securesms/ConversationFragment.java
+++ b/src/org/thoughtcrime/securesms/ConversationFragment.java
@@ -57,6 +57,7 @@ import androidx.recyclerview.widget.RecyclerView.OnScrollListener;
import com.b44t.messenger.DcChat;
import com.b44t.messenger.DcContact;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.b44t.messenger.DcMsg;
@@ -840,9 +841,30 @@ public class ConversationFragment extends Fragment
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId == DcContext.DC_EVENT_CHAT_MODIFIED) {
- updateLocationButton();
+ public void handleEvent(DcEvent event) {
+ switch (event.getId()) {
+ case DcContext.DC_EVENT_MSGS_CHANGED:
+ if (event.getData1Int() == 0 // deleted messages or batch insert
+ || event.getData1Int() == chatId) {
+ reloadList();
+ }
+ break;
+
+ case DcContext.DC_EVENT_INCOMING_MSG:
+ case DcContext.DC_EVENT_MSG_DELIVERED:
+ case DcContext.DC_EVENT_MSG_FAILED:
+ case DcContext.DC_EVENT_MSG_READ:
+ if (event.getData1Int() == chatId) {
+ reloadList();
+ }
+ break;
+
+ case DcContext.DC_EVENT_CHAT_MODIFIED:
+ if (event.getData1Int() == chatId) {
+ updateLocationButton();
+ reloadList();
+ }
+ break;
}
// removing the "new message" marker on incoming messages may be a bit unexpected,
@@ -851,7 +873,5 @@ public class ConversationFragment extends Fragment
/*if (eventId == DcContext.DC_EVENT_INCOMING_MSG && isResumed()) {
setLastSeen(-1);
}*/
-
- reloadList();
}
}
diff --git a/src/org/thoughtcrime/securesms/ConversationListFragment.java b/src/org/thoughtcrime/securesms/ConversationListFragment.java
index 6990b8172..e88fd7afa 100644
--- a/src/org/thoughtcrime/securesms/ConversationListFragment.java
+++ b/src/org/thoughtcrime/securesms/ConversationListFragment.java
@@ -28,6 +28,8 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+
+import com.b44t.messenger.DcEvent;
import com.google.android.material.snackbar.Snackbar;
import androidx.core.content.ContextCompat;
@@ -583,7 +585,7 @@ public class ConversationListFragment extends Fragment
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
getLoaderManager().restartLoader(0, null, this);
}
}
diff --git a/src/org/thoughtcrime/securesms/GroupCreateActivity.java b/src/org/thoughtcrime/securesms/GroupCreateActivity.java
index 7f8e44d44..663c1527a 100644
--- a/src/org/thoughtcrime/securesms/GroupCreateActivity.java
+++ b/src/org/thoughtcrime/securesms/GroupCreateActivity.java
@@ -21,6 +21,7 @@ import android.widget.Toast;
import com.b44t.messenger.DcContact;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.target.SimpleTarget;
@@ -143,7 +144,8 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
+ int eventId = event.getId();
if (eventId== DcContext.DC_EVENT_CHAT_MODIFIED || eventId==DcContext.DC_EVENT_CONTACTS_CHANGED) {
initializeExistingGroup();
}
diff --git a/src/org/thoughtcrime/securesms/ProfileActivity.java b/src/org/thoughtcrime/securesms/ProfileActivity.java
index 065a10be7..6c92c31dd 100644
--- a/src/org/thoughtcrime/securesms/ProfileActivity.java
+++ b/src/org/thoughtcrime/securesms/ProfileActivity.java
@@ -8,6 +8,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
+import com.b44t.messenger.DcEvent;
import com.google.android.material.tabs.TabLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@@ -177,7 +178,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
updateToolbar();
}
diff --git a/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java b/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java
index f516d1f96..6a96cecb4 100644
--- a/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java
+++ b/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java
@@ -24,6 +24,7 @@ import android.view.Window;
import android.widget.TextView;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.b44t.messenger.DcMsg;
import com.codewaves.stickyheadergrid.StickyHeaderGridLayoutManager;
@@ -94,7 +95,7 @@ public class ProfileDocumentsFragment
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
getLoaderManager().restartLoader(0, null, this);
}
diff --git a/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java b/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java
index 3f9c77d2d..657179780 100644
--- a/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java
+++ b/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java
@@ -24,6 +24,7 @@ import android.view.Window;
import android.widget.TextView;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.b44t.messenger.DcMsg;
import com.codewaves.stickyheadergrid.StickyHeaderGridLayoutManager;
@@ -97,7 +98,7 @@ public class ProfileGalleryFragment
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
getLoaderManager().restartLoader(0, null, this);
}
diff --git a/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java b/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java
index 4ace409fa..959feef5a 100644
--- a/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java
+++ b/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java
@@ -24,6 +24,7 @@ import com.b44t.messenger.DcChat;
import com.b44t.messenger.DcChatlist;
import com.b44t.messenger.DcContact;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import org.thoughtcrime.securesms.connect.ApplicationDcContext;
@@ -104,7 +105,7 @@ public class ProfileSettingsFragment extends Fragment
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
update();
}
diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java
index 3c12725ff..3f73bd6c6 100644
--- a/src/org/thoughtcrime/securesms/RegistrationActivity.java
+++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java
@@ -11,6 +11,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.Group;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcProvider;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
@@ -546,15 +547,15 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId==DcContext.DC_EVENT_CONFIGURE_PROGRESS) {
+ public void handleEvent(DcEvent event) {
+ if (event.getId()==DcContext.DC_EVENT_CONFIGURE_PROGRESS) {
ApplicationDcContext dcContext = DcHelper.getContext(this);
- long progress = (Long)data1;
+ long progress = event.getData1Int();
if (progress==0/*error/aborted*/) {
dcContext.maybeStartIo(); // start-io is also needed on errors to make previous config work in case of changes
dcContext.endCaptureNextError();
progressDialog.dismiss();
- WelcomeActivity.maybeShowConfigurationError(this, data2);
+ WelcomeActivity.maybeShowConfigurationError(this, event.getData2Str());
}
else if (progress<1000/*progress in permille*/) {
int percent = (int)progress / 10;
diff --git a/src/org/thoughtcrime/securesms/WelcomeActivity.java b/src/org/thoughtcrime/securesms/WelcomeActivity.java
index 9b7600410..51ad41681 100644
--- a/src/org/thoughtcrime/securesms/WelcomeActivity.java
+++ b/src/org/thoughtcrime/securesms/WelcomeActivity.java
@@ -15,6 +15,7 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.b44t.messenger.DcLot;
import com.google.zxing.integration.android.IntentIntegrator;
@@ -171,7 +172,7 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
dcContext.configure();
}
- private void progressError(Object data2) {
+ private void progressError(String data2) {
progressDialog.dismiss();
maybeShowConfigurationError(this, data2);
}
@@ -195,10 +196,10 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
finish();
}
- public static void maybeShowConfigurationError(Activity activity, Object data2) {
- if (data2 instanceof String && !((String) data2).isEmpty()) {
+ public static void maybeShowConfigurationError(Activity activity, String data2) {
+ if (data2 != null && data2.isEmpty()) {
AlertDialog d = new AlertDialog.Builder(activity)
- .setMessage(((String) data2))
+ .setMessage(data2)
.setPositiveButton(android.R.string.ok, null)
.create();
d.show();
@@ -212,9 +213,11 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
+ int eventId = event.getId();
+
if (eventId== DcContext.DC_EVENT_IMEX_PROGRESS ) {
- long progress = (Long)data1;
+ long progress = event.getData1Int();
if (progress==0/*error/aborted*/) {
progressError(dcContext.getCapturedError());
notificationController.close();
@@ -230,16 +233,16 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
}
}
else if (manualConfigure && eventId==DcContext.DC_EVENT_CONFIGURE_PROGRESS) {
- long progress = (Long)data1;
+ long progress = event.getData1Int();
if (progress==1000/*done*/) {
dcContext.maybeStartIo();
finish(); // remove ourself from the activity stack (finishAffinity is available in API 16, we're targeting API 14)
}
}
else if (!manualConfigure && eventId==DcContext.DC_EVENT_CONFIGURE_PROGRESS) {
- long progress = (Long)data1;
+ long progress = event.getData1Int();
if (progress==0/*error/aborted*/) {
- progressError(data2);
+ progressError(event.getData2Str());
}
else if (progress<1000/*progress in permille*/) {
progressUpdate((int)progress);
diff --git a/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java b/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java
index bfce74735..abefcc03c 100644
--- a/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java
+++ b/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java
@@ -446,15 +446,13 @@ public class ApplicationDcContext extends DcContext {
case DC_EVENT_INCOMING_MSG:
notificationCenter.addNotification(event.getData1Int(), event.getData2Int());
if (eventCenter != null) {
- eventCenter.sendToObservers(id, (long)event.getData1Int(), (long)event.getData2Int());
+ eventCenter.sendToObservers(event);
}
break;
default: {
- final Object data1obj = (long)event.getData1Int();
- final Object data2obj = data2IsString(id) ? event.getData2Str() : (long)event.getData2Int();
if (eventCenter != null) {
- eventCenter.sendToObservers(id, data1obj, data2obj);
+ eventCenter.sendToObservers(event);
}
}
break;
diff --git a/src/org/thoughtcrime/securesms/map/MapDataManager.java b/src/org/thoughtcrime/securesms/map/MapDataManager.java
index 367c72fea..0f4912fe1 100644
--- a/src/org/thoughtcrime/securesms/map/MapDataManager.java
+++ b/src/org/thoughtcrime/securesms/map/MapDataManager.java
@@ -5,6 +5,7 @@ import android.graphics.Bitmap;
import androidx.annotation.NonNull;
import android.util.Log;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.mapbox.android.core.permissions.PermissionsManager;
import com.mapbox.geojson.Feature;
@@ -183,9 +184,10 @@ public class MapDataManager implements DcEventCenter.DcEventDelegate, GenerateIn
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
+ public void handleEvent(DcEvent event) {
+ int eventId = event.getId();
Log.d(TAG, "updateEvent in MapDataManager called. eventId: " + eventId);
- int contactId = ((Long) data1).intValue();
+ int contactId = event.getData1Int();
if (contactMapSources.containsKey(contactId)) {
DataCollector collector = new DataCollector(dcContext,
contactMapSources,
diff --git a/src/org/thoughtcrime/securesms/preferences/ListSummaryPreferenceFragment.java b/src/org/thoughtcrime/securesms/preferences/ListSummaryPreferenceFragment.java
index d601f0a67..fde14d4b7 100644
--- a/src/org/thoughtcrime/securesms/preferences/ListSummaryPreferenceFragment.java
+++ b/src/org/thoughtcrime/securesms/preferences/ListSummaryPreferenceFragment.java
@@ -10,6 +10,7 @@ import androidx.preference.ListPreference;
import androidx.preference.Preference;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import org.thoughtcrime.securesms.R;
@@ -116,9 +117,9 @@ public abstract class ListSummaryPreferenceFragment extends CorrectedPreferenceF
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId== DcContext.DC_EVENT_IMEX_PROGRESS) {
- long progress = (Long)data1;
+ public void handleEvent(DcEvent event) {
+ if (event.getId()== DcContext.DC_EVENT_IMEX_PROGRESS) {
+ long progress = event.getData1Int();
if (progress==0/*error/aborted*/) {
dcContext.endCaptureNextError();
progressDialog.dismiss();
diff --git a/src/org/thoughtcrime/securesms/qr/QrCodeHandler.java b/src/org/thoughtcrime/securesms/qr/QrCodeHandler.java
index e0deec1a1..2f62674b0 100644
--- a/src/org/thoughtcrime/securesms/qr/QrCodeHandler.java
+++ b/src/org/thoughtcrime/securesms/qr/QrCodeHandler.java
@@ -9,6 +9,7 @@ import android.text.Html;
import android.widget.Toast;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.b44t.messenger.DcLot;
import com.google.zxing.integration.android.IntentResult;
@@ -222,10 +223,10 @@ public class QrCodeHandler implements DcEventCenter.DcEventDelegate {
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId == DcContext.DC_EVENT_SECUREJOIN_JOINER_PROGRESS) {
- long contact_id = (Long)data1;
- long progress = (Long)data2;
+ public void handleEvent(DcEvent event) {
+ if (event.getId() == DcContext.DC_EVENT_SECUREJOIN_JOINER_PROGRESS) {
+ long contact_id = event.getData1Int();
+ long progress = event.getData2Int();
String msg = null;
if( progress == 400) {
msg = activity.getString(R.string.qrscan_x_verified_introduce_myself, dcContext.getContact((int)contact_id).getNameNAddr());
diff --git a/src/org/thoughtcrime/securesms/qr/QrShowFragment.java b/src/org/thoughtcrime/securesms/qr/QrShowFragment.java
index 24a68998a..0146a8fa1 100644
--- a/src/org/thoughtcrime/securesms/qr/QrShowFragment.java
+++ b/src/org/thoughtcrime/securesms/qr/QrShowFragment.java
@@ -23,6 +23,7 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcEventCenter;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
@@ -184,11 +185,11 @@ public class QrShowFragment extends Fragment implements DcEventCenter.DcEventDel
}
@Override
- public void handleEvent(int eventId, Object data1, Object data2) {
- if (eventId == DcContext.DC_EVENT_SECUREJOIN_INVITER_PROGRESS) {
+ public void handleEvent(DcEvent event) {
+ if (event.getId() == DcContext.DC_EVENT_SECUREJOIN_INVITER_PROGRESS) {
DcContext dcContext = DcHelper.getContext(getActivity());
- int contact_id = ((Long) data1).intValue();
- long progress = (Long) data2;
+ int contact_id = event.getData1Int();
+ long progress = event.getData2Int();
String msg = null;
if (progress == 300) {
msg = String.format(getString(R.string.qrshow_x_joining), dcContext.getContact(contact_id).getNameNAddr());