Merge branch 'deltachat' into adb-deltachat

This commit is contained in:
adbenitez
2020-09-22 15:08:24 -04:00
21 changed files with 116 additions and 58 deletions
+1 -1
View File
@@ -90,7 +90,7 @@ android {
defaultConfig {
versionCode 594
versionName "1.13.3"
versionName "1.13.4"
applicationId "com.b44t.messenger"
multiDexEnabled true
+22 -3
View File
@@ -6,6 +6,7 @@
<string name="cancel">لغو</string>
<string name="yes">بله</string>
<string name="no">خیر</string>
<string name="select">انتخاب</string>
<string name="on">روشن</string>
<string name="off">خاموش</string>
<string name="def">پیش‌فرض</string>
@@ -14,6 +15,8 @@
<string name="automatic">خودکار</string>
<string name="strict">سخت‌گیرانه</string>
<string name="open">بازکردن</string>
<string name="join">پیوستن</string>
<string name="rejoin">پیوستن مجدد</string>
<string name="delete">حذف</string>
<string name="info">درباره</string>
<string name="update">به‌ روز رسانی</string>
@@ -103,7 +106,9 @@
<string name="camera">دوربین</string>
<string name="location">موقعیت مکانی</string>
<string name="gallery">گالری</string>
<string name="images_and_videos">تصاویر و فیلم‌ها</string>
<string name="file">پوشه</string>
<string name="files">فایل‌ها</string>
<string name="unknown">ناشناس</string>
<string name="green">سبز</string>
@@ -206,6 +211,17 @@
<string name="file_saved_to">فایل در \"%1$s\" ذخیره شد</string>
<string name="videochat">گفتگوی تصویری</string>
<string name="videochat_invite_user_to_videochat">دعوت کردن %1$sبه گفتگوی تصویری</string>
<string name="videochat_invite_user_hint">این عمل، به نرم افزار یا مرورگر سازگار برای هردوطرف مکالمه نیاز دارد. </string>
<string name="videochat_contact_invited_hint">%1$sبه تماس تصویری دعوت شد. </string>
<string name="videochat_you_invited_hint">شما به تماس تصویری دعوت شده‌اید.</string>
<string name="videochat_will_open_in_your_browser">این تماس تصویری در مرورگر شما باز خواهد شد.</string>
<string name="videochat_tap_to_join">برای پیوستن ضربه بزنید. </string>
<string name="videochat_tap_to_open">برای باز کردن ضربه بزنید. </string>
<string name="videochat_invitation">دعوت به مکالمه تصویری.</string>
<string name="videochat_invitation_body">شما به مکالمه تصویری دعوت شده اید برای پیوستن%1$s را بزنید.</string>
<!-- get confirmations -->
<string name="ask_leave_group">مطمئن هستید می‌خواهید این گروه را ترک کنید؟</string>
<plurals name="ask_delete_chat">
@@ -217,6 +233,7 @@
<item quantity="other">پاک کردن %d گفتگو از اینجا و سرور؟</item>
</plurals>
<string name="ask_forward">پیام‌ها به %1$sهدایت شوند؟</string>
<string name="ask_forward_multiple">انتقال پیام‌ها به %1$d چت؟</string>
<string name="ask_export_attachment">ضمیمه صادر شود؟ صادر کردن ضمیمه باعث می‌شود دیگر نرم‌افزارهای روی دستگاه شما بتوانند به آن دسترسی داشته باشند. \n\nادامه می‌دهید؟</string>
<string name="ask_block_contact">مخاطب مسدود شود؟ شما دیگر پیامی از این مخاطب دریافت نخواهید کرد.</string>
<string name="ask_unblock_contact">رفع مسدودیت مخاطب؟ دوباره قادر خواهید بود پیام‌های ارسال شده توسط این مخاطب را دریافت کنید.</string>
@@ -325,6 +342,8 @@
<string name="login_smtp_port">SMTP port </string>
<string name="login_smtp_security">امنیت SMTP </string>
<string name="login_auth_method">روش تایید هویت</string>
<!-- Translators: %1$s will be replaced by an email address -->
<string name="login_oauth2_checking_addr">بررسی %1$s</string>
<string name="login_info_oauth2_title">با تنظیمات ساده‌ شده ادامه می‌دهید؟</string>
<string name="login_info_oauth2_text">آدرس ایمیل وارد شده از تنظیمات ساده پشتیبانی می‌کند(OAuth 2.0).\n\nIn مرحله بعد، لطفا به دلتاچت اجازه دهید که به عنوان نرم‌افزار ایمیل شما عمل نماید\n\n سرور دلتاچت وجود ندارد داده‌های شما در دستگاه خودتان باقی می‌ماند. </string>
<string name="login_certificate_checks">بررسی تاییدیه</string>
@@ -338,7 +357,7 @@
<!-- Translators: %1$s will be replaced by the email address -->
<string name="login_error_cannot_login">امکان ورود با\"%1$s\"وجود ندارد. لطفا صحت ایمیل و رمز عبور را بررسی کنید. </string>
<!-- Translators: %1$s will be replaced by the server name (eg. imap.somewhere.org) and %2$s will be replaced by the human-readable response from the server. this response may be a single word or some sentences and may or may not be localized. -->
<string name="login_error_server_response">بازخورد از %1$s: %2$s\n\n برخی ارائه دهندگان ایمیل اطلاعات اضافی در صندوق ورودی شما قرار می‌دهند. می‌توانید این موارد را در صفحه وب بررسی کنید. اگر به مشکلی برخوردید به ارائه دهندگان ایمیل یا دوستان خود مراجعه کنید. </string>
<string name="login_error_server_response">بازخورد از %1$s: %2$s\n\n برخی ارائه دهندگان ایمیل، اطلاعات بیشتری درمورد ابن مشکل برایتان ارسال می‌کنند. می‌توانید صندوق ورودی خود را از طریق وب سایت ایمیل یا نرم‌افزار همیشگی خود بررسی کنید. . اگر به مشکلی برخوردید به ارائه دهندگان ایمیل یا دوستان خود مراجعه کنید. </string>
<!-- TLS certificate checks -->
<string name="accept_invalid_certificates">پذیرش تاییدیه‌های نادرست</string>
<string name="used_settings">تنظیمات استفاده شده:</string>
@@ -449,9 +468,9 @@
<string name="autodel_device_title">پاک کردن پیام‌ها از دستگاه</string>
<string name="autodel_server_title">پاک کردن پیام‌ها از سرور</string>
<!-- %1$d will be replaced by the number of messages, you can assume plural/lots here. %2$s will be replaced by a timespan option. -->
<string name="autodel_device_ask">آیا می‌خواهید %1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانه هم می‌شود\n\n• پیام‌ها جدای از اینکه دیده شده باشند یا نه پاک می‌شوند. \"پیام های ذخیره شده\" شامل این پاک کردن محلی نمی‌شوند. </string>
<string name="autodel_device_ask">آیا می‌خواهید %1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانه‌ها هم می‌شود\n\n• پیام‌ها جدای از اینکه دیده شده باشند یا نه پاک می‌شوند. \"پیام های ذخیره شده\" شامل این پاک کردن محلی نمی‌شوند. </string>
<!-- %1$d will be replaced by the number of messages, you can assume plural/lots here. %2$s will be replaced by a timespan option. -->
<string name="autodel_server_ask">آیا می‌خواهید%1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانه هم می‌شود\n\n• همچنین ایمیل‌های مربوط به \"نمایش ایمیل‌های معمولی\" باشند نیز از سرور پاک می‌شوند. </string>
<string name="autodel_server_ask">آیا می‌خواهید%1$d پیام جدید و دریافت شده را در زمان%2$s در آینده پاک کنید؟\n\n• این شامل همه رسانه هم می‌شود\n\n• همچنین ایمیل‌های مربوط به \"نمایش ایمیل‌های معمولی\" نیز از سرور پاک می‌شوند. </string>
<string name="autodel_confirm">متوجه هستم، همه پیام‌ها حذف شوند</string>
<string name="autodel_at_once">یک بار</string>
<string name="autodel_after_1_hour">بعد از 1 ساعت</string>
+1 -1
View File
@@ -701,7 +701,7 @@
<!-- android specific strings, developers: please take care to remove strings that are no longer used! -->
<string name="pref_background_notifications">Achtergrondmeldingen</string>
<string name="pref_background_notifications_explain">Zet een achtergrondverbinding op naar je server en negeert alle accu-optimalisaties.</string>
<string name="pref_background_notifications_rationale">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.</string>
<string name="pref_background_notifications_rationale">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.</string>
<!-- disabling "Reliable service" will hide a the maybe annoying permanent-notification with the drawback that new-message-notifications get potentially unreliable -->
<string name="pref_reliable_service">Betrouwbare achtergrondverbinding</string>
<string name="pref_reliable_service_explain">Vereist een permanente melding</string>
+5 -5
View File
@@ -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<DcEventDelegate> idObservers = allObservers.get(eventId);
ArrayList<DcEventDelegate> 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();
@@ -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();
}
}
@@ -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);
}
}
@@ -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);
@@ -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();
}
}
@@ -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);
}
}
@@ -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();
}
@@ -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();
}
@@ -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);
}
@@ -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);
}
@@ -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();
}
@@ -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;
@@ -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);
@@ -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;
@@ -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,
@@ -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();
@@ -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());
@@ -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());