Skip to content

Commit 5ffbc19

Browse files
committedDec 13, 2024
Merge remote-tracking branch 'upstream/main'
2 parents 5cba1cc + d9db4b8 commit 5ffbc19

File tree

26 files changed

+473
-373
lines changed

26 files changed

+473
-373
lines changed
 

‎CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# ArcaneChat Android Changelog
22

3+
## v1.50.3
4+
2024-12
5+
6+
* Add in-chat apps picker to attachments options
7+
* Notify replies and reactions to your messages in muted chats (can be disabled in settings)
8+
* Cache HTTP GET requests (ex. when loading images from HTML messages)
9+
* update to core 1.152.0
10+
311
## v1.50.2
412
2024-12
513

‎build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ android {
3333
useLibrary 'org.apache.http.legacy'
3434

3535
defaultConfig {
36-
versionCode 30000699
37-
versionName "1.50.3"
36+
versionCode 30000700
37+
versionName "1.50.4"
3838

3939
applicationId "chat.delta.lite"
4040
multiDexEnabled true

‎flake.lock

+26-60
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎flake.nix

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
with sdkPkgs; [
1818
build-tools-33-0-1
1919
cmdline-tools-latest
20-
ndk-bundle
2120
platform-tools
2221
platforms-android-34
2322
ndk-27-0-11902837

‎jni/dc_wrapper.c

-12
Original file line numberDiff line numberDiff line change
@@ -702,12 +702,6 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcContext_resendMsgs(JNIEnv *env, job
702702
}
703703

704704

705-
JNIEXPORT jint Java_com_b44t_messenger_DcContext_prepareMsg(JNIEnv *env, jobject obj, jint chat_id, jobject msg)
706-
{
707-
return dc_prepare_msg(get_dc_context(env, obj), chat_id, get_dc_msg(env, msg));
708-
}
709-
710-
711705
JNIEXPORT jint Java_com_b44t_messenger_DcContext_sendMsg(JNIEnv *env, jobject obj, jint chat_id, jobject msg)
712706
{
713707
return dc_send_msg(get_dc_context(env, obj), chat_id, get_dc_msg(env, msg));
@@ -1588,12 +1582,6 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_isForwarded(JNIEnv *env, jobjec
15881582
}
15891583

15901584

1591-
JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_isIncreation(JNIEnv *env, jobject obj)
1592-
{
1593-
return dc_msg_is_increation(get_dc_msg(env, obj))!=0;
1594-
}
1595-
1596-
15971585
JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_isInfo(JNIEnv *env, jobject obj)
15981586
{
15991587
return dc_msg_is_info(get_dc_msg(env, obj))!=0;

‎scripts/rust-toolchain

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.77.0
1+
1.83.0

‎scripts/update-core.sh

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/usr/bin/env bash
2+
13
set -e # stop on all errors
24

35
git submodule update --init --recursive

‎src/main/java/com/b44t/messenger/DcContext.java

-1
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,6 @@ protected void finalize() throws Throwable {
195195
public native void deleteMsgs (int msg_ids[]);
196196
public native void forwardMsgs (int msg_ids[], int chat_id);
197197
public native boolean resendMsgs (int msg_ids[]);
198-
public native int prepareMsg (int chat_id, DcMsg msg);
199198
public native int sendMsg (int chat_id, DcMsg msg);
200199
public native int sendTextMsg (int chat_id, String text);
201200
public native int sendVideochatInvitation(int chat_id);

‎src/main/java/com/b44t/messenger/DcMsg.java

-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ public JSONObject getWebxdcInfo () {
156156
public native String getSetupCodeBegin ();
157157
public native String getVideochatUrl ();
158158
public native int getVideochatType ();
159-
public native boolean isIncreation ();
160159
public native void setText (String text);
161160
public native void setSubject (String text);
162161
public native void setHtml (String text);

‎src/main/java/org/thoughtcrime/securesms/ConversationActivity.java

+12
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
import org.thoughtcrime.securesms.util.ViewUtil;
118118
import org.thoughtcrime.securesms.util.concurrent.AssertedSuccessListener;
119119
import org.thoughtcrime.securesms.util.guava.Optional;
120+
import org.thoughtcrime.securesms.util.views.ProgressDialog;
120121
import org.thoughtcrime.securesms.util.views.Stub;
121122
import org.thoughtcrime.securesms.video.recode.VideoRecoder;
122123
import org.thoughtcrime.securesms.videochat.VideochatUtil;
@@ -173,6 +174,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
173174
private View composePanel;
174175
private ScaleStableImageView backgroundView;
175176
private MessageRequestsBottomView messageRequestBottomView;
177+
private ProgressDialog progressDialog;
176178

177179
private AttachmentTypeSelector attachmentTypeSelector;
178180
private AttachmentManager attachmentManager;
@@ -1069,7 +1071,17 @@ protected Void doInBackground(Object... param) {
10691071
{
10701072
boolean doSend = true;
10711073
if (recompress==DcMsg.DC_MSG_VIDEO) {
1074+
Util.runOnMain(() -> {
1075+
progressDialog = ProgressDialog.show(
1076+
ConversationActivity.this,
1077+
"",
1078+
getString(R.string.one_moment),
1079+
true,
1080+
false
1081+
);
1082+
});
10721083
doSend = VideoRecoder.prepareVideo(ConversationActivity.this, dcChat.getId(), msg);
1084+
Util.runOnMain(() -> progressDialog.dismiss());
10731085
}
10741086

10751087
if (doSend) {

‎src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java

+16-2
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
7575
private DcMsg dcAppMsg;
7676
private String baseURL;
7777
private String sourceCodeUrl = "";
78-
private String selfAddr = "";
78+
private String selfAddr;
79+
private int sendUpdateMaxSize;
80+
private int sendUpdateInterval;
7981
private boolean internetAccess = false;
8082
private boolean hideActionBar = false;
8183

@@ -203,7 +205,9 @@ public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathC
203205
// this is needed here because if the app is opened while already in landscape mode, onConfigurationChanged() is not triggered
204206
setScreenMode(getResources().getConfiguration());
205207
}
206-
selfAddr = JsonUtils.optString(info, "self_addr");
208+
selfAddr = info.optString("self_addr");
209+
sendUpdateMaxSize = info.optInt("send_update_max_size");
210+
sendUpdateInterval = info.optInt("send_update_interval");
207211

208212
toggleFakeProxy(!internetAccess);
209213

@@ -509,6 +513,16 @@ public boolean isCommunity() {
509513
return dcContext.isCommunity();
510514
}
511515

516+
@JavascriptInterface
517+
public int sendUpdateMaxSize() {
518+
return WebxdcActivity.this.sendUpdateMaxSize;
519+
}
520+
521+
@JavascriptInterface
522+
public int sendUpdateInterval() {
523+
return WebxdcActivity.this.sendUpdateInterval;
524+
}
525+
512526
@JavascriptInterface
513527
public String selfAddr() {
514528
if (dcContext.isCommunity() && !TextUtils.isEmpty(dcContext.getCommunityUser())) {

‎src/main/java/org/thoughtcrime/securesms/WebxdcStoreActivity.java

+14-11
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.thoughtcrime.securesms.providers.PersistentBlobProvider;
2626
import org.thoughtcrime.securesms.util.MediaUtil;
2727
import org.thoughtcrime.securesms.util.Prefs;
28+
import org.thoughtcrime.securesms.util.Util;
2829

2930
import java.io.ByteArrayInputStream;
3031
import java.util.HashMap;
@@ -53,17 +54,19 @@ protected void onCreate(Bundle state, boolean ready) {
5354
public boolean shouldOverrideUrlLoading(WebView view, String url) {
5455
String ext = MediaUtil.getFileExtensionFromUrl(Uri.parse(url).getPath());
5556
if ("xdc".equals(ext)) {
56-
try {
57-
HttpResponse httpResponse = rpc.getHttpResponse(dcContext.getAccountId(), url);
58-
Uri uri = PersistentBlobProvider.getInstance().create(WebxdcStoreActivity.this, httpResponse.getBlob(), "application/octet-stream", "app.xdc");
59-
Intent intent = new Intent();
60-
intent.setData(uri);
61-
setResult(Activity.RESULT_OK, intent);
62-
finish();
63-
} catch (RpcException e) {
64-
e.printStackTrace();
65-
Toast.makeText(WebxdcStoreActivity.this, "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
66-
}
57+
Util.runOnAnyBackgroundThread(() -> {
58+
try {
59+
HttpResponse httpResponse = rpc.getHttpResponse(dcContext.getAccountId(), url);
60+
Uri uri = PersistentBlobProvider.getInstance().create(WebxdcStoreActivity.this, httpResponse.getBlob(), "application/octet-stream", "app.xdc");
61+
Intent intent = new Intent();
62+
intent.setData(uri);
63+
setResult(Activity.RESULT_OK, intent);
64+
finish();
65+
} catch (RpcException e) {
66+
e.printStackTrace();
67+
Util.runOnMain(() -> Toast.makeText(WebxdcStoreActivity.this, "Error: " + e.getMessage(), Toast.LENGTH_LONG).show());
68+
}
69+
});
6770
} else {
6871
WebViewActivity.openUrlInBrowser(WebxdcStoreActivity.this, url);
6972
}

0 commit comments

Comments
 (0)
Please sign in to comment.